From 69c6770472178e64975806f8344c2e0260427c6e Mon Sep 17 00:00:00 2001 From: zss <zss@example.com> Date: 星期五, 20 十二月 2024 14:18:01 +0800 Subject: [PATCH] cnas7模块+6部分模块(更新至 df6c60) --- cnas-process/src/main/java/com/yuanchu/mom/dto/InspectionOrderDetail.java | 46 cnas-process/src/main/java/com/yuanchu/mom/dto/ProcessComplainDto.java | 23 cnas-process/src/main/java/com/yuanchu/mom/service/impl/InconsistentDistributionServiceImpl.java | 236 cnas-resource-require/src/main/java/com/yuanchu/mom/dto/ForeignRegisterDto.java | 32 cnas-process/src/main/java/com/yuanchu/mom/pojo/QualitySuperviseDetails.java | 68 cnas-resource-require/src/main/java/com/yuanchu/mom/pojo/FeIllumination.java | 59 cnas-resource-require/src/main/java/com/yuanchu/mom/service/impl/ForeignRegisterServiceImpl.java | 103 cnas-process/src/main/java/com/yuanchu/mom/service/ProcessOrderService.java | 28 cnas-process/src/main/resources/static/quality-monitor.docx | 0 cnas-resource-require/src/main/resources/mapper/FeMeasuredQuantityMapper.xml | 17 cnas-process/src/main/java/com/yuanchu/mom/mapper/ProcessMethodVerifyMethodFileMapper.java | 17 cnas-resource-require/src/main/java/com/yuanchu/mom/pojo/FeLightningProtection.java | 63 cnas-resource-require/src/main/resources/mapper/FeCalibrationScheduleMapper.xml | 38 cnas-process/src/main/java/com/yuanchu/mom/pojo/QualitySuperviseDetailsCorrectFile.java | 55 cnas-resource-require/src/main/java/com/yuanchu/mom/mapper/FeTempHumRecordMapper.java | 20 cnas-resource-require/src/main/java/com/yuanchu/mom/pojo/FeStandardSubstance.java | 84 cnas-manage/src/main/java/com/yuanchu/mom/service/impl/InternalImplementServiceImpl.java | 4 cnas-process/src/main/java/com/yuanchu/mom/service/ProcessTotalSampleService.java | 26 cnas-process/src/main/java/com/yuanchu/mom/pojo/ProcessMethodVerifyMethodFile.java | 55 cnas-process/src/main/java/com/yuanchu/mom/pojo/ProcessComplain.java | 151 cnas-process/src/main/java/com/yuanchu/mom/pojo/InconsistentDistributionDetail.java | 80 cnas-resource-require/src/main/java/com/yuanchu/mom/service/FeStandardSubstanceRecordService.java | 30 cnas-resource-require/src/main/java/com/yuanchu/mom/mapper/ForeignRegisterMapper.java | 39 cnas-process/src/main/java/com/yuanchu/mom/mapper/QualityMonitorMapper.java | 28 cnas-process/src/main/java/com/yuanchu/mom/dto/ProcessMethodVerifyDto.java | 30 cnas-resource-require/src/main/java/com/yuanchu/mom/pojo/ForeignRegister.java | 78 cnas-resource-require/src/main/java/com/yuanchu/mom/service/FeStandardSubstanceAcceptanceInspectionService.java | 16 cnas-process/src/main/resources/mapper/QualityMonitorDetailsMapper.xml | 14 cnas-resource-require/src/main/java/com/yuanchu/mom/mapper/FeStandardSubstanceRecordMapper.java | 22 cnas-process/src/main/java/com/yuanchu/mom/pojo/InconsistentDistribution.java | 51 cnas-resource-require/src/main/java/com/yuanchu/mom/service/impl/FeLightningProtectionServiceImpl.java | 28 cnas-process/src/main/java/com/yuanchu/mom/mapper/ProcessTotaldealMapper.java | 21 cnas-process/src/main/java/com/yuanchu/mom/dto/QualitySuperviseDetailsCorrectDto.java | 25 cnas-process/src/main/java/com/yuanchu/mom/service/ProcessEvaluateService.java | 28 cnas-process/src/main/java/com/yuanchu/mom/service/impl/ProcessDealServiceImpl.java | 106 cnas-process/pom.xml | 47 cnas-process/src/main/java/com/yuanchu/mom/pojo/ProcessReport.java | 97 cnas-process/src/main/java/com/yuanchu/mom/pojo/ProcessMethodVerifyCalibrationsFile.java | 57 cnas-resource-require/src/main/java/com/yuanchu/mom/service/FeStandardSubstanceService.java | 19 cnas-resource-require/src/main/java/com/yuanchu/mom/dto/AcceptanceDto.java | 15 cnas-process/src/main/java/com/yuanchu/mom/pojo/ProcessTotalSample.java | 83 cnas-process/src/main/resources/mapper/ProcessSampleMapper.xml | 29 cnas-process/src/main/java/com/yuanchu/mom/pojo/QualitySuperviseDetailsAccording.java | 140 cnas-process/src/main/java/com/yuanchu/mom/pojo/QualityMonitorDetails.java | 71 cnas-process/src/main/java/com/yuanchu/mom/service/ProcessComplainService.java | 31 cnas-resource-require/src/main/java/com/yuanchu/mom/controller/FeTempHumDateController.java | 94 cnas-resource-require/src/main/java/com/yuanchu/mom/service/impl/FePowerStableServiceImpl.java | 121 cnas-process/src/main/java/com/yuanchu/mom/service/impl/CnasProcessMethodVerifyWorkFileServiceImpl.java | 19 cnas-process/src/main/java/com/yuanchu/mom/service/impl/ProcessOrderServiceImpl.java | 157 cnas-process/src/main/java/com/yuanchu/mom/schedule/ProcessTotaldealSchedule.java | 37 cnas-resource-require/src/main/java/com/yuanchu/mom/controller/FePowerStableController.java | 101 cnas-resource-require/src/main/java/com/yuanchu/mom/service/FeTempHumDateService.java | 24 cnas-resource-require/src/main/resources/mapper/FeIlluminationMapper.xml | 54 cnas-process/src/main/java/com/yuanchu/mom/controller/ProcessSampleController.java | 75 cnas-resource-require/src/main/java/com/yuanchu/mom/service/FeTempHumRecordService.java | 20 cnas-manage/src/main/java/com/yuanchu/mom/service/impl/ManageControlPlanListServiceImpl.java | 2 cnas-process/src/main/java/com/yuanchu/mom/pojo/ProcessMethodSearchNew.java | 75 cnas-process/src/main/java/com/yuanchu/mom/mapper/InconsistentDistributionMapper.java | 30 cnas-resource-require/src/main/java/com/yuanchu/mom/pojo/FeTempHumDate.java | 57 cnas-process/src/main/java/com/yuanchu/mom/pojo/ProcessMethodVerifyMachineAttachment.java | 61 cnas-process/src/main/resources/mapper/ProcessMethodVerifyWorkFileMapper.xml | 13 cnas-process/src/main/java/com/yuanchu/mom/pojo/ProcessTotaldeal.java | 84 cnas-process/src/main/java/com/yuanchu/mom/mapper/QualitySuperviseDetailsCorrectMapper.java | 29 cnas-resource-require/src/main/resources/static/illumination.docx | 0 cnas-resource-require/src/main/java/com/yuanchu/mom/pojo/FeIlluminationDetectionArea.java | 58 cnas-process/src/main/java/com/yuanchu/mom/service/impl/QualitySuperviseServiceImpl.java | 829 +++ cnas-process/src/main/java/com/yuanchu/mom/service/ProcessMethodVerifyWorkFileService.java | 15 cnas-resource-require/src/main/java/com/yuanchu/mom/service/impl/FeIlluminationServiceImpl.java | 133 cnas-resource-require/src/main/java/com/yuanchu/mom/controller/FeStandardSubstanceAcceptanceController.java | 105 cnas-resource-require/src/main/java/com/yuanchu/mom/service/InternalWastesService.java | 63 cnas-resource-require/src/main/resources/mapper/FeLightningProtectionMapper.xml | 20 cnas-process/src/main/java/com/yuanchu/mom/mapper/ProcessEvaluateMapper.java | 21 cnas-process/src/main/java/com/yuanchu/mom/service/QualityMonitorService.java | 144 cnas-process/src/main/java/com/yuanchu/mom/pojo/QualityMonitorDetailsEvaluate.java | 86 framework/src/main/java/com/yuanchu/mom/utils/QYWXApi.java | 67 cnas-process/src/main/java/com/yuanchu/mom/mapper/ProcessMethodVerifyMapper.java | 29 cnas-process/src/main/java/com/yuanchu/mom/controller/ProcessTotaldealController.java | 68 cnas-process/src/main/java/com/yuanchu/mom/dto/QualitySuperviseDetailsDto.java | 22 cnas-process/src/main/resources/mapper/QualityMonitorDetailsEvaluateMapper.xml | 15 cnas-process/src/main/java/com/yuanchu/mom/mapper/ProcessMethodVerifyMachineAttachmentMapper.java | 23 cnas-process/src/main/java/com/yuanchu/mom/mapper/QualitySuperviseDetailsRecordMapper.java | 24 cnas-process/src/main/java/com/yuanchu/mom/service/ProcessMethodVerifyMachineAttachmentService.java | 15 cnas-process/src/main/java/com/yuanchu/mom/mapper/ProcessSampleMapper.java | 21 cnas-process/src/main/java/com/yuanchu/mom/service/impl/QualityMonitorDetailsEvaluateServiceImpl.java | 19 cnas-process/src/main/resources/static/report-deal.docx | 0 cnas-process/src/main/java/com/yuanchu/mom/mapper/QualitySuperviseMapper.java | 28 cnas-process/src/main/java/com/yuanchu/mom/utils/UserUtils.java | 101 cnas-process/src/main/java/com/yuanchu/mom/pojo/QualityMonitorDetailsEvaluateFile.java | 54 cnas-resource-require/src/main/java/com/yuanchu/mom/service/impl/FeStandardSubstanceAcceptanceInspectionServiceImpl.java | 20 cnas-resource-require/src/main/java/com/yuanchu/mom/mapper/FeLightningProtectionMapper.java | 21 cnas-resource-require/src/main/java/com/yuanchu/mom/service/FeMeasuredQuantityService.java | 16 cnas-process/src/main/resources/mapper/ProcessTotalSampleMapper.xml | 35 cnas-process/src/main/resources/mapper/ProcessOrderMapper.xml | 202 cnas-process/src/main/java/com/yuanchu/mom/service/impl/ProcessTotaldealServiceImpl.java | 419 + cnas-process/src/main/java/com/yuanchu/mom/service/impl/QualityMonitorDetailsRatifyServiceImpl.java | 19 cnas-resource-require/src/main/java/com/yuanchu/mom/pojo/FeCalibrationSchedule.java | 84 cnas-process/src/main/java/com/yuanchu/mom/pojo/ProcessEvaluate.java | 83 cnas-process/src/main/java/com/yuanchu/mom/pojo/QualityMonitor.java | 79 cnas-resource-require/src/main/java/com/yuanchu/mom/service/impl/FeTempHumDateServiceImpl.java | 96 cnas-resource-require/src/main/java/com/yuanchu/mom/service/FeStandardSubstanceAcceptanceService.java | 33 cnas-process/src/main/java/com/yuanchu/mom/service/QualityMonitorDetailsService.java | 15 cnas-resource-require/src/main/resources/mapper/FeTempHumDateMapper.xml | 21 cnas-resource-require/src/main/resources/mapper/ForeignRegisterMapper.xml | 39 cnas-process/src/main/java/com/yuanchu/mom/pojo/ProcessDeal.java | 77 cnas-process/src/main/resources/mapper/ProcessMethodSearchNewMapper.xml | 36 cnas-process/src/main/java/com/yuanchu/mom/service/impl/QualityMonitorDetailsServiceImpl.java | 19 cnas-process/src/main/java/com/yuanchu/mom/service/impl/CnasProcessMethodVerifyCalibrationsFileServiceImpl.java | 19 inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderServiceImpl.java | 7 cnas-process/src/main/java/com/yuanchu/mom/excel/QualityMonitorDetailsUpload.java | 34 cnas-resource-require/src/main/java/com/yuanchu/mom/dto/FeTempHumDateDto.java | 12 cnas-resource-require/src/main/java/com/yuanchu/mom/service/InternalWastesDetailService.java | 16 cnas-resource-require/src/main/resources/mapper/FeStandardSubstanceRecordMapper.xml | 51 cnas-process/src/main/java/com/yuanchu/mom/mapper/QualitySuperviseDetailsMapper.java | 29 cnas-resource-require/src/main/java/com/yuanchu/mom/dto/FePowerStableDto.java | 29 cnas-process/src/main/java/com/yuanchu/mom/service/ProcessMethodVerifyService.java | 87 cnas-process/src/main/java/com/yuanchu/mom/service/InconsistentDistributionDetailService.java | 16 cnas-process/src/main/java/com/yuanchu/mom/pojo/QualitySuperviseDetailsCorrect.java | 124 cnas-manage/src/main/java/com/yuanchu/mom/service/impl/ManageMeetingServiceImpl.java | 2 cnas-process/src/main/resources/mapper/ProcessDealMapper.xml | 26 cnas-resource-require/src/main/resources/static/foreign-register.docx | 0 cnas-process/src/main/resources/static/supervision-detail-record.docx | 0 cnas-resource-require/src/main/java/com/yuanchu/mom/service/FeIlluminationDetectionAreaService.java | 16 cnas-process/src/main/java/com/yuanchu/mom/service/impl/ProcessMethodVerifyMachineAttachmentServiceImpl.java | 19 cnas-resource-require/src/main/java/com/yuanchu/mom/controller/InternalWastesController.java | 104 cnas-resource-require/src/main/java/com/yuanchu/mom/service/FeCalibrationScheduleService.java | 23 cnas-resource-require/src/main/java/com/yuanchu/mom/dto/FePowerStableAddDto.java | 15 cnas-process/src/main/java/com/yuanchu/mom/mapper/ProcessMethodSearchNewMapper.java | 40 cnas-process/src/main/resources/static/quality-monitor-evaluate.docx | 0 cnas-process/src/main/resources/static/inspection-order.docx | 0 cnas-process/src/main/java/com/yuanchu/mom/pojo/ProcessMethodVerifyWorkFile.java | 60 cnas-process/src/main/java/com/yuanchu/mom/pojo/QualitySuperviseDetailsRecord.java | 120 cnas-process/src/main/java/com/yuanchu/mom/mapper/QualityMonitorDetailsRatifyMapper.java | 17 cnas-process/src/main/java/com/yuanchu/mom/controller/ProcessMethodSearchNewController.java | 100 cnas-process/src/main/java/com/yuanchu/mom/controller/QualityMonitorController.java | 295 + cnas-process/src/main/resources/static/quality-supervise.docx | 0 cnas-process/src/main/java/com/yuanchu/mom/dto/ImageDemoData.java | 43 cnas-process/src/main/resources/mapper/QualitySuperviseMapper.xml | 15 cnas-process/src/main/java/com/yuanchu/mom/service/impl/ProcessMethodVerifyMethodFileServiceImpl.java | 19 cnas-process/src/main/java/com/yuanchu/mom/service/impl/ProcessEvaluateServiceImpl.java | 110 cnas-process/src/main/java/com/yuanchu/mom/mapper/ProcessComplainMapper.java | 28 cnas-process/src/main/java/com/yuanchu/mom/mapper/QualityMonitorDetailsEvaluateFileMapper.java | 17 cnas-process/src/main/java/com/yuanchu/mom/dto/ProcessMethodSearchNewDto.java | 56 cnas-process/src/main/java/com/yuanchu/mom/mapper/QualitySuperviseDetailsCorrectFileMapper.java | 17 cnas-process/src/main/resources/static/sample-deal.docx | 0 cnas-process/src/main/java/com/yuanchu/mom/controller/ProcessEvaluateController.java | 76 cnas-process/src/main/java/com/yuanchu/mom/dto/InconsistentDistributionDto.java | 29 cnas-process/src/main/resources/mapper/QualityMonitorMapper.xml | 20 cnas-resource-require/src/main/java/com/yuanchu/mom/service/impl/FeStandardSubstanceRecordServiceImpl.java | 79 cnas-process/src/main/resources/static/sample-receive.docx | 0 cnas-resource-require/src/main/resources/static/temp_hum_date.docx | 0 cnas-resource-require/src/main/java/com/yuanchu/mom/mapper/FePowerStableMapper.java | 34 cnas-process/src/main/java/com/yuanchu/mom/controller/ProcessReportController.java | 84 cnas-resource-require/src/main/resources/mapper/FeIlluminationDetectionAreaMapper.xml | 16 cnas-process/src/main/java/com/yuanchu/mom/mapper/QualitySuperviseDetailsAccordingMapper.java | 36 cnas-resource-require/src/main/java/com/yuanchu/mom/service/impl/FeStandardSubstanceAcceptanceServiceImpl.java | 112 cnas-process/src/main/java/com/yuanchu/mom/dto/InspectionOrderExportDto.java | 65 cnas-process/src/main/java/com/yuanchu/mom/dto/SampleItemDto.java | 23 cnas-process/src/main/resources/static/supervise-detail-correct.docx | 0 cnas-resource-require/src/main/java/com/yuanchu/mom/mapper/FeStandardSubstanceMapper.java | 20 cnas-process/src/main/java/com/yuanchu/mom/controller/QualitySuperviseController.java | 335 + cnas-manage/src/main/java/com/yuanchu/mom/service/impl/InternalMeetingServiceImpl.java | 2 cnas-process/src/main/java/com/yuanchu/mom/mapper/ProcessDealMapper.java | 21 cnas-resource-require/src/main/java/com/yuanchu/mom/service/FeLightningProtectionService.java | 21 cnas-process/src/main/java/com/yuanchu/mom/service/impl/ProcessComplainServiceImpl.java | 116 cnas-resource-require/src/main/java/com/yuanchu/mom/service/impl/FeCalibrationScheduleServiceImpl.java | 28 cnas-resource-require/src/main/resources/mapper/FeStandardSubstanceMapper.xml | 56 cnas-process/src/main/java/com/yuanchu/mom/controller/ProcessMethodVerifyController.java | 168 cnas-process/src/main/java/com/yuanchu/mom/controller/ProcessTotalSampleController.java | 66 cnas-process/src/main/java/com/yuanchu/mom/dto/QualitySuperviseDetailsAccordingDto.java | 63 cnas-process/src/main/java/com/yuanchu/mom/mapper/QualityMonitorDetailsMapper.java | 28 cnas-process/src/main/resources/static/method-verify.docx | 0 framework/src/main/java/com/yuanchu/mom/annotation/CustomClazzName.java | 17 cnas-resource-require/src/main/java/com/yuanchu/mom/controller/FeCalibrationScheduleController.java | 94 cnas-resource-require/src/main/java/com/yuanchu/mom/service/impl/FeMeasuredQuantityServiceImpl.java | 20 cnas-process/src/main/java/com/yuanchu/mom/controller/InconsistentDistributionController.java | 105 cnas-process/src/main/java/com/yuanchu/mom/controller/ProcessOrderController.java | 79 cnas-process/src/main/java/com/yuanchu/mom/mapper/InconsistentDistributionDetailMapper.java | 18 cnas-resource-require/src/main/java/com/yuanchu/mom/service/impl/InternalWastesServiceImpl.java | 173 cnas-resource-require/src/main/java/com/yuanchu/mom/pojo/FeStandardSubstanceRecord.java | 81 cnas-resource-require/src/main/java/com/yuanchu/mom/dto/FePowerStableExportDto.java | 32 cnas-process/src/main/java/com/yuanchu/mom/service/impl/InconsistentDistributionDetailServiceImpl.java | 20 cnas-process/src/main/java/com/yuanchu/mom/dto/QualityMonitorDto.java | 22 cnas-resource-require/src/main/java/com/yuanchu/mom/pojo/InternalWastesDetail.java | 72 cnas-resource-require/src/main/java/com/yuanchu/mom/service/impl/FeStandardSubstanceServiceImpl.java | 26 cnas-resource-require/src/main/java/com/yuanchu/mom/mapper/FeStandardSubstanceAcceptanceInspectionMapper.java | 16 cnas-process/src/main/resources/mapper/ProcessMethodVerifyMapper.xml | 22 cnas-resource-require/src/main/java/com/yuanchu/mom/vo/SubstanceRecordVo.java | 46 cnas-resource-require/src/main/java/com/yuanchu/mom/mapper/FeCalibrationScheduleMapper.java | 20 cnas-process/src/main/java/com/yuanchu/mom/mapper/ProcessMethodVerifyWorkFileMapper.java | 24 cnas-resource-require/src/main/resources/static/power-stable.docx | 0 cnas-process/src/main/java/com/yuanchu/mom/service/ProcessDealService.java | 26 cnas-process/src/main/java/com/yuanchu/mom/service/QualityMonitorDetailsRatifyService.java | 15 cnas-process/src/main/resources/static/supervision-detail-according.docx | 0 cnas-resource-require/src/main/java/com/yuanchu/mom/controller/ForeignRegisterController.java | 105 cnas-process/src/main/resources/mapper/InconsistentDistributionDetailMapper.xml | 6 cnas-resource-require/src/main/resources/mapper/InternalWastesMapper.xml | 16 cnas-resource-require/src/main/resources/mapper/FeTempHumRecordMapper.xml | 28 cnas-process/src/main/java/com/yuanchu/mom/pojo/ProcessOrder.java | 63 cnas-process/src/main/java/com/yuanchu/mom/pojo/ProcessSample.java | 91 cnas-resource-require/src/main/java/com/yuanchu/mom/pojo/FePowerStable.java | 62 cnas-manage/src/main/java/com/yuanchu/mom/service/impl/InternalPlanServiceImpl.java | 2 cnas-resource-require/src/main/java/com/yuanchu/mom/dto/FeIlluminationAddDto.java | 15 cnas-resource-require/src/main/java/com/yuanchu/mom/mapper/FeIlluminationDetectionAreaMapper.java | 16 cnas-resource-require/src/main/java/com/yuanchu/mom/mapper/FeMeasuredQuantityMapper.java | 16 cnas-process/src/main/java/com/yuanchu/mom/mapper/ProcessReportMapper.java | 25 cnas-process/src/main/java/com/yuanchu/mom/service/InconsistentDistributionService.java | 63 cnas-process/src/main/java/com/yuanchu/mom/service/impl/ProcessReportServiceImpl.java | 431 + cnas-process/src/main/resources/mapper/ProcessEvaluateMapper.xml | 26 framework/src/main/java/com/yuanchu/mom/utils/GiveCode.java | 25 cnas-resource-require/src/main/java/com/yuanchu/mom/mapper/InternalWastesMapper.java | 36 cnas-process/src/main/java/com/yuanchu/mom/service/ProcessReportService.java | 24 cnas-resource-require/src/main/java/com/yuanchu/mom/service/impl/FeTempHumRecordServiceImpl.java | 27 cnas-resource-require/src/main/java/com/yuanchu/mom/controller/FeStandardSubstanceAcceptanceInspectionController.java | 43 cnas-process/src/main/java/com/yuanchu/mom/pojo/QualitySupervise.java | 73 cnas-process/src/main/java/com/yuanchu/mom/service/ProcessTotaldealService.java | 27 cnas-resource-require/src/main/java/com/yuanchu/mom/dto/FeIlluminationExportDto.java | 27 cnas-process/src/main/resources/mapper/ProcessReportMapper.xml | 41 cnas-resource-require/src/main/resources/mapper/FeStandardSubstanceAcceptanceInspectionMapper.xml | 17 cnas-resource-require/src/main/java/com/yuanchu/mom/dto/FeTempHumRecordDto.java | 26 cnas-resource-require/src/main/java/com/yuanchu/mom/service/ForeignRegisterService.java | 34 cnas-process/src/main/java/com/yuanchu/mom/service/ProcessMethodVerifyCalibrationsFileService.java | 15 cnas-process/src/main/java/com/yuanchu/mom/controller/ProcessDealController.java | 74 cnas-process/src/main/java/com/yuanchu/mom/dto/ProcessReportDto.java | 12 cnas-process/src/main/java/com/yuanchu/mom/service/impl/ProcessMethodVerifyServiceImpl.java | 424 + cnas-resource-require/src/main/java/com/yuanchu/mom/mapper/InternalWastesDetailMapper.java | 16 cnas-resource-require/src/main/java/com/yuanchu/mom/pojo/FeStandardSubstanceAcceptance.java | 92 cnas-process/src/main/java/com/yuanchu/mom/service/impl/ProcessSampleServiceImpl.java | 105 cnas-resource-require/src/main/java/com/yuanchu/mom/pojo/FeStandardSubstanceAcceptanceInspection.java | 51 cnas-process/src/main/java/com/yuanchu/mom/mapper/ProcessOrderMapper.java | 29 cnas-resource-require/src/main/java/com/yuanchu/mom/vo/AcceptanceDetailsVo.java | 23 cnas-process/src/main/java/com/yuanchu/mom/dto/ProcessMethodVerifyExportWordDto.java | 40 cnas-resource-require/pom.xml | 30 cnas-resource-require/src/main/java/com/yuanchu/mom/pojo/InternalWastes.java | 50 cnas-resource-require/src/main/java/com/yuanchu/mom/vo/AcceptanceVo.java | 47 cnas-process/src/main/java/com/yuanchu/mom/excel/QualitySuperviseDetailsUpload.java | 31 cnas-process/src/main/resources/mapper/ProcessComplainMapper.xml | 62 cnas-resource-require/src/main/java/com/yuanchu/mom/pojo/FeTempHumRecord.java | 65 cnas-process/src/main/resources/mapper/ProcessMethodVerifyCalibrationsFileMapper.xml | 24 cnas-process/src/main/resources/mapper/QualitySuperviseDetailsRecordMapper.xml | 11 cnas-process/src/main/java/com/yuanchu/mom/service/impl/QualityMonitorServiceImpl.java | 541 + cnas-resource-require/src/main/java/com/yuanchu/mom/dto/InternalWastesDto.java | 19 cnas-process/src/main/resources/static/quality-monitor-details-ratify.docx | 0 cnas-resource-require/src/main/java/com/yuanchu/mom/mapper/FeStandardSubstanceAcceptanceMapper.java | 22 cnas-resource-require/src/main/resources/mapper/FePowerStableMapper.xml | 71 cnas-process/src/main/java/com/yuanchu/mom/mapper/ProcessTotalSampleMapper.java | 21 cnas-process/src/main/java/com/yuanchu/mom/controller/ProcessComplainController.java | 82 cnas-resource-require/src/main/java/com/yuanchu/mom/excel/FeCalibrationScheduleExport.java | 36 cnas-process/src/main/resources/mapper/QualitySuperviseDetailsMapper.xml | 24 cnas-resource-require/src/main/resources/mapper/InternalWastesDetailMapper.xml | 6 cnas-manage/src/main/java/com/yuanchu/mom/service/impl/InternalCheckServiceImpl.java | 2 cnas-process/src/main/java/com/yuanchu/mom/pojo/QualityMonitorDetailsRatify.java | 86 cnas-process/src/main/resources/mapper/InconsistentDistributionMapper.xml | 20 cnas-process/src/main/resources/static/inconsistent-distribution.docx | 0 cnas-resource-require/src/main/java/com/yuanchu/mom/controller/FeStandardSubstanceController.java | 91 cnas-resource-require/src/main/java/com/yuanchu/mom/service/impl/InternalWastesDetailServiceImpl.java | 20 cnas-process/src/main/java/com/yuanchu/mom/mapper/QualityMonitorDetailsEvaluateMapper.java | 23 cnas-resource-require/src/main/java/com/yuanchu/mom/service/FeIlluminationService.java | 29 cnas-process/src/main/java/com/yuanchu/mom/pojo/ProcessMethodVerify.java | 134 cnas-process/src/main/java/com/yuanchu/mom/service/impl/ProcessTotalSampleServiceImpl.java | 439 + cnas-process/src/main/java/com/yuanchu/mom/service/ProcessMethodSearchNewService.java | 51 cnas-resource-require/src/main/java/com/yuanchu/mom/excel/FeStandardSubstanceExcel.java | 55 cnas-process/src/main/java/com/yuanchu/mom/service/ProcessMethodVerifyMethodFileService.java | 15 cnas-process/src/main/java/com/yuanchu/mom/service/QualityMonitorDetailsEvaluateService.java | 15 cnas-manage/src/main/java/com/yuanchu/mom/service/impl/InternalReportServiceImpl.java | 2 cnas-process/src/main/java/com/yuanchu/mom/service/impl/ProcessMethodSearchNewServiceImpl.java | 297 + cnas-resource-require/src/main/resources/mapper/FeStandardSubstanceAcceptanceMapper.xml | 46 cnas-process/src/main/java/com/yuanchu/mom/service/ProcessSampleService.java | 26 cnas-process/src/main/java/com/yuanchu/mom/dto/ProcessOrderDto.java | 85 cnas-process/src/main/resources/mapper/QualitySuperviseDetailsAccordingMapper.xml | 57 cnas-process/src/main/java/com/yuanchu/mom/dto/ProcessMethodVerifyCalibrationsFileDto.java | 19 cnas-process/src/main/resources/mapper/QualitySuperviseDetailsCorrectMapper.xml | 15 cnas-process/src/main/resources/mapper/ProcessTotaldealMapper.xml | 34 cnas-resource-require/src/main/resources/static/internal-wastes.docx | 0 cnas-process/src/main/java/com/yuanchu/mom/service/QualitySuperviseDetailsService.java | 15 cnas-process/src/main/java/com/yuanchu/mom/dto/QualityMonitorDetailsEvaluateDto.java | 16 cnas-process/src/main/java/com/yuanchu/mom/service/QualitySuperviseService.java | 163 cnas-resource-require/src/main/java/com/yuanchu/mom/excel/FeLightningProtectionExcel.java | 25 cnas-resource-require/src/main/java/com/yuanchu/mom/mapper/FeTempHumDateMapper.java | 20 cnas-process/src/main/java/com/yuanchu/mom/mapper/ProcessMethodVerifyCalibrationsFileMapper.java | 35 cnas-process/src/main/java/com/yuanchu/mom/service/impl/QualitySuperviseDetailsServiceImpl.java | 19 cnas-resource-require/src/main/java/com/yuanchu/mom/mapper/FeIlluminationMapper.java | 28 cnas-resource-require/src/main/java/com/yuanchu/mom/service/impl/FeIlluminationDetectionAreaServiceImpl.java | 20 cnas-resource-require/src/main/java/com/yuanchu/mom/dto/FeIlluminationDto.java | 28 cnas-resource-require/src/main/java/com/yuanchu/mom/controller/FeIlluminationController.java | 90 cnas-resource-require/src/main/java/com/yuanchu/mom/controller/FeStandardSubstanceRecordController.java | 74 cnas-resource-require/src/main/java/com/yuanchu/mom/pojo/FeMeasuredQuantity.java | 57 cnas-resource-require/src/main/java/com/yuanchu/mom/service/FePowerStableService.java | 33 cnas-process/src/main/java/com/yuanchu/mom/dto/InconsistentDistributionProportionDto.java | 48 cnas-resource-require/src/main/java/com/yuanchu/mom/controller/FeLightningProtectionController.java | 94 289 files changed, 16,306 insertions(+), 37 deletions(-) diff --git a/cnas-manage/src/main/java/com/yuanchu/mom/service/impl/InternalCheckServiceImpl.java b/cnas-manage/src/main/java/com/yuanchu/mom/service/impl/InternalCheckServiceImpl.java index dad5ee6..1ff4bf5 100644 --- a/cnas-manage/src/main/java/com/yuanchu/mom/service/impl/InternalCheckServiceImpl.java +++ b/cnas-manage/src/main/java/com/yuanchu/mom/service/impl/InternalCheckServiceImpl.java @@ -18,7 +18,7 @@ import com.yuanchu.mom.pojo.InternalCheck; import com.yuanchu.mom.service.InternalCheckService; import com.yuanchu.mom.service.InternalCheckDetailService; -import com.yuanchu.mom.util.HackLoopTableRenderPolicy; +import com.yuanchu.mom.utils.HackLoopTableRenderPolicy; import com.yuanchu.mom.utils.DateImageUtil; import com.yuanchu.mom.utils.QueryWrappers; import lombok.AllArgsConstructor; diff --git a/cnas-manage/src/main/java/com/yuanchu/mom/service/impl/InternalImplementServiceImpl.java b/cnas-manage/src/main/java/com/yuanchu/mom/service/impl/InternalImplementServiceImpl.java index 332c041..36497de 100644 --- a/cnas-manage/src/main/java/com/yuanchu/mom/service/impl/InternalImplementServiceImpl.java +++ b/cnas-manage/src/main/java/com/yuanchu/mom/service/impl/InternalImplementServiceImpl.java @@ -19,8 +19,8 @@ import com.yuanchu.mom.pojo.User; import com.yuanchu.mom.service.InternalImplementDetailService; import com.yuanchu.mom.service.InternalImplementService; -import com.yuanchu.mom.util.HackLoopTableRenderPolicy; -import com.yuanchu.mom.util.XWPFDocumentUtils; +import com.yuanchu.mom.utils.HackLoopTableRenderPolicy; +import com.yuanchu.mom.utils.XWPFDocumentUtils; import com.yuanchu.mom.utils.DateImageUtil; import com.yuanchu.mom.utils.QueryWrappers; import lombok.AllArgsConstructor; diff --git a/cnas-manage/src/main/java/com/yuanchu/mom/service/impl/InternalMeetingServiceImpl.java b/cnas-manage/src/main/java/com/yuanchu/mom/service/impl/InternalMeetingServiceImpl.java index 2952c5f..477b17b 100644 --- a/cnas-manage/src/main/java/com/yuanchu/mom/service/impl/InternalMeetingServiceImpl.java +++ b/cnas-manage/src/main/java/com/yuanchu/mom/service/impl/InternalMeetingServiceImpl.java @@ -19,7 +19,7 @@ import com.yuanchu.mom.service.InternalMeetingDetailService; import com.yuanchu.mom.service.InternalMeetingService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.yuanchu.mom.util.HackLoopTableRenderPolicy; +import com.yuanchu.mom.utils.HackLoopTableRenderPolicy; import com.yuanchu.mom.utils.DateImageUtil; import com.yuanchu.mom.utils.QueryWrappers; import lombok.AllArgsConstructor; diff --git a/cnas-manage/src/main/java/com/yuanchu/mom/service/impl/InternalPlanServiceImpl.java b/cnas-manage/src/main/java/com/yuanchu/mom/service/impl/InternalPlanServiceImpl.java index be7fa8d..cd7491d 100644 --- a/cnas-manage/src/main/java/com/yuanchu/mom/service/impl/InternalPlanServiceImpl.java +++ b/cnas-manage/src/main/java/com/yuanchu/mom/service/impl/InternalPlanServiceImpl.java @@ -18,7 +18,7 @@ import com.yuanchu.mom.service.InternalPlanDetailService; import com.yuanchu.mom.service.InternalPlanService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.yuanchu.mom.util.HackLoopTableRenderPolicy; +import com.yuanchu.mom.utils.HackLoopTableRenderPolicy; import com.yuanchu.mom.utils.DateImageUtil; import com.yuanchu.mom.utils.QueryWrappers; import lombok.AllArgsConstructor; diff --git a/cnas-manage/src/main/java/com/yuanchu/mom/service/impl/InternalReportServiceImpl.java b/cnas-manage/src/main/java/com/yuanchu/mom/service/impl/InternalReportServiceImpl.java index 11ccf7d..d88257d 100644 --- a/cnas-manage/src/main/java/com/yuanchu/mom/service/impl/InternalReportServiceImpl.java +++ b/cnas-manage/src/main/java/com/yuanchu/mom/service/impl/InternalReportServiceImpl.java @@ -18,7 +18,7 @@ import com.yuanchu.mom.pojo.InternalReport; import com.yuanchu.mom.pojo.User; import com.yuanchu.mom.service.InternalReportService; -import com.yuanchu.mom.util.HackLoopTableRenderPolicy; +import com.yuanchu.mom.utils.HackLoopTableRenderPolicy; import com.yuanchu.mom.utils.DateImageUtil; import com.yuanchu.mom.utils.QueryWrappers; import lombok.AllArgsConstructor; diff --git a/cnas-manage/src/main/java/com/yuanchu/mom/service/impl/ManageControlPlanListServiceImpl.java b/cnas-manage/src/main/java/com/yuanchu/mom/service/impl/ManageControlPlanListServiceImpl.java index 9cc919a..ac809e2 100644 --- a/cnas-manage/src/main/java/com/yuanchu/mom/service/impl/ManageControlPlanListServiceImpl.java +++ b/cnas-manage/src/main/java/com/yuanchu/mom/service/impl/ManageControlPlanListServiceImpl.java @@ -13,7 +13,7 @@ import com.yuanchu.mom.mapper.ManageControlPlanListMapper; import com.yuanchu.mom.service.ManageControlPlanListService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.yuanchu.mom.util.HackLoopTableRenderPolicy; +import com.yuanchu.mom.utils.HackLoopTableRenderPolicy; import com.yuanchu.mom.utils.DateImageUtil; import com.yuanchu.mom.vo.ManageControlPlanListVo; import org.springframework.beans.factory.annotation.Autowired; diff --git a/cnas-manage/src/main/java/com/yuanchu/mom/service/impl/ManageMeetingServiceImpl.java b/cnas-manage/src/main/java/com/yuanchu/mom/service/impl/ManageMeetingServiceImpl.java index 0f337ae..6c213c4 100644 --- a/cnas-manage/src/main/java/com/yuanchu/mom/service/impl/ManageMeetingServiceImpl.java +++ b/cnas-manage/src/main/java/com/yuanchu/mom/service/impl/ManageMeetingServiceImpl.java @@ -22,7 +22,7 @@ import com.yuanchu.mom.pojo.User; import com.yuanchu.mom.service.ManageMeetingService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.yuanchu.mom.util.HackLoopTableRenderPolicy; +import com.yuanchu.mom.utils.HackLoopTableRenderPolicy; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; diff --git a/cnas-process/pom.xml b/cnas-process/pom.xml new file mode 100644 index 0000000..ab77c4f --- /dev/null +++ b/cnas-process/pom.xml @@ -0,0 +1,47 @@ +<?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>mom</artifactId> + <groupId>com.yuanchu.mom</groupId> + <version>1.0.0</version> + </parent> + <modelVersion>4.0.0</modelVersion> + + <artifactId>cnas-process</artifactId> + <version>0.0.1-SNAPSHOT</version> + <name>cnas-process</name> + <description>cnas-process</description> + <packaging>jar</packaging> + + + <dependencies> + <dependency> + <groupId>com.yuanchu.mom</groupId> + <artifactId>user-server</artifactId> + <version>0.0.1-SNAPSHOT</version> + <scope>compile</scope> + </dependency> + + <dependency> + <groupId>com.yuanchu.mom</groupId> + <artifactId>framework</artifactId> + <version>0.0.1-SNAPSHOT</version> + </dependency> + + <dependency> + <groupId>com.yuanchu.mom</groupId> + <artifactId>inspect-server</artifactId> + <version>0.0.1-SNAPSHOT</version> + </dependency> + + <dependency> + <groupId>com.yuanchu.mom</groupId> + <artifactId>cnas-server</artifactId> + <version>0.0.1-SNAPSHOT</version> + <scope>compile</scope> + </dependency> + </dependencies> + +</project> \ No newline at end of file diff --git a/cnas-process/src/main/java/com/yuanchu/mom/controller/InconsistentDistributionController.java b/cnas-process/src/main/java/com/yuanchu/mom/controller/InconsistentDistributionController.java new file mode 100644 index 0000000..7079ef7 --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/controller/InconsistentDistributionController.java @@ -0,0 +1,105 @@ +package com.yuanchu.mom.controller; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yuanchu.mom.annotation.ValueAuth; +import com.yuanchu.mom.dto.InconsistentDistributionDto; +import com.yuanchu.mom.pojo.InconsistentDistribution; +import com.yuanchu.mom.service.InconsistentDistributionService; +import com.yuanchu.mom.service.ProcessComplainService; +import com.yuanchu.mom.utils.JackSonUtil; +import com.yuanchu.mom.vo.Result; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.AllArgsConstructor; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.util.Map; + +/** + * <p> + * 涓嶇鍚堥」鐨勫垎甯� 鍓嶇鎺у埗鍣� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-15 09:53:20 + */ +@Api(tags = "涓嶇鍚堥」鐨勫垎甯�") +@AllArgsConstructor +@RestController +@RequestMapping("/inconsistentDistribution") +public class InconsistentDistributionController { + + private InconsistentDistributionService inconsistentDistributionService; + + /** + * 涓嶇鍚堥」鐨勫垎甯冨垎椤垫煡璇� + * @param data + * @return + */ + @ValueAuth + @ApiOperation(value = "涓嶇鍚堥」鐨勫垎甯冨垎椤垫煡璇�") + @PostMapping("/pageInconsistentDistribution") + public Result<IPage<InconsistentDistributionDto>> pageInconsistentDistribution(@RequestBody Map<String, Object> data) throws Exception { + Page page = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("page")), Page.class); + InconsistentDistribution inconsistentDistribution = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("entity")), InconsistentDistribution.class); + return Result.success(inconsistentDistributionService.pageInconsistentDistribution(page, inconsistentDistribution)); + } + + /** + * 涓嶇鍚堥」鐨勫垎甯冩柊澧� + * @return + */ + @ValueAuth + @ApiOperation(value = "涓嶇鍚堥」鐨勫垎甯冩柊澧�") + @PostMapping("/addInconsistentDistribution") + public Result addInconsistentDistribution(@RequestBody InconsistentDistributionDto inconsistentDistribution){ + return Result.success(inconsistentDistributionService.addInconsistentDistribution(inconsistentDistribution)); + } + + /** + * 涓嶇鍚堥」鐨勫垎甯冧慨鏀� + * @return + */ + @ValueAuth + @ApiOperation(value = "涓嶇鍚堥」鐨勫垎甯冧慨鏀�") + @PostMapping("/updateInconsistentDistribution") + public Result updateInconsistentDistribution(@RequestBody InconsistentDistributionDto inconsistentDistribution){ + return Result.success(inconsistentDistributionService.updateInconsistentDistribution(inconsistentDistribution)); + } + + /** + * 涓嶇鍚堥」鐨勫垎甯冨垹闄� + * @return + */ + @ValueAuth + @ApiOperation(value = "涓嶇鍚堥」鐨勫垎甯冨垹闄�") + @GetMapping("/delInconsistentDistribution") + public Result delInconsistentDistribution(Integer distributionId){ + return Result.success(inconsistentDistributionService.delInconsistentDistribution(distributionId)); + } + + /** + * 涓嶇鍚堥」鐨勫垎甯冩煡鐪嬭鎯� + * @return + */ + @ValueAuth + @ApiOperation(value = "涓嶇鍚堥」鐨勫垎甯冩煡鐪嬭鎯�") + @GetMapping("/getInconsistentDistributionOne") + public Result<InconsistentDistributionDto> getInconsistentDistributionOne(Integer distributionId){ + return Result.success(inconsistentDistributionService.getInconsistentDistributionOne(distributionId)); + } + + /** + * 瀵煎嚭涓嶇鍚堥」鐨勫垎甯� + * @return + */ + @ValueAuth + @ApiOperation(value = "瀵煎嚭涓嶇鍚堥」鐨勫垎甯�") + @GetMapping("/exportInconsistentDistribution") + public void exportInconsistentDistribution(Integer distributionId, HttpServletResponse response){ + inconsistentDistributionService.exportInconsistentDistribution(distributionId, response); + } + +} diff --git a/cnas-process/src/main/java/com/yuanchu/mom/controller/ProcessComplainController.java b/cnas-process/src/main/java/com/yuanchu/mom/controller/ProcessComplainController.java new file mode 100644 index 0000000..c2560c0 --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/controller/ProcessComplainController.java @@ -0,0 +1,82 @@ +package com.yuanchu.mom.controller; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yuanchu.mom.annotation.CustomClazzName; +import com.yuanchu.mom.annotation.ValueAuth; +import com.yuanchu.mom.annotation.ValueClassify; +import com.yuanchu.mom.dto.ReportPageDto; +import com.yuanchu.mom.pojo.ProcessComplain; +import com.yuanchu.mom.service.ProcessComplainService; +import com.yuanchu.mom.utils.JackSonUtil; +import com.yuanchu.mom.vo.Result; +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; +import javax.servlet.http.HttpServletResponse; +import java.util.Map; + +/** + * <p> + * 鎶曡瘔 鍓嶇鎺у埗鍣� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-02 09:29:11 + */ +@RestController +@RequestMapping("/processComplain") +@CustomClazzName(name = "杩囩▼瑕佹眰",index = 9) +public class ProcessComplainController { + + @Resource + private ProcessComplainService processComplainService; + + @ValueClassify(value = "鎶曡瘔") + @ApiOperation(value = "鎶曡瘔鎯呭喌姹囨�昏〃") + @PostMapping("/pageProcessComplain") + public Result pageProcessComplain(@RequestBody Map<String, Object> data) throws Exception { + Page page = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("page")), Page.class); + ProcessComplain processComplain = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("entity")), ProcessComplain.class); + return Result.success(processComplainService.pageProcessComplain(page, processComplain)); + } + + @ValueClassify(value = "鎶曡瘔") + @ApiOperation(value = "鏂板鎶曡瘔") + @PostMapping("/addProcessComplain") + public Result addProcessComplain(@RequestBody ProcessComplain processComplain ) { + return Result.success(processComplainService.addProcessComplain(processComplain)); + } + + @ValueClassify(value = "鎶曡瘔") + @ApiOperation(value = "鍒犻櫎鎶曡瘔") + @PostMapping("/delProcessComplain") + public Result delProcessComplain(Long id) { + return Result.success(processComplainService.removeById(id)); + } + + @ValueAuth + @ApiOperation(value = "鎶曡瘔璇︽儏") + @PostMapping("/getProcessComplain") + public Result getProcessComplain(Long id) { + return Result.success(processComplainService.getProcessComplain(id)); + } + + @ValueClassify(value = "鎶曡瘔") + @ApiOperation(value = "澶勭悊鎶曡瘔") + @PostMapping("/doProcessComplain") + public Result doProcessComplain(@RequestBody ProcessComplain processComplain) { + return Result.success(processComplainService.doProcessComplain(processComplain)); + } + + @ValueClassify(value = "鎶曡瘔") + @ApiOperation(value = "瀵煎嚭鍒楄〃") + @PostMapping("/exportProcessComplain") + public void exportProcessComplain(@RequestBody Map<String, Object> data,HttpServletResponse response) throws Exception { + ProcessComplain processComplain = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("entity")), ProcessComplain.class); + processComplainService.exportProcessComplain(processComplain,response); + } +} diff --git a/cnas-process/src/main/java/com/yuanchu/mom/controller/ProcessDealController.java b/cnas-process/src/main/java/com/yuanchu/mom/controller/ProcessDealController.java new file mode 100644 index 0000000..2fdb932 --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/controller/ProcessDealController.java @@ -0,0 +1,74 @@ +package com.yuanchu.mom.controller; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yuanchu.mom.annotation.CustomClazzName; +import com.yuanchu.mom.annotation.ValueAuth; +import com.yuanchu.mom.annotation.ValueClassify; +import com.yuanchu.mom.pojo.ProcessDeal; +import com.yuanchu.mom.pojo.ProcessEvaluate; +import com.yuanchu.mom.service.ProcessDealService; +import com.yuanchu.mom.utils.JackSonUtil; +import com.yuanchu.mom.vo.Result; +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; +import java.util.Map; + +/** + * <p> + * 妫�娴嬫垨鏍″噯鐗╁搧鐨勫缃� 鍓嶇鎺у埗鍣� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-02 02:50:19 + */ +@RestController +@RequestMapping("/processDeal") +@CustomClazzName(name = "杩囩▼瑕佹眰",index = 9) +public class ProcessDealController { + + @Resource + private ProcessDealService processDealService; + + @ValueAuth + @ApiOperation(value = "鏌ヨ妫�娴嬫垨鏍″噯鐗╁搧鐨勫缃鎯�") + @PostMapping("/pageProcessDeal") + public Result pageProcessDeal(@RequestBody Map<String, Object> data) throws Exception { + Page page = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("page")), Page.class); + ProcessDeal processDeal = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("entity")), ProcessDeal.class); + return Result.success(processDealService.pageProcessDeal(page, processDeal)); + } + + @ValueClassify(value = "妫�娴嬫垨鏍″噯鐗╁搧鐨勫缃�") + @ApiOperation(value = "鏂板妫�娴嬫垨鏍″噯鐗╁搧鐨勫缃�") + @PostMapping("/addProcessDeal") + public Result addProcessDeal(@RequestBody ProcessDeal processDeal) { + return Result.success(processDealService.addProcessDeal(processDeal)); + } + + @ValueAuth + @ApiOperation(value = "鍒犻櫎妫�娴嬫垨鏍″噯鐗╁搧鐨勫缃�") + @PostMapping("/delProcessDeal") + public Result delProcessDeal(Integer id) { + return Result.success(processDealService.delProcessDeal(id)); + } + + @ValueAuth + @ApiOperation(value = "淇敼妫�娴嬫垨鏍″噯鐗╁搧鐨勫缃�") + @PostMapping("/doProcessDeal") + public Result doProcessDeal(@RequestBody ProcessDeal processDeal) { + return Result.success(processDealService.doProcessDeal(processDeal)); + } + + @ValueAuth + @ApiOperation(value = "鏌ョ湅妫�娴嬫垨鏍″噯鐗╁搧鐨勫缃�") + @PostMapping("/getProcessDeal") + public Result getProcessDeal(Integer id) { + return Result.success(processDealService.getById(id)); + } + +} diff --git a/cnas-process/src/main/java/com/yuanchu/mom/controller/ProcessEvaluateController.java b/cnas-process/src/main/java/com/yuanchu/mom/controller/ProcessEvaluateController.java new file mode 100644 index 0000000..2dcf086 --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/controller/ProcessEvaluateController.java @@ -0,0 +1,76 @@ +package com.yuanchu.mom.controller; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yuanchu.mom.annotation.CustomClazzName; +import com.yuanchu.mom.annotation.ValueClassify; +import com.yuanchu.mom.pojo.ProcessComplain; +import com.yuanchu.mom.pojo.ProcessEvaluate; +import com.yuanchu.mom.service.ProcessEvaluateService; +import com.yuanchu.mom.utils.JackSonUtil; +import com.yuanchu.mom.vo.Result; +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 org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import java.util.Map; + +/** + * <p> + * 娴嬮噺涓嶇‘瀹氬害鐨勮瘎浠� 鍓嶇鎺у埗鍣� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-02 01:10:43 + */ +@RestController +@RequestMapping("/processEvaluate") +@CustomClazzName(name = "杩囩▼瑕佹眰",index = 9) +public class ProcessEvaluateController { + + @Resource + private ProcessEvaluateService processEvaluateService; + + @ValueClassify(value = "娴嬮噺涓嶇‘瀹氬害鐨勮瘎瀹�") + @ApiOperation(value = "鏌ヨ娴嬮噺涓嶇‘瀹氬害鐨勮瘎瀹氬垪琛�") + @PostMapping("/pageProcessEvaluate") + public Result pageProcessEvaluate(@RequestBody Map<String, Object> data) throws Exception { + Page page = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("page")), Page.class); + ProcessEvaluate processEvaluate = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("entity")), ProcessEvaluate.class); + return Result.success(processEvaluateService.pageProcessEvaluate(page, processEvaluate)); + } + + @ValueClassify(value = "娴嬮噺涓嶇‘瀹氬害鐨勮瘎瀹�") + @ApiOperation(value = "鏂板娴嬮噺涓嶇‘瀹氬害鐨勮瘎瀹�") + @PostMapping("/addProcessEvaluate") + public Result addProcessEvaluate(MultipartFile file){ + return Result.success(processEvaluateService.addProcessEvaluate(file)); + } + + @ValueClassify(value = "娴嬮噺涓嶇‘瀹氬害鐨勮瘎瀹�") + @ApiOperation(value = "璇勪环") + @PostMapping("/doProcessEvaluate") + public Result doProcessEvaluate(@RequestBody ProcessEvaluate processEvaluate){ + return Result.success(processEvaluateService.doProcessEvaluate(processEvaluate)); + } + + @ValueClassify(value = "娴嬮噺涓嶇‘瀹氬害鐨勮瘎瀹�") + @ApiOperation(value = "鍒犻櫎娴嬮噺涓嶇‘瀹氬害鐨勮瘎瀹�") + @PostMapping("/delProcessEvaluate") + public Result delProcessEvaluate(Long id){ + return Result.success(processEvaluateService.removeById(id)); + } + + @ValueClassify(value = "娴嬮噺涓嶇‘瀹氬害鐨勮瘎瀹�") + @ApiOperation(value = "瀵煎嚭娴嬮噺涓嶇‘瀹氬害鐨勮瘎瀹�") + @PostMapping("/exportProcessEvaluate") + public void exportProcessEvaluate(@RequestBody Map<String, Object> data, HttpServletResponse response) throws Exception{ + ProcessEvaluate processEvaluate = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("entity")), ProcessEvaluate.class); + processEvaluateService.exportProcessEvaluate(processEvaluate,response); + } + +} diff --git a/cnas-process/src/main/java/com/yuanchu/mom/controller/ProcessMethodSearchNewController.java b/cnas-process/src/main/java/com/yuanchu/mom/controller/ProcessMethodSearchNewController.java new file mode 100644 index 0000000..c2c6134 --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/controller/ProcessMethodSearchNewController.java @@ -0,0 +1,100 @@ +package com.yuanchu.mom.controller; + + + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yuanchu.mom.annotation.ValueAuth; +import com.yuanchu.mom.annotation.ValueClassify; +import com.yuanchu.mom.dto.ProcessMethodSearchNewDto; +import com.yuanchu.mom.pojo.ProcessComplain; +import com.yuanchu.mom.pojo.ProcessMethodSearchNew; +import com.yuanchu.mom.service.ProcessMethodSearchNewService; +import com.yuanchu.mom.utils.JackSonUtil; +import com.yuanchu.mom.vo.Result; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.AllArgsConstructor; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import java.util.List; +import java.util.Map; + + +/** + * 鏍囧噯鏌ユ柊 + * + * @author zhuo + * @since 2024-11-04 + */ +@Api(tags = "鏍囧噯鏌ユ柊") +@AllArgsConstructor +@RestController +@RequestMapping("/processMethodSearchNew") +public class ProcessMethodSearchNewController { + + private ProcessMethodSearchNewService processMethodSearchNewService; + + /** + * 鏂板鏍囧噯鏌ユ柊 + * @param processMethodSearchNewList + * @return + */ + @ValueAuth + @ApiOperation(value = "鏂板鏍囧噯鏌ユ柊") + @PostMapping("/addMethodSearchNew") + public Result addMethodSearchNew(@RequestBody List<ProcessMethodSearchNew> processMethodSearchNewList ) { + return Result.success(processMethodSearchNewService.addMethodSearchNew(processMethodSearchNewList)); + } + + /** + * 淇敼鏍囧噯鏌ユ柊 + * @param processMethodSearchNew + * @return + */ + @ValueAuth + @ApiOperation(value = "淇敼鏍囧噯鏌ユ柊") + @PostMapping("/updateMethodSearchNew") + public Result updateMethodSearchNew(@RequestBody ProcessMethodSearchNew processMethodSearchNew ) { + return Result.success(processMethodSearchNewService.updateById(processMethodSearchNew)); + } + + /** + * 鏍囧噯鏌ユ柊鍒楄〃 + * @param data + * @return + */ + @ValueAuth + @ApiOperation(value = "鏍囧噯鏌ユ柊鍒楄〃") + @PostMapping("/pageMethodSearchNew") + public Result<IPage<ProcessMethodSearchNew>> pageMethodSearchNew(@RequestBody Map<String, Object> data) throws Exception { + Page page = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("page")), Page.class); + ProcessMethodSearchNewDto processMethodSearchNew = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("entity")), ProcessMethodSearchNewDto.class); + return Result.success(processMethodSearchNewService.pageMethodSearchNew(page, processMethodSearchNew)); + } + + @ValueAuth + @ApiOperation(value = "鏍囧噯鏌ユ柊瀵煎嚭") + @PostMapping("/exportMethodSearchNew") + public void exportMethodSearchNew(@RequestBody Map<String, Object> data, HttpServletResponse response) throws Exception { + ProcessMethodSearchNewDto processMethodSearchNew = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("entity")), ProcessMethodSearchNewDto.class); + processMethodSearchNewService.exportMethodSearchNew(processMethodSearchNew, response); + } + + + /** + * 瀵煎叆鏍囧噯鏌ユ柊 + * @return + */ + @ValueAuth + @ApiOperation(value = "瀵煎叆鏍囧噯鏌ユ柊") + @PostMapping("/importMethodSearchNew") + public Result importMethodSearchNew(MultipartFile file){ + return Result.success(processMethodSearchNewService.importMethodSearchNew(file)); + } + +} + diff --git a/cnas-process/src/main/java/com/yuanchu/mom/controller/ProcessMethodVerifyController.java b/cnas-process/src/main/java/com/yuanchu/mom/controller/ProcessMethodVerifyController.java new file mode 100644 index 0000000..1d453a4 --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/controller/ProcessMethodVerifyController.java @@ -0,0 +1,168 @@ +package com.yuanchu.mom.controller; + + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yuanchu.mom.annotation.ValueAuth; +import com.yuanchu.mom.dto.ProcessMethodVerifyDto; +import com.yuanchu.mom.pojo.ProcessMethodVerify; +import com.yuanchu.mom.pojo.ProcessMethodVerifyMethodFile; +import com.yuanchu.mom.service.ProcessMethodVerifyMethodFileService; +import com.yuanchu.mom.service.ProcessMethodVerifyService; +import com.yuanchu.mom.utils.JackSonUtil; +import com.yuanchu.mom.vo.Result; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.AllArgsConstructor; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.servlet.http.HttpServletResponse; +import java.util.List; +import java.util.Map; + + +/** + * 鏍囧噯鏂规硶楠岃瘉 + * + * @author zhuo + * @since 2024-11-05 + */ +@RestController +@RequestMapping("/processMethodVerify") +@Api(tags = "鏍囧噯鏂规硶楠岃瘉") +@AllArgsConstructor +public class ProcessMethodVerifyController { + + + private ProcessMethodVerifyService ProcessMethodVerifyService; + + private ProcessMethodVerifyMethodFileService processMethodVerifyMethodFileService; + + + + /** + * 鏍囧噯鏌ユ柊鍒楄〃 + * @param data + * @return + */ + @ValueAuth + @ApiOperation(value = "鏍囧噯鏂规硶鏇存柊楠岃瘉鍒楄〃") + @PostMapping("/pagesMethodVerify") + public Result<IPage<ProcessMethodVerify>> pagesMethodVerify(@RequestBody Map<String, Object> data) throws Exception { + Page page = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("page")), Page.class); + ProcessMethodVerifyDto methodVerifyDto = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("entity")), ProcessMethodVerifyDto.class); + return Result.success(ProcessMethodVerifyService.pagesMethodVerify(page, methodVerifyDto)); + } + + /** + * 鏂板鏍囧噯鏂规硶楠岃瘉 + * @param methodVerifyDto + * @return + */ + @ValueAuth + @ApiOperation(value = "鏂板鏍囧噯鏂规硶楠岃瘉") + @PostMapping("/addMethodVerify") + public Result addMethodVerify(@RequestBody ProcessMethodVerifyDto methodVerifyDto ) { + return Result.success(ProcessMethodVerifyService.addMethodSearchNew(methodVerifyDto)); + } + + /** + * 鏌ヨ鏍囧噯鏂规硶楠岃瘉璇︽儏 + * @param methodVerifyId + * @return + */ + @ValueAuth + @ApiOperation(value = "鏌ヨ鏍囧噯鏂规硶楠岃瘉璇︽儏") + @GetMapping("/getMethodVerifyOne") + public Result<ProcessMethodVerifyDto> getMethodVerifyOne(Integer methodVerifyId) { + return Result.success(ProcessMethodVerifyService.getMethodVerifyOne(methodVerifyId)); + } + + + /** + * 淇敼鏍囧噯鏂规硶楠岃瘉 + * @param methodVerifyDto + * @return + */ + @ValueAuth + @ApiOperation(value = "淇敼鏍囧噯鏂规硶楠岃瘉") + @PostMapping("/updateMethodVerify") + public Result updateMethodVerify(@RequestBody ProcessMethodVerifyDto methodVerifyDto ) { + return Result.success(ProcessMethodVerifyService.updateMethodVerify(methodVerifyDto)); + } + + /** + * 鍒犻櫎鏍囧噯鏂规硶鏇存柊楠岃瘉 + * @param methodVerifyId + * @return + */ + @ValueAuth + @ApiOperation(value = "鍒犻櫎鏍囧噯鏂规硶鏇存柊楠岃瘉") + @GetMapping("/delMethodVerify") + public Result delMethodVerify(Integer methodVerifyId){ + return Result.success(ProcessMethodVerifyService.delMethodVerify(methodVerifyId)); + } + + /** + * 瀵煎嚭鏍囧噯鏂规硶鏇存柊楠岃瘉 + * @param methodVerifyId 鏍囧噯鏂规硶楠岃瘉id + */ + @ValueAuth + @ApiOperation(value = "瀵煎嚭鏍囧噯鏂规硶鏇存柊楠岃瘉") + @GetMapping("/exportMethodVerify") + public void exportMethodVerify(Integer methodVerifyId, HttpServletResponse response){ + ProcessMethodVerifyService.exportMethodVerify(methodVerifyId, response); + } + + /** + * 楠岃瘉纭 + * @param methodVerifyId + * @return + */ + @ValueAuth + @ApiOperation(value = "楠岃瘉纭") + @GetMapping("/methodVerifyAffirm") + public Result methodVerifyAffirm(Integer methodVerifyId) { + return Result.success(ProcessMethodVerifyService.methodVerifyAffirm(methodVerifyId)); + } + + /** + * 鏂规硶楠岃瘉鏂板鍘熷璁板綍 + * @param methodVerifyId + * @param file + * @return + */ + @ValueAuth + @ApiOperation(value = "鏂规硶楠岃瘉鏂板鍘熷璁板綍") + @PostMapping("/uploadVerifyMethodFile") + public Result<?> uploadVerifyMethodFile(Integer methodVerifyId, MultipartFile file) { + return Result.success(ProcessMethodVerifyService.uploadVerifyMethodFile(methodVerifyId, file)); + } + + + /** + * 鏍囧噯鏂规硶鏇存柊楠岃瘉鍘熷璁板綍鍒楄〃 + * @return + */ + @ValueAuth + @ApiOperation(value = "鏍囧噯鏂规硶鏇存柊楠岃瘉鍘熷璁板綍鍒楄〃") + @GetMapping("/getVerifyMethodFileList") + public Result<List<ProcessMethodVerifyMethodFile>> getVerifyMethodFileList(Integer methodVerifyId){ + return Result.success(ProcessMethodVerifyService.getVerifyMethodFileList(methodVerifyId)); + } + + /** + * 鏍囧噯鏂规硶鍒犻櫎楠岃瘉鍘熷璁板綍鍒楄〃 + * @return + */ + @ValueAuth + @ApiOperation(value = "鏍囧噯鏂规硶鍒犻櫎楠岃瘉鍘熷璁板綍鍒楄〃") + @GetMapping("/delVerifyMethodFileList") + public Result delVerifyMethodFileList(Integer methodFileId){ + return Result.success(processMethodVerifyMethodFileService.removeById(methodFileId)); + } + + +} + diff --git a/cnas-process/src/main/java/com/yuanchu/mom/controller/ProcessOrderController.java b/cnas-process/src/main/java/com/yuanchu/mom/controller/ProcessOrderController.java new file mode 100644 index 0000000..f33d8bb --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/controller/ProcessOrderController.java @@ -0,0 +1,79 @@ +package com.yuanchu.mom.controller; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yuanchu.mom.annotation.CustomClazzName; +import com.yuanchu.mom.annotation.ValueAuth; +import com.yuanchu.mom.annotation.ValueClassify; +import com.yuanchu.mom.dto.ProcessOrderDto; +import com.yuanchu.mom.pojo.ProcessOrder; +import com.yuanchu.mom.pojo.ProcessReport; +import com.yuanchu.mom.service.ProcessOrderService; +import com.yuanchu.mom.utils.JackSonUtil; +import com.yuanchu.mom.vo.Result; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import java.util.Map; + +/** + * <p> + * 瑕佹眰銆佹爣涔﹀拰鍚堝悓璇勫 鍓嶇鎺у埗鍣� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-05 03:06:20 + */ +@RestController +@RequestMapping("/processOrder") +@CustomClazzName(name = "杩囩▼瑕佹眰",index = 9) +public class ProcessOrderController { + + @Resource + private ProcessOrderService processOrderService; + + @ValueClassify(value = "瑕佹眰銆佹爣涔﹀拰鍚堝悓璇勫") + @ApiOperation(value = "鏌ヨ瑕佹眰銆佹爣涔﹀拰鍚堝悓璇勫鍒楄〃") + @PostMapping("/pageProcessOrder") + public Result pageProcessOrder(@RequestBody Map<String, Object> data) throws Exception { + Page page = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("page")), Page.class); + ProcessOrderDto processOrderDto = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("entity")), ProcessOrderDto.class); + return Result.success(processOrderService.pageProcessOrder(page, processOrderDto)); + } + + @ValueClassify(value = "瑕佹眰銆佹爣涔﹀拰鍚堝悓璇勫") + @ApiOperation(value = "鍒犻櫎瑕佹眰銆佹爣涔﹀拰鍚堝悓璇勫") + @PostMapping("/delProcessOrder") + public Result delProcessOrder(Long id) { + return Result.success(processOrderService.removeById(id)); + } + + @ApiOperation(value = "淇敼瑕佹眰銆佹爣涔﹀拰鍚堝悓璇勫") + @PostMapping("/doProcessOrder") + @ValueAuth + public Result doProcessOrder(@RequestBody ProcessOrder processOrder) { + return Result.success(processOrderService.doProcessOrder(processOrder)); + } + + @ApiOperation(value = "鏌ョ湅璇︽儏瑕佹眰銆佹爣涔﹀拰鍚堝悓璇勫") + @PostMapping("/getProcessOrder") + @ValueAuth + public Result getProcessOrder(Integer id) { + return Result.success(processOrderService.getProcessOrder(id)); + } + + + /** + * 瀵煎嚭妫�楠屽鎵樺崟 + * @return + */ + @ValueAuth + @ApiOperation(value = "瀵煎嚭妫�楠屽鎵樺崟") + @PostMapping("/exportInspectionOrder") + public void exportInspectionOrder(Integer id, HttpServletResponse response){ + processOrderService.exportInspectionOrder(id, response); + } + + +} diff --git a/cnas-process/src/main/java/com/yuanchu/mom/controller/ProcessReportController.java b/cnas-process/src/main/java/com/yuanchu/mom/controller/ProcessReportController.java new file mode 100644 index 0000000..2da8a34 --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/controller/ProcessReportController.java @@ -0,0 +1,84 @@ +package com.yuanchu.mom.controller; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yuanchu.mom.annotation.CustomClazzName; +import com.yuanchu.mom.annotation.ValueAuth; +import com.yuanchu.mom.annotation.ValueClassify; +import com.yuanchu.mom.dto.ProcessReportDto; +import com.yuanchu.mom.pojo.ProcessComplain; +import com.yuanchu.mom.pojo.ProcessReport; +import com.yuanchu.mom.service.ProcessReportService; +import com.yuanchu.mom.utils.JackSonUtil; +import com.yuanchu.mom.vo.Result; +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; +import javax.servlet.http.HttpServletResponse; +import java.util.List; +import java.util.Map; + +/** + * <p> + * 妫�楠屾姤鍛婂彂鏀剧櫥璁拌〃 鍓嶇鎺у埗鍣� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-05 08:58:39 + */ +@RestController +@RequestMapping("/processReport") +@CustomClazzName(name = "杩囩▼瑕佹眰",index = 9) +public class ProcessReportController { + + @Resource + private ProcessReportService processReportService; + + @ValueClassify(value = "鎶ュ憡缁撴灉") + @ApiOperation(value = "鏌ヨ妫�楠屾姤鍛婂彂鏀剧櫥璁板垪琛�") + @PostMapping("/pageProcessReport") + public Result pageProcessReport(@RequestBody Map<String, Object> data) throws Exception { + Page page = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("page")), Page.class); + ProcessReport processReport = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("entity")), ProcessReport.class); + return Result.success(processReportService.pageProcessReport(page, processReport)); + } + + @ValueClassify(value = "鎶ュ憡缁撴灉") + @ApiOperation(value = "鏂板妫�楠屾姤鍛婂彂鏀剧櫥璁�") + @PostMapping("/addProcessReport") + public Result addProcessReport(@RequestBody ProcessReport processReport) { + return Result.success(processReportService.save(processReport)); + } + + @ValueClassify(value = "鎶ュ憡缁撴灉") + @ApiOperation(value = "鍒犻櫎妫�楠屾姤鍛婂彂鏀剧櫥璁�") + @PostMapping("/delProcessReport") + public Result delProcessReport(Long id) { + return Result.success(processReportService.removeById(id)); + } + + @ValueAuth + @ApiOperation(value = "鏌ョ湅妫�楠屾姤鍛婂彂鏀剧櫥璁拌鎯�") + @PostMapping("/getProcessReport") + public Result getProcessReport(Long id) { + return Result.success(processReportService.getById(id)); + } + + @ValueClassify(value = "鎶ュ憡缁撴灉") + @ApiOperation(value = "淇敼妫�楠屾姤鍛婂彂鏀剧櫥璁�") + @PostMapping("/doProcessReport") + public Result doProcessReport(@RequestBody ProcessReport processReport) { + return Result.success(processReportService.updateById(processReport)); + } + + @ValueClassify(value = "鎶ュ憡缁撴灉") + @ApiOperation(value = "瀵煎嚭妫�楠屾姤鍛婂彂鏀剧櫥璁拌〃") + @PostMapping("/exportProcessReport") + public Result exportProcessReport(@RequestBody ProcessReportDto processReportDto) { + return Result.success(processReportService.exportProcessReport(processReportDto.getIds())); + } + +} diff --git a/cnas-process/src/main/java/com/yuanchu/mom/controller/ProcessSampleController.java b/cnas-process/src/main/java/com/yuanchu/mom/controller/ProcessSampleController.java new file mode 100644 index 0000000..7c59b05 --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/controller/ProcessSampleController.java @@ -0,0 +1,75 @@ +package com.yuanchu.mom.controller; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yuanchu.mom.annotation.CustomClazzName; +import com.yuanchu.mom.annotation.ValueAuth; +import com.yuanchu.mom.annotation.ValueClassify; +import com.yuanchu.mom.pojo.ProcessDeal; +import com.yuanchu.mom.pojo.ProcessSample; +import com.yuanchu.mom.service.ProcessSampleService; +import com.yuanchu.mom.utils.JackSonUtil; +import com.yuanchu.mom.vo.Result; +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; +import java.util.Map; + +/** + * <p> + * 鏍峰搧鎺ユ敹 鍓嶇鎺у埗鍣� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-12-12 05:02:49 + */ +@RestController +@RequestMapping("/processSample") +@CustomClazzName(name = "杩囩▼瑕佹眰",index = 9) +public class ProcessSampleController { + + @Resource + private ProcessSampleService processSampleService; + + @ValueAuth + @ApiOperation(value = "鏌ヨ鏍峰搧鎺ユ敹璇︽儏") + @PostMapping("/pageProcessSample") + public Result pageProcessSample(@RequestBody Map<String, Object> data) throws Exception { + Page page = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("page")), Page.class); + ProcessSample processSample = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("entity")), ProcessSample.class); + return Result.success(processSampleService.pageProcessSample(page, processSample)); + } + + @ValueClassify(value = "鏍峰搧鎺ユ敹璇︽儏") + @ApiOperation(value = "鏂板鏍峰搧鎺ユ敹璇︽儏") + @PostMapping("/addProcessSample") + public Result addProcessSample(@RequestBody ProcessSample processSample) { + return Result.success(processSampleService.addProcessSample(processSample)); + } + + @ValueAuth + @ApiOperation(value = "鍒犻櫎鏍峰搧鎺ユ敹") + @PostMapping("/delProcessSample") + public Result delProcessSample(Integer id) { + return Result.success(processSampleService.delProcessSample(id)); + } + + @ValueAuth + @ApiOperation(value = "淇敼鏍峰搧鎺ユ敹") + @PostMapping("/doProcessSample") + public Result doProcessSample(@RequestBody ProcessSample processSample) { + return Result.success(processSampleService.doProcessSample(processSample)); + } + + @ValueAuth + @ApiOperation(value = "鏌ョ湅鏍峰搧鎺ユ敹") + @PostMapping("/getProcessSample") + public Result getProcessSample(Integer id) { + return Result.success(processSampleService.getById(id)); + } + + +} diff --git a/cnas-process/src/main/java/com/yuanchu/mom/controller/ProcessTotalSampleController.java b/cnas-process/src/main/java/com/yuanchu/mom/controller/ProcessTotalSampleController.java new file mode 100644 index 0000000..e1c2629 --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/controller/ProcessTotalSampleController.java @@ -0,0 +1,66 @@ +package com.yuanchu.mom.controller; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yuanchu.mom.annotation.CustomClazzName; +import com.yuanchu.mom.annotation.ValueClassify; +import com.yuanchu.mom.pojo.ProcessTotalSample; +import com.yuanchu.mom.pojo.ProcessTotaldeal; +import com.yuanchu.mom.service.ProcessTotalSampleService; +import com.yuanchu.mom.utils.JackSonUtil; +import com.yuanchu.mom.vo.Result; +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; +import java.util.Map; + +/** + * <p> + * 鏍峰搧鎺ユ敹鎬昏〃 鍓嶇鎺у埗鍣� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-12-12 05:02:58 + */ +@RestController +@RequestMapping("/processTotalSample") +@CustomClazzName(name = "杩囩▼瑕佹眰",index = 9) +public class ProcessTotalSampleController { + + @Resource + private ProcessTotalSampleService processTotalSampleService; + + @ValueClassify(value = "鏍峰搧鎺ユ敹") + @ApiOperation(value = "鏌ヨ鏍峰搧鎺ユ敹鍒楄〃") + @PostMapping("/pageProcessTotalSample") + public Result pageProcessTotalSample(@RequestBody Map<String, Object> data) throws Exception { + Page page = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("page")), Page.class); + ProcessTotalSample processTotalSample = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("entity")), ProcessTotalSample.class); + return Result.success(processTotalSampleService.pageProcessTotalSample(page, processTotalSample)); + } + + @ValueClassify(value = "鏍峰搧鎺ユ敹") + @ApiOperation(value = "鎻愪氦鏍峰搧鎺ユ敹") + @PostMapping("/submitProcessTotalSample") + public Result submitProcessTotalSample(Integer id) { + return Result.success(processTotalSampleService.submitProcessTotalSample(id)); + } + + @ValueClassify(value = "鏍峰搧鎺ユ敹") + @ApiOperation(value = "瀹℃牳鏍峰搧鎺ユ敹") + @PostMapping("/checkProcessTotalSample") + public Result checkProcessTotalSample(Integer id, String state) { + return Result.success(processTotalSampleService.checkProcessTotalSample(id, state)); + } + + @ValueClassify(value = "鏍峰搧鎺ユ敹") + @ApiOperation(value = "鎵瑰噯鏍峰搧鎺ユ敹") + @PostMapping("/ratifyProcessTotalSample") + public Result ratifyProcessTotalSample(Integer id,String state) { + return Result.success(processTotalSampleService.ratifyProcessTotalSample(id,state)); + } + +} diff --git a/cnas-process/src/main/java/com/yuanchu/mom/controller/ProcessTotaldealController.java b/cnas-process/src/main/java/com/yuanchu/mom/controller/ProcessTotaldealController.java new file mode 100644 index 0000000..0005c59 --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/controller/ProcessTotaldealController.java @@ -0,0 +1,68 @@ +package com.yuanchu.mom.controller; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yuanchu.mom.annotation.CustomClazzName; +import com.yuanchu.mom.annotation.ValueClassify; +import com.yuanchu.mom.pojo.ProcessDeal; +import com.yuanchu.mom.pojo.ProcessTotaldeal; +import com.yuanchu.mom.service.ProcessTotaldealService; +import com.yuanchu.mom.utils.JackSonUtil; +import com.yuanchu.mom.vo.Result; +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; +import java.io.IOException; +import java.util.Map; + +/** + * <p> + * 妫�娴嬫垨鏍″噯鐗╁搧鐨勫缃�昏〃(鍘嗗彶) 鍓嶇鎺у埗鍣� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-02 03:59:09 + */ +@RestController +@RequestMapping("/processTotaldeal") +@CustomClazzName(name = "杩囩▼瑕佹眰",index = 9) +public class ProcessTotaldealController { + + @Resource + private ProcessTotaldealService processTotaldealService; + + @ValueClassify(value = "妫�娴嬫垨鏍″噯鐗╁搧鐨勫缃�") + @ApiOperation(value = "鏌ヨ妫�娴嬫垨鏍″噯鐗╁搧鐨勫缃垪琛�") + @PostMapping("/pageProcessTotaldeal") + public Result pageProcessTotaldeal(@RequestBody Map<String, Object> data) throws Exception { + Page page = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("page")), Page.class); + ProcessTotaldeal processTotaldeal = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("entity")), ProcessTotaldeal.class); + return Result.success(processTotaldealService.pageProcessTotaldeal(page, processTotaldeal)); + } + + @ValueClassify(value = "妫�娴嬫垨鏍″噯鐗╁搧鐨勫缃�") + @ApiOperation(value = "鎻愪氦妫�娴嬫垨鏍″噯鐗╁搧鐨勫缃�") + @PostMapping("/submitProcessTotaldeal") + public Result submitProcessTotaldeal(Integer id) { + return Result.success(processTotaldealService.submitProcessTotaldeal(id)); + } + + @ValueClassify(value = "妫�娴嬫垨鏍″噯鐗╁搧鐨勫缃�") + @ApiOperation(value = "瀹℃牳妫�娴嬫垨鏍″噯鐗╁搧鐨勫缃�") + @PostMapping("/checkProcessTotaldeal") + public Result checkProcessTotaldeal(Integer id, String state) { + return Result.success(processTotaldealService.checkProcessTotaldeal(id, state)); + } + + @ValueClassify(value = "妫�娴嬫垨鏍″噯鐗╁搧鐨勫缃�") + @ApiOperation(value = "鎵瑰噯妫�娴嬫垨鏍″噯鐗╁搧鐨勫缃�") + @PostMapping("/ratifyProcessTotaldeal") + public Result ratifyProcessTotaldeal(Integer id,String state) { + return Result.success(processTotaldealService.ratifyProcessTotaldeal(id,state)); + } + + +} diff --git a/cnas-process/src/main/java/com/yuanchu/mom/controller/QualityMonitorController.java b/cnas-process/src/main/java/com/yuanchu/mom/controller/QualityMonitorController.java new file mode 100644 index 0000000..0e331e6 --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/controller/QualityMonitorController.java @@ -0,0 +1,295 @@ +package com.yuanchu.mom.controller; + + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yuanchu.mom.annotation.ValueAuth; +import com.yuanchu.mom.annotation.ValueClassify; +import com.yuanchu.mom.dto.QualityMonitorDto; +import com.yuanchu.mom.exception.ErrorException; +import com.yuanchu.mom.mapper.QualityMonitorDetailsEvaluateFileMapper; +import com.yuanchu.mom.pojo.*; +import com.yuanchu.mom.service.QualityMonitorDetailsService; +import com.yuanchu.mom.service.QualityMonitorService; +import com.yuanchu.mom.utils.JackSonUtil; +import com.yuanchu.mom.vo.Result; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.AllArgsConstructor; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.servlet.http.HttpServletResponse; +import java.util.List; +import java.util.Map; + + +/** + * 璐ㄩ噺鐩戞帶璁″垝涓昏〃 + * + * @author zhuo + * @since 2024-11-06 + */ +@Api(tags = "璐ㄩ噺鐩戞帶璁″垝") +@AllArgsConstructor +@RestController +@RequestMapping("/qualityMonitor") +public class QualityMonitorController { + + private QualityMonitorService qualityMonitorService; + + private QualityMonitorDetailsService qualityMonitorDetailsService; + + private QualityMonitorDetailsEvaluateFileMapper qualityMonitorDetailsEvaluateFileMapper; + + /** + * 瀵煎叆鐩戞帶璁″垝 + * @return + */ + @ValueAuth + @ApiOperation(value = "瀵煎叆鐩戞帶璁″垝") + @PostMapping("/importQualityMonitor") + public Result importQualityMonitor(MultipartFile file){ + return Result.success(qualityMonitorService.importQualityMonitor(file)); + } + + /** + * 鐩戞帶璁″垝瀹℃牳 + * @return + */ + @ValueClassify("璐ㄩ噺鐩戞帶璁″垝") + @ApiOperation(value = "鐩戞帶璁″垝瀹℃牳") + @PostMapping("/examineQualityMonitor") + public Result examineQualityMonitor(@RequestBody QualityMonitor qualityMonitor){ + return Result.success(qualityMonitorService.examineQualityMonitor(qualityMonitor)); + } + + /** + * 鐩戞帶璁″垝鍒犻櫎 + * @return + */ + @ValueAuth + @ApiOperation(value = "鐩戞帶璁″垝鍒犻櫎") + @GetMapping("/delQualitySupervise") + public Result delQualitySupervise(Integer qualityMonitorId){ + return Result.success(qualityMonitorService.removeById(qualityMonitorId)); + } + + /** + * 鐩戞帶璁″垝鎵瑰噯 + * @return + */ + @ValueClassify("璐ㄩ噺鐩戞帶璁″垝") + @ApiOperation(value = "鐩戞帶璁″垝鎵瑰噯") + @PostMapping("/ratifyQualityMonitor") + public Result ratifyQualityMonitor(@RequestBody QualityMonitor qualityMonitor){ + return Result.success(qualityMonitorService.ratifyQualityMonitor(qualityMonitor)); + } + + + /** + * 鐩戞帶璁″垝鍒楄〃 + * @param data + * @return + */ + @ValueAuth + @ApiOperation(value = "鐩戞帶璁″垝鍒楄〃") + @PostMapping("/pageQualityMonitor") + public Result<IPage<QualityMonitorDto>> pageQualityMonitor(@RequestBody Map<String, Object> data) throws Exception { + Page page = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("page")), Page.class); + QualityMonitor qualityMonitor = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("entity")), QualityMonitor.class); + return Result.success(qualityMonitorService.pageQualityMonitor(page, qualityMonitor)); + } + + /** + * 鐩戞帶璁″垝璇︽儏鍒楄〃 + * @param data + * @return + */ + @ValueAuth + @ApiOperation(value = "鐩戞帶璁″垝璇︽儏鍒楄〃") + @PostMapping("/pageQualityMonitorDetail") + public Result<IPage<QualityMonitorDetails>> pageQualityMonitorDetail(@RequestBody Map<String, Object> data) throws Exception { + Page page = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("page")), Page.class); + QualityMonitorDetails qualityMonitorDetails = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("entity")), QualityMonitorDetails.class); + return Result.success(qualityMonitorService.pageQualityMonitorDetail(page, qualityMonitorDetails)); + } + + /** + * 鏂板鐩戞帶璁″垝璇︽儏 + * @return + */ + @ValueAuth + @ApiOperation(value = "鏂板鐩戞帶璁″垝璇︽儏") + @PostMapping("/addQualityMonitorDetail") + public Result addQualityMonitorDetail(@RequestBody QualityMonitorDetails qualityMonitorDetails){ + if (qualityMonitorDetails.getQualityMonitorId() == null) { + throw new ErrorException("缂哄皯鐩戞帶璁″垝涓昏〃id"); + } + return Result.success(qualityMonitorDetailsService.save(qualityMonitorDetails)); + } + + /** + * 淇敼鐩戞帶璁″垝璇︽儏 + * @return + */ + @ValueAuth + @ApiOperation(value = "淇敼鐩戞帶璁″垝璇︽儏") + @PostMapping("/updateQualityMonitorDetail") + public Result updateQualityMonitorDetail(@RequestBody QualityMonitorDetails qualityMonitorDetails){ + return Result.success(qualityMonitorDetailsService.updateById(qualityMonitorDetails)); + } + + /** + * 鍒犻櫎鐩戞帶璁″垝璇︽儏 + * @return + */ + @ValueAuth + @ApiOperation(value = "鍒犻櫎鐩戞帶璁″垝璇︽儏") + @GetMapping("/delQualityMonitorDetail") + public Result delQualityMonitorDetail(Integer qualityMonitorDetailsId){ + return Result.success(qualityMonitorDetailsService.removeById(qualityMonitorDetailsId)); + } + + /** + * 瀵煎嚭鐩戞帶璁″垝 + * @return + */ + @ValueAuth + @ApiOperation(value = "瀵煎嚭鐩戞帶璁″垝") + @GetMapping("/exportQualityMonitorDetail") + public void exportQualityMonitorDetail(Integer qualityMonitorId, HttpServletResponse response){ + qualityMonitorService.exportQualityMonitorDetail(qualityMonitorId, response); + } + + + /************************************************************ 瀹炴柦 *******************************************************************/ + + /** + * 鏌ヨ鐩戞帶璁″垝璇︽儏瀹炴柦淇℃伅 + * @return + */ + @ValueAuth + @ApiOperation(value = "鏌ヨ鐩戞帶璁″垝璇︽儏瀹炴柦淇℃伅") + @GetMapping("/getQualityMonitorRatify") + public Result<QualityMonitorDetailsRatify> getQualityMonitorRatify(Integer qualityMonitorDetailsId){ + return Result.success(qualityMonitorService.getQualityMonitorRatify(qualityMonitorDetailsId)); + } + + /** + * 鏂板鐩戞帶璁″垝璇︽儏瀹炴柦淇℃伅 + * @return + */ + @ValueAuth + @ApiOperation(value = "鏂板鐩戞帶璁″垝璇︽儏瀹炴柦淇℃伅") + @PostMapping("/addQualityMonitorRatify") + public Result addQualityMonitorRatify(@RequestBody QualityMonitorDetailsRatify qualityMonitorDetailsRatify){ + return Result.success(qualityMonitorService.addQualityMonitorRatify(qualityMonitorDetailsRatify)); + } + + /** + * 鐩戞帶璁″垝璇︽儏鎻愪氦鎵瑰噯鎰忚 + * @return + */ + @ValueAuth + @ApiOperation(value = "鐩戞帶璁″垝璇︽儏鎻愪氦鎵瑰噯鎰忚") + @PostMapping("/addQualityMonitorRatifyOpinion") + public Result addQualityMonitorRatifyOpinion(@RequestBody QualityMonitorDetailsRatify qualityMonitorDetailsRatify){ + return Result.success(qualityMonitorService.addQualityMonitorRatifyOpinion(qualityMonitorDetailsRatify)); + } + + /** + * 瀵煎嚭鐩戞帶璁″垝璇︽儏瀹炴柦淇℃伅 + * @param detailsRatifyId 鐩戞帶璁″垝璇︽儏瀹炴柦id + */ + @ValueAuth + @ApiOperation(value = "瀵煎嚭鐩戞帶璁″垝璇︽儏瀹炴柦淇℃伅") + @GetMapping("/exportQualityMonitorRatify") + public void exportQualityMonitorRatify(Integer detailsRatifyId, HttpServletResponse response){ + qualityMonitorService.exportQualityMonitorRatify(detailsRatifyId, response); + } + + /************************************************************ 璇勪环 *******************************************************************/ + + /** + * 鏌ヨ鐩戞帶璇勪环 + * @return + */ + @ValueAuth + @ApiOperation(value = "鏌ヨ鐩戞帶璇勪环") + @GetMapping("/getQualityMonitorEvaluate") + public Result<QualityMonitorDetailsEvaluate> getQualityMonitorEvaluate(Integer qualityMonitorDetailsId){ + return Result.success(qualityMonitorService.getQualityMonitorEvaluate(qualityMonitorDetailsId)); + } + + /** + * 鏂板鐩戞帶璇勪环 + * @return + */ + @ValueAuth + @ApiOperation(value = "鏂板鐩戞帶璇勪环") + @PostMapping("/addQualityMonitorEvaluate") + public Result addQualityMonitorEvaluate(@RequestBody QualityMonitorDetailsEvaluate qualityMonitorDetailsEvaluate){ + return Result.success(qualityMonitorService.addQualityMonitorEvaluate(qualityMonitorDetailsEvaluate)); + } + + /** + * 瀵煎嚭鐩戞帶璇勪环 + * @param detailsEvaluateId 鐩戞帶璇勪环id + */ + @ValueAuth + @ApiOperation(value = "瀵煎嚭鐩戞帶璇勪环") + @GetMapping("/exportQualityMonitorEvaluate") + public void exportQualityMonitorEvaluate(Integer detailsEvaluateId, HttpServletResponse response){ + qualityMonitorService.exportQualityMonitorEvaluate(detailsEvaluateId, response); + } + + /** + * 鐩戞帶璇勪环鎵瑰噯鎰忚 + * @return + */ + @ValueAuth + @ApiOperation(value = "鐩戞帶璇勪环鎵瑰噯鎰忚") + @PostMapping("/addMonitorEvaluateOpinion") + public Result addMonitorEvaluateOpinion(@RequestBody QualityMonitorDetailsEvaluate qualityMonitorDetailsEvaluate){ + return Result.success(qualityMonitorService.addMonitorEvaluateOpinion(qualityMonitorDetailsEvaluate)); + } + + + /** + * 鏂板鐩戞帶璇勪环闄勪欢琛� + * @param detailsEvaluateId + * @param file + * @return + */ + @ValueAuth + @ApiOperation(value = "鏂板鐩戞帶璇勪环闄勪欢琛�") + @PostMapping("/uploadEvaluateFile") + public Result<?> uploadEvaluateFile(Integer detailsEvaluateId, MultipartFile file) { + return Result.success(qualityMonitorService.uploadEvaluateFile(detailsEvaluateId, file)); + } + + + /** + * 鏌ヨ鐩戞帶璇勪环闄勪欢鍒楄〃 + * @return + */ + @ValueAuth + @ApiOperation(value = "鏌ヨ鐩戞帶璇勪环闄勪欢鍒楄〃") + @GetMapping("/getEvaluateFileList") + public Result<List<QualityMonitorDetailsEvaluateFile>> getEvaluateFileList(Integer detailsEvaluateId){ + return Result.success(qualityMonitorService.getEvaluateFileList(detailsEvaluateId)); + } + + /** + * 鍒犻櫎鐩戞帶璇勪环闄勪欢琛� + * @return + */ + @ValueAuth + @ApiOperation(value = "鍒犻櫎鐩戞帶璇勪环闄勪欢琛�") + @GetMapping("/delVerifyEvaluateFileList") + public Result delVerifyMethodFileList(Integer evaluateFileId){ + return Result.success(qualityMonitorDetailsEvaluateFileMapper.deleteById(evaluateFileId)); + } +} + diff --git a/cnas-process/src/main/java/com/yuanchu/mom/controller/QualitySuperviseController.java b/cnas-process/src/main/java/com/yuanchu/mom/controller/QualitySuperviseController.java new file mode 100644 index 0000000..d93381f --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/controller/QualitySuperviseController.java @@ -0,0 +1,335 @@ +package com.yuanchu.mom.controller; + + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yuanchu.mom.annotation.ValueAuth; +import com.yuanchu.mom.annotation.ValueClassify; +import com.yuanchu.mom.dto.QualitySuperviseDetailsDto; +import com.yuanchu.mom.exception.ErrorException; +import com.yuanchu.mom.mapper.QualitySuperviseDetailsCorrectFileMapper; +import com.yuanchu.mom.pojo.*; +import com.yuanchu.mom.service.QualitySuperviseDetailsService; +import com.yuanchu.mom.service.QualitySuperviseService; +import com.yuanchu.mom.utils.JackSonUtil; +import com.yuanchu.mom.vo.Result; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.AllArgsConstructor; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.servlet.http.HttpServletResponse; +import java.util.List; +import java.util.Map; + + +/** + * 璐ㄩ噺鐩戠潱涓昏〃 + * + * @author zhuo + * @since 2024-11-07 + */ +@Api(tags = "璐ㄩ噺鐩戠潱璁″垝") +@AllArgsConstructor +@RestController +@RequestMapping("/qualitySupervise") +public class QualitySuperviseController { + + private QualitySuperviseService qualitySuperviseService; + private QualitySuperviseDetailsService qualitySuperviseDetailsService; + private QualitySuperviseDetailsCorrectFileMapper qualitySuperviseDetailsCorrectFileMapper; + + /** + * 瀵煎叆鐩戠潱璁″垝 + * @return + */ + @ValueAuth + @ApiOperation(value = "瀵煎叆鐩戠潱璁″垝") + @PostMapping("/importQualitySupervise") + public Result importQualitySupervise(MultipartFile file){ + return Result.success(qualitySuperviseService.importQualitySupervise(file)); + } + + + + /** + * 鐩戠潱璁″垝鍒楄〃 + * @param data + * @return + */ + @ValueAuth + @ApiOperation(value = "鐩戠潱璁″垝鍒楄〃") + @PostMapping("/pageQualitySupervise") + public Result<IPage<QualitySupervise>> pageQualitySupervise(@RequestBody Map<String, Object> data) throws Exception { + Page page = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("page")), Page.class); + QualitySupervise qualitySupervise = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("entity")), QualitySupervise.class); + return Result.success(qualitySuperviseService.pageQualitySupervise(page, qualitySupervise)); + } + + /** + * 鐩戠潱璁″垝鎵瑰噯 + * @return + */ + @ValueClassify("璐ㄩ噺鐩戞帶璁″垝") + @ApiOperation(value = "鐩戠潱璁″垝鎵瑰噯") + @PostMapping("/ratifyQualitySupervise") + public Result ratifyQualitySupervise(@RequestBody QualitySupervise qualitySupervise){ + return Result.success(qualitySuperviseService.ratifyQualitySupervise(qualitySupervise)); + } + + /** + * 鐩戠潱璁″垝鍒犻櫎 + * @return + */ + @ValueAuth + @ApiOperation(value = "鐩戠潱璁″垝鍒犻櫎") + @GetMapping("/delQualitySupervise") + public Result delQualitySupervise(Integer superviseId){ + return Result.success(qualitySuperviseService.removeById(superviseId)); + } + + /** + * 鐩戠潱璁″垝璇︽儏鍒楄〃 + * @param data + * @return + */ + @ValueAuth + @ApiOperation(value = "鐩戠潱璁″垝璇︽儏鍒楄〃") + @PostMapping("/pageQualitySuperviseDetail") + public Result<IPage<QualitySuperviseDetailsDto>> pageQualitySuperviseDetail(@RequestBody Map<String, Object> data) throws Exception { + Page page = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("page")), Page.class); + QualitySuperviseDetails qualitySuperviseDetails = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("entity")), QualitySuperviseDetails.class); + return Result.success(qualitySuperviseService.pageQualitySuperviseDetail(page, qualitySuperviseDetails)); + } + + /** + * 鏂板鐩戠潱璁″垝璇︽儏 + * @return + */ + @ValueAuth + @ApiOperation(value = "鏂板鐩戠潱璁″垝璇︽儏") + @PostMapping("/addQualitySuperviseDetail") + public Result addQualitySuperviseDetail(@RequestBody QualitySuperviseDetails qualitySuperviseDetails){ + if (qualitySuperviseDetails.getSuperviseId() == null) { + throw new ErrorException("缂哄皯鐩戠潱璁″垝涓昏〃id"); + } + return Result.success(qualitySuperviseDetailsService.save(qualitySuperviseDetails)); + } + + /** + * 淇敼鐩戠潱璁″垝璇︽儏 + * @return + */ + @ValueAuth + @ApiOperation(value = "淇敼鐩戠潱璁″垝璇︽儏") + @PostMapping("/updateQualitySuperviseDetail") + public Result updateQualitySuperviseDetail(@RequestBody QualitySuperviseDetails qualitySuperviseDetails){ + return Result.success(qualitySuperviseDetailsService.updateById(qualitySuperviseDetails)); + } + + /** + * 鍒犻櫎鐩戠潱璁″垝璇︽儏 + * @return + */ + @ValueAuth + @ApiOperation(value = "鍒犻櫎鐩戠潱璁″垝璇︽儏") + @GetMapping("/delQualitySuperviseDetail") + public Result delQualitySuperviseDetail(Integer superviseDetailsId){ + return Result.success(qualitySuperviseDetailsService.removeById(superviseDetailsId)); + } + + /** + * 瀵煎嚭鐩戠潱璁″垝 + * @return + */ + @ValueAuth + @ApiOperation(value = "瀵煎嚭鐩戠潱璁″垝") + @GetMapping("/exportQualitySupervise") + public void exportQualitySupervise(Integer superviseId, HttpServletResponse response){ + qualitySuperviseService.exportQualitySupervise(superviseId, response); + } + + /************************************************* 璁板綍 *********************************************************/ + + /** + * 鏌ヨ鐩戠潱璁板綍淇℃伅 + * @return + */ + @ValueAuth + @ApiOperation(value = "鏌ヨ鐩戠潱璁板綍淇℃伅") + @GetMapping("/getSuperviseDetailRecord") + public Result<QualitySuperviseDetailsRecord> getSuperviseDetailRecord(Integer superviseDetailsId){ + return Result.success(qualitySuperviseService.getSuperviseDetailRecord(superviseDetailsId)); + } + + /** + * 鏂板鐩戠潱璁板綍淇℃伅 + * @return + */ + @ValueAuth + @ApiOperation(value = "鏂板鐩戠潱璁板綍淇℃伅") + @PostMapping("/addSuperviseDetailRecord") + public Result addSuperviseDetailRecord(@RequestBody QualitySuperviseDetailsRecord qualitySuperviseDetailsRecord){ + return Result.success(qualitySuperviseService.addSuperviseDetailRecord(qualitySuperviseDetailsRecord)); + } + + /** + * 鐩戠潱璁板綍鎵瑰噯 + * @return + */ + @ValueAuth + @ApiOperation(value = "鐩戠潱璁板綍鎵瑰噯") + @PostMapping("/addSuperviseRecordOpinion") + public Result addSuperviseRecordOpinion(@RequestBody QualitySuperviseDetailsRecord qualitySuperviseDetailsRecord){ + return Result.success(qualitySuperviseService.addSuperviseRecordOpinion(qualitySuperviseDetailsRecord)); + } + + /** + * 瀵煎嚭璐ㄩ噺鐩戠潱璇︽儏璁板綍琛� + * @return + */ + @ValueAuth + @ApiOperation(value = "瀵煎嚭鐩戠潱璁板綍琛�") + @GetMapping("/exportSuperviseDetailRecord") + public void exportSuperviseDetailRecord(Integer superviseDetailsId, HttpServletResponse response){ + qualitySuperviseService.exportSuperviseDetailRecord(superviseDetailsId, response); + } + + /************************************************* 涓嶅悎鏍煎伐浣滄帶鍒跺崟 ********************************************************/ + + + /** + * 鏂板鐩戠潱璁板綍涓嶇鍚堟帶鍒朵俊鎭� + * @return + */ + @ValueAuth + @ApiOperation(value = "鏂板鐩戠潱璁板綍涓嶇鍚堟帶鍒朵俊鎭�") + @PostMapping("/addSuperviseDetailAccording") + public Result addSuperviseDetailAccording(@RequestBody QualitySuperviseDetailsAccording qualitySuperviseDetailsAccording){ + return Result.success(qualitySuperviseService.addSuperviseDetailAccording(qualitySuperviseDetailsAccording)); + } + + /** + * 鏌ヨ鐩戠潱璁板綍涓嶇鍚堟帶鍒朵俊鎭� + * @return + */ + @ValueAuth + @ApiOperation(value = "鏌ヨ鐩戠潱璁板綍涓嶇鍚堟帶鍒朵俊鎭�") + @GetMapping("/getSuperviseDetailAccording") + public Result<QualitySuperviseDetailsAccording> getSuperviseDetailAccording(Integer superviseDetailsId){ + return Result.success(qualitySuperviseService.getSuperviseDetailAccording(superviseDetailsId)); + } + + /** + * 鏌ヨ鐩戠潱璁板綍涓嶇鍚堟帶鍒朵俊鎭垪琛� + * @return + */ + @ValueAuth + @ApiOperation(value = "鏌ヨ鐩戠潱璁板綍涓嶇鍚堟帶鍒朵俊鎭垪琛�") + @PostMapping("/pageSuperviseDetailAccording") + public Result<IPage<QualitySuperviseDetailsAccording>> pageSuperviseDetailAccording(@RequestBody Map<String, Object> data) throws Exception { + Page page = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("page")), Page.class); + QualitySuperviseDetailsAccording detailsAccording = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("entity")), QualitySuperviseDetailsAccording.class); + return Result.success(qualitySuperviseService.pageSuperviseDetailAccording(page, detailsAccording)); + } + + /** + * 瀵煎嚭鐩戠潱璁板綍涓嶇鍚堟帶鍒朵俊鎭� + * @return + */ + @ValueAuth + @ApiOperation(value = "瀵煎嚭鐩戠潱璁板綍涓嶇鍚堟帶鍒朵俊鎭�") + @GetMapping("/superviseDetailAccordingExport") + public void superviseDetailAccordingExport(@RequestParam("superviseDetailsId") Integer id, HttpServletResponse response){ + qualitySuperviseService.superviseDetailAccordingExport(id, response); + } + + + + /************************************************* 绾犳鎺柦澶勭悊鍗� ********************************************************/ + + + /** + * 鏂板鐩戠潱绾犳澶勭悊淇℃伅 + * @return + */ + @ValueAuth + @ApiOperation(value = "鏂板鐩戠潱绾犳澶勭悊") + @PostMapping("/addSuperviseDetailCorrect") + public Result addSuperviseDetailCorrect(@RequestBody QualitySuperviseDetailsCorrect qualitySuperviseDetailsCorrect){ + return Result.success(qualitySuperviseService.addSuperviseDetailCorrect(qualitySuperviseDetailsCorrect)); + } + + /** + * 鏌ヨ鐩戠潱绾犳澶勭悊 + * @return + */ + @ValueAuth + @ApiOperation(value = "鏌ヨ鐩戠潱绾犳澶勭悊") + @GetMapping("/getSuperviseDetailCorrect") + public Result<QualitySuperviseDetailsCorrect> getSuperviseDetailCorrect(Integer superviseDetailsId){ + return Result.success(qualitySuperviseService.getSuperviseDetailCorrect(superviseDetailsId)); + } + + /** + * 鏌ヨ鐩戠潱绾犳鎺柦鍒楄〃 + * @return + */ + @ValueAuth + @ApiOperation(value = "鏌ヨ鐩戠潱绾犳鎺柦鍒楄〃") + @PostMapping("/pageSuperviseDetailCorrect") + public Result<IPage<QualitySuperviseDetailsCorrect>> pageSuperviseDetailCorrect(@RequestBody Map<String, Object> data) throws Exception { + Page page = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("page")), Page.class); + QualitySuperviseDetailsCorrect detailsCorrect = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("entity")), QualitySuperviseDetailsCorrect.class); + return Result.success(qualitySuperviseService.pageSuperviseDetailCorrect(page, detailsCorrect)); + } + + /** + * 鏂板鐩戠潱绾犳鎺柦闄勪欢 + * @param superviseDetailsCorrectId + * @param file + * @return + */ + @ValueAuth + @ApiOperation(value = "鏂板鐩戠潱绾犳鎺柦闄勪欢") + @PostMapping("/uploadSuperviseDetailCorrectFile") + public Result<?> uploadSuperviseDetailCorrectFile(Integer superviseDetailsCorrectId, MultipartFile file) { + return Result.success(qualitySuperviseService.uploadSuperviseDetailCorrectFile(superviseDetailsCorrectId, file)); + } + + + /** + * 鏌ヨ鐩戠潱绾犳鎺柦闄勪欢 + * @return + */ + @ValueAuth + @ApiOperation(value = "鏌ヨ鐩戠潱绾犳鎺柦闄勪欢") + @GetMapping("/getSuperviseDetailCorrectFileList") + public Result<List<QualitySuperviseDetailsCorrectFile>> getSuperviseDetailCorrectFileList(Integer superviseDetailsCorrectId){ + return Result.success(qualitySuperviseService.getSuperviseDetailCorrectFileList(superviseDetailsCorrectId)); + } + + /** + * 鍒犻櫎鐩戠潱绾犳鎺柦闄勪欢 + * @return + */ + @ValueAuth + @ApiOperation(value = "鍒犻櫎鐩戠潱绾犳鎺柦闄勪欢") + @GetMapping("/delSuperviseDetailCorrectFile") + public Result delSuperviseDetailCorrectFile(Integer superviseDetailsCorrectFileId){ + return Result.success(qualitySuperviseDetailsCorrectFileMapper.deleteById(superviseDetailsCorrectFileId)); + } + + /** + * 瀵煎嚭鐩戠潱绾犳鎺柦 + * @return + */ + @ValueAuth + @ApiOperation(value = "瀵煎嚭鐩戠潱绾犳鎺柦") + @GetMapping("/exportSuperviseDetaillCorrect") + public void exportSuperviseDetaillCorrect(Integer superviseDetailsCorrectId, HttpServletResponse response){ + qualitySuperviseService.exportSuperviseDetaillCorrect(superviseDetailsCorrectId, response); + } +} + diff --git a/cnas-process/src/main/java/com/yuanchu/mom/dto/ImageDemoData.java b/cnas-process/src/main/java/com/yuanchu/mom/dto/ImageDemoData.java new file mode 100644 index 0000000..a7b1c7e --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/dto/ImageDemoData.java @@ -0,0 +1,43 @@ +package com.yuanchu.mom.dto; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.converters.string.StringImageConverter; +import com.alibaba.excel.metadata.data.WriteCellData; +import lombok.EqualsAndHashCode; +import lombok.Getter; +import lombok.Setter; + +import java.io.File; +import java.io.InputStream; +import java.net.URL; + +@Getter +@Setter +@EqualsAndHashCode +@ContentRowHeight(100) // 琛岄珮 +@ColumnWidth(100 / 8) // 鍒楀 +public class ImageDemoData { + private File file; + private InputStream inputStream; + /** + * 濡傛灉string绫诲瀷 蹇呴』鎸囧畾杞崲鍣紝string榛樿杞崲鎴恠tring + */ + @ExcelProperty(converter = StringImageConverter.class) + private String string; + private byte[] byteArray; + /** + * 鏍规嵁url瀵煎嚭 + * + * @since 2.1.1 + */ + private URL url; + + /** + * 鏍规嵁鏂囦欢瀵煎嚭 骞惰缃鍑虹殑浣嶇疆銆� + * + * @since 3.0.0-beta1 + */ + private WriteCellData<Void> writeCellDataFile; +} \ No newline at end of file diff --git a/cnas-process/src/main/java/com/yuanchu/mom/dto/InconsistentDistributionDto.java b/cnas-process/src/main/java/com/yuanchu/mom/dto/InconsistentDistributionDto.java new file mode 100644 index 0000000..a082e8b --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/dto/InconsistentDistributionDto.java @@ -0,0 +1,29 @@ +package com.yuanchu.mom.dto; + +import com.yuanchu.mom.pojo.InconsistentDistribution; +import com.yuanchu.mom.pojo.InconsistentDistributionDetail; +import com.yuanchu.mom.pojo.ProcessMethodVerifyMachineAttachment; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * @Author zhuo + * @Date 2024/11/15 + */ +@Data +public class InconsistentDistributionDto extends InconsistentDistribution { + + @ApiModelProperty("鍒嗗竷璇︽儏") + private List<InconsistentDistributionDetail> distributionDetailList; + + @ApiModelProperty("鍗犳瘮瀵硅薄") + private InconsistentDistributionProportionDto distributionProportion; + + @ApiModelProperty("鍒涘缓浜哄悕绉�") + private String createUserName; + + @ApiModelProperty("淇敼浜哄悕绉�") + private String updateUserName; +} diff --git a/cnas-process/src/main/java/com/yuanchu/mom/dto/InconsistentDistributionProportionDto.java b/cnas-process/src/main/java/com/yuanchu/mom/dto/InconsistentDistributionProportionDto.java new file mode 100644 index 0000000..4490c1b --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/dto/InconsistentDistributionProportionDto.java @@ -0,0 +1,48 @@ +package com.yuanchu.mom.dto; + +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + +/** + * 鍗犳瘮瀵硅薄 + * + * @Author zhuo + * @Date 2024/11/15 + */ + +@Data +public class InconsistentDistributionProportionDto { + + @ApiModelProperty("绔犺妭鍙�") + private String chapterNumber; + + @ApiModelProperty("瑕佺礌") + private String essentials; + + @ApiModelProperty("涓讳换") + private BigDecimal director; + + @ApiModelProperty("鎶�鏈礋璐d汉") + private BigDecimal technology; + + @ApiModelProperty("璐ㄩ噺璐熻矗浜�") + private BigDecimal quality; + + @ApiModelProperty("缁煎悎瀹�") + private BigDecimal comprehensive; + + @ApiModelProperty("璇曢獙瀹�") + private BigDecimal testing; + + @ApiModelProperty("鍚堣") + private Integer total; + + @ApiModelProperty("鍗犳瘮") + private BigDecimal proportion; + +} diff --git a/cnas-process/src/main/java/com/yuanchu/mom/dto/InspectionOrderDetail.java b/cnas-process/src/main/java/com/yuanchu/mom/dto/InspectionOrderDetail.java new file mode 100644 index 0000000..f77193f --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/dto/InspectionOrderDetail.java @@ -0,0 +1,46 @@ +package com.yuanchu.mom.pojo; + +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.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.time.LocalDateTime; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.Getter; +import lombok.Setter; + +/** + * <p> + * 妫�楠屽鎵樺崟璇︽儏琛� + * </p> + * + * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 + * @since 2024-12-09 + */ +@Data +public class InspectionOrderDetail { + + + @ApiModelProperty("濮旀墭鍗昳d") + private Integer inspectionOrderId; + + @ApiModelProperty("鏍峰搧缂栧彿") + private String sampleNumber; + + @ApiModelProperty("璇曢獙椤圭洰") + private String testItem; + + @ApiModelProperty("璇曢獙渚濇嵁") + private String testStandard; + + @ApiModelProperty("澶囨敞") + private String remark; + + // 瀵煎嚭浣跨敤 + @TableField(select = false, exist = false) + private Integer index; +} diff --git a/cnas-process/src/main/java/com/yuanchu/mom/dto/InspectionOrderExportDto.java b/cnas-process/src/main/java/com/yuanchu/mom/dto/InspectionOrderExportDto.java new file mode 100644 index 0000000..181351a --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/dto/InspectionOrderExportDto.java @@ -0,0 +1,65 @@ +package com.yuanchu.mom.dto; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.yuanchu.mom.pojo.InsOrder; +import com.yuanchu.mom.pojo.ProcessOrder; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.Getter; +import lombok.Setter; + +import java.lang.String; +import java.time.LocalDate; + +/** + * Author: yuan + * Date: 2024-12-10 鏄熸湡浜� + * Description: + */ +@Data +public class InspectionOrderExportDto extends ProcessOrderDto { + + @ApiModelProperty("鐣欐牱:1 鏄�") + private String isLeave1 = "鈻�"; + + @ApiModelProperty("鐣欐牱:0 鍚�") + private String isLeave2 = "鈻�"; + + @ApiModelProperty("鎶ュ憡鍙戦�佹柟寮� 1锛氳嚜鍙�") + private String send1 = "鈻�"; + + @ApiModelProperty("鎶ュ憡鍙戦�佹柟寮� 0锛氬叾浠�") + private String send0 = "鈻�"; + + @ApiModelProperty("鏍峰搧澶勭悊鏂瑰紡 1锛氬疄楠屽澶勭悊") + private String processing1 = "鈻�"; + + @ApiModelProperty("鏍峰搧澶勭悊鏂瑰紡 0锛氬鎵樺崟浣嶅彇鍥�") + private String processing0 = "鈻�"; + + @ApiModelProperty("鍒ゆ柇瑙勫垯 1锛氳�冭檻涓嶇‘瀹氬害") + private String criterionRule1 = "鈻�"; + + //鑰冭檻涓嶇‘瀹氬害% + private String criterionRuleRemark; + + @ApiModelProperty("鍒ゆ柇瑙勫垯 0锛氫笉鑰冭檻涓嶇‘瀹氬害") + private String criterionRule0 = "鈻�"; + + @ApiModelProperty("濮旀墭鏃堕棿 瀛楃涓叉牸寮忥細yyyy骞碝M鏈坉d") + private String commissionDateString; + + @ApiModelProperty("鎺ユ敹鏃ユ湡 瀛楃涓叉牸寮忥細yyyy骞碝M鏈坉d") + private String receiptDataString; + + @ApiModelProperty("棰嗘牱鏃ユ湡 瀛楃涓叉牸寮忥細yyyy骞碝M鏈坉d") + private String sampleDataString; + + @ApiModelProperty("绾﹀畾鏃堕棿 瀛楃涓叉牸寮忥細yyyy骞碝M鏈坉d") + private String appointedString; + + + +} diff --git a/cnas-process/src/main/java/com/yuanchu/mom/dto/ProcessComplainDto.java b/cnas-process/src/main/java/com/yuanchu/mom/dto/ProcessComplainDto.java new file mode 100644 index 0000000..1805f57 --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/dto/ProcessComplainDto.java @@ -0,0 +1,23 @@ +package com.yuanchu.mom.dto; + +import com.yuanchu.mom.pojo.ProcessComplain; +import lombok.Data; + +@Data +//鎶曡瘔璇︽儏 +public class ProcessComplainDto extends ProcessComplain { + + private String phone; + + private String email; + + private String problemRecordsUserName; + + private String dutyOwnershipUserName; + + private String causeAnalysisUserName; + + private String correctiveActionUserName; + + private String correctiveActionConfirmationUserName; +} diff --git a/cnas-process/src/main/java/com/yuanchu/mom/dto/ProcessMethodSearchNewDto.java b/cnas-process/src/main/java/com/yuanchu/mom/dto/ProcessMethodSearchNewDto.java new file mode 100644 index 0000000..161d0c7 --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/dto/ProcessMethodSearchNewDto.java @@ -0,0 +1,56 @@ +package com.yuanchu.mom.dto; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.yuanchu.mom.pojo.ProcessMethodSearchNew; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Author zhuo + * @Date 2024/11/4 + */ +@Data +@ExcelIgnoreUnannotated +public class ProcessMethodSearchNewDto extends ProcessMethodSearchNew { + + @ApiModelProperty("寮�濮嬫椂闂�") + private String beginDate; + + @ApiModelProperty("缁撴潫鏃堕棿") + private String endDate; + + @ApiModelProperty("缂栧埗浜篿d") + private Integer writeUserId; + + @ApiModelProperty("鎵瑰噯浜篿d") + private Integer ratifyUserId; + + @ExcelProperty(value = {"鏄惁鏈夋洿鏂版爣鍑�", "鏄惁鏈夋洿鏂版爣鍑�"}, index = 4) + @ApiModelProperty("鏄惁鏈夋洿鏂版爣鍑�") + private String isNewStandardString; + + @ExcelProperty(value = {"鏌ユ柊璁板綍", "鏍囧噯缃�"}, index = 7) + @ApiModelProperty("鏍囧噯缃�") + private String standardNet; + + @ExcelProperty(value = {"鏌ユ柊璁板綍", "濮旀墭鎯呮姤鎵�"}, index = 8) + @ApiModelProperty("濮旀墭鎯呮姤鎵�") + private String informationOffices; + + @ExcelProperty(value = {"鏌ユ柊璁板綍", "鏍囧噯涔﹀簵"}, index = 9) + @ApiModelProperty("鏍囧噯涔﹀簵") + private String standardBookstore; + + @ExcelProperty(value = {"鏌ユ柊璁板綍", "鍏朵粬"}, index = 10) + @ApiModelProperty("鍏朵粬") + private String other; + + @ExcelProperty(value = {"澶囨敞", "澶囨敞"}, index = 11) + @ApiModelProperty("澶囨敞") + private String remarkString; + + @ExcelProperty(value = {"搴忓彿", "搴忓彿"}, index = 0) + @ApiModelProperty("搴忓彿") + private Integer index; +} diff --git a/cnas-process/src/main/java/com/yuanchu/mom/dto/ProcessMethodVerifyCalibrationsFileDto.java b/cnas-process/src/main/java/com/yuanchu/mom/dto/ProcessMethodVerifyCalibrationsFileDto.java new file mode 100644 index 0000000..7929180 --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/dto/ProcessMethodVerifyCalibrationsFileDto.java @@ -0,0 +1,19 @@ +package com.yuanchu.mom.dto; + +import com.yuanchu.mom.pojo.ProcessMethodVerifyCalibrationsFile; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Author zhuo + * @Date 2024/11/12 + */ +@Data +public class ProcessMethodVerifyCalibrationsFileDto extends ProcessMethodVerifyCalibrationsFile { + + @ApiModelProperty("璁惧鍚嶇О") + private String deviceName; + + @ApiModelProperty("璁惧缂栧彿") + private String managementNumber; +} diff --git a/cnas-process/src/main/java/com/yuanchu/mom/dto/ProcessMethodVerifyDto.java b/cnas-process/src/main/java/com/yuanchu/mom/dto/ProcessMethodVerifyDto.java new file mode 100644 index 0000000..77d1d93 --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/dto/ProcessMethodVerifyDto.java @@ -0,0 +1,30 @@ +package com.yuanchu.mom.dto; + +import com.yuanchu.mom.pojo.ProcessMethodVerify; +import com.yuanchu.mom.pojo.ProcessMethodVerifyMachineAttachment; +import com.yuanchu.mom.pojo.ProcessMethodVerifyMethodFile; +import com.yuanchu.mom.pojo.ProcessMethodVerifyWorkFile; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * @Author zhuo + * @Date 2024/11/5 + */ +@Data +public class ProcessMethodVerifyDto extends ProcessMethodVerify { + + @ApiModelProperty("璁惧闄勪欢") + private List<ProcessMethodVerifyMachineAttachment> machineAttachmentList; + + @ApiModelProperty("鍘熷璁板綍闄勪欢") + private List<ProcessMethodVerifyMethodFile> methodFileList; + + @ApiModelProperty("涓婂矖璇�") + private List<ProcessMethodVerifyWorkFile> workFileList; + + @ApiModelProperty("鏍″噯璇佷功") + private List<ProcessMethodVerifyCalibrationsFileDto> calibrationsFileList; +} diff --git a/cnas-process/src/main/java/com/yuanchu/mom/dto/ProcessMethodVerifyExportWordDto.java b/cnas-process/src/main/java/com/yuanchu/mom/dto/ProcessMethodVerifyExportWordDto.java new file mode 100644 index 0000000..ccb1443 --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/dto/ProcessMethodVerifyExportWordDto.java @@ -0,0 +1,40 @@ +package com.yuanchu.mom.dto; + +import com.yuanchu.mom.pojo.ProcessMethodVerify; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Author: yuan + * Date: 2024-12-19 鏄熸湡鍥� 15:55:46 + * Description: + */ +@Data +public class ProcessMethodVerifyExportWordDto extends ProcessMethodVerify { + @ApiModelProperty("(浜�)鏄惁婊¤冻 1婊¤冻 0涓嶆弧瓒�") + private String personIsSatisfiedStr; + + @ApiModelProperty("(鏈�)鏄惁婊¤冻") + private String machineIsSatisfiedStr; + + @ApiModelProperty("(鏂�)鏄惁婊¤冻") + private String materialIsSatisfiedStr; + + @ApiModelProperty("(娉�)鏄惁婊¤冻") + private String methodIsSatisfiedStr; + + @ApiModelProperty("(鐜�)鏄惁婊¤冻") + private String environmentIsSatisfiedStr; + + @ApiModelProperty("(娴嬮噺婧簮鎬�)鏄惁婊¤冻") + private String traceabilityIsSatisfiedStr; + + @ApiModelProperty("(鏍峰搧绠$悊闇�姹�)鏄惁婊¤冻") + private String managementIsSatisfiedStr; + + @ApiModelProperty("(鍏朵粬)鏄惁婊¤冻") + private String otherIsSatisfiedStr; + + @ApiModelProperty("纭鏃堕棿") + private String confirmDateStr; +} diff --git a/cnas-process/src/main/java/com/yuanchu/mom/dto/ProcessOrderDto.java b/cnas-process/src/main/java/com/yuanchu/mom/dto/ProcessOrderDto.java new file mode 100644 index 0000000..4dd64c7 --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/dto/ProcessOrderDto.java @@ -0,0 +1,85 @@ +package com.yuanchu.mom.dto; + +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.TableField; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.yuanchu.mom.annotation.ValueTableShow; +import com.yuanchu.mom.pojo.ProcessOrder; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.util.List; + +@Data +//瑕佹眰銆佹爣涔﹀拰鍚堝悓璇勫鐨勬煡鐪嬭鎯� +public class ProcessOrderDto extends ProcessOrder { + + @ApiModelProperty(value = "濮旀墭缂栧彿") + private String entrustCode; + + @ApiModelProperty("璇曟牱鍚嶇О") + @ValueTableShow(1) + private String sample; + + @ValueTableShow(2) + @ApiModelProperty("濮旀墭鏃堕棿") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime createTime; + + @ApiModelProperty("鍨嬪彿") + @ValueTableShow(3) + private String sampleType; + + @ValueTableShow(4) + @ApiModelProperty("濮旀墭鍗曚綅") + private String company; + + @ApiModelProperty("鐢熶骇鍗曚綅") + @ValueTableShow(5) + private String production; + + @ApiModelProperty("鐢熸垚鍗曚綅en") + private String productionEn; + + @ValueTableShow(6) + @ApiModelProperty("濮旀墭浜�") + private String prepareUser; + + private String prepareUserUrl; + + @ApiModelProperty("鏍峰搧鏁伴噺") + @ValueTableShow(7) + private String sampleNum; + + @ApiModelProperty("鏍峰搧鐘舵��") + @ValueTableShow(8) + private Integer insState; + + private String sampleStatus; + + @ApiModelProperty("鏄惁鐣欐牱") + @ValueTableShow(9) + private Integer isLeave; + + @ApiModelProperty("鏍峰搧澶勭悊鏂瑰紡") + @ValueTableShow(10) + private Integer processing; + + @ApiModelProperty("鑱旂郴鏂瑰紡") + private String phone; + + @ApiModelProperty("绾﹀畾鏃堕棿") + @JsonFormat(pattern = "yyyy-MM-dd") + private LocalDate appointed; + + @ApiModelProperty("鎶ュ憡鍙戦�佹柟寮�") + private Integer send; + + //鏍峰搧鍜屾楠岄」鐩俊鎭� + private List<SampleItemDto> sampleItems; + + + + +} diff --git a/cnas-process/src/main/java/com/yuanchu/mom/dto/ProcessReportDto.java b/cnas-process/src/main/java/com/yuanchu/mom/dto/ProcessReportDto.java new file mode 100644 index 0000000..f7e7bdd --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/dto/ProcessReportDto.java @@ -0,0 +1,12 @@ +package com.yuanchu.mom.dto; + +import lombok.Data; + +import java.util.List; + +@Data +//瀵煎嚭 +public class ProcessReportDto { + + private List<Integer> ids; +} diff --git a/cnas-process/src/main/java/com/yuanchu/mom/dto/QualityMonitorDetailsEvaluateDto.java b/cnas-process/src/main/java/com/yuanchu/mom/dto/QualityMonitorDetailsEvaluateDto.java new file mode 100644 index 0000000..610f6ed --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/dto/QualityMonitorDetailsEvaluateDto.java @@ -0,0 +1,16 @@ +package com.yuanchu.mom.dto; + +import com.yuanchu.mom.pojo.QualityMonitorDetailsEvaluate; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Author: yuan + * Date: 2024-12-20 鏄熸湡浜� 9:08:38 + * Description: + */ +@Data +public class QualityMonitorDetailsEvaluateDto extends QualityMonitorDetailsEvaluate { + @ApiModelProperty("鎵瑰噯鏃堕棿") + private String ratifyTimeStr; +} diff --git a/cnas-process/src/main/java/com/yuanchu/mom/dto/QualityMonitorDto.java b/cnas-process/src/main/java/com/yuanchu/mom/dto/QualityMonitorDto.java new file mode 100644 index 0000000..87057d8 --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/dto/QualityMonitorDto.java @@ -0,0 +1,22 @@ +package com.yuanchu.mom.dto; + +import com.yuanchu.mom.pojo.QualityMonitor; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Author zhuo + * @Date 2024/11/6 + */ +@Data +public class QualityMonitorDto extends QualityMonitor { + + @ApiModelProperty("缂栧埗浜�") + private String writeName; + + @ApiModelProperty("瀹℃牳浜�") + private String examineName; + + @ApiModelProperty("鎵瑰噯浜�") + private String ratifyName; +} diff --git a/cnas-process/src/main/java/com/yuanchu/mom/dto/QualitySuperviseDetailsAccordingDto.java b/cnas-process/src/main/java/com/yuanchu/mom/dto/QualitySuperviseDetailsAccordingDto.java new file mode 100644 index 0000000..0a5cde1 --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/dto/QualitySuperviseDetailsAccordingDto.java @@ -0,0 +1,63 @@ +package com.yuanchu.mom.dto; + +import com.yuanchu.mom.pojo.QualitySuperviseDetailsAccording; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Author: yuan + * Date: 2024-12-11 鏄熸湡涓� 16:26:41 + * Description: + */ +@Data +public class QualitySuperviseDetailsAccordingDto extends QualitySuperviseDetailsAccording { + + @ApiModelProperty("1鍙戠幇閮ㄩ棬-鏃ユ湡") + private String discovererDateString; + + @ApiModelProperty("3璐d换閮ㄩ棬 鏃ユ湡") + private String responsibleDepartmentDateString; + + @ApiModelProperty("4绾犳鎺柦 鏃ユ湡") + private String correctiveMeasureDateString; + + @ApiModelProperty("5璐ㄩ噺璐熻矗浜烘棩鏈�") + private String qualitySupervisorDateString; + + @ApiModelProperty("0琚洃鐫f椂闂� 鏃ユ湡") + private String supervisedTimeString; + + @ApiModelProperty("4绾犳鎺柦澶勭悊鍗曡窡韪�(鏄�)") + private String correctiveMeasureFollowTracksYes = "鈻�"; + @ApiModelProperty("4绾犳鎺柦澶勭悊鍗曡窡韪�(鍚�)") + private String correctiveMeasureFollowTracksNo = "鈻�"; + + + @ApiModelProperty("5鏄惁閫氱煡瀹㈡埛(鏄�)") + private String whetherInformCustomerYes = "鈻�"; + @ApiModelProperty("5鏄惁閫氱煡瀹㈡埛(鍚�)") + private String whetherInformCustomerNo = "鈻�"; + + + @ApiModelProperty("5鏄惁鎭㈠宸ヤ綔(1锛氭槸锛�2锛氬惁)") + private String whetherResumeWorkYes = "鈻�"; + @ApiModelProperty("5鏄惁鎭㈠宸ヤ綔(1锛氭槸锛�2锛氬惁)") + private String whetherResumeWorkNo = "鈻�"; + + @ApiModelProperty("1涓嶇鍚堝伐浣滃彂鐜伴�斿緞0(绠$悊璇勫)") + private String discoveryApproach0 = "鈻�"; + @ApiModelProperty("1涓嶇鍚堝伐浣滃彂鐜伴�斿緞1(鍐呴儴瀹℃牳)") + private String discoveryApproach1 = "鈻�"; + @ApiModelProperty("1涓嶇鍚堝伐浣滃彂鐜伴�斿緞2(妫�娴嬭繃绋嬫帶鍒�)") + private String discoveryApproach2 = "鈻�"; + @ApiModelProperty("1涓嶇鍚堝伐浣滃彂鐜伴�斿緞3(鍐呴儴璐ㄩ噺鎺у埗)") + private String discoveryApproach3 = "鈻�"; + @ApiModelProperty("1涓嶇鍚堝伐浣滃彂鐜伴�斿緞4(鍐呴儴鐩戠潱)") + private String discoveryApproach4 = "鈻�"; + @ApiModelProperty("1涓嶇鍚堝伐浣滃彂鐜伴�斿緞5(澶栭儴璇勫/妫�鏌�)") + private String discoveryApproach5 = "鈻�"; + @ApiModelProperty("1涓嶇鍚堝伐浣滃彂鐜伴�斿緞6(椤惧鎶曡瘔/鎰忚鍙嶉)") + private String discoveryApproach6 = "鈻�"; + @ApiModelProperty("1涓嶇鍚堝伐浣滃彂鐜伴�斿緞7(鍏朵粬)") + private String discoveryApproach7 = "鈻�"; +} diff --git a/cnas-process/src/main/java/com/yuanchu/mom/dto/QualitySuperviseDetailsCorrectDto.java b/cnas-process/src/main/java/com/yuanchu/mom/dto/QualitySuperviseDetailsCorrectDto.java new file mode 100644 index 0000000..e835cc7 --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/dto/QualitySuperviseDetailsCorrectDto.java @@ -0,0 +1,25 @@ +package com.yuanchu.mom.dto; + +import com.yuanchu.mom.pojo.QualitySuperviseDetailsCorrect; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Author zhuo + * @Date 2024/12/2 + */ +@Data +public class QualitySuperviseDetailsCorrectDto extends QualitySuperviseDetailsCorrect { + + @ApiModelProperty("鎻愬嚭鏃堕棿") + private String raiseTimeString; + + @ApiModelProperty("鍘熷洜鍒嗘瀽鏃堕棿") + private String causeTimeString; + + @ApiModelProperty("绾犳鏃堕棿") + private String correctTimeString; + + @ApiModelProperty("楠岃瘉鏃堕棿") + private String validationTimeString; +} diff --git a/cnas-process/src/main/java/com/yuanchu/mom/dto/QualitySuperviseDetailsDto.java b/cnas-process/src/main/java/com/yuanchu/mom/dto/QualitySuperviseDetailsDto.java new file mode 100644 index 0000000..cce4f95 --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/dto/QualitySuperviseDetailsDto.java @@ -0,0 +1,22 @@ +package com.yuanchu.mom.dto; + +import com.yuanchu.mom.pojo.QualitySuperviseDetails; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Author zhuo + * @Date 2024/11/7 + */ +@Data +public class QualitySuperviseDetailsDto extends QualitySuperviseDetails { + + @ApiModelProperty("鏄惁绗﹀悎,0 涓嶇鍚�, 1绗﹀悎") + private Integer isAccording; + + @ApiModelProperty("2鏄惁绾犳澶勭悊, 0鍚�, 1鏄�") + private Integer isCorrect; + + @ApiModelProperty("璐ㄩ噺鐩戠潱璇︽儏绾犳澶勭悊id") + private Integer superviseDetailsCorrectId; +} diff --git a/cnas-process/src/main/java/com/yuanchu/mom/dto/SampleItemDto.java b/cnas-process/src/main/java/com/yuanchu/mom/dto/SampleItemDto.java new file mode 100644 index 0000000..492a831 --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/dto/SampleItemDto.java @@ -0,0 +1,23 @@ +package com.yuanchu.mom.dto; + +import lombok.Data; + +@Data +//瑕佹眰銆佹爣涔﹀拰鍚堝悓璇勫鐨勬牱鍝佽鎯� +public class SampleItemDto { + + //鏍峰搧缂栧彿 + private String code; + + //鏍峰搧鍨嬪彿 + private String model; + + //璇曢獙椤圭洰 + private String product; + + //妫�楠屼緷鎹� + private String standardMethodList; + + //澶囨敞 + private String remark; +} diff --git a/cnas-process/src/main/java/com/yuanchu/mom/excel/QualityMonitorDetailsUpload.java b/cnas-process/src/main/java/com/yuanchu/mom/excel/QualityMonitorDetailsUpload.java new file mode 100644 index 0000000..1cb37f7 --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/excel/QualityMonitorDetailsUpload.java @@ -0,0 +1,34 @@ +package com.yuanchu.mom.excel; + +import com.alibaba.excel.annotation.ExcelProperty; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Author zhuo + * @Date 2024/11/8 + */ +@Data +public class QualityMonitorDetailsUpload { + + @ExcelProperty("鐩戞帶鐩殑") + private String monitorPurpose; + + @ExcelProperty("璁″垝寮�灞曟椂闂�") + private String plannedTime; + + @ExcelProperty("鐩戞帶椤圭洰") + private String monitorProject; + + @ExcelProperty("鍙傚姞鍗曚綅锛堜汉鍛橈級") + private String participant; + + @ExcelProperty("棰勭畻锛堝厓锛�") + private String budget; + + @ExcelProperty("缁勭粐浜哄憳") + private String organization; + + @ExcelProperty("鐩戞帶鏂瑰紡") + private String monitorWay; +} diff --git a/cnas-process/src/main/java/com/yuanchu/mom/excel/QualitySuperviseDetailsUpload.java b/cnas-process/src/main/java/com/yuanchu/mom/excel/QualitySuperviseDetailsUpload.java new file mode 100644 index 0000000..f3f50dc --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/excel/QualitySuperviseDetailsUpload.java @@ -0,0 +1,31 @@ +package com.yuanchu.mom.excel; + +import com.alibaba.excel.annotation.ExcelProperty; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Author zhuo + * @Date 2024/11/8 + */ +@Data +public class QualitySuperviseDetailsUpload { + + @ExcelProperty("鐩戠潱鏃ユ湡") + private String superviseTime; + + @ExcelProperty("鐩戠潱鐩殑") + private String supervisePurpose; + + @ExcelProperty("鐩戞帶椤圭洰") + private String superviseProject; + + @ExcelProperty("琚洃鐫d汉鍛�") + private String supervisee; + + @ExcelProperty("鐩戠潱鍘熷洜") + private String superviseReason; + + @ExcelProperty("澶囨敞") + private String remark; +} diff --git a/cnas-process/src/main/java/com/yuanchu/mom/mapper/InconsistentDistributionDetailMapper.java b/cnas-process/src/main/java/com/yuanchu/mom/mapper/InconsistentDistributionDetailMapper.java new file mode 100644 index 0000000..06eb0b5 --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/mapper/InconsistentDistributionDetailMapper.java @@ -0,0 +1,18 @@ +package com.yuanchu.mom.mapper; + +import com.yuanchu.mom.pojo.InconsistentDistributionDetail; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +/** + * <p> + * 涓嶇鍚堥」鐨勫垎甯冭鎯� Mapper 鎺ュ彛 + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-15 09:53:33 + */ +@Mapper +public interface InconsistentDistributionDetailMapper extends BaseMapper<InconsistentDistributionDetail> { + +} diff --git a/cnas-process/src/main/java/com/yuanchu/mom/mapper/InconsistentDistributionMapper.java b/cnas-process/src/main/java/com/yuanchu/mom/mapper/InconsistentDistributionMapper.java new file mode 100644 index 0000000..7b666df --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/mapper/InconsistentDistributionMapper.java @@ -0,0 +1,30 @@ +package com.yuanchu.mom.mapper; + +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.yuanchu.mom.dto.InconsistentDistributionDto; +import com.yuanchu.mom.pojo.InconsistentDistribution; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +/** + * <p> + * 涓嶇鍚堥」鐨勫垎甯� Mapper 鎺ュ彛 + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-15 09:53:20 + */ +@Mapper +public interface InconsistentDistributionMapper extends BaseMapper<InconsistentDistribution> { + + /** + * 涓嶇鍚堥」鍒嗗竷鏌ヨ + * @param page + * @param ew + * @return + */ + IPage<InconsistentDistributionDto> pageInconsistentDistribution(Page page, @Param("ew") QueryWrapper<InconsistentDistribution> ew); +} diff --git a/cnas-process/src/main/java/com/yuanchu/mom/mapper/ProcessComplainMapper.java b/cnas-process/src/main/java/com/yuanchu/mom/mapper/ProcessComplainMapper.java new file mode 100644 index 0000000..a48878b --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/mapper/ProcessComplainMapper.java @@ -0,0 +1,28 @@ +package com.yuanchu.mom.mapper; + +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.yuanchu.mom.dto.ProcessComplainDto; +import com.yuanchu.mom.dto.ReportPageDto; +import com.yuanchu.mom.pojo.ProcessComplain; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * <p> + * 鎶曡瘔 Mapper 鎺ュ彛 + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-02 09:29:11 + */ +public interface ProcessComplainMapper extends BaseMapper<ProcessComplain> { + + IPage<ProcessComplain> pageProcessComplain(@Param("page") Page page, @Param("ew") QueryWrapper<ProcessComplain> queryWrappers); + + ProcessComplainDto getProcessComplain(Long id); + +} diff --git a/cnas-process/src/main/java/com/yuanchu/mom/mapper/ProcessDealMapper.java b/cnas-process/src/main/java/com/yuanchu/mom/mapper/ProcessDealMapper.java new file mode 100644 index 0000000..c7fdc95 --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/mapper/ProcessDealMapper.java @@ -0,0 +1,21 @@ +package com.yuanchu.mom.mapper; + +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.yuanchu.mom.pojo.ProcessDeal; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; + +/** + * <p> + * 妫�娴嬫垨鏍″噯鐗╁搧鐨勫缃� Mapper 鎺ュ彛 + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-02 02:50:19 + */ +public interface ProcessDealMapper extends BaseMapper<ProcessDeal> { + + IPage<ProcessDeal> pageProcessDeal(Page page, @Param("ew") QueryWrapper<ProcessDeal> queryWrappers); +} diff --git a/cnas-process/src/main/java/com/yuanchu/mom/mapper/ProcessEvaluateMapper.java b/cnas-process/src/main/java/com/yuanchu/mom/mapper/ProcessEvaluateMapper.java new file mode 100644 index 0000000..f2c9014 --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/mapper/ProcessEvaluateMapper.java @@ -0,0 +1,21 @@ +package com.yuanchu.mom.mapper; + +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.yuanchu.mom.pojo.ProcessEvaluate; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; + +/** + * <p> + * 娴嬮噺涓嶇‘瀹氬害鐨勮瘎浠� Mapper 鎺ュ彛 + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-02 01:10:43 + */ +public interface ProcessEvaluateMapper extends BaseMapper<ProcessEvaluate> { + + IPage<ProcessEvaluate> pageProcessEvaluate(Page page, @Param("ew") QueryWrapper<ProcessEvaluate> queryWrappers); +} diff --git a/cnas-process/src/main/java/com/yuanchu/mom/mapper/ProcessMethodSearchNewMapper.java b/cnas-process/src/main/java/com/yuanchu/mom/mapper/ProcessMethodSearchNewMapper.java new file mode 100644 index 0000000..2966888 --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/mapper/ProcessMethodSearchNewMapper.java @@ -0,0 +1,40 @@ +package com.yuanchu.mom.mapper; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yuanchu.mom.dto.ProcessMethodSearchNewDto; +import com.yuanchu.mom.pojo.ProcessMethodSearchNew; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 鏍囧噯鏌ユ柊 + * + * @author zhuo + * @since 2024-11-04 + */ +@Mapper +public interface ProcessMethodSearchNewMapper extends BaseMapper<ProcessMethodSearchNew> { + + /** + * 鏍囧噯鏌ユ柊鍒嗛〉鏌ヨ + * @param page + * @param processMethodSearchNewDtoQueryWrapper + * @param beginDate + * @param endDate + * @return + */ + IPage<ProcessMethodSearchNew> pageMethodSearchNew(@Param("page") Page page, @Param("ew") QueryWrapper<ProcessMethodSearchNewDto> processMethodSearchNewDtoQueryWrapper, @Param("beginDate") String beginDate, @Param("endDate") String endDate); + + /** + * 鏌ヨ鏍囧噯鏌ヨ + * @param ew + * @return + */ + List<ProcessMethodSearchNewDto> selectMethodSearchNew(@Param("ew") QueryWrapper<ProcessMethodSearchNewDto> ew, @Param("beginDate") String beginDate, @Param("endDate") String endDate); +} + diff --git a/cnas-process/src/main/java/com/yuanchu/mom/mapper/ProcessMethodVerifyCalibrationsFileMapper.java b/cnas-process/src/main/java/com/yuanchu/mom/mapper/ProcessMethodVerifyCalibrationsFileMapper.java new file mode 100644 index 0000000..52855c6 --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/mapper/ProcessMethodVerifyCalibrationsFileMapper.java @@ -0,0 +1,35 @@ +package com.yuanchu.mom.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.yuanchu.mom.dto.ProcessMethodVerifyCalibrationsFileDto; +import com.yuanchu.mom.pojo.ProcessMethodVerifyCalibrationsFile; +import com.yuanchu.mom.pojo.ProcessMethodVerifyMachineAttachment; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 鏍囧噯鏂规硶楠岃瘉璁惧鏍″噯闄勪欢琛� + * + * @author zhuo + * @since 2024-11-12 + */ +@Mapper +public interface ProcessMethodVerifyCalibrationsFileMapper extends BaseMapper<ProcessMethodVerifyCalibrationsFile> { + + /** + * 鏌ヨ鏍″噯璇佷功闄勪欢琛� + * @param methodVerifyId + * @return + */ + List<ProcessMethodVerifyCalibrationsFileDto> selectCalibrationsFileList(@Param("methodVerifyId") Integer methodVerifyId); + + /** + * 璁惧id鏌ヨ鏍″噯璇佷功 + * @param deviceId + * @return + */ + String selectCalibrationsFile(@Param("deviceId") Integer deviceId); +} + diff --git a/cnas-process/src/main/java/com/yuanchu/mom/mapper/ProcessMethodVerifyMachineAttachmentMapper.java b/cnas-process/src/main/java/com/yuanchu/mom/mapper/ProcessMethodVerifyMachineAttachmentMapper.java new file mode 100644 index 0000000..b77b97a --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/mapper/ProcessMethodVerifyMachineAttachmentMapper.java @@ -0,0 +1,23 @@ +package com.yuanchu.mom.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yuanchu.mom.pojo.ProcessMethodVerifyMachineAttachment; +import com.yuanchu.mom.pojo.ProcessMethodVerifyMethodFile; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 鏍囧噯鏂规硶楠岃瘉璁惧闄勪欢琛� + * + * @author zhuo + * @since 2024-11-05 + */ +@Mapper +public interface ProcessMethodVerifyMachineAttachmentMapper extends BaseMapper<ProcessMethodVerifyMachineAttachment> { + +} + diff --git a/cnas-process/src/main/java/com/yuanchu/mom/mapper/ProcessMethodVerifyMapper.java b/cnas-process/src/main/java/com/yuanchu/mom/mapper/ProcessMethodVerifyMapper.java new file mode 100644 index 0000000..27a9427 --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/mapper/ProcessMethodVerifyMapper.java @@ -0,0 +1,29 @@ +package com.yuanchu.mom.mapper; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yuanchu.mom.dto.ProcessMethodVerifyDto; +import com.yuanchu.mom.pojo.ProcessMethodVerify; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +/** + * 鏍囧噯鏂规硶楠岃瘉 + * + * @author zhuo + * @since 2024-11-05 + */ +@Mapper +public interface ProcessMethodVerifyMapper extends BaseMapper<ProcessMethodVerify> { + + /** + * 鏍囧噯鏂规硶鍙樻洿, 楠岃瘉 + * @param page + * @param processMethodVerifyDtoQueryWrapper + * @return + */ + IPage<ProcessMethodVerify> pagesMethodVerify(Page page, @Param("ew") QueryWrapper<ProcessMethodVerifyDto> processMethodVerifyDtoQueryWrapper); +} + diff --git a/cnas-process/src/main/java/com/yuanchu/mom/mapper/ProcessMethodVerifyMethodFileMapper.java b/cnas-process/src/main/java/com/yuanchu/mom/mapper/ProcessMethodVerifyMethodFileMapper.java new file mode 100644 index 0000000..37d8487 --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/mapper/ProcessMethodVerifyMethodFileMapper.java @@ -0,0 +1,17 @@ +package com.yuanchu.mom.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.yuanchu.mom.pojo.ProcessMethodVerifyMethodFile; +import org.apache.ibatis.annotations.Mapper; + +/** + * 鏍囧噯鏂规硶楠岃瘉 + * + * @author zhuo + * @since 2024-11-05 + */ +@Mapper +public interface ProcessMethodVerifyMethodFileMapper extends BaseMapper<ProcessMethodVerifyMethodFile> { + +} + diff --git a/cnas-process/src/main/java/com/yuanchu/mom/mapper/ProcessMethodVerifyWorkFileMapper.java b/cnas-process/src/main/java/com/yuanchu/mom/mapper/ProcessMethodVerifyWorkFileMapper.java new file mode 100644 index 0000000..58e7b1c --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/mapper/ProcessMethodVerifyWorkFileMapper.java @@ -0,0 +1,24 @@ +package com.yuanchu.mom.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.yuanchu.mom.pojo.ProcessMethodVerifyWorkFile; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +/** + * 鏍囧噯鏂规硶楠岃瘉涓婂矖璇侀檮浠惰〃 + * + * @author zhuo + * @since 2024-11-12 + */ +@Mapper +public interface ProcessMethodVerifyWorkFileMapper extends BaseMapper<ProcessMethodVerifyWorkFile> { + + /** + * 鏍规嵁鐢ㄦ埛id鏌ヨ涓婂矖璇� + * @param userId + * @return + */ + String selectWorkFile(@Param("userId") Integer userId); +} + diff --git a/cnas-process/src/main/java/com/yuanchu/mom/mapper/ProcessOrderMapper.java b/cnas-process/src/main/java/com/yuanchu/mom/mapper/ProcessOrderMapper.java new file mode 100644 index 0000000..5c819b8 --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/mapper/ProcessOrderMapper.java @@ -0,0 +1,29 @@ +package com.yuanchu.mom.mapper; + +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.yuanchu.mom.dto.ProcessOrderDto; +import com.yuanchu.mom.pojo.InspectionOrderDetail; +import com.yuanchu.mom.pojo.ProcessOrder; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * <p> + * 瑕佹眰銆佹爣涔﹀拰鍚堝悓璇勫 Mapper 鎺ュ彛 + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-05 03:06:20 + */ +public interface ProcessOrderMapper extends BaseMapper<ProcessOrder> { + + IPage<ProcessOrderDto> pageProcessOrder(Page page, @Param("ew") QueryWrapper<ProcessOrderDto> queryWrappers); + + ProcessOrderDto getProcessOrder(Integer id); + + List<InspectionOrderDetail> selectInsOrder(Integer insOrderId); +} diff --git a/cnas-process/src/main/java/com/yuanchu/mom/mapper/ProcessReportMapper.java b/cnas-process/src/main/java/com/yuanchu/mom/mapper/ProcessReportMapper.java new file mode 100644 index 0000000..43352c6 --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/mapper/ProcessReportMapper.java @@ -0,0 +1,25 @@ +package com.yuanchu.mom.mapper; + +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.yuanchu.mom.pojo.ProcessReport; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * <p> + * 妫�楠屾姤鍛婂彂鏀剧櫥璁拌〃 Mapper 鎺ュ彛 + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-05 08:58:39 + */ +public interface ProcessReportMapper extends BaseMapper<ProcessReport> { + + IPage<ProcessReport> pageProcessReport(Page page, @Param("ew") QueryWrapper<ProcessReport> queryWrappers); + + List<ProcessReport> getIds(List<Integer> ids); +} diff --git a/cnas-process/src/main/java/com/yuanchu/mom/mapper/ProcessSampleMapper.java b/cnas-process/src/main/java/com/yuanchu/mom/mapper/ProcessSampleMapper.java new file mode 100644 index 0000000..250251d --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/mapper/ProcessSampleMapper.java @@ -0,0 +1,21 @@ +package com.yuanchu.mom.mapper; + +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.yuanchu.mom.pojo.ProcessSample; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; + +/** + * <p> + * 鏍峰搧鎺ユ敹 Mapper 鎺ュ彛 + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-12-12 05:02:49 + */ +public interface ProcessSampleMapper extends BaseMapper<ProcessSample> { + + IPage<ProcessSample> pageProcessSample(@Param("page") Page page, @Param("ew") QueryWrapper<ProcessSample> ew); +} diff --git a/cnas-process/src/main/java/com/yuanchu/mom/mapper/ProcessTotalSampleMapper.java b/cnas-process/src/main/java/com/yuanchu/mom/mapper/ProcessTotalSampleMapper.java new file mode 100644 index 0000000..0a41b7d --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/mapper/ProcessTotalSampleMapper.java @@ -0,0 +1,21 @@ +package com.yuanchu.mom.mapper; + +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.yuanchu.mom.pojo.ProcessTotalSample; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; + +/** + * <p> + * 鏍峰搧鎺ユ敹鎬昏〃 Mapper 鎺ュ彛 + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-12-12 05:02:58 + */ +public interface ProcessTotalSampleMapper extends BaseMapper<ProcessTotalSample> { + + IPage<ProcessTotalSample> pageProcessTotalSample(Page page, @Param("ew") QueryWrapper<ProcessTotalSample> ew); +} diff --git a/cnas-process/src/main/java/com/yuanchu/mom/mapper/ProcessTotaldealMapper.java b/cnas-process/src/main/java/com/yuanchu/mom/mapper/ProcessTotaldealMapper.java new file mode 100644 index 0000000..c77369d --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/mapper/ProcessTotaldealMapper.java @@ -0,0 +1,21 @@ +package com.yuanchu.mom.mapper; + +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.yuanchu.mom.pojo.ProcessTotaldeal; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; + +/** + * <p> + * 妫�娴嬫垨鏍″噯鐗╁搧鐨勫缃�昏〃(鍘嗗彶) Mapper 鎺ュ彛 + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-02 03:59:09 + */ +public interface ProcessTotaldealMapper extends BaseMapper<ProcessTotaldeal> { + + IPage<ProcessTotaldeal> pageProcessTotaldeal(Page page, @Param("ew") QueryWrapper<ProcessTotaldeal> queryWrappers); +} diff --git a/cnas-process/src/main/java/com/yuanchu/mom/mapper/QualityMonitorDetailsEvaluateFileMapper.java b/cnas-process/src/main/java/com/yuanchu/mom/mapper/QualityMonitorDetailsEvaluateFileMapper.java new file mode 100644 index 0000000..29c3c7d --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/mapper/QualityMonitorDetailsEvaluateFileMapper.java @@ -0,0 +1,17 @@ +package com.yuanchu.mom.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.yuanchu.mom.pojo.QualityMonitorDetailsEvaluateFile; +import org.apache.ibatis.annotations.Mapper; + +/** + * 璐ㄩ噺鐩戞帶璁″垝璇︽儏璇勪环闄勪欢琛� + * + * @author zhuo + * @since 2024-11-07 + */ +@Mapper +public interface QualityMonitorDetailsEvaluateFileMapper extends BaseMapper<QualityMonitorDetailsEvaluateFile> { + +} + diff --git a/cnas-process/src/main/java/com/yuanchu/mom/mapper/QualityMonitorDetailsEvaluateMapper.java b/cnas-process/src/main/java/com/yuanchu/mom/mapper/QualityMonitorDetailsEvaluateMapper.java new file mode 100644 index 0000000..6e043e6 --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/mapper/QualityMonitorDetailsEvaluateMapper.java @@ -0,0 +1,23 @@ +package com.yuanchu.mom.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.yuanchu.mom.pojo.QualityMonitorDetailsEvaluate; +import org.apache.ibatis.annotations.Mapper; + +/** + * 璐ㄩ噺鐩戞帶璁″垝璇︽儏璇勪环琛� + * + * @author zhuo + * @since 2024-11-06 + */ +@Mapper +public interface QualityMonitorDetailsEvaluateMapper extends BaseMapper<QualityMonitorDetailsEvaluate> { + + /** + * 鏌ヨ璐ㄩ噺鐩戞帶璇勪环 + * @param qualityMonitorDetailsId + * @return + */ + QualityMonitorDetailsEvaluate getQualityMonitorEvaluate(Integer qualityMonitorDetailsId); +} + diff --git a/cnas-process/src/main/java/com/yuanchu/mom/mapper/QualityMonitorDetailsMapper.java b/cnas-process/src/main/java/com/yuanchu/mom/mapper/QualityMonitorDetailsMapper.java new file mode 100644 index 0000000..84c0fa5 --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/mapper/QualityMonitorDetailsMapper.java @@ -0,0 +1,28 @@ +package com.yuanchu.mom.mapper; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yuanchu.mom.pojo.QualityMonitorDetails; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +/** + * 璐ㄩ噺鐩戞帶璁″垝璇︽儏琛� + * + * @author zhuo + * @since 2024-11-06 + */ +@Mapper +public interface QualityMonitorDetailsMapper extends BaseMapper<QualityMonitorDetails> { + + /** + * 璐ㄩ噺鐩戞帶璁″垝鍒楄〃 + * @param page + * @param qualityMonitorDetailsQueryWrapper + * @return + */ + IPage<QualityMonitorDetails> pageQualityMonitorDetail(Page page, @Param("ew") QueryWrapper<QualityMonitorDetails> qualityMonitorDetailsQueryWrapper); +} + diff --git a/cnas-process/src/main/java/com/yuanchu/mom/mapper/QualityMonitorDetailsRatifyMapper.java b/cnas-process/src/main/java/com/yuanchu/mom/mapper/QualityMonitorDetailsRatifyMapper.java new file mode 100644 index 0000000..d490dc8 --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/mapper/QualityMonitorDetailsRatifyMapper.java @@ -0,0 +1,17 @@ +package com.yuanchu.mom.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.yuanchu.mom.pojo.QualityMonitorDetailsRatify; +import org.apache.ibatis.annotations.Mapper; + +/** + * 璐ㄩ噺鐩戞帶璁″垝璇︽儏鎵瑰噯琛� + * + * @author zhuo + * @since 2024-11-06 + */ +@Mapper +public interface QualityMonitorDetailsRatifyMapper extends BaseMapper<QualityMonitorDetailsRatify> { + +} + diff --git a/cnas-process/src/main/java/com/yuanchu/mom/mapper/QualityMonitorMapper.java b/cnas-process/src/main/java/com/yuanchu/mom/mapper/QualityMonitorMapper.java new file mode 100644 index 0000000..791a62a --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/mapper/QualityMonitorMapper.java @@ -0,0 +1,28 @@ +package com.yuanchu.mom.mapper; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yuanchu.mom.dto.QualityMonitorDto; +import com.yuanchu.mom.pojo.QualityMonitor; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +/** + * 璐ㄩ噺鐩戞帶璁″垝涓昏〃 + * + * @author zhuo + * @since 2024-11-06 + */ +@Mapper +public interface QualityMonitorMapper extends BaseMapper<QualityMonitor> { + + /** + * 鐩戞帶璁″垝鍒楄〃 + * @return + */ + IPage<QualityMonitorDto> pageQualityMonitor(Page page, @Param("ew") QueryWrapper<QualityMonitor> qualityMonitorQueryWrapper); + +} + diff --git a/cnas-process/src/main/java/com/yuanchu/mom/mapper/QualitySuperviseDetailsAccordingMapper.java b/cnas-process/src/main/java/com/yuanchu/mom/mapper/QualitySuperviseDetailsAccordingMapper.java new file mode 100644 index 0000000..c4d6a5f --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/mapper/QualitySuperviseDetailsAccordingMapper.java @@ -0,0 +1,36 @@ +package com.yuanchu.mom.mapper; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yuanchu.mom.dto.QualitySuperviseDetailsAccordingDto; +import com.yuanchu.mom.pojo.QualitySuperviseDetailsAccording; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +/** + * 璐ㄩ噺鐩戠潱璇︽儏涓嶇鍚堥」鎺у埗琛� + * + * @author zhuo + * @since 2024-11-07 + */ +@Mapper +public interface QualitySuperviseDetailsAccordingMapper extends BaseMapper<QualitySuperviseDetailsAccording> { + + /** + * 鏌ヨ涓嶇鍚堥」鎺у埗鍒楄〃 + * @param page + * @param ew + * @return + */ + IPage<QualitySuperviseDetailsAccording> pageSuperviseDetailAccording(Page page, @Param("ew") QueryWrapper<QualitySuperviseDetailsAccording> ew); + + /** + * 瀵煎嚭鐩戠潱璁板綍涓嶇鍚堟帶鍒朵俊鎭� + * @param superviseDetailId + * @return + */ + QualitySuperviseDetailsAccordingDto selectSuperviseDetailsAccording(@Param("superviseDetailId") Integer superviseDetailId); +} + diff --git a/cnas-process/src/main/java/com/yuanchu/mom/mapper/QualitySuperviseDetailsCorrectFileMapper.java b/cnas-process/src/main/java/com/yuanchu/mom/mapper/QualitySuperviseDetailsCorrectFileMapper.java new file mode 100644 index 0000000..2526ed0 --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/mapper/QualitySuperviseDetailsCorrectFileMapper.java @@ -0,0 +1,17 @@ +package com.yuanchu.mom.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.yuanchu.mom.pojo.QualitySuperviseDetailsCorrectFile; +import org.apache.ibatis.annotations.Mapper; + +/** + * 璐ㄩ噺鐩戠潱璇︽儏绾犳鎺柦闄勪欢琛� + * + * @author zhuo + * @since 2024-11-09 + */ +@Mapper +public interface QualitySuperviseDetailsCorrectFileMapper extends BaseMapper<QualitySuperviseDetailsCorrectFile> { + +} + diff --git a/cnas-process/src/main/java/com/yuanchu/mom/mapper/QualitySuperviseDetailsCorrectMapper.java b/cnas-process/src/main/java/com/yuanchu/mom/mapper/QualitySuperviseDetailsCorrectMapper.java new file mode 100644 index 0000000..fe0611a --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/mapper/QualitySuperviseDetailsCorrectMapper.java @@ -0,0 +1,29 @@ +package com.yuanchu.mom.mapper; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yuanchu.mom.pojo.QualitySuperviseDetailsAccording; +import com.yuanchu.mom.pojo.QualitySuperviseDetailsCorrect; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +/** + * 璐ㄩ噺鐩戠潱璇︽儏绾犳澶勭悊琛� + * + * @author zhuo + * @since 2024-11-07 + */ +@Mapper +public interface QualitySuperviseDetailsCorrectMapper extends BaseMapper<QualitySuperviseDetailsCorrect> { + + /** + * 鏌ヨ鐩戠潱绾犳鎺柦鍒楄〃 + * @param page + * @param ew + * @return + */ + IPage<QualitySuperviseDetailsCorrect> pageSuperviseDetailAccording(Page page, @Param("ew") QueryWrapper<QualitySuperviseDetailsCorrect> ew); +} + diff --git a/cnas-process/src/main/java/com/yuanchu/mom/mapper/QualitySuperviseDetailsMapper.java b/cnas-process/src/main/java/com/yuanchu/mom/mapper/QualitySuperviseDetailsMapper.java new file mode 100644 index 0000000..23dc8aa --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/mapper/QualitySuperviseDetailsMapper.java @@ -0,0 +1,29 @@ +package com.yuanchu.mom.mapper; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yuanchu.mom.dto.QualitySuperviseDetailsDto; +import com.yuanchu.mom.pojo.QualitySuperviseDetails; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +/** + * 璐ㄩ噺鐩戠潱璇︽儏琛� + * + * @author zhuo + * @since 2024-11-07 + */ +@Mapper +public interface QualitySuperviseDetailsMapper extends BaseMapper<QualitySuperviseDetails> { + + /** + * 鐩戠潱璁″垝璇︽儏鍒楄〃 + * @param page + * @param qualitySuperviseDetailsQueryWrapper + * @return + */ + IPage<QualitySuperviseDetailsDto> pageQualitySuperviseDetail(Page page, @Param("ew") QueryWrapper<QualitySuperviseDetails> qualitySuperviseDetailsQueryWrapper); +} + diff --git a/cnas-process/src/main/java/com/yuanchu/mom/mapper/QualitySuperviseDetailsRecordMapper.java b/cnas-process/src/main/java/com/yuanchu/mom/mapper/QualitySuperviseDetailsRecordMapper.java new file mode 100644 index 0000000..ed26152 --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/mapper/QualitySuperviseDetailsRecordMapper.java @@ -0,0 +1,24 @@ +package com.yuanchu.mom.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.yuanchu.mom.pojo.QualitySuperviseDetailsRecord; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +/** + * 璐ㄩ噺鐩戠潱璇︽儏璁板綍琛� + * + * @author makejava + * @since 2024-11-07 + */ +@Mapper +public interface QualitySuperviseDetailsRecordMapper extends BaseMapper<QualitySuperviseDetailsRecord> { + + /** + * 瀵煎嚭鐩戠潱璁板綍琛� + * @param superviseDetailsId + * @return + */ + QualitySuperviseDetailsRecord selectSuperviseDetailRecord(@Param("superviseDetailsId") Integer superviseDetailsId); +} + diff --git a/cnas-process/src/main/java/com/yuanchu/mom/mapper/QualitySuperviseMapper.java b/cnas-process/src/main/java/com/yuanchu/mom/mapper/QualitySuperviseMapper.java new file mode 100644 index 0000000..d6cbd5c --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/mapper/QualitySuperviseMapper.java @@ -0,0 +1,28 @@ +package com.yuanchu.mom.mapper; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yuanchu.mom.pojo.QualitySupervise; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +/** + * 璐ㄩ噺鐩戠潱涓昏〃 + * + * @author zhuo + * @since 2024-11-07 + */ +@Mapper +public interface QualitySuperviseMapper extends BaseMapper<QualitySupervise> { + + /** + * 鐩戠潱璁″垝鍒楄〃 + * @param page + * @param qualitySuperviseQueryWrapper + * @return + */ + IPage<QualitySupervise> pageQualitySupervise(@Param("page") Page page, @Param("ew") QueryWrapper<QualitySupervise> qualitySuperviseQueryWrapper); +} + diff --git a/cnas-process/src/main/java/com/yuanchu/mom/pojo/InconsistentDistribution.java b/cnas-process/src/main/java/com/yuanchu/mom/pojo/InconsistentDistribution.java new file mode 100644 index 0000000..b4ec671 --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/pojo/InconsistentDistribution.java @@ -0,0 +1,51 @@ +package com.yuanchu.mom.pojo; + +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.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.time.LocalDateTime; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.Getter; +import lombok.Setter; + +/** + * <p> + * 涓嶇鍚堥」鐨勫垎甯� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-15 09:53:20 + */ + +@Data +@TableName("cnas_inconsistent_distribution") +@ApiModel(value = "InconsistentDistribution瀵硅薄", description = "涓嶇鍚堥」鐨勫垎甯�") +public class InconsistentDistribution { + + @TableId(value = "distribution_id", type = IdType.AUTO) + private Integer distributionId; + + @ApiModelProperty("骞翠唤") + private String distributionYear; + + @ApiModelProperty("鍒涘缓浜�") + @TableField(fill = FieldFill.INSERT) + private Integer createUser; + + @ApiModelProperty("鍒涘缓鏃堕棿") + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createTime; + + @ApiModelProperty("淇敼浜�") + @TableField(fill = FieldFill.INSERT_UPDATE) + private Integer updateUser; + + @ApiModelProperty("淇敼鏃堕棿") + @TableField(fill = FieldFill.INSERT_UPDATE) + private LocalDateTime updateTime; +} diff --git a/cnas-process/src/main/java/com/yuanchu/mom/pojo/InconsistentDistributionDetail.java b/cnas-process/src/main/java/com/yuanchu/mom/pojo/InconsistentDistributionDetail.java new file mode 100644 index 0000000..c008e04 --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/pojo/InconsistentDistributionDetail.java @@ -0,0 +1,80 @@ +package com.yuanchu.mom.pojo; + +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.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.math.BigDecimal; +import java.time.LocalDateTime; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.Getter; +import lombok.Setter; + +/** + * <p> + * 涓嶇鍚堥」鐨勫垎甯冭鎯� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-15 09:53:33 + */ +@Data +@TableName("cnas_inconsistent_distribution_detail") +@ApiModel(value = "InconsistentDistributionDetail瀵硅薄", description = "涓嶇鍚堥」鐨勫垎甯冭鎯�") +public class InconsistentDistributionDetail { + + @TableId(value = "distribution_detail_id", type = IdType.AUTO) + private Integer distributionDetailId; + + @ApiModelProperty("涓昏〃id") + private Integer distributionId; + + @ApiModelProperty("绔犺妭鍙�") + private String chapterNumber; + + @ApiModelProperty("瑕佺礌") + private String essentials; + + @ApiModelProperty("涓讳换") + private Integer director; + + @ApiModelProperty("鎶�鏈礋璐d汉") + private Integer technology; + + @ApiModelProperty("璐ㄩ噺璐熻矗浜�") + private Integer quality; + + @ApiModelProperty("缁煎悎瀹�") + private Integer comprehensive; + + @ApiModelProperty("璇曢獙瀹�") + private Integer testing; + + @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; + + @ApiModelProperty("鍚堣") + @TableField(select = false,exist = false) + private Integer total; + + @ApiModelProperty("鍗犳瘮") + @TableField(select = false,exist = false) + private BigDecimal proportion; +} diff --git a/cnas-process/src/main/java/com/yuanchu/mom/pojo/ProcessComplain.java b/cnas-process/src/main/java/com/yuanchu/mom/pojo/ProcessComplain.java new file mode 100644 index 0000000..4e1cff8 --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/pojo/ProcessComplain.java @@ -0,0 +1,151 @@ +package com.yuanchu.mom.pojo; + +import com.alibaba.excel.annotation.ExcelIgnore; +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.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.time.LocalDate; +import java.time.LocalDateTime; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.yuanchu.mom.annotation.ValueTableShow; +import com.yuanchu.mom.common.OrderBy; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +/** + * <p> + * 鎶曡瘔 + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-02 09:29:11 + */ +@Getter +@Setter +@TableName("cnas_process_complain") +@ApiModel(value = "ProcessComplain瀵硅薄", description = "鎶曡瘔") +public class ProcessComplain extends OrderBy implements Serializable { + + + @TableId(value = "id", type = IdType.AUTO) + @ExcelIgnore + private Integer id; + + @ApiModelProperty("鎶曡瘔缂栧彿") + @ExcelIgnore + private String complainNo; + + @ApiModelProperty("鎶曡瘔鍚嶇О") + @ExcelProperty(value = "鎶曡瘔鍚嶇О") + @ValueTableShow(1) + private String complainName; + + @ApiModelProperty("澶栭敭鍏宠仈(妫�娴嬫姤鍛奿d)") + @ExcelIgnore + private Integer insReportId; + + @ExcelIgnore + @TableField(select = false,exist = false) + //鐢ㄦ潵鏂板浼犲弬鐨勬姤鍛婄紪鍙� + private String code; + + @ApiModelProperty("鏍峰搧缂栧彿") + @ExcelIgnore + private String sampleCode; + + @ApiModelProperty("鎶曡瘔浜�") + @TableField(fill = FieldFill.INSERT) + @ExcelIgnore + private Integer createUser; + + @ValueTableShow(value = 2, name = "鎶曡瘔浜�") + @ExcelProperty(value = "鎶曡瘔浜�") + @TableField(select = false,exist = false) + private String complainant; + + @ApiModelProperty("鎶曡瘔鏃ユ湡") + @ExcelProperty(value = "鎶曡瘔鏃ユ湡") + @ValueTableShow(3) + @TableField(fill = FieldFill.INSERT) + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime createTime; + + @TableField(fill = FieldFill.INSERT_UPDATE) + @ExcelIgnore + private Integer updateUser; + + @TableField(fill = FieldFill.INSERT_UPDATE) + @ExcelIgnore + private LocalDateTime updateTime; + + @ApiModelProperty("鎶曡瘔鏂瑰紡") + @ExcelIgnore + private String complainMethod; + + @ApiModelProperty("闂璁板綍") + @ExcelIgnore + private String problemRecords; + + @ApiModelProperty("闂璁板綍-璐ㄩ噺璐熻矗浜�") + @ExcelIgnore + private Integer problemRecordsUser; + + @ApiModelProperty("闂璁板綍-鏃ユ湡") + @ExcelIgnore + private LocalDate problemRecordsTime; + + @ApiModelProperty("璐d换褰掑睘鍙婃姇璇夋槸鍚︽垚绔�") + @ExcelIgnore + private String dutyOwnership; + + @ApiModelProperty("璐d换褰掑睘鍙婃姇璇夋槸鍚︽垚绔媉璐ㄩ噺璐熻矗浜�") + @ExcelIgnore + private Integer dutyOwnershipUser; + + @ApiModelProperty("璐d换褰掑睘鍙婃姇璇夋槸鍚︽垚绔媉鏃ユ湡") + @ExcelIgnore + private LocalDate dutyOwnershipTime; + + @ApiModelProperty("鍘熷洜鍒嗘瀽") + @ExcelIgnore + private String causeAnalysis; + + @ApiModelProperty("鍘熷洜鍒嗘瀽_璐d换閮ㄩ棬璐熻矗浜�") + @ExcelIgnore + private Integer causeAnalysisUser; + + @ApiModelProperty("鍘熷洜鍒嗘瀽_鏃ユ湡") + @ExcelIgnore + private LocalDate causeAnalysisTime; + + @ApiModelProperty("绾犳鎺柦") + @ExcelIgnore + private String correctiveAction; + + @ApiModelProperty("绾犳鎺柦_璐d换閮ㄩ棬璐熻矗浜�") + @ExcelIgnore + private Integer correctiveActionUser; + + @ApiModelProperty("绾犳鎺柦_鏃ユ湡") + @ExcelIgnore + private LocalDate correctiveActionTime; + + @ApiModelProperty("绾犳鎺柦纭") + @ExcelIgnore + private String correctiveActionConfirmation; + + @ApiModelProperty("绾犳鎺柦纭_璐ㄩ噺璐熻矗浜�") + @ExcelIgnore + private Integer correctiveActionConfirmationUser; + + @ApiModelProperty("绾犳鎺柦纭_鏃ユ湡") + @ExcelIgnore + private LocalDate correctiveActionConfirmationTime; +} diff --git a/cnas-process/src/main/java/com/yuanchu/mom/pojo/ProcessDeal.java b/cnas-process/src/main/java/com/yuanchu/mom/pojo/ProcessDeal.java new file mode 100644 index 0000000..0377d28 --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/pojo/ProcessDeal.java @@ -0,0 +1,77 @@ +package com.yuanchu.mom.pojo; + +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.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.time.LocalDate; +import java.time.LocalDateTime; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.yuanchu.mom.annotation.ValueTableShow; +import com.yuanchu.mom.common.OrderBy; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +/** + * <p> + * 妫�娴嬫垨鏍″噯鐗╁搧鐨勫缃� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-02 02:50:19 + */ +@Getter +@Setter +@TableName("cnas_process_deal") +@ApiModel(value = "ProcessDeal瀵硅薄", description = "妫�娴嬫垨鏍″噯鐗╁搧鐨勫缃�") +public class ProcessDeal extends OrderBy implements Serializable { + + + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + + @ApiModelProperty("鏍峰搧鍚嶇О") + @ValueTableShow(1) + private String sampleName; + + @ApiModelProperty("鏍峰搧缂栧彿") + @ValueTableShow(2) + private String sampleCode; + + @ApiModelProperty("渚涙牱鍗曚綅") + @ValueTableShow(3) + private String sampleSupplier; + + @ApiModelProperty("鏁伴噺") + @ValueTableShow(4) + private Integer num; + + @ApiModelProperty("澶勭悊鏂瑰紡") + @ValueTableShow(5) + private String dealMethod; + + @ApiModelProperty("鏃堕棿") + @ValueTableShow(5) + @JsonFormat(pattern = "yyyy-MM-dd") + private LocalDate dealTime; + + @TableField(fill = FieldFill.INSERT) + private Integer createUser; + + @TableField(fill = FieldFill.INSERT_UPDATE) + private Integer updateUser; + + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createTime; + + @TableField(fill = FieldFill.INSERT_UPDATE) + private LocalDateTime updateTime; + + @ApiModelProperty("鍏宠仈鐨勫巻鍙叉�昏〃id") + private Integer totaldealId; +} diff --git a/cnas-process/src/main/java/com/yuanchu/mom/pojo/ProcessEvaluate.java b/cnas-process/src/main/java/com/yuanchu/mom/pojo/ProcessEvaluate.java new file mode 100644 index 0000000..9b57eba --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/pojo/ProcessEvaluate.java @@ -0,0 +1,83 @@ +package com.yuanchu.mom.pojo; + +import com.alibaba.excel.annotation.ExcelIgnore; +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.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.time.LocalDate; +import java.time.LocalDateTime; + +import com.yuanchu.mom.annotation.ValueTableShow; +import com.yuanchu.mom.common.OrderBy; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +/** + * <p> + * 娴嬮噺涓嶇‘瀹氬害鐨勮瘎浠� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-02 01:10:43 + */ +@Getter +@Setter +@TableName("cnas_process_evaluate") +@ApiModel(value = "ProcessEvaluate瀵硅薄", description = "娴嬮噺涓嶇‘瀹氬害鐨勮瘎浠�") +public class ProcessEvaluate extends OrderBy implements Serializable { + + + @TableId(value = "id", type = IdType.AUTO) + @ExcelIgnore + private Integer id; + + @ApiModelProperty("鎶ュ憡鍚嶇О") + @ExcelProperty(value = "鎶ュ憡鍚嶇О") + @ValueTableShow(1) + private String reportName; + + @ApiModelProperty("鎶ュ憡璺緞") + @ExcelIgnore + private String reportUrl; + + @ApiModelProperty("璇勪环浜�") + @ExcelIgnore + private Integer evaluateUser; + + @TableField(select = false,exist = false) + @ValueTableShow(value = 2,name = "璇勪环浜�") + @ExcelProperty(value = "璇勪环浜�") + private String evaluateUserName; + + @ApiModelProperty("璇勪环鏃ユ湡") + @ExcelProperty(value = "璇勪环鏃ユ湡") + @ValueTableShow(3) + private LocalDate evaluateTime; + + @ApiModelProperty("澶囨敞") + @ExcelProperty(value = "澶囨敞") + @ValueTableShow(4) + private String note; + + @TableField(fill = FieldFill.INSERT) + @ExcelIgnore + private Integer createUser; + + @TableField(fill = FieldFill.INSERT_UPDATE) + @ExcelIgnore + private Integer updateUser; + + @TableField(fill = FieldFill.INSERT) + @ExcelIgnore + private LocalDateTime createTime; + + @TableField(fill = FieldFill.INSERT_UPDATE) + @ExcelIgnore + private LocalDateTime updateTime; +} diff --git a/cnas-process/src/main/java/com/yuanchu/mom/pojo/ProcessMethodSearchNew.java b/cnas-process/src/main/java/com/yuanchu/mom/pojo/ProcessMethodSearchNew.java new file mode 100644 index 0000000..8347023 --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/pojo/ProcessMethodSearchNew.java @@ -0,0 +1,75 @@ +package com.yuanchu.mom.pojo; + +import java.time.LocalDateTime; +import java.util.Date; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.baomidou.mybatisplus.annotation.*; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +/** + * 鏍囧噯鏌ユ柊 + * + * @author zhuo + * @since 2024-11-04 + */ +@Data +@ExcelIgnoreUnannotated +@TableName("cnas_process_method_search_new") +public class ProcessMethodSearchNew { + + @TableId(type = IdType.AUTO) + private Integer methodSearchNewId; + + @ExcelProperty(value = {"鏍囧噯鍚嶇О", "鏍囧噯鍚嶇О"}, index = 1) + @ApiModelProperty("鏍囧噯鍚嶇О") + private String methodName; + + @ExcelProperty(value = {"鏍囧噯鍙�", "鏍囧噯鍙�"}, index = 2) + @ApiModelProperty("鏍囧噯鍙�") + private String standardNo; + + @ExcelProperty(value = {"鏂囦欢缂栧彿", "鏂囦欢缂栧彿"}, index = 3) + @ApiModelProperty("鏂囦欢缂栧彿") + private String fileNo; + + @ApiModelProperty("鏄惁鏄柊鏍囧噯, 0鍚�,1鏄�") + private Integer isNewStandard; + + @ExcelProperty(value = {"鏂版爣鍑嗗悕绉�", "鏂版爣鍑嗗悕绉�"}, index = 5) + @ApiModelProperty("鏂版爣鍑嗗悕绉�") + private String newMethodName; + + @ExcelProperty(value = {"鏂版爣鍑嗗彿", "鏂版爣鍑嗗彿"}, index =6) + @ApiModelProperty("鏂版爣鍑嗗彿") + private String newStandardNo; + + @ApiModelProperty("鏌ユ柊璁板綍鏉ユ簮, 0,鏍囧噯缃�, 1濮旀墭鎯呮姤, 2鏍囧噯鏁�, 3鍏朵粬") + private Integer searchNewSource; + + @ApiModelProperty("澶囨敞,0浣滃簾, 1鏇挎崲") + private Integer remark; + + @ApiModelProperty("鍒涘缓浜�") + @TableField(fill = FieldFill.INSERT) + private Integer createUser; + + @ApiModelProperty("鍒涘缓鏃堕棿") + @JsonFormat(pattern = "yyyy-MM-dd") + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createTime; + + @ApiModelProperty("淇敼浜�") + @TableField(fill = FieldFill.INSERT_UPDATE) + private Integer updateUser; + + @ApiModelProperty("淇敼鏃堕棿") + @TableField(fill = FieldFill.INSERT_UPDATE) + private LocalDateTime updateTime; + +} + diff --git a/cnas-process/src/main/java/com/yuanchu/mom/pojo/ProcessMethodVerify.java b/cnas-process/src/main/java/com/yuanchu/mom/pojo/ProcessMethodVerify.java new file mode 100644 index 0000000..153d8ee --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/pojo/ProcessMethodVerify.java @@ -0,0 +1,134 @@ +package com.yuanchu.mom.pojo; + +import java.time.LocalDateTime; +import java.util.Date; + +import com.baomidou.mybatisplus.annotation.*; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * 鏍囧噯鏂规硶楠岃瘉 + * + * @author zhuo + * @since 2024-11-05 + */ +@Data +@TableName("cnas_process_method_verify") +public class ProcessMethodVerify { + + @TableId(type = IdType.AUTO) + private Integer methodVerifyId; + + @ApiModelProperty("0鍙樻洿,1楠岃瘉") + private Integer operationType; + + @ApiModelProperty("鏍囧噯鏂规硶") + private String methodName; + + @ApiModelProperty("楠岃瘉鍘熷洜") + private String verifyReason; + + @ApiModelProperty("涓昏鎶�鏈彉鍖�") + private String technologyChange; + + @ApiModelProperty("(浜�)鏍囧噯瑕佹眰") + private String personRequirements; + @ApiModelProperty("(浜�)鍑嗗鎯呭喌") + private String personReadiness; + @ApiModelProperty("(浜�)鏄惁婊¤冻") + private Integer personIsSatisfied; + @ApiModelProperty("(浜�)澶囨敞") + private String personRemark; + + @ApiModelProperty("(鏈�)鏍囧噯瑕佹眰") + private String machineRequirements; + @ApiModelProperty("(鏈�)鍑嗗鎯呭喌") + private String machineReadiness; + @ApiModelProperty("(鏈�)鏄惁婊¤冻") + private Integer machineIsSatisfied; + @ApiModelProperty("(鏈�)澶囨敞") + private String machineRemark; + + @ApiModelProperty("(鏂�)鏍囧噯瑕佹眰") + private String materialRequirements; + @ApiModelProperty("(鏂�)鍑嗗鎯呭喌") + private String materialReadiness; + @ApiModelProperty("(鏂�)鏄惁婊¤冻") + private Integer materialIsSatisfied; + @ApiModelProperty("(鏂�)澶囨敞") + private String materialRemark; + + @ApiModelProperty("(娉�)鏍囧噯瑕佹眰") + private String methodRequirements; + @ApiModelProperty("(娉�)鍑嗗鎯呭喌") + private String methodReadiness; + @ApiModelProperty("(娉�)鏄惁婊¤冻") + private Integer methodIsSatisfied; + @ApiModelProperty("(娉�)澶囨敞") + private String methodRemark; + + @ApiModelProperty("(鐜�)鏍囧噯瑕佹眰") + private String environmentRequirements; + @ApiModelProperty("(鐜�)鍑嗗鎯呭喌") + private String environmentReadiness; + @ApiModelProperty("(鐜�)鏄惁婊¤冻") + private Integer environmentIsSatisfied; + @ApiModelProperty("(鐜�)澶囨敞") + private String environmentRemark; + + @ApiModelProperty("(娴嬮噺婧簮鎬�)鏍囧噯瑕佹眰") + private String traceabilityRequirements; + @ApiModelProperty("(娴嬮噺婧簮鎬�)鍑嗗鎯呭喌") + private String traceabilityReadiness; + @ApiModelProperty("(娴嬮噺婧簮鎬�)鏄惁婊¤冻") + private Integer traceabilityIsSatisfied; + @ApiModelProperty("(娴嬮噺婧簮鎬�)澶囨敞") + private String traceabilityRemark; + + @ApiModelProperty("(鏍峰搧绠$悊闇�姹�)鏍囧噯瑕佹眰") + private String managementRequirements; + @ApiModelProperty("(鏍峰搧绠$悊闇�姹�)鍑嗗鎯呭喌") + private String managementReadiness; + @ApiModelProperty("(鏍峰搧绠$悊闇�姹�)鏄惁婊¤冻") + private Integer managementIsSatisfied; + @ApiModelProperty("(鏍峰搧绠$悊闇�姹�)澶囨敞") + private String managementRemark; + + @ApiModelProperty("(鍏朵粬)鏍囧噯瑕佹眰") + private String otherRequirements; + @ApiModelProperty("(鍏朵粬)鍑嗗鎯呭喌") + private String otherReadiness; + @ApiModelProperty("(鍏朵粬)鏄惁婊¤冻") + private Integer otherIsSatisfied; + @ApiModelProperty("(鍏朵粬)澶囨敞") + private String otherRemark; + + @ApiModelProperty("纭鏃堕棿") + @TableField(fill = FieldFill.INSERT) + private LocalDateTime confirmDate; + + @ApiModelProperty("纭浜哄憳") + private String confirmUser; + + @ApiModelProperty("鍒涘缓浜�") + @TableField(fill = FieldFill.INSERT) + private Integer createUser; + + @ApiModelProperty("鍒涘缓鏃堕棿") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createTime; + + @ApiModelProperty("淇敼浜�") + @TableField(fill = FieldFill.INSERT_UPDATE) + private Integer updateUser; + + @ApiModelProperty("淇敼鏃堕棿") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @TableField(fill = FieldFill.INSERT_UPDATE) + private LocalDateTime updateTime; + +} + diff --git a/cnas-process/src/main/java/com/yuanchu/mom/pojo/ProcessMethodVerifyCalibrationsFile.java b/cnas-process/src/main/java/com/yuanchu/mom/pojo/ProcessMethodVerifyCalibrationsFile.java new file mode 100644 index 0000000..bc47ae1 --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/pojo/ProcessMethodVerifyCalibrationsFile.java @@ -0,0 +1,57 @@ +package com.yuanchu.mom.pojo; + +import java.time.LocalDateTime; +import java.util.Date; + +import com.baomidou.mybatisplus.annotation.*; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * 鏍囧噯鏂规硶楠岃瘉璁惧鏍″噯闄勪欢琛� + * + * @author zhuo + * @since 2024-11-12 + */ +@Data +@TableName("cnas_process_method_verify_calibrations_file") +public class ProcessMethodVerifyCalibrationsFile { + + @TableId(type = IdType.AUTO) + private Integer calibrationsFileId; + @ApiModelProperty("鏂规硶楠岃瘉id") + private Integer methodVerifyId; + + @ApiModelProperty("绫诲瀷:1鍥剧墖/2鏂囦欢") + private Integer type; + + @ApiModelProperty("闄勪欢璺緞") + private String fileUrl; + + @ApiModelProperty("闄勪欢鍚嶇О") + private String fileName; + + @ApiModelProperty("璁惧id") + private Integer deviceId; + + @ApiModelProperty("鍒涘缓浜�") + @TableField(fill = FieldFill.INSERT) + private Integer createUser; + + @ApiModelProperty("鍒涘缓鏃堕棿") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createTime; + + @ApiModelProperty("淇敼浜�") + @TableField(fill = FieldFill.INSERT_UPDATE) + private Integer updateUser; + + @ApiModelProperty("淇敼鏃堕棿") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @TableField(fill = FieldFill.INSERT_UPDATE) + private LocalDateTime updateTime; + +} + diff --git a/cnas-process/src/main/java/com/yuanchu/mom/pojo/ProcessMethodVerifyMachineAttachment.java b/cnas-process/src/main/java/com/yuanchu/mom/pojo/ProcessMethodVerifyMachineAttachment.java new file mode 100644 index 0000000..cae2ab8 --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/pojo/ProcessMethodVerifyMachineAttachment.java @@ -0,0 +1,61 @@ +package com.yuanchu.mom.pojo; + +import java.time.LocalDateTime; +import java.util.Date; + +import com.baomidou.mybatisplus.annotation.*; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * 鏍囧噯鏂规硶楠岃瘉璁惧闄勪欢琛� + * + * @author zhuo + * @since 2024-11-05 + */ +@Data +@TableName("cnas_process_method_verify_machine_attachment") +public class ProcessMethodVerifyMachineAttachment { + + @TableId(type = IdType.AUTO) + private Integer machineAttachmentId; + + @ApiModelProperty("鏂规硶楠岃瘉id") + private Integer methodVerifyId; + + @ApiModelProperty("璁惧id") + private Integer deviceId; + + @ApiModelProperty("璁惧鍚嶇О") + private String machineName; + + @ApiModelProperty("瑙勬牸鍨嬪彿") + private String machineSpecification; + + @ApiModelProperty("绛栫暐鑼冨洿") + private String machineMeasuringRange; + + @ApiModelProperty("鎵╁睍淇℃伅") + private String other; + + @ApiModelProperty("鍒涘缓浜�") + @TableField(fill = FieldFill.INSERT) + private Integer createUser; + + @ApiModelProperty("鍒涘缓鏃堕棿") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createTime; + + @ApiModelProperty("淇敼浜�") + @TableField(fill = FieldFill.INSERT_UPDATE) + private Integer updateUser; + + @ApiModelProperty("淇敼鏃堕棿") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @TableField(fill = FieldFill.INSERT_UPDATE) + private LocalDateTime updateTime; + +} + diff --git a/cnas-process/src/main/java/com/yuanchu/mom/pojo/ProcessMethodVerifyMethodFile.java b/cnas-process/src/main/java/com/yuanchu/mom/pojo/ProcessMethodVerifyMethodFile.java new file mode 100644 index 0000000..09ce439 --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/pojo/ProcessMethodVerifyMethodFile.java @@ -0,0 +1,55 @@ +package com.yuanchu.mom.pojo; + +import java.time.LocalDateTime; +import java.util.Date; + +import com.baomidou.mybatisplus.annotation.*; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * 鏍囧噯鏂规硶楠岃瘉(娉�)闄勪欢琛� + * + * @author zhuo + * @since 2024-11-05 + */ +@Data +@TableName("cnas_process_method_verify_method_file") +public class ProcessMethodVerifyMethodFile { + + @TableId(type = IdType.AUTO) + private Integer methodFileId; + + @ApiModelProperty("鏂规硶楠岃瘉id") + private Integer methodVerifyId; + + @ApiModelProperty("绫诲瀷:1鍥剧墖/2鏂囦欢") + private Integer type; + + @ApiModelProperty("闄勪欢璺緞") + private String fileUrl; + + @ApiModelProperty("闄勪欢鍚嶇О") + private String fileName; + + @ApiModelProperty("鍒涘缓浜�") + @TableField(fill = FieldFill.INSERT) + private Integer createUser; + + @ApiModelProperty("鍒涘缓鏃堕棿") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createTime; + + @ApiModelProperty("淇敼浜�") + @TableField(fill = FieldFill.INSERT_UPDATE) + private Integer updateUser; + + @ApiModelProperty("淇敼鏃堕棿") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @TableField(fill = FieldFill.INSERT_UPDATE) + private LocalDateTime updateTime; + +} + diff --git a/cnas-process/src/main/java/com/yuanchu/mom/pojo/ProcessMethodVerifyWorkFile.java b/cnas-process/src/main/java/com/yuanchu/mom/pojo/ProcessMethodVerifyWorkFile.java new file mode 100644 index 0000000..4b5c455 --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/pojo/ProcessMethodVerifyWorkFile.java @@ -0,0 +1,60 @@ +package com.yuanchu.mom.pojo; + +import java.time.LocalDateTime; +import java.util.Date; + +import com.baomidou.mybatisplus.annotation.*; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * 鏍囧噯鏂规硶楠岃瘉涓婂矖璇侀檮浠惰〃 + * + * @author zhuo + * @since 2024-11-12 + */ +@Data +@TableName("cnas_process_method_verify_work_file") +public class ProcessMethodVerifyWorkFile { + + @TableId(type = IdType.AUTO) + private Integer workFileId; + @ApiModelProperty("鏂规硶楠岃瘉id") + private Integer methodVerifyId; + + @ApiModelProperty("绫诲瀷:1鍥剧墖/2鏂囦欢") + private Integer type; + + @ApiModelProperty("闄勪欢璺緞") + private String fileUrl; + + @ApiModelProperty("闄勪欢鍚嶇О") + private String fileName; + + @ApiModelProperty("鎸佹湁浜篿d") + private Integer userId; + + @ApiModelProperty("鎸佹湁浜�") + private String userName; + + @ApiModelProperty("鍒涘缓浜�") + @TableField(fill = FieldFill.INSERT) + private Integer createUser; + + @ApiModelProperty("鍒涘缓鏃堕棿") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createTime; + + @ApiModelProperty("淇敼浜�") + @TableField(fill = FieldFill.INSERT_UPDATE) + private Integer updateUser; + + @ApiModelProperty("淇敼鏃堕棿") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @TableField(fill = FieldFill.INSERT_UPDATE) + private LocalDateTime updateTime; + +} + diff --git a/cnas-process/src/main/java/com/yuanchu/mom/pojo/ProcessOrder.java b/cnas-process/src/main/java/com/yuanchu/mom/pojo/ProcessOrder.java new file mode 100644 index 0000000..66e54d3 --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/pojo/ProcessOrder.java @@ -0,0 +1,63 @@ +package com.yuanchu.mom.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 java.io.Serializable; +import java.time.LocalDate; + +import com.yuanchu.mom.common.OrderBy; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +/** + * <p> + * 瑕佹眰銆佹爣涔﹀拰鍚堝悓璇勫 + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-05 03:06:20 + */ +@Getter +@Setter +@TableName("cnas_process_order") +@ApiModel(value = "ProcessOrder瀵硅薄", description = "瑕佹眰銆佹爣涔﹀拰鍚堝悓璇勫") +public class ProcessOrder extends OrderBy implements Serializable { + + + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + + @ApiModelProperty("鍏宠仈澶栭敭(妫�楠屽崟id)") + private Integer insOrderId; + + @ApiModelProperty("鍒ゅ畾瑙勫垯:涓嶈�冭檻涓嶇‘瀹氬害/鑰冭檻涓嶇‘瀹氬害(%)") + private String rule; + + @ApiModelProperty("缁煎悎瀹ょ鍚嶄汉") + private Integer comprehensiveUser; + + @TableField(select = false,exist = false) + private String comprehensiveUserName; + + @TableField(select = false,exist = false) + private String comprehensiveUserUrl; + + @ApiModelProperty("鎺ユ敹鏃ユ湡") + private LocalDate comprehensiveTime; + + @ApiModelProperty("棰嗘牱鍛�") + private Integer issueUser; + + @TableField(select = false,exist = false) + private String issueUserName; + + @TableField(select = false,exist = false) + private String issueUserUrl; + + @ApiModelProperty("棰嗘牱鏃ユ湡") + private LocalDate issueTime; +} diff --git a/cnas-process/src/main/java/com/yuanchu/mom/pojo/ProcessReport.java b/cnas-process/src/main/java/com/yuanchu/mom/pojo/ProcessReport.java new file mode 100644 index 0000000..39c0844 --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/pojo/ProcessReport.java @@ -0,0 +1,97 @@ +package com.yuanchu.mom.pojo; + +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.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.time.LocalDate; +import java.time.LocalDateTime; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.yuanchu.mom.annotation.ValueTableShow; +import com.yuanchu.mom.common.OrderBy; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +/** + * <p> + * 妫�楠屾姤鍛婂彂鏀剧櫥璁拌〃 + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-05 08:58:39 + */ +@Getter +@Setter +@TableName("cnas_process_report") +@ApiModel(value = "ProcessReport瀵硅薄", description = "妫�楠屾姤鍛婂彂鏀剧櫥璁拌〃") +public class ProcessReport extends OrderBy implements Serializable { + + + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + + @ApiModelProperty("妫�楠屾姤鍛婄紪鍙�") + @ValueTableShow(1) + private String insReportCode; + + @ApiModelProperty("椤垫暟") + @ValueTableShow(2) + private String pages; + + @ApiModelProperty("鍙戦�佷唤鏁�") + @ValueTableShow(3) + private String number; + + @ApiModelProperty("鍙戝線浣曞") + @ValueTableShow(4) + private String send; + + @ApiModelProperty("鍙戦�佹柟寮�") + @ValueTableShow(5) + private String method; + + @ApiModelProperty("鍙戦�佹棩鏈�") + @JsonFormat(pattern = "yyyy-MM-dd") + @ValueTableShow(6) + private LocalDate sendTime; + + @ApiModelProperty("鍙戦�佷汉") + private Integer sendUser; + + @ValueTableShow(value = 7,name = "鍙戦�佷汉") + @TableField(select = false,exist = false) + private String sendUserName; + + @ApiModelProperty("绛炬敹浜�") + private String signatory; + + + @TableField(select = false,exist = false) + private String signatoryUrl; + + @ValueTableShow(value = 8,name = "绛炬敹浜�") + @TableField(select = false,exist = false) + private String signatoryName; + + @ApiModelProperty("澶囨敞") + @ValueTableShow(9) + private String remark; + + @TableField(fill = FieldFill.INSERT) + private Integer createUser; + + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createTime; + + @TableField(fill = FieldFill.INSERT_UPDATE) + private Integer updateUser; + + @TableField(fill = FieldFill.INSERT_UPDATE) + private LocalDateTime updateTime; +} diff --git a/cnas-process/src/main/java/com/yuanchu/mom/pojo/ProcessSample.java b/cnas-process/src/main/java/com/yuanchu/mom/pojo/ProcessSample.java new file mode 100644 index 0000000..e8febd3 --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/pojo/ProcessSample.java @@ -0,0 +1,91 @@ +package com.yuanchu.mom.pojo; + +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.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.time.LocalDate; +import java.time.LocalDateTime; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.yuanchu.mom.annotation.ValueTableShow; +import com.yuanchu.mom.common.OrderBy; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; +import org.springframework.format.annotation.DateTimeFormat; + +/** + * <p> + * 鏍峰搧鎺ユ敹 + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-12-12 05:02:49 + */ +@Getter +@Setter +@TableName("cnas_process_sample") +@ApiModel(value = "ProcessSample瀵硅薄", description = "鏍峰搧鎺ユ敹") +public class ProcessSample extends OrderBy implements Serializable { + + + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + + @ApiModelProperty("鏍峰搧鍚嶇О") + @ValueTableShow(3) + private String sampleName; + + @ApiModelProperty("鏍峰搧缂栧彿") + @ValueTableShow(2) + private String sampleCode; + + @ApiModelProperty("鏉ユ牱鍗曚綅") + @ValueTableShow(5) + private String sampleSupplier; + + @ApiModelProperty("鏍峰搧鏁伴噺") + @ValueTableShow(4) + private Integer num; + + @ApiModelProperty("鏍峰搧鐘舵��") + @ValueTableShow(7) + private String sampleState; + + @TableField(fill = FieldFill.INSERT) + private Integer createUser; + + @TableField(fill = FieldFill.INSERT_UPDATE) + private Integer updateUser; + + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createTime; + + @TableField(fill = FieldFill.INSERT_UPDATE) + private LocalDateTime updateTime; + + @ApiModelProperty("鍏宠仈鎬昏〃鍘嗗彶id") + private Integer totalSampleId; + + @ApiModelProperty("鏀舵牱鏃ユ湡") + @ValueTableShow(1) + @JsonFormat(pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + private LocalDate receiveDate; + + @ApiModelProperty("鐣欐牱鏃ユ湡") + @ValueTableShow(6) + @JsonFormat(pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + private LocalDate leaveDate; + + @ApiModelProperty("閫�鏍风鏀�/澶勭悊鏃ユ湡") + @ValueTableShow(8) + @JsonFormat(pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + private LocalDate dealTime; +} diff --git a/cnas-process/src/main/java/com/yuanchu/mom/pojo/ProcessTotalSample.java b/cnas-process/src/main/java/com/yuanchu/mom/pojo/ProcessTotalSample.java new file mode 100644 index 0000000..0d9219f --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/pojo/ProcessTotalSample.java @@ -0,0 +1,83 @@ +package com.yuanchu.mom.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 java.io.Serializable; + +import com.yuanchu.mom.annotation.ValueTableShow; +import com.yuanchu.mom.common.OrderBy; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +/** + * <p> + * 鏍峰搧鎺ユ敹鎬昏〃 + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-12-12 05:02:58 + */ +@Getter +@Setter +@TableName("cnas_process_total_sample") +@ApiModel(value = "ProcessTotalSample瀵硅薄", description = "鏍峰搧鎺ユ敹鎬昏〃") +public class ProcessTotalSample extends OrderBy implements Serializable { + + + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + + @ApiModelProperty("瀹℃牳浜�") + private Integer examineUser; + + @ApiModelProperty("瀹℃牳缁撴灉") + private String examineState; + + @ApiModelProperty("瀹℃牳浜虹數瀛愮鍚島rl") + private String examineUrl; + + + @ValueTableShow(value = 4, name = "瀹℃牳浜�") + @TableField(select = false, exist = false) + private String examineUserName; + + @ApiModelProperty("鎵瑰噯浜�") + private Integer ratifyUser; + + @ApiModelProperty("鎵瑰噯缁撴灉") + private String ratifyState; + + @ApiModelProperty("鎵瑰噯浜虹數瀛愮鍚島rl") + private String ratifyUrl; + + @ValueTableShow(value = 5, name = "鎵瑰噯浜�") + @TableField(select = false, exist = false) + private String ratifyUserName; + + @ApiModelProperty("鎻愪氦浜�") + private Integer submitUser; + @ValueTableShow(value = 3, name = "鎻愪氦浜�") + @TableField(select = false, exist = false) + private String submitUserName; + + @ApiModelProperty("鎻愪氦缁撴灉") + private String submitState; + + @ApiModelProperty("鎻愪氦浜虹數瀛愮鍚島rl") + private String submitUrl; + + @ApiModelProperty("鎬绘暟閲�") + @ValueTableShow(2) + private Integer totalNum; + + @ApiModelProperty("鏈堜唤") + @ValueTableShow(1) + private String month; + + @ApiModelProperty("鐢熸垚鐢宠琛ㄧ殑璺緞") + private String url; +} diff --git a/cnas-process/src/main/java/com/yuanchu/mom/pojo/ProcessTotaldeal.java b/cnas-process/src/main/java/com/yuanchu/mom/pojo/ProcessTotaldeal.java new file mode 100644 index 0000000..ebdeb98 --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/pojo/ProcessTotaldeal.java @@ -0,0 +1,84 @@ +package com.yuanchu.mom.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 java.io.Serializable; + +import com.yuanchu.mom.annotation.ValueTableShow; +import com.yuanchu.mom.common.OrderBy; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +/** + * <p> + * 妫�娴嬫垨鏍″噯鐗╁搧鐨勫缃�昏〃(鍘嗗彶) + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-02 03:59:09 + */ +@Getter +@Setter +@TableName("cnas_process_totaldeal") +@ApiModel(value = "ProcessTotaldeal瀵硅薄", description = "妫�娴嬫垨鏍″噯鐗╁搧鐨勫缃�昏〃(鍘嗗彶)") +public class ProcessTotaldeal extends OrderBy implements Serializable { + + + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + + @ApiModelProperty("瀹℃牳浜�") + private Integer examineUser; + + @ApiModelProperty("瀹℃牳缁撴灉") + private String examineState; + + @ApiModelProperty("瀹℃牳浜虹數瀛愮鍚島rl") + private String examineUrl; + + + @ValueTableShow(value = 4, name = "瀹℃牳浜�") + @TableField(select = false, exist = false) + private String examineUserName; + + @ApiModelProperty("鎵瑰噯浜�") + private Integer ratifyUser; + + @ApiModelProperty("鎵瑰噯缁撴灉") + private String ratifyState; + + @ApiModelProperty("鎵瑰噯浜虹數瀛愮鍚島rl") + private String ratifyUrl; + + @ValueTableShow(value = 5, name = "鎵瑰噯浜�") + @TableField(select = false, exist = false) + private String ratifyUserName; + + @ApiModelProperty("鎻愪氦浜�") + private Integer submitUser; + @ValueTableShow(value = 3, name = "鎻愪氦浜�") + @TableField(select = false, exist = false) + private String submitUserName; + + @ApiModelProperty("鎻愪氦缁撴灉") + private String submitState; + + @ApiModelProperty("鎻愪氦浜虹數瀛愮鍚島rl") + private String submitUrl; + + @ApiModelProperty("鎬绘暟閲�") + @ValueTableShow(2) + private Integer totalNum; + + @ApiModelProperty("鏈堜唤") + @ValueTableShow(1) + private String month; + + @ApiModelProperty("鐢熸垚鐢宠琛ㄧ殑璺緞") + private String url; +} diff --git a/cnas-process/src/main/java/com/yuanchu/mom/pojo/QualityMonitor.java b/cnas-process/src/main/java/com/yuanchu/mom/pojo/QualityMonitor.java new file mode 100644 index 0000000..5c282d8 --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/pojo/QualityMonitor.java @@ -0,0 +1,79 @@ +package com.yuanchu.mom.pojo; + +import java.time.LocalDateTime; +import java.util.Date; + +import com.baomidou.mybatisplus.annotation.*; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * 璐ㄩ噺鐩戞帶璁″垝涓昏〃 + * + * @author zhuo + * @since 2024-11-06 + */ +@Data +@TableName("cnas_quality_monitor") +public class QualityMonitor { + + @TableId(type = IdType.AUTO) + private Integer qualityMonitorId; + + @ApiModelProperty("璁″垝鍚嶇О") + private String monitorName; + + @ApiModelProperty("澶栭敭锛氱敤鎴穒d锛堢紪鍒朵汉锛�") + private Integer writeUserId; + + @ApiModelProperty("缂栧埗鏃堕棿") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime writeTime; + + @ApiModelProperty("澶栭敭锛氱敤鎴穒d锛堝鏍镐汉锛�") + private Integer examineUserId; + + @ApiModelProperty("瀹℃牳鏃堕棿") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime examineTime; + + @ApiModelProperty("瀹℃牳鐘舵�� , 0 涓嶉�氳繃, 1閫氳繃") + private Integer examineStatus; + + @ApiModelProperty("瀹℃牳鍐呭") + private String examineRemark; + + @ApiModelProperty("澶栭敭锛氱敤鎴穒d锛堟壒鍑嗕汉锛�") + private Integer ratifyUserId; + + @ApiModelProperty("鎵瑰噯鏃堕棿") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime ratifyTime; + + @ApiModelProperty("鎵瑰噯鐘舵��, 0 涓嶉�氳繃, 1閫氳繃") + private Integer ratifyStatus; + + @ApiModelProperty("鎵瑰噯鍐呭") + private String ratifyRemark; + + @ApiModelProperty("鍒涘缓浜�") + @TableField(fill = FieldFill.INSERT) + private Integer createUser; + + @ApiModelProperty("鍒涘缓鏃堕棿") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createTime; + + @ApiModelProperty("淇敼浜�") + @TableField(fill = FieldFill.INSERT_UPDATE) + private Integer updateUser; + + @ApiModelProperty("淇敼鏃堕棿") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @TableField(fill = FieldFill.INSERT_UPDATE) + private LocalDateTime updateTime; + +} + diff --git a/cnas-process/src/main/java/com/yuanchu/mom/pojo/QualityMonitorDetails.java b/cnas-process/src/main/java/com/yuanchu/mom/pojo/QualityMonitorDetails.java new file mode 100644 index 0000000..f7dcaf5 --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/pojo/QualityMonitorDetails.java @@ -0,0 +1,71 @@ +package com.yuanchu.mom.pojo; + +import java.time.LocalDateTime; +import java.util.Date; + +import com.baomidou.mybatisplus.annotation.*; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * 璐ㄩ噺鐩戞帶璁″垝璇︽儏琛� + * + * @author zhuo + * @since 2024-11-06 + */ +@Data +@TableName("cnas_quality_monitor_details") +public class QualityMonitorDetails { + + @TableId(type = IdType.AUTO) + private Integer qualityMonitorDetailsId; + + @ApiModelProperty("鐩戞帶璁″垝id") + private Integer qualityMonitorId; + + @ApiModelProperty("鐩戞帶鐩殑") + private String monitorPurpose; + + @ApiModelProperty("璁″垝寮�灞曟椂闂�") + private String plannedTime; + + @ApiModelProperty("鐩戞帶椤圭洰") + private String monitorProject; + + @ApiModelProperty("鍙傚姞浜哄憳") + private String participant; + + @ApiModelProperty("棰勭畻") + private String budget; + + @ApiModelProperty("缁勭粐浜哄憳") + private String organization; + + @ApiModelProperty("鐩戞帶鏂瑰紡") + private String monitorWay; + + @ApiModelProperty("鍒涘缓浜�") + @TableField(fill = FieldFill.INSERT) + private Integer createUser; + + @ApiModelProperty("鍒涘缓鏃堕棿") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createTime; + + @ApiModelProperty("淇敼浜�") + @TableField(fill = FieldFill.INSERT_UPDATE) + private Integer updateUser; + + @ApiModelProperty("淇敼鏃堕棿") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @TableField(fill = FieldFill.INSERT_UPDATE) + private LocalDateTime updateTime; + + // 瀵煎嚭浣跨敤 + @TableField(select = false, exist = false) + private Integer index; + +} + diff --git a/cnas-process/src/main/java/com/yuanchu/mom/pojo/QualityMonitorDetailsEvaluate.java b/cnas-process/src/main/java/com/yuanchu/mom/pojo/QualityMonitorDetailsEvaluate.java new file mode 100644 index 0000000..9e01c24 --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/pojo/QualityMonitorDetailsEvaluate.java @@ -0,0 +1,86 @@ +package com.yuanchu.mom.pojo; + +import com.baomidou.mybatisplus.annotation.*; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.time.LocalDateTime; + +/** + * 璐ㄩ噺鐩戞帶璁″垝璇︽儏璇勪环琛� + * + * @author zhuo + * @since 2024-11-06 + */ +@Data +@TableName("cnas_quality_monitor_details_evaluate") +public class QualityMonitorDetailsEvaluate { + + @TableId(type = IdType.AUTO) + private Integer detailsEvaluateId; + + @ApiModelProperty("鐩戞帶璁″垝璇︽儏id") + private Integer qualityMonitorDetailsId; + + @ApiModelProperty("璇勫鐩殑") + private String reviewPurpose; + + @ApiModelProperty("璇勫浜哄憳") + private String reviewUser; + + @ApiModelProperty("璇勫鏃ユ湡") + private String reviewTime; + + @ApiModelProperty("瀹炴柦鎯呭喌") + private String implementCondition; + + @ApiModelProperty("瀹炴柦閮ㄩ棬") + private String implementDepartment; + + @ApiModelProperty("瀹炴柦缁撴灉") + private String implementResult; + + @ApiModelProperty("瀹炴柦鎶�鏈礋璐d汉") + private String implementUserId; + + @ApiModelProperty("鎵瑰噯缁撹") + private String ratifyOpinion; + + @ApiModelProperty("鎵瑰噯鎶�鏈礋璐d汉") + private Integer ratifyUserId; + + @ApiModelProperty("鎵瑰噯鏃堕棿") + @JsonFormat(pattern = "yyyy-MM-dd") + private LocalDateTime ratifyTime; + + @ApiModelProperty("鍒涘缓浜�") + @TableField(fill = FieldFill.INSERT) + private Integer createUser; + + @ApiModelProperty("鍒涘缓鏃堕棿") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createTime; + + @ApiModelProperty("淇敼浜�") + @TableField(fill = FieldFill.INSERT_UPDATE) + private Integer updateUser; + + @ApiModelProperty("淇敼鏃堕棿") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @TableField(fill = FieldFill.INSERT_UPDATE) + private LocalDateTime updateTime; + + @ApiModelProperty("鏄惁缁撴潫0:鏈粨鏉�, 1:宸茬粨鏉�") + private Integer isFinish; + + @ApiModelProperty("瀹炴柦鎶�鏈礋璐d汉鍚嶇О") + @TableField(exist = false,select = false) + private String implementName; + + @ApiModelProperty("鎵瑰噯鎶�鏈礋璐d汉鍚嶇О") + @TableField(exist = false,select = false) + private String ratifyUserName; +} + diff --git a/cnas-process/src/main/java/com/yuanchu/mom/pojo/QualityMonitorDetailsEvaluateFile.java b/cnas-process/src/main/java/com/yuanchu/mom/pojo/QualityMonitorDetailsEvaluateFile.java new file mode 100644 index 0000000..c945077 --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/pojo/QualityMonitorDetailsEvaluateFile.java @@ -0,0 +1,54 @@ +package com.yuanchu.mom.pojo; + +import java.time.LocalDateTime; + +import com.baomidou.mybatisplus.annotation.*; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * 璐ㄩ噺鐩戞帶璁″垝璇︽儏璇勪环闄勪欢琛� + * + * @author zhuo + * @since 2024-11-07 + */ +@Data +@TableName("cnas_quality_monitor_details_evaluate_file") +public class QualityMonitorDetailsEvaluateFile { + + @TableId(type = IdType.AUTO) + private Integer evaluateFileId; + + @ApiModelProperty("璇勪环id") + private Integer detailsEvaluateId; + + @ApiModelProperty("绫诲瀷:1鍥剧墖/2鏂囦欢") + private Integer type; + + @ApiModelProperty("闄勪欢璺緞") + private String fileUrl; + + @ApiModelProperty("闄勪欢鍚嶇О") + private String fileName; + + @ApiModelProperty("鍒涘缓浜�") + @TableField(fill = FieldFill.INSERT) + private Integer createUser; + + @ApiModelProperty("鍒涘缓鏃堕棿") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createTime; + + @ApiModelProperty("淇敼浜�") + @TableField(fill = FieldFill.INSERT_UPDATE) + private Integer updateUser; + + @ApiModelProperty("淇敼鏃堕棿") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @TableField(fill = FieldFill.INSERT_UPDATE) + private LocalDateTime updateTime; + +} + diff --git a/cnas-process/src/main/java/com/yuanchu/mom/pojo/QualityMonitorDetailsRatify.java b/cnas-process/src/main/java/com/yuanchu/mom/pojo/QualityMonitorDetailsRatify.java new file mode 100644 index 0000000..8f95fbf --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/pojo/QualityMonitorDetailsRatify.java @@ -0,0 +1,86 @@ +package com.yuanchu.mom.pojo; + +import java.time.LocalDateTime; +import java.util.Date; + +import com.baomidou.mybatisplus.annotation.*; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * 璐ㄩ噺鐩戞帶璁″垝璇︽儏鎵瑰噯琛� + * + * @author zhuo + * @since 2024-11-06 + */ +@Data +@TableName("cnas_quality_monitor_details_ratify") +public class QualityMonitorDetailsRatify { + + @TableId(type = IdType.AUTO) + private Integer detailsRatifyId; + + @ApiModelProperty("鐩戞帶璁″垝璇︽儏id") + private Integer qualityMonitorDetailsId; + + @ApiModelProperty("鐩戞帶椤圭洰") + private String monitorProject; + + @ApiModelProperty("鐩戞帶鐩殑") + private String monitorPurpose; + + @ApiModelProperty("鐩戞帶鏃堕棿") + private String monitorData; + + @ApiModelProperty("鐩戞帶鏂规硶") + private String monitorMethod; + + @ApiModelProperty("鍙傚姞浜哄憳") + private String participant; + + @ApiModelProperty("杩囩▼鎺у埗") + private String processControl; + + @ApiModelProperty("濡備綍璇勪环") + private String howEvaluate; + + @ApiModelProperty("棰勭畻") + private String budget; + + @ApiModelProperty("妫�娴嬮儴闂�") + private String inspectionDepartment; + + @ApiModelProperty("鎵瑰噯鎰忚") + private String ratifyOpinion; + + @ApiModelProperty("鎶�鏈礋璐d汉") + private Integer ratifyUserId; + + @ApiModelProperty("鍒涘缓浜�") + @TableField(fill = FieldFill.INSERT) + private Integer createUser; + + @ApiModelProperty("鍒涘缓鏃堕棿") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createTime; + + @ApiModelProperty("淇敼浜�") + @TableField(fill = FieldFill.INSERT_UPDATE) + private Integer updateUser; + + @ApiModelProperty("淇敼鏃堕棿") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @TableField(fill = FieldFill.INSERT_UPDATE) + private LocalDateTime updateTime; + + @ApiModelProperty("鏄惁缁撴潫0:鏈粨鏉�, 1:宸茬粨鏉�") + private Integer isFinish; + + @ApiModelProperty("鎶�鏈礋璐d汉") + @TableField(exist = false,select = false) + private String ratifyName; + +} + diff --git a/cnas-process/src/main/java/com/yuanchu/mom/pojo/QualitySupervise.java b/cnas-process/src/main/java/com/yuanchu/mom/pojo/QualitySupervise.java new file mode 100644 index 0000000..3653613 --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/pojo/QualitySupervise.java @@ -0,0 +1,73 @@ +package com.yuanchu.mom.pojo; + +import java.time.LocalDateTime; +import java.util.Date; + +import com.baomidou.mybatisplus.annotation.*; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * 璐ㄩ噺鐩戠潱涓昏〃 + * + * @author zhuo + * @since 2024-11-07 + */ +@Data +@TableName("cnas_quality_supervise") +public class QualitySupervise { + + @TableId(type = IdType.AUTO) + private Integer superviseId; + + @ApiModelProperty("鐩戠潱鍚嶇О") + private String superviseName; + + @ApiModelProperty("澶栭敭锛氱敤鎴穒d锛堢紪鍒朵汉锛�") + private Integer writeUserId; + + @ApiModelProperty("缂栧埗浜�") + private String writeUserName; + + @ApiModelProperty("缂栧埗鏃堕棿") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime writeTime; + + @ApiModelProperty("澶栭敭锛氱敤鎴穒d锛堟壒鍑嗕汉锛�") + private Integer ratifyUserId; + + + @ApiModelProperty("鎵瑰噯浜�") + private String ratifyUserName; + + @ApiModelProperty("鎵瑰噯鏃堕棿") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime ratifyTime; + + @ApiModelProperty("鎵瑰噯鐘舵��, 0 涓嶉�氳繃, 1閫氳繃") + private Integer ratifyStatus; + + @ApiModelProperty("鎵瑰噯鍐呭") + private String ratifyRemark; + + @ApiModelProperty("鍒涘缓浜�") + @TableField(fill = FieldFill.INSERT) + private Integer createUser; + + @ApiModelProperty("鍒涘缓鏃堕棿") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createTime; + + @ApiModelProperty("淇敼浜�") + @TableField(fill = FieldFill.INSERT_UPDATE) + private Integer updateUser; + + @ApiModelProperty("淇敼鏃堕棿") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @TableField(fill = FieldFill.INSERT_UPDATE) + private LocalDateTime updateTime; + +} + diff --git a/cnas-process/src/main/java/com/yuanchu/mom/pojo/QualitySuperviseDetails.java b/cnas-process/src/main/java/com/yuanchu/mom/pojo/QualitySuperviseDetails.java new file mode 100644 index 0000000..a68a820 --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/pojo/QualitySuperviseDetails.java @@ -0,0 +1,68 @@ +package com.yuanchu.mom.pojo; + +import java.time.LocalDateTime; +import java.util.Date; + +import com.baomidou.mybatisplus.annotation.*; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * 璐ㄩ噺鐩戠潱璇︽儏琛� + * + * @author zhuo + * @since 2024-11-07 + */ +@Data +@TableName("cnas_quality_supervise_details") +public class QualitySuperviseDetails { + + @TableId(type = IdType.AUTO) + private Integer superviseDetailsId; + + @ApiModelProperty("鐩戠潱璁″垝id") + private Integer superviseId; + + @ApiModelProperty("鐩戠潱鏃ユ湡") + private String superviseTime; + + @ApiModelProperty("鐩戠潱鐩殑") + private String supervisePurpose; + + @ApiModelProperty("鐩戞帶椤圭洰") + private String superviseProject; + + @ApiModelProperty("琚洃鐫d汉") + private String supervisee; + + @ApiModelProperty("鐩戠潱鍘熷洜") + private String superviseReason; + + @ApiModelProperty("澶囨敞") + private String remark; + + @ApiModelProperty("鍒涘缓浜�") + @TableField(fill = FieldFill.INSERT) + private Integer createUser; + + @ApiModelProperty("鍒涘缓鏃堕棿") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createTime; + + @ApiModelProperty("淇敼浜�") + @TableField(fill = FieldFill.INSERT_UPDATE) + private Integer updateUser; + + @ApiModelProperty("淇敼鏃堕棿") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @TableField(fill = FieldFill.INSERT_UPDATE) + private LocalDateTime updateTime; + + // 瀵煎嚭浣跨敤 + @TableField(select = false, exist = false) + private Integer index; + +} + diff --git a/cnas-process/src/main/java/com/yuanchu/mom/pojo/QualitySuperviseDetailsAccording.java b/cnas-process/src/main/java/com/yuanchu/mom/pojo/QualitySuperviseDetailsAccording.java new file mode 100644 index 0000000..858e7c0 --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/pojo/QualitySuperviseDetailsAccording.java @@ -0,0 +1,140 @@ +package com.yuanchu.mom.pojo; + +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.util.Date; + +import com.baomidou.mybatisplus.annotation.*; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * 璐ㄩ噺鐩戠潱璇︽儏涓嶇鍚堥」鎺у埗琛� + * + * @author zhuo + * @since 2024-11-07 + */ +@Data +@TableName("cnas_quality_supervise_details_according") +public class QualitySuperviseDetailsAccording { + + @TableId(type = IdType.AUTO) + private Integer superviseDetailsAccordingId; + + @ApiModelProperty("鐩戠潱璇︽儏id") + private Integer superviseDetailsId; + + @ApiModelProperty("0鍙戠敓閮ㄩ棬") + private String occurrenceDepartment; + + @ApiModelProperty("0閮ㄩ棬璐熻矗浜�") + private String headDepartment; + + @ApiModelProperty("0鍙戠幇閫斿緞,0:绠$悊璇勫,1:鍐呴儴瀹℃牳,2:妫�娴嬭繃绋嬫帶鍒�,3:鍐呴儴璐ㄩ噺鎺у埗,4:鍐呴儴鐩戠潱,5:澶栭儴璇勫,6:澶栭儴鎶曡瘔,7:鍏朵粬") + private Integer findWay; + + @ApiModelProperty("0涓嶇鍚堣褰曡鎯�") + private String recordDetail; + + @ApiModelProperty("0涓嶅悎鏍艰褰曚緷鎹�") + private String recordAccording; + + @ApiModelProperty("0鍙戠幇閮ㄩ棬") + private String foundDepartment; + + @ApiModelProperty("0璁板綍浜篿d") + private Integer recordUserId; + + @ApiModelProperty("0璁板綍浜�") + private String recordUserName; + + @ApiModelProperty("0璁板綍鏃堕棿") + @JsonFormat(pattern = "yyyy-MM-dd") + private LocalDate recordTime; + + @ApiModelProperty("0琚洃鐫d汉id") + private Integer supervisedUserId; + + @ApiModelProperty("0琚洃鐫d汉") + private String supervisedUserName; + + @ApiModelProperty("0琚洃鐫f椂闂�") + @JsonFormat(pattern = "yyyy-MM-dd") + private LocalDate supervisedTime; + + @ApiModelProperty("1娓呴櫎涓嶇鍚堟帾鏂�") + private String eliminateMeasure; + + @ApiModelProperty("1璐d换閮ㄩ棬") + private String responsibleDepartment; + + @ApiModelProperty("1澶勭悊浜篿d") + private Integer actionsUserId; + + @ApiModelProperty("1澶勭悊浜�") + private String actionsUserName; + + @ApiModelProperty("1澶勭悊鏃堕棿") + @JsonFormat(pattern = "yyyy-MM-dd") + private LocalDate actionsTime; + + @ApiModelProperty("2绾犳鎺柦鍐呭") + private String correctContent; + + @ApiModelProperty("2鏄惁绾犳澶勭悊, 0鍚�, 1鏄�") + private Integer isCorrect; + + @ApiModelProperty("2绾犳鎶�鏈礋璐d汉id") + private Integer correctUserId; + + @ApiModelProperty("2绾犳鎶�鏈礋璐d汉") + private String correctUserName; + + @ApiModelProperty("2绾犳濉啓鏃堕棿") + @JsonFormat(pattern = "yyyy-MM-dd") + private LocalDate correctTime; + + @ApiModelProperty("3鏄惁閫氱煡瀹㈡埛, 0鍚�, 1鏄�") + private Integer notifyCustomer; + + @ApiModelProperty("3鏄惁鎭㈠宸ヤ綔, 0鍚�, 1鏄�") + private Integer backToWork; + + @ApiModelProperty("3璐ㄩ噺璐熻矗浜篿d") + private Integer qualityManagerUserId; + + @ApiModelProperty("3璐ㄩ噺璐熻矗浜�") + private String qualityManagerUserName; + + @ApiModelProperty("3璐ㄩ噺璐熻矗浜哄~鍐欐椂闂�") + @JsonFormat(pattern = "yyyy-MM-dd") + private LocalDate qualityManagerTime; + + @ApiModelProperty("鏄惁缁撴潫,0: 鏈粨鏉�, 1:缁撴潫") + private Integer isFinish; + + @ApiModelProperty("鍒涘缓浜�") + @TableField(fill = FieldFill.INSERT) + private Integer createUser; + + @ApiModelProperty("鍒涘缓鏃堕棿") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createTime; + + @ApiModelProperty("淇敼浜�") + @TableField(fill = FieldFill.INSERT_UPDATE) + private Integer updateUser; + + @ApiModelProperty("淇敼鏃堕棿") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @TableField(fill = FieldFill.INSERT_UPDATE) + private LocalDateTime updateTime; + + @TableField(exist = false,select = false) + @ApiModelProperty("娴佺▼, 0:涓嶇鍚堝伐浣滄儏鍐佃褰�, 1澶勭悊鎺柦, 2:绾犳鎺柦, 3:鏄惁閫氱煡瀹㈡埛鍙仮澶嶅伐浣�") + private Integer flowType; + +} + diff --git a/cnas-process/src/main/java/com/yuanchu/mom/pojo/QualitySuperviseDetailsCorrect.java b/cnas-process/src/main/java/com/yuanchu/mom/pojo/QualitySuperviseDetailsCorrect.java new file mode 100644 index 0000000..e08bc54 --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/pojo/QualitySuperviseDetailsCorrect.java @@ -0,0 +1,124 @@ +package com.yuanchu.mom.pojo; + +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.util.Date; + +import com.baomidou.mybatisplus.annotation.*; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * 璐ㄩ噺鐩戠潱璇︽儏绾犳澶勭悊琛� + * + * @author zhuo + * @since 2024-11-07 + */ +@Data +@TableName("cnas_quality_supervise_details_correct") +public class QualitySuperviseDetailsCorrect { + + @TableId(type = IdType.AUTO) + private Integer superviseDetailsCorrectId; + + @ApiModelProperty("鐩戠潱璇︽儏id") + private Integer superviseDetailsId; + + @ApiModelProperty("0涓嶅悎鏍兼弿杩�") + private String raiseResult; + + @ApiModelProperty("0vde涓撳鍙戠幇") + private String vdeRaiseResult; + + @ApiModelProperty("0鎻愬嚭閮ㄩ棬") + private String raiseDepartment; + + @ApiModelProperty("0鎻愬嚭浜篿d") + private Integer raiseUserId; + + @ApiModelProperty("0鎻愬嚭浜�") + private String raiseUserName; + + @ApiModelProperty("0鎻愬嚭鏃堕棿") + @JsonFormat(pattern = "yyyy-MM-dd") + private LocalDate raiseTime; + + @ApiModelProperty("1鍘熷洜鍒嗘瀽") + private String causeResult; + + @ApiModelProperty("1鍘熷洜鍒嗘瀽璐d换閮ㄩ棬") + private String causeDepartment; + + @ApiModelProperty("1鍘熷洜鍒嗘瀽浜篿d") + private Integer causeUserId; + + @ApiModelProperty("1鍘熷洜鍒嗘瀽浜�") + private String causeUserName; + + @ApiModelProperty("1鍘熷洜鍒嗘瀽鏃堕棿") + @JsonFormat(pattern = "yyyy-MM-dd") + private LocalDate causeTime; + + @ApiModelProperty("2绾犳鎺柦") + private String correctResult; + + @ApiModelProperty("2鎻愬嚭閮ㄩ棬纭") + private String raiseDepartmentAffirm; + + @ApiModelProperty("2绾犳璐d换閮ㄩ棬") + private String correctDepartment; + + @ApiModelProperty("2绾犳浜篿d") + private Integer correctUserId; + + @ApiModelProperty("2绾犳浜�") + private String correctUserName; + + @ApiModelProperty("2绾犳鏃堕棿") + @JsonFormat(pattern = "yyyy-MM-dd") + private LocalDate correctTime; + + @ApiModelProperty("3楠岃瘉缁撴灉") + private String validationResult; + + @ApiModelProperty("3楠岃瘉閮ㄩ棬") + private String validationDepartment; + + @ApiModelProperty("3楠岃瘉浜篿d") + private Integer validationUserId; + + @ApiModelProperty("3楠岃瘉浜�") + private String validationUserName; + + @ApiModelProperty("3楠岃瘉鏃堕棿") + @JsonFormat(pattern = "yyyy-MM-dd") + private LocalDate validationTime; + + @ApiModelProperty("鏄惁缁撴潫, 0: 鏈粨鏉�, 1:宸茬粨鏉�") + private Integer isFinish; + + @ApiModelProperty("鍒涘缓浜�") + @TableField(fill = FieldFill.INSERT) + private Integer createUser; + + @ApiModelProperty("鍒涘缓鏃堕棿") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createTime; + + @ApiModelProperty("淇敼浜�") + @TableField(fill = FieldFill.INSERT_UPDATE) + private Integer updateUser; + + @ApiModelProperty("淇敼鏃堕棿") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @TableField(fill = FieldFill.INSERT_UPDATE) + private LocalDateTime updateTime; + + @TableField(exist = false,select = false) + @ApiModelProperty("娴佺▼, 0:涓嶅悎鏍兼彁鍑�, 1:鍘熷洜鍒嗘瀽, 2:绾犳鎺柦, 3:楠岃瘉缁撴灉") + private Integer flowType; + +} + diff --git a/cnas-process/src/main/java/com/yuanchu/mom/pojo/QualitySuperviseDetailsCorrectFile.java b/cnas-process/src/main/java/com/yuanchu/mom/pojo/QualitySuperviseDetailsCorrectFile.java new file mode 100644 index 0000000..6220aff --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/pojo/QualitySuperviseDetailsCorrectFile.java @@ -0,0 +1,55 @@ +package com.yuanchu.mom.pojo; + +import java.time.LocalDateTime; +import java.util.Date; + +import com.baomidou.mybatisplus.annotation.*; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * 璐ㄩ噺鐩戠潱璇︽儏绾犳鎺柦闄勪欢琛� + * + * @author zhuo + * @since 2024-11-09 + */ +@Data +@TableName("cnas_quality_supervise_details_correct_file") +public class QualitySuperviseDetailsCorrectFile { + + @TableId(type = IdType.AUTO) + private Integer superviseDetailsCorrectFileId; + + @ApiModelProperty("鐩戠潱璇︽儏绾犳鎺柦id") + private Integer superviseDetailsCorrectId; + + @ApiModelProperty("绫诲瀷:1鍥剧墖/2鏂囦欢") + private Integer type; + + @ApiModelProperty("闄勪欢璺緞") + private String fileUrl; + + @ApiModelProperty("闄勪欢鍚嶇О") + private String fileName; + + @ApiModelProperty("鍒涘缓浜�") + @TableField(fill = FieldFill.INSERT) + private Integer createUser; + + @ApiModelProperty("鍒涘缓鏃堕棿") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createTime; + + @ApiModelProperty("淇敼浜�") + @TableField(fill = FieldFill.INSERT_UPDATE) + private Integer updateUser; + + @ApiModelProperty("淇敼鏃堕棿") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @TableField(fill = FieldFill.INSERT_UPDATE) + private LocalDateTime updateTime; + +} + diff --git a/cnas-process/src/main/java/com/yuanchu/mom/pojo/QualitySuperviseDetailsRecord.java b/cnas-process/src/main/java/com/yuanchu/mom/pojo/QualitySuperviseDetailsRecord.java new file mode 100644 index 0000000..1c7cee0 --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/pojo/QualitySuperviseDetailsRecord.java @@ -0,0 +1,120 @@ +package com.yuanchu.mom.pojo; + +import java.time.LocalDateTime; +import java.util.Date; + +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * 璐ㄩ噺鐩戠潱璇︽儏璁板綍琛� + * + * @author zhuo + * @since 2024-11-07 + */ +@Data +@TableName("cnas_quality_supervise_details_record") +public class QualitySuperviseDetailsRecord { + + @TableId + private Integer superviseDetailsRecordId; + + @ApiModelProperty("鐩戠潱璇︽儏id") + private Integer superviseDetailsId; + + @ApiModelProperty("妫�娴嬩汉鍛�") + private String testMember; + + @ApiModelProperty("鐩戠潱鍛�") + private String supervisor; + + @ApiModelProperty("妫�娴嬮」鐩�") + private String testItem; + + @ApiModelProperty("鏍峰搧缂栧彿") + private String sampleNumber; + + @ApiModelProperty("妫�娴嬫棩鏈�") + private String testDate; + + @ApiModelProperty("妫�娴嬭繃绋�") + private String testingProcess; + + @ApiModelProperty("鎯呭喌璁板綍") + private String caseReload; + + @ApiModelProperty("浜哄憳") + private String personnel; + + @ApiModelProperty("浠櫒璁惧") + private String device; + + @ApiModelProperty("鐜") + private String environment; + + @ApiModelProperty("鏍峰搧閲囬泦") + private String sampleCollection; + + @ApiModelProperty("鏍峰搧鍑嗗") + private String samplePreparation; + + @ApiModelProperty("妫�娴嬫柟娉�") + private String detectionMethod; + + @ApiModelProperty("妫�娴嬭褰�") + private String inspectionRecord; + + @ApiModelProperty("妫�娴嬫姤鍛�") + private String examiningReport; + + @ApiModelProperty("鐩戠潱鎯呭喌璇勪环") + private String supervisionEvaluation; + + @ApiModelProperty("涓嶅悎鏍煎鐞嗘剰瑙�") + private String handlingAdvice; + + @ApiModelProperty("鎵瑰噯缁撹") + private String ratifyOpinion; + + @ApiModelProperty("鎵瑰噯鎶�鏈礋璐d汉") + private Integer ratifyUserId; + + @ApiModelProperty("鎵瑰噯鏃堕棿") + @JsonFormat(pattern = "yyyy-MM-dd") + private LocalDateTime ratifyTime; + + @ApiModelProperty("鏄惁绗﹀悎,0 涓嶇鍚�, 1绗﹀悎") + private Integer isAccording; + + @ApiModelProperty("鏄惁缁撴潫0:鏈粨鏉�, 1:宸茬粨鏉�") + private Integer isFinish; + + @ApiModelProperty("鍒涘缓浜�") + @TableField(fill = FieldFill.INSERT) + private Integer createUser; + + @ApiModelProperty("鍒涘缓鏃堕棿") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createTime; + + @ApiModelProperty("淇敼浜�") + @TableField(fill = FieldFill.INSERT_UPDATE) + private Integer updateUser; + + @ApiModelProperty("淇敼鏃堕棿") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @TableField(fill = FieldFill.INSERT_UPDATE) + private LocalDateTime updateTime; + + @ApiModelProperty("鎵瑰噯鎶�鏈礋璐d汉") + @TableField(exist = false,select = false) + private String ratifyUserName; + +} + diff --git a/cnas-process/src/main/java/com/yuanchu/mom/schedule/ProcessTotaldealSchedule.java b/cnas-process/src/main/java/com/yuanchu/mom/schedule/ProcessTotaldealSchedule.java new file mode 100644 index 0000000..0cdd2ce --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/schedule/ProcessTotaldealSchedule.java @@ -0,0 +1,37 @@ +package com.yuanchu.mom.schedule; + +import com.yuanchu.mom.pojo.ProcessTotalSample; +import com.yuanchu.mom.pojo.ProcessTotaldeal; +import com.yuanchu.mom.service.ProcessTotalSampleService; +import com.yuanchu.mom.service.ProcessTotaldealService; +import org.springframework.beans.BeanUtils; +import org.springframework.scheduling.annotation.Scheduled; +import org.springframework.stereotype.Component; + +import javax.annotation.Resource; +import java.text.SimpleDateFormat; +import java.util.Calendar; + +@Component +public class ProcessTotaldealSchedule { + + @Resource + private ProcessTotaldealService processTotaldealService; + + @Resource + private ProcessTotalSampleService processTotalSampleService; + + @Scheduled(cron = "0 0 2 1 * ?") //姣忔湀1鍙�2鐐� + public void processTotaldeal() { + ProcessTotaldeal processTotaldeal = new ProcessTotaldeal(); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM"); + Calendar calendar = Calendar.getInstance(); + String formattedDate = sdf.format(calendar.getTime()); + processTotaldeal.setMonth(formattedDate); + processTotaldeal.setSubmitState("寰呮彁浜�"); + processTotaldealService.save(processTotaldeal); + ProcessTotalSample processTotalSample = new ProcessTotalSample(); + BeanUtils.copyProperties(processTotaldeal,processTotalSample); + processTotalSampleService.save(processTotalSample); + } +} diff --git a/cnas-process/src/main/java/com/yuanchu/mom/service/InconsistentDistributionDetailService.java b/cnas-process/src/main/java/com/yuanchu/mom/service/InconsistentDistributionDetailService.java new file mode 100644 index 0000000..253334a --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/service/InconsistentDistributionDetailService.java @@ -0,0 +1,16 @@ +package com.yuanchu.mom.service; + +import com.yuanchu.mom.pojo.InconsistentDistributionDetail; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * <p> + * 涓嶇鍚堥」鐨勫垎甯冭鎯� 鏈嶅姟绫� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-15 09:53:33 + */ +public interface InconsistentDistributionDetailService extends IService<InconsistentDistributionDetail> { + +} diff --git a/cnas-process/src/main/java/com/yuanchu/mom/service/InconsistentDistributionService.java b/cnas-process/src/main/java/com/yuanchu/mom/service/InconsistentDistributionService.java new file mode 100644 index 0000000..d64000d --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/service/InconsistentDistributionService.java @@ -0,0 +1,63 @@ +package com.yuanchu.mom.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yuanchu.mom.dto.InconsistentDistributionDto; +import com.yuanchu.mom.pojo.InconsistentDistribution; +import com.baomidou.mybatisplus.extension.service.IService; + +import javax.servlet.http.HttpServletResponse; + +/** + * <p> + * 涓嶇鍚堥」鐨勫垎甯� 鏈嶅姟绫� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-15 09:53:20 + */ +public interface InconsistentDistributionService extends IService<InconsistentDistribution> { + + /** + * 涓嶇鍚堥」鐨勫垎甯冨垎椤垫煡璇� + * @param page + * @param inconsistentDistribution + * @return + */ + IPage<InconsistentDistributionDto> pageInconsistentDistribution(Page page, InconsistentDistribution inconsistentDistribution); + + /** + * 涓嶇鍚堥」鐨勫垎甯冩柊澧� + * @param inconsistentDistribution + * @return + */ + boolean addInconsistentDistribution(InconsistentDistributionDto inconsistentDistribution); + + /** + * 涓嶇鍚堥」鐨勫垎甯冧慨鏀� + * @param inconsistentDistribution + * @return + */ + boolean updateInconsistentDistribution(InconsistentDistributionDto inconsistentDistribution); + + /** + * 涓嶇鍚堥」鐨勫垎甯冨垹闄� + * @param distributionId + * @return + */ + boolean delInconsistentDistribution(Integer distributionId); + + /** + * 涓嶇鍚堥」鐨勫垎甯冩煡鐪嬭鎯� + * @param distributionId + * @return + */ + InconsistentDistributionDto getInconsistentDistributionOne(Integer distributionId); + + /** + * 瀵煎嚭涓嶇鍚堥」鐨勫垎甯� + * @param distributionId + * @param response + */ + void exportInconsistentDistribution(Integer distributionId, HttpServletResponse response); +} diff --git a/cnas-process/src/main/java/com/yuanchu/mom/service/ProcessComplainService.java b/cnas-process/src/main/java/com/yuanchu/mom/service/ProcessComplainService.java new file mode 100644 index 0000000..e800e2c --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/service/ProcessComplainService.java @@ -0,0 +1,31 @@ +package com.yuanchu.mom.service; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yuanchu.mom.dto.ProcessComplainDto; +import com.yuanchu.mom.pojo.ProcessComplain; +import com.baomidou.mybatisplus.extension.service.IService; + +import javax.servlet.http.HttpServletResponse; +import java.util.List; +import java.util.Map; + +/** + * <p> + * 鎶曡瘔 鏈嶅姟绫� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-02 09:29:11 + */ +public interface ProcessComplainService extends IService<ProcessComplain> { + + Map<String,Object> pageProcessComplain(Page page, ProcessComplain processComplain); + + int addProcessComplain(ProcessComplain processComplain); + + ProcessComplainDto getProcessComplain(Long id); + + int doProcessComplain(ProcessComplain processComplain); + + void exportProcessComplain(ProcessComplain processComplain, HttpServletResponse response) throws Exception; +} diff --git a/cnas-process/src/main/java/com/yuanchu/mom/service/ProcessDealService.java b/cnas-process/src/main/java/com/yuanchu/mom/service/ProcessDealService.java new file mode 100644 index 0000000..e4ea03b --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/service/ProcessDealService.java @@ -0,0 +1,26 @@ +package com.yuanchu.mom.service; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yuanchu.mom.pojo.ProcessDeal; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.Map; + +/** + * <p> + * 妫�娴嬫垨鏍″噯鐗╁搧鐨勫缃� 鏈嶅姟绫� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-02 02:50:19 + */ +public interface ProcessDealService extends IService<ProcessDeal> { + + Map<String,Object> pageProcessDeal(Page page, ProcessDeal processDeal); + + int addProcessDeal(ProcessDeal processDeal); + + int delProcessDeal(Integer id); + + int doProcessDeal(ProcessDeal processDeal); +} diff --git a/cnas-process/src/main/java/com/yuanchu/mom/service/ProcessEvaluateService.java b/cnas-process/src/main/java/com/yuanchu/mom/service/ProcessEvaluateService.java new file mode 100644 index 0000000..ddec862 --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/service/ProcessEvaluateService.java @@ -0,0 +1,28 @@ +package com.yuanchu.mom.service; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yuanchu.mom.pojo.ProcessEvaluate; +import com.baomidou.mybatisplus.extension.service.IService; +import org.springframework.web.multipart.MultipartFile; + +import javax.servlet.http.HttpServletResponse; +import java.util.Map; + +/** + * <p> + * 娴嬮噺涓嶇‘瀹氬害鐨勮瘎浠� 鏈嶅姟绫� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-02 01:10:43 + */ +public interface ProcessEvaluateService extends IService<ProcessEvaluate> { + + Map<String,Object> pageProcessEvaluate(Page page, ProcessEvaluate processEvaluate); + + int addProcessEvaluate(MultipartFile file); + + int doProcessEvaluate(ProcessEvaluate processEvaluate); + + void exportProcessEvaluate(ProcessEvaluate processEvaluate, HttpServletResponse response) throws Exception; +} diff --git a/cnas-process/src/main/java/com/yuanchu/mom/service/ProcessMethodSearchNewService.java b/cnas-process/src/main/java/com/yuanchu/mom/service/ProcessMethodSearchNewService.java new file mode 100644 index 0000000..d305ced --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/service/ProcessMethodSearchNewService.java @@ -0,0 +1,51 @@ +package com.yuanchu.mom.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.yuanchu.mom.dto.ProcessMethodSearchNewDto; +import com.yuanchu.mom.pojo.ProcessComplain; +import com.yuanchu.mom.pojo.ProcessMethodSearchNew; +import org.springframework.web.multipart.MultipartFile; + +import javax.servlet.http.HttpServletResponse; +import java.util.List; +import java.util.Map; + +/** + * 鏍囧噯鏌ユ柊 + * + * @author zhuo + * @since 2024-11-04 + */ +public interface ProcessMethodSearchNewService extends IService<ProcessMethodSearchNew> { + + /** + * 鏂板鏍囧噯鏌ユ柊 + * @param processMethodSearchNewList + * @return + */ + boolean addMethodSearchNew(List<ProcessMethodSearchNew> processMethodSearchNewList); + + /** + * 鏍囧噯鏌ユ柊鍒楄〃 + * @param processMethodSearchNew + * @return + */ + IPage<ProcessMethodSearchNew> pageMethodSearchNew(Page page, ProcessMethodSearchNewDto processMethodSearchNew); + + /** + * 鏍囧噯鏌ユ柊瀵煎嚭 + * @param processMethodSearchNew + * @param response + */ + void exportMethodSearchNew(ProcessMethodSearchNewDto processMethodSearchNew, HttpServletResponse response); + + /** + * 瀵煎叆鏍囧噯鏌ユ柊 + * @param file + * @return + */ + boolean importMethodSearchNew(MultipartFile file); +} + diff --git a/cnas-process/src/main/java/com/yuanchu/mom/service/ProcessMethodVerifyCalibrationsFileService.java b/cnas-process/src/main/java/com/yuanchu/mom/service/ProcessMethodVerifyCalibrationsFileService.java new file mode 100644 index 0000000..aab90ab --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/service/ProcessMethodVerifyCalibrationsFileService.java @@ -0,0 +1,15 @@ +package com.yuanchu.mom.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.yuanchu.mom.pojo.ProcessMethodVerifyCalibrationsFile; + +/** + * 鏍囧噯鏂规硶楠岃瘉璁惧鏍″噯闄勪欢琛� + * + * @author zhuo + * @since 2024-11-12 + */ +public interface ProcessMethodVerifyCalibrationsFileService extends IService<ProcessMethodVerifyCalibrationsFile> { + +} + diff --git a/cnas-process/src/main/java/com/yuanchu/mom/service/ProcessMethodVerifyMachineAttachmentService.java b/cnas-process/src/main/java/com/yuanchu/mom/service/ProcessMethodVerifyMachineAttachmentService.java new file mode 100644 index 0000000..1939815 --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/service/ProcessMethodVerifyMachineAttachmentService.java @@ -0,0 +1,15 @@ +package com.yuanchu.mom.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.yuanchu.mom.pojo.ProcessMethodVerifyMachineAttachment; + +/** + * 鏍囧噯鏂规硶楠岃瘉璁惧闄勪欢琛� + * + * @author zhuo + * @since 2024-11-05 + */ +public interface ProcessMethodVerifyMachineAttachmentService extends IService<ProcessMethodVerifyMachineAttachment> { + +} + diff --git a/cnas-process/src/main/java/com/yuanchu/mom/service/ProcessMethodVerifyMethodFileService.java b/cnas-process/src/main/java/com/yuanchu/mom/service/ProcessMethodVerifyMethodFileService.java new file mode 100644 index 0000000..1536172 --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/service/ProcessMethodVerifyMethodFileService.java @@ -0,0 +1,15 @@ +package com.yuanchu.mom.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.yuanchu.mom.pojo.ProcessMethodVerifyMethodFile; + +/** + * 鏍囧噯鏂规硶楠岃瘉(娉�)闄勪欢琛�(CnasProcessMethodVerifyMethodFile)$desc + * + * @author makejava + * @since 2024-11-05 10:52:44 + */ +public interface ProcessMethodVerifyMethodFileService extends IService<ProcessMethodVerifyMethodFile> { + +} + diff --git a/cnas-process/src/main/java/com/yuanchu/mom/service/ProcessMethodVerifyService.java b/cnas-process/src/main/java/com/yuanchu/mom/service/ProcessMethodVerifyService.java new file mode 100644 index 0000000..a2d185d --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/service/ProcessMethodVerifyService.java @@ -0,0 +1,87 @@ +package com.yuanchu.mom.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.yuanchu.mom.dto.ProcessMethodVerifyDto; +import com.yuanchu.mom.pojo.ProcessMethodVerify; +import com.yuanchu.mom.pojo.ProcessMethodVerifyMethodFile; +import org.springframework.web.multipart.MultipartFile; + +import javax.servlet.http.HttpServletResponse; +import java.util.List; + +/** + * 鏍囧噯鏂规硶楠岃瘉 + * + * @author zhuo + * @since 2024-11-05 + */ +public interface ProcessMethodVerifyService extends IService<ProcessMethodVerify> { + + /** + * 鏍囧噯鏂规硶璺熸柊楠岃瘉鍒楄〃 + * @param page + * @param methodVerifyDto + * @return + */ + IPage<ProcessMethodVerify> pagesMethodVerify(Page page, ProcessMethodVerifyDto methodVerifyDto); + + /** + * 鏂板鏍囧噯鏂规硶楠岃瘉 + * @param methodVerifyDto + * @return + */ + boolean addMethodSearchNew(ProcessMethodVerifyDto methodVerifyDto); + + /** + * 鏌ヨ鏍囧噯鏂规硶楠岃瘉璇︽儏 + * @param methodVerifyId + * @return + */ + ProcessMethodVerifyDto getMethodVerifyOne(Integer methodVerifyId); + + /** + * 淇敼鏍囧噯鏂规硶楠岃瘉 + * @param methodVerifyDto + * @return + */ + boolean updateMethodVerify(ProcessMethodVerifyDto methodVerifyDto); + + /** + * 鍒犻櫎鏍囧噯鏂规硶楠岃瘉 + * @param methodVerifyId + * @return + */ + boolean delMethodVerify(Integer methodVerifyId); + + /** + * 鏍囧噯鏂规硶楠岃瘉纭 + * @param methodVerifyId + * @return + */ + boolean methodVerifyAffirm(Integer methodVerifyId); + + /** + * 鏍囧噯鏂规硶楠岃瘉鏂板鍘熷璁板綍 + * @param methodVerifyId + * @param file + * @return + */ + boolean uploadVerifyMethodFile(Integer methodVerifyId, MultipartFile file); + + /** + * 鏍囧噯鏂规硶鏇存柊楠岃瘉鍘熷璁板綍鍒楄〃 + * @return + */ + List<ProcessMethodVerifyMethodFile> getVerifyMethodFileList(Integer methodVerifyId); + + /** + * 瀵煎嚭鏍囧噯鏂规硶鏇存柊楠岃瘉 + * + * @param methodVerifyId 鏍囧噯鏂规硶楠岃瘉id + * @param response + */ + void exportMethodVerify(Integer methodVerifyId, HttpServletResponse response); +} + diff --git a/cnas-process/src/main/java/com/yuanchu/mom/service/ProcessMethodVerifyWorkFileService.java b/cnas-process/src/main/java/com/yuanchu/mom/service/ProcessMethodVerifyWorkFileService.java new file mode 100644 index 0000000..3f0d5b8 --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/service/ProcessMethodVerifyWorkFileService.java @@ -0,0 +1,15 @@ +package com.yuanchu.mom.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.yuanchu.mom.pojo.ProcessMethodVerifyWorkFile; + +/** + * 鏍囧噯鏂规硶楠岃瘉涓婂矖璇侀檮浠惰〃 + * + * @author zhuo + * @since 2024-11-12 + */ +public interface ProcessMethodVerifyWorkFileService extends IService<ProcessMethodVerifyWorkFile> { + +} + diff --git a/cnas-process/src/main/java/com/yuanchu/mom/service/ProcessOrderService.java b/cnas-process/src/main/java/com/yuanchu/mom/service/ProcessOrderService.java new file mode 100644 index 0000000..6368c68 --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/service/ProcessOrderService.java @@ -0,0 +1,28 @@ +package com.yuanchu.mom.service; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yuanchu.mom.dto.ProcessOrderDto; +import com.yuanchu.mom.pojo.ProcessOrder; +import com.baomidou.mybatisplus.extension.service.IService; + +import javax.servlet.http.HttpServletResponse; +import java.util.Map; + +/** + * <p> + * 瑕佹眰銆佹爣涔﹀拰鍚堝悓璇勫 鏈嶅姟绫� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-05 03:06:20 + */ +public interface ProcessOrderService extends IService<ProcessOrder> { + + Map<String,Object> pageProcessOrder(Page page, ProcessOrderDto processOrderDto); + + ProcessOrderDto getProcessOrder(Integer id); + + int doProcessOrder(ProcessOrder processOrder); + + void exportInspectionOrder(Integer id, HttpServletResponse response); +} diff --git a/cnas-process/src/main/java/com/yuanchu/mom/service/ProcessReportService.java b/cnas-process/src/main/java/com/yuanchu/mom/service/ProcessReportService.java new file mode 100644 index 0000000..67751f5 --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/service/ProcessReportService.java @@ -0,0 +1,24 @@ +package com.yuanchu.mom.service; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yuanchu.mom.pojo.ProcessReport; +import com.baomidou.mybatisplus.extension.service.IService; + +import javax.servlet.http.HttpServletResponse; +import java.util.List; +import java.util.Map; + +/** + * <p> + * 妫�楠屾姤鍛婂彂鏀剧櫥璁拌〃 鏈嶅姟绫� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-05 08:58:39 + */ +public interface ProcessReportService extends IService<ProcessReport> { + + Map<String,Object> pageProcessReport(Page page, ProcessReport processReport); + + String exportProcessReport(List<Integer> ids); +} diff --git a/cnas-process/src/main/java/com/yuanchu/mom/service/ProcessSampleService.java b/cnas-process/src/main/java/com/yuanchu/mom/service/ProcessSampleService.java new file mode 100644 index 0000000..558bec3 --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/service/ProcessSampleService.java @@ -0,0 +1,26 @@ +package com.yuanchu.mom.service; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yuanchu.mom.pojo.ProcessSample; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.Map; + +/** + * <p> + * 鏍峰搧鎺ユ敹 鏈嶅姟绫� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-12-12 05:02:49 + */ +public interface ProcessSampleService extends IService<ProcessSample> { + + Map<String,Object> pageProcessSample(Page page, ProcessSample processSample); + + int addProcessSample(ProcessSample processSample); + + int delProcessSample(Integer id); + + int doProcessSample(ProcessSample processSample); +} diff --git a/cnas-process/src/main/java/com/yuanchu/mom/service/ProcessTotalSampleService.java b/cnas-process/src/main/java/com/yuanchu/mom/service/ProcessTotalSampleService.java new file mode 100644 index 0000000..ce0a4ab --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/service/ProcessTotalSampleService.java @@ -0,0 +1,26 @@ +package com.yuanchu.mom.service; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yuanchu.mom.pojo.ProcessTotalSample; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.Map; + +/** + * <p> + * 鏍峰搧鎺ユ敹鎬昏〃 鏈嶅姟绫� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-12-12 05:02:58 + */ +public interface ProcessTotalSampleService extends IService<ProcessTotalSample> { + + Map<String,Object> pageProcessTotalSample(Page page, ProcessTotalSample processTotalSample); + + int submitProcessTotalSample(Integer id); + + int checkProcessTotalSample(Integer id, String state); + + int ratifyProcessTotalSample(Integer id, String state); +} diff --git a/cnas-process/src/main/java/com/yuanchu/mom/service/ProcessTotaldealService.java b/cnas-process/src/main/java/com/yuanchu/mom/service/ProcessTotaldealService.java new file mode 100644 index 0000000..0259aa7 --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/service/ProcessTotaldealService.java @@ -0,0 +1,27 @@ +package com.yuanchu.mom.service; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yuanchu.mom.pojo.ProcessTotaldeal; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.io.IOException; +import java.util.Map; + +/** + * <p> + * 妫�娴嬫垨鏍″噯鐗╁搧鐨勫缃�昏〃(鍘嗗彶) 鏈嶅姟绫� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-02 03:59:09 + */ +public interface ProcessTotaldealService extends IService<ProcessTotaldeal> { + + Map<String,Object> pageProcessTotaldeal(Page page, ProcessTotaldeal processTotaldeal); + + int checkProcessTotaldeal(Integer id, String state); + + int submitProcessTotaldeal(Integer id); + + int ratifyProcessTotaldeal(Integer id, String state); +} diff --git a/cnas-process/src/main/java/com/yuanchu/mom/service/QualityMonitorDetailsEvaluateService.java b/cnas-process/src/main/java/com/yuanchu/mom/service/QualityMonitorDetailsEvaluateService.java new file mode 100644 index 0000000..2733e7f --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/service/QualityMonitorDetailsEvaluateService.java @@ -0,0 +1,15 @@ +package com.yuanchu.mom.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.yuanchu.mom.pojo.QualityMonitorDetailsEvaluate; + +/** + * 璐ㄩ噺鐩戞帶璁″垝璇︽儏璇勪环琛� + * + * @author zhuo + * @since 2024-11-06 + */ +public interface QualityMonitorDetailsEvaluateService extends IService<QualityMonitorDetailsEvaluate> { + +} + diff --git a/cnas-process/src/main/java/com/yuanchu/mom/service/QualityMonitorDetailsRatifyService.java b/cnas-process/src/main/java/com/yuanchu/mom/service/QualityMonitorDetailsRatifyService.java new file mode 100644 index 0000000..e464374 --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/service/QualityMonitorDetailsRatifyService.java @@ -0,0 +1,15 @@ +package com.yuanchu.mom.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.yuanchu.mom.pojo.QualityMonitorDetailsRatify; + +/** + * 璐ㄩ噺鐩戞帶璁″垝璇︽儏鎵瑰噯琛� + * + * @author zhuo + * @since 2024-11-06 + */ +public interface QualityMonitorDetailsRatifyService extends IService<QualityMonitorDetailsRatify> { + +} + diff --git a/cnas-process/src/main/java/com/yuanchu/mom/service/QualityMonitorDetailsService.java b/cnas-process/src/main/java/com/yuanchu/mom/service/QualityMonitorDetailsService.java new file mode 100644 index 0000000..89c78e5 --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/service/QualityMonitorDetailsService.java @@ -0,0 +1,15 @@ +package com.yuanchu.mom.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.yuanchu.mom.pojo.QualityMonitorDetails; + +/** + * 璐ㄩ噺鐩戞帶璁″垝璇︽儏琛� + * + * @author zhuo + * @since 2024-11-06 + */ +public interface QualityMonitorDetailsService extends IService<QualityMonitorDetails> { + +} + diff --git a/cnas-process/src/main/java/com/yuanchu/mom/service/QualityMonitorService.java b/cnas-process/src/main/java/com/yuanchu/mom/service/QualityMonitorService.java new file mode 100644 index 0000000..b4bfd07 --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/service/QualityMonitorService.java @@ -0,0 +1,144 @@ +package com.yuanchu.mom.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.yuanchu.mom.dto.QualityMonitorDto; +import com.yuanchu.mom.pojo.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.servlet.http.HttpServletResponse; +import java.util.List; + +/** + * 璐ㄩ噺鐩戞帶璁″垝涓昏〃 + * + * @author zhuo + * @since 2024-11-06 + */ +public interface QualityMonitorService extends IService<QualityMonitor> { + + /** + * 瀵煎叆鐩戞帶璁″垝 + * @param file + * @return + */ + boolean importQualityMonitor(MultipartFile file); + + + /** + * 鐩戞帶璁″垝瀹℃牳 + * @param qualityMonitor + * @return + */ + boolean examineQualityMonitor(QualityMonitor qualityMonitor); + + /** + * 鐩戞帶璁″垝鎵瑰噯 + * @param qualityMonitor + * @return + */ + boolean ratifyQualityMonitor(QualityMonitor qualityMonitor); + + /** + * 鐩戞帶璁″垝鍒楄〃 + * @param page + * @param qualityMonitor + * @return + */ + IPage<QualityMonitorDto> pageQualityMonitor(Page page, QualityMonitor qualityMonitor); + + /** + * 鐩戞帶璁″垝璇︽儏鍒楄〃 + * @param page + * @param qualityMonitorDetails + * @return + */ + IPage<QualityMonitorDetails> pageQualityMonitorDetail(Page page, QualityMonitorDetails qualityMonitorDetails); + + + /** + * 瀵煎嚭鐩戞帶璁″垝 + * + * @param qualityMonitorId + * @param response + */ + void exportQualityMonitorDetail(Integer qualityMonitorId, HttpServletResponse response); + + + /************************************************************ 瀹炴柦 *******************************************************************/ + + /** + * 鏌ヨ鐩戞帶璁″垝璇︽儏瀹炴柦淇℃伅 + * @param qualityMonitorDetailsId + * @return + */ + QualityMonitorDetailsRatify getQualityMonitorRatify(Integer qualityMonitorDetailsId); + + /** + * 鏂板鐩戞帶璇︽儏瀹炴柦 + * @param qualityMonitorDetailsRatify + * @return + */ + boolean addQualityMonitorRatify(QualityMonitorDetailsRatify qualityMonitorDetailsRatify); + + /** + * 鐩戞帶璁″垝璇︽儏瀹炴柦鎰忚 + * @param qualityMonitorDetailsRatify + * @return + */ + boolean addQualityMonitorRatifyOpinion(QualityMonitorDetailsRatify qualityMonitorDetailsRatify); + + /** + * 瀵煎嚭鐩戞帶璁″垝璇︽儏瀹炴柦淇℃伅 + * + * @param detailsRatifyId 鐩戞帶璁″垝璇︽儏瀹炴柦id + * @param response + */ + void exportQualityMonitorRatify(Integer detailsRatifyId, HttpServletResponse response); + + + /************************************************************ 璇勪环 *******************************************************************/ + + /** + * + * @param qualityMonitorDetailsId + * @return + */ + QualityMonitorDetailsEvaluate getQualityMonitorEvaluate(Integer qualityMonitorDetailsId); + + /** + * 鏂板鐩戞帶璇勪环 + * @param qualityMonitorDetailsEvaluate + * @return + */ + boolean addQualityMonitorEvaluate(QualityMonitorDetailsEvaluate qualityMonitorDetailsEvaluate); + + /** + * 鐩戞帶璇勪环瀹℃壒鎰忚 + * @param qualityMonitorDetailsEvaluate + * @return + */ + boolean addMonitorEvaluateOpinion(QualityMonitorDetailsEvaluate qualityMonitorDetailsEvaluate); + + /** + * 鏂板鐩戞帶璇勪环闄勪欢琛� + * @param detailsEvaluateId + * @param file + * @return + */ + boolean uploadEvaluateFile(Integer detailsEvaluateId, MultipartFile file); + + /** + * 鏌ヨ鐩戞帶璇勪环闄勪欢鍒楄〃 + * @return + */ + List<QualityMonitorDetailsEvaluateFile> getEvaluateFileList(Integer detailsEvaluateId); + + /** + * 瀵煎嚭鐩戞帶璇勪环 + * @param detailsEvaluateId 鐩戞帶璇勪环id + */ + void exportQualityMonitorEvaluate(Integer detailsEvaluateId, HttpServletResponse response); +} + diff --git a/cnas-process/src/main/java/com/yuanchu/mom/service/QualitySuperviseDetailsService.java b/cnas-process/src/main/java/com/yuanchu/mom/service/QualitySuperviseDetailsService.java new file mode 100644 index 0000000..a87b07d --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/service/QualitySuperviseDetailsService.java @@ -0,0 +1,15 @@ +package com.yuanchu.mom.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.yuanchu.mom.pojo.QualitySuperviseDetails; + +/** + * 璐ㄩ噺鐩戠潱璇︽儏琛� + * + * @author zhuo + * @since 2024-11-07 + */ +public interface QualitySuperviseDetailsService extends IService<QualitySuperviseDetails> { + +} + diff --git a/cnas-process/src/main/java/com/yuanchu/mom/service/QualitySuperviseService.java b/cnas-process/src/main/java/com/yuanchu/mom/service/QualitySuperviseService.java new file mode 100644 index 0000000..f564434 --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/service/QualitySuperviseService.java @@ -0,0 +1,163 @@ +package com.yuanchu.mom.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.yuanchu.mom.dto.QualitySuperviseDetailsDto; +import com.yuanchu.mom.pojo.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.servlet.http.HttpServletResponse; +import java.util.List; + +/** + * 璐ㄩ噺鐩戠潱涓昏〃 + * + * @author zhuo + * @since 2024-11-07 + */ +public interface QualitySuperviseService extends IService<QualitySupervise> { + + /** + * 瀵煎叆鐩戠潱璁″垝 + * @param file + * @return + */ + boolean importQualitySupervise(MultipartFile file); + + /** + * 鐩戠潱璁″垝鎵瑰噯 + * @param qualitySupervise + * @return + */ + boolean ratifyQualitySupervise(QualitySupervise qualitySupervise); + + /** + * 鐩戠潱璁″垝鍒楄〃 + * @return + */ + IPage<QualitySupervise> pageQualitySupervise(Page page, QualitySupervise qualitySupervise); + + /** + * 鐩戠潱璁″垝璇︽儏鍒楄〃 + * @return + */ + IPage<QualitySuperviseDetailsDto> pageQualitySuperviseDetail(Page page, QualitySuperviseDetails qualitySuperviseDetails); + + /** + * 瀵煎嚭鐩戠潱璁″垝 + * @param superviseId + * @param response + */ + void exportQualitySupervise(Integer superviseId, HttpServletResponse response); + + /************************************************ 璁板綍 ******************************************************/ + + /** + * 鏌ヨ鐩戠潱璁板綍淇℃伅 + * @param superviseDetailsId + * @return + */ + QualitySuperviseDetailsRecord getSuperviseDetailRecord(Integer superviseDetailsId); + + /** + * 鏂板鐩戠潱璁板綍淇℃伅 + * @param qualitySuperviseDetailsRecord + * @return + */ + boolean addSuperviseDetailRecord(QualitySuperviseDetailsRecord qualitySuperviseDetailsRecord); + + /** + * 鐩戠潱璁板綍鎵瑰噯 + * @param qualitySuperviseDetailsRecord + * @return + */ + boolean addSuperviseRecordOpinion(QualitySuperviseDetailsRecord qualitySuperviseDetailsRecord); + + /** + * 瀵煎嚭鐩戠潱璁板綍琛� + * @param superviseDetailsId + * @param response + */ + void exportSuperviseDetailRecord(Integer superviseDetailsId, HttpServletResponse response); + + /************************************************* 涓嶅悎鏍煎伐浣滄帶鍒跺崟 ********************************************************/ + + /** + * 鏂板鐩戠潱璁板綍涓嶇鍚堟帶鍒朵俊鎭� + * @param qualitySuperviseDetailsAccording + * @return + */ + boolean addSuperviseDetailAccording(QualitySuperviseDetailsAccording qualitySuperviseDetailsAccording); + + /** + * 鏌ヨ鐩戠潱璁板綍涓嶇鍚堟帶鍒朵俊鎭� + * @param superviseDetailsId + * @return + */ + QualitySuperviseDetailsAccording getSuperviseDetailAccording(Integer superviseDetailsId); + + /** + * 鏌ヨ鐩戠潱璁板綍涓嶇鍚堟帶鍒朵俊鎭垪琛� + * @param detailsAccording + * @return + */ + IPage<QualitySuperviseDetailsAccording> pageSuperviseDetailAccording(Page page, QualitySuperviseDetailsAccording detailsAccording); + + /** + * 瀵煎嚭鐩戠潱璁板綍涓嶇鍚堟帶鍒朵俊鎭� + * @param superviseDetailAccordingId + * @param response + */ + void superviseDetailAccordingExport(Integer superviseDetailAccordingId, HttpServletResponse response); + + /************************************************* 绾犳鎺柦澶勭悊鍗� ********************************************************/ + + /** + * 鏂板鐩戠潱绾犳澶勭悊淇℃伅 + * @param qualitySuperviseDetailsAccording + * @return + */ + boolean addSuperviseDetailCorrect(QualitySuperviseDetailsCorrect qualitySuperviseDetailsAccording); + + /** + * 鏌ヨ鐩戠潱绾犳澶勭悊 + * @param superviseDetailsId + * @return + */ + QualitySuperviseDetailsCorrect getSuperviseDetailCorrect(Integer superviseDetailsId); + + /** + * 鏌ヨ鐩戠潱绾犳鎺柦鍒楄〃 + * @param page + * @param detailsCorrect + * @return + */ + IPage<QualitySuperviseDetailsCorrect> pageSuperviseDetailCorrect(Page page, QualitySuperviseDetailsCorrect detailsCorrect); + + /** + * 鏂板鐩戠潱绾犳鎺柦闄勪欢 + * @param superviseDetailsCorrectId + * @param file + * @return + */ + boolean uploadSuperviseDetailCorrectFile(Integer superviseDetailsCorrectId, MultipartFile file); + + /** + * 鏌ヨ鐩戠潱绾犳鎺柦闄勪欢 + * @param superviseDetailsCorrectId + * @return + */ + List<QualitySuperviseDetailsCorrectFile> getSuperviseDetailCorrectFileList(Integer superviseDetailsCorrectId); + + /** + * 瀵煎嚭鐩戠潱绾犳鎺柦 + * @param superviseDetailsCorrectId + * @param response + */ + void exportSuperviseDetaillCorrect(Integer superviseDetailsCorrectId, HttpServletResponse response); + + /************************************************* 璐ㄩ噺鐩戠潱璁板綍 ********************************************************/ + +} + diff --git a/cnas-process/src/main/java/com/yuanchu/mom/service/impl/CnasProcessMethodVerifyCalibrationsFileServiceImpl.java b/cnas-process/src/main/java/com/yuanchu/mom/service/impl/CnasProcessMethodVerifyCalibrationsFileServiceImpl.java new file mode 100644 index 0000000..4db5e20 --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/service/impl/CnasProcessMethodVerifyCalibrationsFileServiceImpl.java @@ -0,0 +1,19 @@ +package com.yuanchu.mom.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.yuanchu.mom.mapper.ProcessMethodVerifyCalibrationsFileMapper; +import com.yuanchu.mom.pojo.ProcessMethodVerifyCalibrationsFile; +import com.yuanchu.mom.service.ProcessMethodVerifyCalibrationsFileService; +import org.springframework.stereotype.Service; + +/** + * 鏍囧噯鏂规硶楠岃瘉涓婂矖璇侀檮浠惰〃(CnasProcessMethodVerifyCalibrationsFile)$desc + * + * @author makejava + * @since 2024-11-12 09:55:06 + */ +@Service +public class CnasProcessMethodVerifyCalibrationsFileServiceImpl extends ServiceImpl<ProcessMethodVerifyCalibrationsFileMapper, ProcessMethodVerifyCalibrationsFile> implements ProcessMethodVerifyCalibrationsFileService { + +} + diff --git a/cnas-process/src/main/java/com/yuanchu/mom/service/impl/CnasProcessMethodVerifyWorkFileServiceImpl.java b/cnas-process/src/main/java/com/yuanchu/mom/service/impl/CnasProcessMethodVerifyWorkFileServiceImpl.java new file mode 100644 index 0000000..3a098ed --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/service/impl/CnasProcessMethodVerifyWorkFileServiceImpl.java @@ -0,0 +1,19 @@ +package com.yuanchu.mom.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.yuanchu.mom.mapper.ProcessMethodVerifyWorkFileMapper; +import com.yuanchu.mom.pojo.ProcessMethodVerifyWorkFile; +import com.yuanchu.mom.service.ProcessMethodVerifyWorkFileService; +import org.springframework.stereotype.Service; + +/** + * 鏍囧噯鏂规硶楠岃瘉涓婂矖璇侀檮浠惰〃(CnasProcessMethodVerifyWorkFile)$desc + * + * @author makejava + * @since 2024-11-12 09:55:06 + */ +@Service +public class CnasProcessMethodVerifyWorkFileServiceImpl extends ServiceImpl<ProcessMethodVerifyWorkFileMapper, ProcessMethodVerifyWorkFile> implements ProcessMethodVerifyWorkFileService { + +} + diff --git a/cnas-process/src/main/java/com/yuanchu/mom/service/impl/InconsistentDistributionDetailServiceImpl.java b/cnas-process/src/main/java/com/yuanchu/mom/service/impl/InconsistentDistributionDetailServiceImpl.java new file mode 100644 index 0000000..08b1689 --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/service/impl/InconsistentDistributionDetailServiceImpl.java @@ -0,0 +1,20 @@ +package com.yuanchu.mom.service.impl; + +import com.yuanchu.mom.pojo.InconsistentDistributionDetail; +import com.yuanchu.mom.mapper.InconsistentDistributionDetailMapper; +import com.yuanchu.mom.service.InconsistentDistributionDetailService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +/** + * <p> + * 涓嶇鍚堥」鐨勫垎甯冭鎯� 鏈嶅姟瀹炵幇绫� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-15 09:53:33 + */ +@Service +public class InconsistentDistributionDetailServiceImpl extends ServiceImpl<InconsistentDistributionDetailMapper, InconsistentDistributionDetail> implements InconsistentDistributionDetailService { + +} diff --git a/cnas-process/src/main/java/com/yuanchu/mom/service/impl/InconsistentDistributionServiceImpl.java b/cnas-process/src/main/java/com/yuanchu/mom/service/impl/InconsistentDistributionServiceImpl.java new file mode 100644 index 0000000..edcd011 --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/service/impl/InconsistentDistributionServiceImpl.java @@ -0,0 +1,236 @@ +package com.yuanchu.mom.service.impl; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.StringUtils; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.deepoove.poi.XWPFTemplate; +import com.deepoove.poi.config.Configure; +import com.deepoove.poi.data.Pictures; +import com.yuanchu.mom.dto.InconsistentDistributionDto; +import com.yuanchu.mom.dto.InconsistentDistributionProportionDto; +import com.yuanchu.mom.pojo.InconsistentDistribution; +import com.yuanchu.mom.mapper.InconsistentDistributionMapper; +import com.yuanchu.mom.pojo.InconsistentDistributionDetail; +import com.yuanchu.mom.pojo.User; +import com.yuanchu.mom.service.InconsistentDistributionDetailService; +import com.yuanchu.mom.service.InconsistentDistributionService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.yuanchu.mom.utils.HackLoopTableRenderPolicy; +import com.yuanchu.mom.utils.DateImageUtil; +import com.yuanchu.mom.utils.QueryWrappers; +import io.swagger.models.auth.In; +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.math.BigDecimal; +import java.math.RoundingMode; +import java.net.URLEncoder; +import java.time.LocalDateTime; +import java.util.HashMap; +import java.util.List; + +/** + * <p> + * 涓嶇鍚堥」鐨勫垎甯� 鏈嶅姟瀹炵幇绫� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-15 09:53:20 + */ +@Service +@AllArgsConstructor +@Transactional(rollbackFor = Exception.class) +public class InconsistentDistributionServiceImpl extends ServiceImpl<InconsistentDistributionMapper, InconsistentDistribution> implements InconsistentDistributionService { + + private InconsistentDistributionDetailService inconsistentDistributionDetailService; + + + /** + * 涓嶇鍚堥」鍒嗗竷鏌ヨ + * @param page + * @param inconsistentDistributionDto + * @return + */ + @Override + public IPage<InconsistentDistributionDto> pageInconsistentDistribution(Page page, InconsistentDistribution inconsistentDistributionDto) { + return baseMapper.pageInconsistentDistribution(page, QueryWrappers.queryWrappers(inconsistentDistributionDto)); + } + + /** + * 涓嶇鍚堥」鍒嗗竷鏂板 + * @param inconsistentDistributionDto + * @return + */ + @Override + public boolean addInconsistentDistribution(InconsistentDistributionDto inconsistentDistributionDto) { + baseMapper.insert(inconsistentDistributionDto); + // 鏂板璇︽儏 + for (InconsistentDistributionDetail distributionDetail : inconsistentDistributionDto.getDistributionDetailList()) { + distributionDetail.setDistributionId(inconsistentDistributionDto.getDistributionId()); + } + inconsistentDistributionDetailService.saveBatch(inconsistentDistributionDto.getDistributionDetailList()); + return true; + } + + /** + * 涓嶇鍚堥」鍒嗗竷淇敼 + * @param inconsistentDistributionDto + * @return + */ + @Override + public boolean updateInconsistentDistribution(InconsistentDistributionDto inconsistentDistributionDto) { + inconsistentDistributionDetailService.updateBatchById(inconsistentDistributionDto.getDistributionDetailList()); + return true; + } + + /** + * 涓嶇鍚堥」鍒嗗竷鍒犻櫎 + * @param distributionId + * @return + */ + @Override + public boolean delInconsistentDistribution(Integer distributionId) { + inconsistentDistributionDetailService.remove(Wrappers.<InconsistentDistributionDetail>lambdaQuery() + .eq(InconsistentDistributionDetail::getDistributionId, distributionId)); + baseMapper.deleteById(distributionId); + return true; + } + + /** + * 涓嶇鍚堥」鍒嗗竷鏌ョ湅璇︽儏 + * @param distributionId + * @return + */ + @Override + public InconsistentDistributionDto getInconsistentDistributionOne(Integer distributionId) { + InconsistentDistributionDto distributionDto = new InconsistentDistributionDto(); + InconsistentDistribution inconsistentDistribution = baseMapper.selectById(distributionId); + BeanUtils.copyProperties(distributionDto, inconsistentDistribution); + // 鏌ヨ璇︾粏 + List<InconsistentDistributionDetail> distributionDetailList = inconsistentDistributionDetailService.list(Wrappers.<InconsistentDistributionDetail>lambdaQuery() + .eq(InconsistentDistributionDetail::getDistributionId, distributionId)); + + // 涓讳换姹囨�� + int directorSum = distributionDetailList.stream() + .filter(detail -> detail.getDirector() != null) + .mapToInt(InconsistentDistributionDetail::getDirector) + .sum(); + + // 鎶�鏈礋璐d汉姹囨�� + int technologySum = distributionDetailList.stream() + .filter(detail -> detail.getTechnology() != null) + .mapToInt(InconsistentDistributionDetail::getTechnology) + .sum(); + + // 璐ㄩ噺璐熻矗浜烘眹鎬� + int qualitySum = distributionDetailList.stream() + .filter(detail -> detail.getQuality() != null) + .mapToInt(InconsistentDistributionDetail::getQuality) + .sum(); + + // 缁煎悎瀹ゆ眹鎬� + int comprehensiveSum = distributionDetailList.stream() + .filter(detail -> detail.getComprehensive() != null) + .mapToInt(InconsistentDistributionDetail::getComprehensive) + .sum(); + + // 璇曢獙瀹ゆ眹鎬� + int testingSum = distributionDetailList.stream() + .filter(detail -> detail.getTesting() != null) + .mapToInt(InconsistentDistributionDetail::getTesting) + .sum(); + + // 鎬绘暟姹囨�� + int sum = directorSum + technologySum + qualitySum + comprehensiveSum + testingSum; + + //璁$畻鍚堣 + for (InconsistentDistributionDetail distributionDetail : distributionDetailList) { + // 鎬绘暟 + Integer total = (distributionDetail.getDirector() != null ? distributionDetail.getDirector() : 0) + + (distributionDetail.getTechnology() != null ? distributionDetail.getTechnology() : 0) + + (distributionDetail.getQuality() != null ? distributionDetail.getQuality() : 0) + + (distributionDetail.getComprehensive() != null ? distributionDetail.getComprehensive() : 0) + + (distributionDetail.getTesting() != null ? distributionDetail.getTesting() : 0); + distributionDetail.setTotal(total); + // 鍗犳瘮 + distributionDetail.setProportion(calculatePercentage(total, sum)); + } + // 娣诲姞鏈�鍚庝竴琛屽崰姣斿璞� + InconsistentDistributionProportionDto proportionDto = new InconsistentDistributionProportionDto(); + proportionDto.setEssentials("鍗犳瘮 %"); + proportionDto.setDirector(calculatePercentage(directorSum, sum)); + proportionDto.setTechnology(calculatePercentage(technologySum, sum)); + proportionDto.setQuality(calculatePercentage(qualitySum, sum)); + proportionDto.setComprehensive(calculatePercentage(comprehensiveSum, sum)); + proportionDto.setTesting(calculatePercentage(testingSum, sum)); + proportionDto.setTotal(sum); + + distributionDto.setDistributionDetailList(distributionDetailList); + distributionDto.setDistributionProportion(proportionDto); + + return distributionDto; + } + + /** + * 璁$畻鍗犳瘮 + * @return + */ + public BigDecimal calculatePercentage(Integer numeratorNum, Integer denominatorNum) { + BigDecimal numerator = new BigDecimal(numeratorNum); + BigDecimal denominator = new BigDecimal(denominatorNum); + + // 妫�鏌ラ櫎鏁版槸鍚︿负0 + if (denominator.compareTo(BigDecimal.ZERO) == 0) { + return BigDecimal.ZERO; + } + BigDecimal ratio = numerator.divide(denominator, 4, RoundingMode.HALF_UP); // 淇濈暀4浣嶅皬鏁� + BigDecimal percentage = ratio.multiply(new BigDecimal("100")); + BigDecimal percentageRounded = percentage.setScale(2, RoundingMode.HALF_UP); + return percentageRounded; + } + + + /** + * 瀵煎嚭涓嶇鍚堢殑鍒嗗竷 + * @param distributionId + * @param response + */ + @Override + public void exportInconsistentDistribution(Integer distributionId, HttpServletResponse response) { + InconsistentDistributionDto inconsistentDistributionOne = getInconsistentDistributionOne(distributionId); + + // 鑾峰彇璺緞 + InputStream inputStream = this.getClass().getResourceAsStream("/static/inconsistent-distribution.docx"); + Configure configure = Configure.builder() + .bind("distributionDetailList", new HackLoopTableRenderPolicy()) + .build(); + XWPFTemplate template = XWPFTemplate.compile(inputStream, configure).render( + new HashMap<String, Object>() {{ + put("distributionDetailList", inconsistentDistributionOne.getDistributionDetailList()); + put("proport", inconsistentDistributionOne.getDistributionProportion()); + }}); + + try { + response.setContentType("application/msword"); + String fileName = URLEncoder.encode( + "涓嶇鍚堥」鐨勫垎甯�", "UTF-8"); + response.setHeader("Content-disposition", + "attachment;filename=" + fileName + ".docx"); + OutputStream os = response.getOutputStream(); + template.write(os); + os.flush(); + os.close(); + } catch (Exception e) { + e.printStackTrace(); + throw new RuntimeException("瀵煎嚭澶辫触"); + } + + } + +} diff --git a/cnas-process/src/main/java/com/yuanchu/mom/service/impl/ProcessComplainServiceImpl.java b/cnas-process/src/main/java/com/yuanchu/mom/service/impl/ProcessComplainServiceImpl.java new file mode 100644 index 0000000..b2a3387 --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/service/impl/ProcessComplainServiceImpl.java @@ -0,0 +1,116 @@ +package com.yuanchu.mom.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.fastjson.JSON; +import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yuanchu.mom.common.GetLook; +import com.yuanchu.mom.common.PrintChina; +import com.yuanchu.mom.dto.ProcessComplainDto; +import com.yuanchu.mom.dto.ReportPageDto; +import com.yuanchu.mom.exception.ErrorException; +import com.yuanchu.mom.mapper.InsReportMapper; +import com.yuanchu.mom.mapper.InsSampleMapper; +import com.yuanchu.mom.mapper.UserMapper; +import com.yuanchu.mom.pojo.*; +import com.yuanchu.mom.mapper.ProcessComplainMapper; +import com.yuanchu.mom.service.ProcessComplainService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.yuanchu.mom.utils.GiveCode; +import com.yuanchu.mom.utils.QueryWrappers; +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.net.URLEncoder; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * <p> + * 鎶曡瘔 鏈嶅姟瀹炵幇绫� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-02 09:29:11 + */ +@Service +@Transactional(rollbackFor = Exception.class) +public class ProcessComplainServiceImpl extends ServiceImpl<ProcessComplainMapper, ProcessComplain> implements ProcessComplainService { + + @Resource + private ProcessComplainMapper processComplainMapper; + + @Resource + private InsReportMapper insReportMapper; + + @Resource + private InsSampleMapper insSampleMapper; + + @Resource + GetLook getLook; + + @Resource + GiveCode giveCode; + + @Override + public Map<String, Object> pageProcessComplain(Page page, ProcessComplain processComplain) { + Map<String, Object> map = new HashMap<>(); + map.put("head", PrintChina.printChina(ProcessComplain.class)); + Map<String, Integer> map1 = getLook.selectPowerByMethodAndUserId("pageProcessComplain"); + if (map1.get("look") == 1) processComplain.setCreateUser(map1.get("userId")); + map.put("body", processComplainMapper.pageProcessComplain(page, QueryWrappers.queryWrappers(processComplain))); + return map; + } + + @Override + public int addProcessComplain(ProcessComplain processComplain) { + //鍒ゆ柇鎶ュ憡缂栧彿鍜屾牱鍝佺紪鍙锋槸鍚﹀瓨鍦� + InsReport insReport = insReportMapper.selectOne(Wrappers.<InsReport>lambdaQuery().eq(InsReport::getCode, processComplain.getCode())); + if (ObjectUtils.isEmpty(insReport)) throw new ErrorException("鎶ュ憡缂栧彿杈撳叆鏈夎"); + processComplain.setInsReportId(insReport.getId()); + InsSample insSample = insSampleMapper.selectOne(Wrappers.<InsSample>lambdaQuery().eq(InsSample::getSampleCode, processComplain.getSampleCode())); + if (ObjectUtils.isEmpty(insSample)) throw new ErrorException("鏍峰搧缂栧彿杈撳叆鏈夎"); + //鎶曡瘔缂栧彿鐢熸垚 + String giveCode = this.giveCode.giveCode("JCZX-", "cnas_process_complain", "", "yyMMdd"); + processComplain.setComplainNo(giveCode); + return processComplainMapper.insert(processComplain); + } + + @Override + public ProcessComplainDto getProcessComplain(Long id) { + return processComplainMapper.getProcessComplain(id); + } + + @Override + public int doProcessComplain(ProcessComplain processComplain) { + return processComplainMapper.updateById(processComplain); + } + + @Override + public void exportProcessComplain(ProcessComplain processComplain, HttpServletResponse response) throws Exception { + List<ProcessComplain> data = processComplainMapper.pageProcessComplain(new Page(-1, -1), QueryWrappers.queryWrappers(processComplain)).getRecords(); + response.setContentType("application/vnd.ms-excel"); + response.setCharacterEncoding("UTF-8"); + String fileName = URLEncoder.encode("鎶曡瘔鍒楄〃瀵煎嚭", "UTF-8"); + response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx"); + try { + // 鏂板缓ExcelWriter + ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream()).registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()).build(); + WriteSheet mainSheet = EasyExcel.writerSheet(0, "鎶曡瘔鍒楄〃瀵煎嚭").head(ProcessComplain.class).build(); + excelWriter.write(data, mainSheet); + // 鍏抽棴娴� + excelWriter.finish(); + } catch (IOException e) { + throw new RuntimeException("瀵煎嚭澶辫触"); + } + } +} diff --git a/cnas-process/src/main/java/com/yuanchu/mom/service/impl/ProcessDealServiceImpl.java b/cnas-process/src/main/java/com/yuanchu/mom/service/impl/ProcessDealServiceImpl.java new file mode 100644 index 0000000..edc36d0 --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/service/impl/ProcessDealServiceImpl.java @@ -0,0 +1,106 @@ +package com.yuanchu.mom.service.impl; + +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yuanchu.mom.common.GetLook; +import com.yuanchu.mom.common.PrintChina; +import com.yuanchu.mom.mapper.ProcessTotaldealMapper; +import com.yuanchu.mom.pojo.ProcessDeal; +import com.yuanchu.mom.mapper.ProcessDealMapper; +import com.yuanchu.mom.pojo.ProcessEvaluate; +import com.yuanchu.mom.pojo.ProcessTotaldeal; +import com.yuanchu.mom.service.ProcessDealService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.yuanchu.mom.utils.QueryWrappers; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.bind.annotation.ExceptionHandler; + +import javax.annotation.Resource; +import java.time.LocalDate; +import java.time.format.DateTimeFormatter; +import java.util.HashMap; +import java.util.Map; + +/** + * <p> + * 妫�娴嬫垨鏍″噯鐗╁搧鐨勫缃� 鏈嶅姟瀹炵幇绫� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-02 02:50:19 + */ +@Service +@Transactional(rollbackFor = Exception.class) +public class ProcessDealServiceImpl extends ServiceImpl<ProcessDealMapper, ProcessDeal> implements ProcessDealService { + + @Resource + private ProcessDealMapper processDealMapper; + + @Resource + GetLook getLook; + + @Resource + private ProcessTotaldealMapper processTotaldealMapper; + + @Override + public Map<String, Object> pageProcessDeal(Page page, ProcessDeal processDeal) { + Map<String, Object> map = new HashMap<>(); + map.put("head", PrintChina.printChina(ProcessDeal.class)); + Map<String, Integer> map1 = getLook.selectPowerByMethodAndUserId("pageProcessDeal"); + if (map1.get("look") == 1) processDeal.setCreateUser(map1.get("userId")); + if (ObjectUtils.isEmpty(processDeal.getTotaldealId())) { + //鑾峰彇褰撳墠鏈堜唤 + LocalDate currentDate = LocalDate.now(); + // 瀹氫箟鏃ユ湡鏍煎紡 + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM"); + // 鏍煎紡鍖栧綋鍓嶆棩鏈� + String currentMonth = currentDate.format(formatter); + //鏌ヨ鍘嗗彶 + ProcessTotaldeal processTotaldeal = processTotaldealMapper.selectOne(Wrappers.<ProcessTotaldeal>lambdaQuery().eq(ProcessTotaldeal::getMonth, currentMonth)); + processDeal.setTotaldealId(processTotaldeal.getId()); + } + map.put("body", processDealMapper.pageProcessDeal(page, QueryWrappers.queryWrappers(processDeal))); + return map; + } + + @Override + public int addProcessDeal(ProcessDeal processDeal) { + ProcessTotaldeal processTotaldeal; + if (ObjectUtils.isEmpty(processDeal.getTotaldealId())){ + LocalDate dealTime = LocalDate.now(); + // 瀹氫箟鏃ユ湡鏍煎紡 + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM"); + // 鏍煎紡鍖栧綋鍓嶆棩鏈� + String currentMonth = dealTime.format(formatter); + processTotaldeal= processTotaldealMapper.selectOne(Wrappers.<ProcessTotaldeal>lambdaQuery().eq(ProcessTotaldeal::getMonth,currentMonth)); + processDeal.setTotaldealId(processTotaldeal.getId()); + }else { + processTotaldeal= processTotaldealMapper.selectById(processDeal.getTotaldealId()); + } + processDealMapper.insert(processDeal); + processTotaldeal.setTotalNum(processDeal.getNum()+processTotaldeal.getTotalNum()); + return processTotaldealMapper.updateById(processTotaldeal); + } + + @Override + public int delProcessDeal(Integer id) { + ProcessDeal processDeal = processDealMapper.selectById(id); + processDealMapper.deleteById(id); + ProcessTotaldeal processTotaldeal = processTotaldealMapper.selectById(processDeal.getTotaldealId()); + processTotaldeal.setTotalNum(processTotaldeal.getTotalNum()-processDeal.getNum()); + return processTotaldealMapper.updateById(processTotaldeal); + } + + @Override + public int doProcessDeal(ProcessDeal processDeal) { + if (ObjectUtils.isNotEmpty(processDeal.getNum())) { + ProcessDeal oldProcessDeal = processDealMapper.selectById(processDeal.getId()); + ProcessTotaldeal processTotaldeal = processTotaldealMapper.selectById(processDeal.getTotaldealId()); + processTotaldeal.setTotalNum(processTotaldeal.getTotalNum() - oldProcessDeal.getNum() + processDeal.getNum()); + processTotaldealMapper.updateById(processTotaldeal); + } + return processDealMapper.updateById(processDeal); + } +} diff --git a/cnas-process/src/main/java/com/yuanchu/mom/service/impl/ProcessEvaluateServiceImpl.java b/cnas-process/src/main/java/com/yuanchu/mom/service/impl/ProcessEvaluateServiceImpl.java new file mode 100644 index 0000000..a9d593b --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/service/impl/ProcessEvaluateServiceImpl.java @@ -0,0 +1,110 @@ +package com.yuanchu.mom.service.impl; + +import cn.hutool.core.lang.UUID; +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.extension.plugins.pagination.Page; +import com.yuanchu.mom.common.GetLook; +import com.yuanchu.mom.common.PrintChina; +import com.yuanchu.mom.pojo.ProcessComplain; +import com.yuanchu.mom.pojo.ProcessEvaluate; +import com.yuanchu.mom.mapper.ProcessEvaluateMapper; +import com.yuanchu.mom.service.ProcessEvaluateService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.yuanchu.mom.utils.QueryWrappers; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import java.io.File; +import java.io.IOException; +import java.net.URLEncoder; +import java.time.LocalDate; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * <p> + * 娴嬮噺涓嶇‘瀹氬害鐨勮瘎浠� 鏈嶅姟瀹炵幇绫� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-02 01:10:43 + */ +@Service +@Transactional(rollbackFor = Exception.class) +public class ProcessEvaluateServiceImpl extends ServiceImpl<ProcessEvaluateMapper, ProcessEvaluate> implements ProcessEvaluateService { + + @Resource + private ProcessEvaluateMapper processEvaluateMapper; + + @Resource + GetLook getLook; + + @Value("${wordUrl}") + private String wordUrl; + + @Override + public Map<String, Object> pageProcessEvaluate(Page page, ProcessEvaluate processEvaluate) { + Map<String, Object> map = new HashMap<>(); + map.put("head", PrintChina.printChina(ProcessEvaluate.class)); + Map<String, Integer> map1 = getLook.selectPowerByMethodAndUserId("pageProcessEvaluate"); + if (map1.get("look") == 1) processEvaluate.setCreateUser(map1.get("userId")); + map.put("body", processEvaluateMapper.pageProcessEvaluate(page, QueryWrappers.queryWrappers(processEvaluate))); + return map; + } + + @Override + public int addProcessEvaluate(MultipartFile file) { + String urlString; + String pathName; + String path=wordUrl; + ProcessEvaluate processEvaluate = new ProcessEvaluate(); + processEvaluate.setReportName(file.getOriginalFilename()); + try { + File realpath = new File(path); + if (!realpath.exists()) { + realpath.mkdirs(); + } + pathName = UUID.randomUUID() + "_" + file.getOriginalFilename(); + urlString = realpath + "/" + pathName; + file.transferTo(new File(urlString)); + processEvaluate.setReportUrl(pathName); + return processEvaluateMapper.insert(processEvaluate); + } catch (Exception e) { + e.printStackTrace(); + System.err.println("闄勪欢涓婁紶閿欒"); + return 0; + } + } + + @Override + public int doProcessEvaluate(ProcessEvaluate processEvaluate) { + return processEvaluateMapper.updateById(processEvaluate); + } + + @Override + public void exportProcessEvaluate(ProcessEvaluate processEvaluate, HttpServletResponse response) throws Exception{ + List<ProcessEvaluate> data = processEvaluateMapper.pageProcessEvaluate(new Page(-1, -1), QueryWrappers.queryWrappers(processEvaluate)).getRecords(); + response.setContentType("application/vnd.ms-excel"); + response.setCharacterEncoding("UTF-8"); + String fileName = URLEncoder.encode("娴嬮噺涓嶇‘瀹氬害鐨勮瘎瀹氬鍑�", "UTF-8"); + response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx"); + try { + // 鏂板缓ExcelWriter + ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream()).registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()).build(); + WriteSheet mainSheet = EasyExcel.writerSheet(0, "娴嬮噺涓嶇‘瀹氬害鐨勮瘎瀹氬鍑�").head(ProcessEvaluate.class).build(); + excelWriter.write(data, mainSheet); + // 鍏抽棴娴� + excelWriter.finish(); + } catch (IOException e) { + throw new RuntimeException("瀵煎嚭澶辫触"); + } + } +} diff --git a/cnas-process/src/main/java/com/yuanchu/mom/service/impl/ProcessMethodSearchNewServiceImpl.java b/cnas-process/src/main/java/com/yuanchu/mom/service/impl/ProcessMethodSearchNewServiceImpl.java new file mode 100644 index 0000000..1ce642a --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/service/impl/ProcessMethodSearchNewServiceImpl.java @@ -0,0 +1,297 @@ +package com.yuanchu.mom.service.impl; + + +import com.alibaba.excel.EasyExcel; +import com.alibaba.excel.ExcelWriter; +import com.alibaba.excel.context.AnalysisContext; +import com.alibaba.excel.event.AnalysisEventListener; +import com.alibaba.excel.metadata.data.ImageData; +import com.alibaba.excel.metadata.data.WriteCellData; +import com.alibaba.excel.util.FileUtils; +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.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.yuanchu.mom.dto.ProcessMethodSearchNewDto; +import com.yuanchu.mom.mapper.ProcessMethodSearchNewMapper; +import com.yuanchu.mom.pojo.ProcessMethodSearchNew; +import com.yuanchu.mom.service.ProcessMethodSearchNewService; +import com.yuanchu.mom.utils.QueryWrappers; +import com.yuanchu.mom.utils.UserUtils; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.multipart.MultipartFile; + +import javax.servlet.ServletOutputStream; +import javax.servlet.http.HttpServletResponse; +import java.io.File; +import java.io.IOException; +import java.net.URLEncoder; +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +/** + * 鏍囧噯鏌ユ柊 + * + * @author zhuo + * @since 2024-11-04 + */ +@Service +public class ProcessMethodSearchNewServiceImpl extends ServiceImpl<ProcessMethodSearchNewMapper, ProcessMethodSearchNew> implements ProcessMethodSearchNewService { + + /** + * 鏂板鏍囧噯鏌ユ柊 + * @param processMethodSearchNewList + * @return + */ + @Override + @Transactional(rollbackFor = Exception.class) + public boolean addMethodSearchNew(List<ProcessMethodSearchNew> processMethodSearchNewList) { + for (ProcessMethodSearchNew processMethodSearchNew : processMethodSearchNewList) { + processMethodSearchNew.setIsNewStandard(1); + } + // 淇敼涔嬪墠鎵�鏈夋病鏈夊彉鏂扮殑 + List<ProcessMethodSearchNew> processMethodSearchNews = baseMapper.selectList(Wrappers.<ProcessMethodSearchNew>lambdaQuery() + .eq(ProcessMethodSearchNew::getIsNewStandard, 1)); + for (ProcessMethodSearchNew processMethodSearchNew : processMethodSearchNews) { + baseMapper.update(null, Wrappers.<ProcessMethodSearchNew>lambdaUpdate() + .set(ProcessMethodSearchNew::getMethodName, processMethodSearchNew.getNewMethodName()) + .set(ProcessMethodSearchNew::getStandardNo, processMethodSearchNew.getNewStandardNo()) + .set(ProcessMethodSearchNew::getFileNo, processMethodSearchNew.getNewStandardNo()) + .set(ProcessMethodSearchNew::getIsNewStandard, 0) + .set(ProcessMethodSearchNew::getNewMethodName, null) + .set(ProcessMethodSearchNew::getNewStandardNo, null) + .eq(ProcessMethodSearchNew::getMethodSearchNewId, processMethodSearchNew.getMethodSearchNewId())); + } + // 鏂板 + this.saveBatch(processMethodSearchNewList); + return true; + } + + /** + * 鏍囧噯鏌ユ柊鍒楄〃 + * @param processMethodSearchNew + * @return + */ + @Override + public IPage<ProcessMethodSearchNew> pageMethodSearchNew(Page page, ProcessMethodSearchNewDto processMethodSearchNew) { + String beginDate = processMethodSearchNew.getBeginDate(); + String endDate = processMethodSearchNew.getEndDate(); + processMethodSearchNew.setBeginDate(null); + processMethodSearchNew.setEndDate(null); + return baseMapper.pageMethodSearchNew(page, QueryWrappers.queryWrappers(processMethodSearchNew), beginDate, endDate); + } + + /** + * 鏍囧噯鏌ユ柊瀵煎嚭 + * @param processMethodSearchNew + * @param response + */ + @Override + public void exportMethodSearchNew(ProcessMethodSearchNewDto processMethodSearchNew, HttpServletResponse response) { + // 鏌ヨ鏍囧噯鏌ユ柊 + String beginDate = processMethodSearchNew.getBeginDate(); + String endDate = processMethodSearchNew.getEndDate(); + String writeUserId = processMethodSearchNew.getWriteUserId().toString(); + String ratifyUserId = processMethodSearchNew.getRatifyUserId().toString(); + processMethodSearchNew.setBeginDate(null); + processMethodSearchNew.setEndDate(null); + processMethodSearchNew.setWriteUserId(null); + processMethodSearchNew.setRatifyUserId(null); + List<ProcessMethodSearchNewDto> methodSearchNews = baseMapper.selectMethodSearchNew(QueryWrappers.queryWrappers(processMethodSearchNew), beginDate, endDate); + + int index = 1; + // 鏍煎紡鍖栧弬鏁� + for (ProcessMethodSearchNewDto methodSearchNew : methodSearchNews) { + // 鏄惁鏄窡鏂版爣鍑� + if (methodSearchNew.getIsNewStandard().equals(1)) { + methodSearchNew.setIsNewStandardString("鏄�"); + } else { + methodSearchNew.setIsNewStandardString("鍚�"); + } + + // 澶囨敞 + if (methodSearchNew.getRemark() != null) { + if (methodSearchNew.getRemark().equals(1)) { + methodSearchNew.setIsNewStandardString("鏇挎崲"); + } else { + methodSearchNew.setIsNewStandardString("浣滃簾"); + } + } + + if (methodSearchNew.getRemark() != null) { + if (methodSearchNew.getRemark().equals(1)) { + methodSearchNew.setRemarkString("鏇挎崲"); + } else { + methodSearchNew.setRemarkString("浣滃簾"); + } + } + + switch (methodSearchNew.getSearchNewSource()) { + case 0: + methodSearchNew.setStandardNet("鈭�"); + break; + case 1: + methodSearchNew.setInformationOffices("鈭�"); + break; + case 2: + methodSearchNew.setStandardBookstore("鈭�"); + break; + case 3: + methodSearchNew.setOther("鈭�"); + break; + } + methodSearchNew.setIndex(index); + index++; + + } + String writeUserUrl = UserUtils.getUserSignatureUrl(Integer.valueOf(writeUserId)); + String ratifyUserUrl = UserUtils.getUserSignatureUrl(Integer.valueOf(ratifyUserId)); + + response.setContentType("application/vnd.ms-excel"); + response.setCharacterEncoding("UTF-8"); + try { + // 杩欓噷URLEncoder.encode鍙互闃叉涓枃涔辩爜 褰撶劧鍜宔asyexcel娌℃湁鍏崇郴 + String fileName = URLEncoder.encode("鍘熸潗鏂欐娴嬩俊鎭鍑�", "UTF-8"); + response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx"); + + // 鍒涘缓 ExcelWriter + ServletOutputStream outputStream = response.getOutputStream(); + ExcelWriter excelWriter = EasyExcel.write(outputStream).registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()).build(); + + // 鑾峰彇 sheet0 瀵硅薄 + WriteSheet mainSheet = EasyExcel.writerSheet(0, "鏍囧噯鏌ユ柊瀵煎嚭").head(ProcessMethodSearchNewDto.class).build(); + + // 鍥剧墖瀵硅薄 + ImageData imageData = new ImageData(); + ImageData imageData1 = new ImageData(); + // 璁剧疆鍥剧墖鏁版嵁 + imageData.setImage(FileUtils.readFileToByteArray(new File(writeUserUrl))); // 璁剧疆缂栧埗浜哄浘鐗囩殑鏂囦欢璺緞 + imageData1.setImage(FileUtils.readFileToByteArray(new File(ratifyUserUrl))); // 璁剧疆鎵瑰噯浜哄浘鐗囩殑鏂囦欢璺緞 + + // 璁剧疆缂栧埗浜哄浘鐗囦綅缃� + imageData.setRelativeFirstRowIndex(1); + imageData.setRelativeFirstColumnIndex(2); + imageData.setRelativeLastRowIndex(1); + imageData.setRelativeLastColumnIndex(2); + // 璁剧疆鎵瑰噯浜哄浘鐗囦綅缃� + imageData1.setRelativeFirstRowIndex(1); + imageData1.setRelativeFirstColumnIndex(4); + imageData1.setRelativeLastRowIndex(1); + imageData1.setRelativeLastColumnIndex(4); + + + List<ImageData> list = new ArrayList<>(); + // 鏀惧叆鍒楄〃涓� + list.add(imageData); + list.add(imageData1); + +// // 璁剧疆棰濆鐨勬枃瀛楋紙鍙�夛級 +// WriteCellData<Void> writeCellData = new WriteCellData<>(); +//// imageDemoData.setWriteCellDataFile(writeCellData); +// // 杩欓噷鍙互璁剧疆涓� EMPTY 鍒欎唬琛ㄤ笉闇�瑕佸叾浠栨暟鎹簡 +// writeCellData.setType(CellDataTypeEnum.STRING); +// writeCellData.setStringValue("棰濆鐨勬斁涓�浜涙枃瀛�"); + + + // 灏嗗浘鐗囨暟鎹缃埌鍗曞厓鏍间腑 + WriteCellData<ImageData> writeCellData = new WriteCellData<>(); + writeCellData.setImageDataList(list); + + // 鍒涘缓鏁版嵁鍒楄〃 + List<List<WriteCellData>> dataList = new ArrayList<>(); + List<WriteCellData> rowData = new ArrayList<>(); + rowData.add(writeCellData); // 鎶婂浘鐗囨斁鍏ヤ竴琛� + dataList.add(rowData); + + + // 鍚� sheet0 鍐欏叆鏁版嵁锛堜紶鍏ョ┖list杩欐牱鍙鍑鸿〃澶达級 + excelWriter.write(methodSearchNews, mainSheet); + // 鍐欏叆 鍥剧墖 + excelWriter.write(dataList,mainSheet); + + //鍏抽棴娴� + excelWriter.finish(); + + } catch (IOException e) { + throw new RuntimeException("瀵煎嚭澶辫触"); + } + } + + + + + + + + /** + * 瀵煎叆鏍囧噯鏌ユ柊 + * @param file + * @return + */ + @Override + public boolean importMethodSearchNew(MultipartFile file) { + + List<ProcessMethodSearchNewDto> searchNewDtoList = new ArrayList<>(); + + try { + // excel瑙f瀽 + EasyExcel.read(file.getInputStream(), ProcessMethodSearchNewDto.class, new AnalysisEventListener<ProcessMethodSearchNewDto>() { + @Override + public void invoke(ProcessMethodSearchNewDto searchNewDto, AnalysisContext analysisContext) { + searchNewDtoList.add(searchNewDto); + } + + @Override + public void doAfterAllAnalysed(AnalysisContext analysisContext) { + + } + }).sheet().doRead(); + // 鏍煎紡鍖栨煡鏂板璞� + List<ProcessMethodSearchNew> collect = searchNewDtoList.stream().map(searchNewDto -> { + ProcessMethodSearchNew searchNew = new ProcessMethodSearchNew(); + BeanUtils.copyProperties(searchNewDto, searchNew); + // 鏄惁鏄洿鏂� + if (StringUtils.isNotBlank(searchNewDto.getIsNewStandardString())) { + if (searchNewDto.getIsNewStandardString().equals("鏄�")) { + searchNew.setIsNewStandard(1); + } else { + searchNew.setIsNewStandard(0); + } + } + // 鏌ユ柊璁板綍 + if (StringUtils.isNotBlank(searchNewDto.getStandardNet())) { + searchNew.setSearchNewSource(0); + } else if (StringUtils.isNotBlank(searchNewDto.getInformationOffices())) { + searchNew.setSearchNewSource(1); + } else if (StringUtils.isNotBlank(searchNewDto.getIsNewStandardString())) { + searchNew.setSearchNewSource(2); + } else if (StringUtils.isNotBlank(searchNewDto.getOther())) { + searchNew.setSearchNewSource(3); + } + + // 澶囨敞 + if (StringUtils.isNotBlank(searchNewDto.getRemarkString())) { + if (searchNewDto.getRemarkString().equals("鏇挎崲")) { + searchNew.setRemark(1); + } else if (searchNewDto.getRemarkString().equals("浣滃簾")) { + searchNew.setRemark(0); + } + } + + return searchNew; + }).collect(Collectors.toList()); + this.saveBatch(collect); + + } catch (IOException e) { + throw new RuntimeException(e); + } + return true; + } +} + diff --git a/cnas-process/src/main/java/com/yuanchu/mom/service/impl/ProcessMethodVerifyMachineAttachmentServiceImpl.java b/cnas-process/src/main/java/com/yuanchu/mom/service/impl/ProcessMethodVerifyMachineAttachmentServiceImpl.java new file mode 100644 index 0000000..f1f0d9e --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/service/impl/ProcessMethodVerifyMachineAttachmentServiceImpl.java @@ -0,0 +1,19 @@ +package com.yuanchu.mom.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.yuanchu.mom.mapper.ProcessMethodVerifyMachineAttachmentMapper; +import com.yuanchu.mom.pojo.ProcessMethodVerifyMachineAttachment; +import com.yuanchu.mom.service.ProcessMethodVerifyMachineAttachmentService; +import org.springframework.stereotype.Service; + +/** + * 鏍囧噯鏂规硶楠岃瘉璁惧闄勪欢琛� + * + * @author zhuo + * @since 2024-11-05 + */ +@Service +public class ProcessMethodVerifyMachineAttachmentServiceImpl extends ServiceImpl<ProcessMethodVerifyMachineAttachmentMapper, ProcessMethodVerifyMachineAttachment> implements ProcessMethodVerifyMachineAttachmentService { + +} + diff --git a/cnas-process/src/main/java/com/yuanchu/mom/service/impl/ProcessMethodVerifyMethodFileServiceImpl.java b/cnas-process/src/main/java/com/yuanchu/mom/service/impl/ProcessMethodVerifyMethodFileServiceImpl.java new file mode 100644 index 0000000..0b3ba32 --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/service/impl/ProcessMethodVerifyMethodFileServiceImpl.java @@ -0,0 +1,19 @@ +package com.yuanchu.mom.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.yuanchu.mom.mapper.ProcessMethodVerifyMethodFileMapper; +import com.yuanchu.mom.pojo.ProcessMethodVerifyMethodFile; +import com.yuanchu.mom.service.ProcessMethodVerifyMethodFileService; +import org.springframework.stereotype.Service; + +/** + * 鏍囧噯鏂规硶楠岃瘉(娉�)闄勪欢琛� + * + * @author makejava + * @since 2024-11-05 + */ +@Service +public class ProcessMethodVerifyMethodFileServiceImpl extends ServiceImpl<ProcessMethodVerifyMethodFileMapper, ProcessMethodVerifyMethodFile> implements ProcessMethodVerifyMethodFileService { + +} + diff --git a/cnas-process/src/main/java/com/yuanchu/mom/service/impl/ProcessMethodVerifyServiceImpl.java b/cnas-process/src/main/java/com/yuanchu/mom/service/impl/ProcessMethodVerifyServiceImpl.java new file mode 100644 index 0000000..c3627ea --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/service/impl/ProcessMethodVerifyServiceImpl.java @@ -0,0 +1,424 @@ +package com.yuanchu.mom.service.impl; + +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; +import com.baomidou.mybatisplus.core.toolkit.StringUtils; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.deepoove.poi.XWPFTemplate; +import com.deepoove.poi.config.Configure; +import com.deepoove.poi.data.PictureRenderData; +import com.yuanchu.mom.dto.ProcessMethodVerifyDto; +import com.yuanchu.mom.dto.ProcessMethodVerifyExportWordDto; +import com.yuanchu.mom.exception.ErrorException; +import com.yuanchu.mom.mapper.*; +import com.yuanchu.mom.pojo.*; +import com.yuanchu.mom.service.*; +import com.yuanchu.mom.utils.HackLoopTableRenderPolicy; +import com.yuanchu.mom.utils.XWPFDocumentUtils; +import com.yuanchu.mom.utils.QueryWrappers; +import com.yuanchu.mom.utils.UserUtils; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import java.io.File; +import java.io.InputStream; +import java.io.OutputStream; +import java.net.URLEncoder; +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; + +/** + * 鏍囧噯鏂规硶楠岃瘉 + * + * @author zhuo + * @since 2024-11-05 + */ +@Service +@Transactional(rollbackFor = Exception.class) +public class ProcessMethodVerifyServiceImpl extends ServiceImpl<ProcessMethodVerifyMapper, ProcessMethodVerify> implements ProcessMethodVerifyService { + + @Resource + private ProcessMethodVerifyCalibrationsFileService processMethodVerifyCalibrationsFileService; + @Resource + private ProcessMethodVerifyMethodFileService processMethodVerifyMethodFileService; + @Resource + private ProcessMethodVerifyWorkFileService processMethodVerifyWorkFileService; + @Resource + private ProcessMethodVerifyMachineAttachmentService processMethodVerifyMachineAttachmentService; + @Resource + private ProcessMethodVerifyCalibrationsFileMapper processMethodVerifyCalibrationsFileMapper; + @Resource + private ProcessMethodVerifyWorkFileMapper processMethodVerifyWorkFileMapper; + @Resource + private UserMapper userMapper; + @Resource + private DeviceMapper deviceMapper; + + @Value("${file.path}") + private String imgUrl; + + @Value("${wordUrl}") + private String wordUrl; + + + /** + * 鏍囧噯鏂规硶璺熸柊楠岃瘉淇敼 + * + * @param page + * @param methodVerifyDto + * @return + */ + @Override + public IPage<ProcessMethodVerify> pagesMethodVerify(Page page, ProcessMethodVerifyDto methodVerifyDto) { + if (methodVerifyDto.getOperationType() == null) { + throw new ErrorException("璇烽�夋嫨鏄彉鏇磋繕鏄獙璇�"); + } + return baseMapper.pagesMethodVerify(page, QueryWrappers.queryWrappers(methodVerifyDto)); + } + + /** + * 鏂板鏍囧噯鏂规硶楠岃瘉 + * + * @param methodVerifyDto + * @return + */ + @Override + public boolean addMethodSearchNew(ProcessMethodVerifyDto methodVerifyDto) { + if (methodVerifyDto.getOperationType() == null) { + throw new ErrorException("璇烽�夋嫨鏄彉鏇磋繕鏄獙璇�"); + } + // 鏂板 + baseMapper.insert(methodVerifyDto); + + // 鍒ゆ柇纭浜烘槸鍚︿负绌� + if (StringUtils.isNotBlank(methodVerifyDto.getConfirmUser())) { + // 娣诲姞涓婂矖璇� + this.addWorkFile(methodVerifyDto); + } + + // 鏂板璁惧淇℃伅 + if (CollectionUtils.isNotEmpty(methodVerifyDto.getMachineAttachmentList())) { + this.addDevice(methodVerifyDto); + } + + return true; + } + + /** + * 鏌ヨ鏍囧噯鏂规硶楠岃瘉璇︽儏 + * + * @param methodVerifyId + * @return + */ + @Override + public ProcessMethodVerifyDto getMethodVerifyOne(Integer methodVerifyId) { + ProcessMethodVerify processMethodVerify = baseMapper.selectById(methodVerifyId); + ProcessMethodVerifyDto processMethodVerifyDto = new ProcessMethodVerifyDto(); + BeanUtil.copyProperties(processMethodVerify, processMethodVerifyDto); + + // 鏌ヨ璁惧璇︽儏 + processMethodVerifyDto.setMachineAttachmentList(processMethodVerifyMachineAttachmentService.list(Wrappers.<ProcessMethodVerifyMachineAttachment>lambdaQuery() + .eq(ProcessMethodVerifyMachineAttachment::getMethodVerifyId, methodVerifyId))); + // 鏌ヨ鍘熷璁板綍 + processMethodVerifyDto.setMethodFileList(processMethodVerifyMethodFileService.list(Wrappers.<ProcessMethodVerifyMethodFile>lambdaQuery() + .eq(ProcessMethodVerifyMethodFile::getMethodVerifyId, methodVerifyId))); + // 鏌ヨ涓婂矖璇� + processMethodVerifyDto.setWorkFileList(processMethodVerifyWorkFileService.list(Wrappers.<ProcessMethodVerifyWorkFile>lambdaQuery() + .eq(ProcessMethodVerifyWorkFile::getMethodVerifyId, methodVerifyId))); + // 鏌ヨ鏍″噯璇佷功 + processMethodVerifyDto.setCalibrationsFileList(processMethodVerifyCalibrationsFileMapper.selectCalibrationsFileList(methodVerifyId)); + + + return processMethodVerifyDto; + } + + /** + * 淇敼鏍囧噯鏂规硶楠岃瘉 + * + * @param methodVerifyDto + * @return + */ + @Override + public boolean updateMethodVerify(ProcessMethodVerifyDto methodVerifyDto) { + baseMapper.updateById(methodVerifyDto); + + // 鍒犻櫎涓婂矖璇� + processMethodVerifyWorkFileService.remove(Wrappers.<ProcessMethodVerifyWorkFile>lambdaQuery() + .eq(ProcessMethodVerifyWorkFile::getMethodVerifyId, methodVerifyDto.getMethodVerifyId())); + + // 鍒犻櫎鍘熸湰璁惧璇︽儏 + processMethodVerifyMachineAttachmentService.remove(Wrappers.<ProcessMethodVerifyMachineAttachment>lambdaQuery() + .eq(ProcessMethodVerifyMachineAttachment::getMethodVerifyId, methodVerifyDto.getMethodVerifyId())); + + // 鍒犻櫎鍏冩牎鍑嗚瘉涔� + processMethodVerifyCalibrationsFileService.remove(Wrappers.<ProcessMethodVerifyCalibrationsFile>lambdaQuery() + .eq(ProcessMethodVerifyCalibrationsFile::getMethodVerifyId, methodVerifyDto.getMethodVerifyId())); + + // 鍒ゆ柇纭浜烘槸鍚︿负绌� + if (StringUtils.isNotBlank(methodVerifyDto.getConfirmUser())) { + // 娣诲姞涓婂矖璇� + this.addWorkFile(methodVerifyDto); + } + + // 鏂板璁惧淇℃伅 + if (CollectionUtils.isNotEmpty(methodVerifyDto.getMachineAttachmentList())) { + this.addDevice(methodVerifyDto); + } + return true; + } + + /** + * 鍒犻櫎鏍囧噯鏂规硶楠岃瘉 + * + * @param methodVerifyId + * @return + */ + @Override + public boolean delMethodVerify(Integer methodVerifyId) { + // 鍒犻櫎鎵�鏈夎澶� + processMethodVerifyMachineAttachmentService.remove(Wrappers.<ProcessMethodVerifyMachineAttachment>lambdaQuery() + .eq(ProcessMethodVerifyMachineAttachment::getMethodVerifyId, methodVerifyId)); + + // 鍒犻櫎鎵�鏈夊師濮嬭褰� + processMethodVerifyMethodFileService.remove(Wrappers.<ProcessMethodVerifyMethodFile>lambdaQuery() + .eq(ProcessMethodVerifyMethodFile::getMethodVerifyId, methodVerifyId)); + + + baseMapper.deleteById(methodVerifyId); + + return true; + } + + /** + * 鏂规硶楠岃瘉纭 + * + * @param methodVerifyId + * @return + */ + @Override + public boolean methodVerifyAffirm(Integer methodVerifyId) { + baseMapper.update(null, Wrappers.<ProcessMethodVerify>lambdaUpdate() + .set(ProcessMethodVerify::getConfirmDate, LocalDateTime.now()) + .eq(ProcessMethodVerify::getMethodVerifyId, methodVerifyId)); + return true; + } + + /** + * 鏂规硶楠岃瘉鏂板鍘熷璁板綍 + * + * @param methodVerifyId + * @param file + * @return + */ + @Override + public boolean uploadVerifyMethodFile(Integer methodVerifyId, MultipartFile file) { + if (methodVerifyId == null) { + throw new ErrorException("缂哄皯鍘熷璁板綍id"); + } + + String urlString; + String pathName; + String path; + String filename = file.getOriginalFilename(); + String contentType = file.getContentType(); + ProcessMethodVerifyMethodFile methodFile = new ProcessMethodVerifyMethodFile(); + methodFile.setMethodVerifyId(methodVerifyId); + methodFile.setFileName(filename); + if (contentType != null && contentType.startsWith("image/")) { + // 鏄浘鐗� + path = imgUrl; + methodFile.setType(1); + } else { + // 鏄枃浠� + path = wordUrl; + methodFile.setType(2); + } + try { + File realpath = new File(path); + if (!realpath.exists()) { + realpath.mkdirs(); + } + pathName = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyMMddHHmmss")) + "_" + file.getOriginalFilename(); + urlString = realpath + "/" + pathName; + file.transferTo(new File(urlString)); + methodFile.setFileUrl(pathName); + return processMethodVerifyMethodFileService.save(methodFile); + } catch (Exception e) { + e.printStackTrace(); + System.err.println("闄勪欢涓婁紶閿欒"); + return false; + } + } + + /** + * 鏍囧噯鏂规硶楠岃瘉鍘熷璁板綍鍒楄〃 + * + * @param methodVerifyId + * @return + */ + @Override + public List<ProcessMethodVerifyMethodFile> getVerifyMethodFileList(Integer methodVerifyId) { + return processMethodVerifyMethodFileService.list(Wrappers.<ProcessMethodVerifyMethodFile>lambdaQuery() + .eq(ProcessMethodVerifyMethodFile::getMethodVerifyId, methodVerifyId)); + } + + /** + * 瀵煎嚭鏍囧噯鏂规硶鏇存柊楠岃瘉 + * + * @param methodVerifyId 鏍囧噯鏂规硶楠岃瘉id + * @param response + */ + @Override + public void exportMethodVerify(Integer methodVerifyId, HttpServletResponse response) { + // 鑾峰彇鏍囧噯鏂规硶鏇存柊楠岃瘉鏁版嵁 + ProcessMethodVerify processMethodVerify = baseMapper.selectById(methodVerifyId); + + // 灏嗗唴閮ㄥ瓧娈佃浆鎹㈡垚灞曠ず鍒皐ord涓殑瀵硅薄 + ProcessMethodVerifyExportWordDto exportWordTemplate = getExportWordTemplate(processMethodVerify); + + // TODO:瀵煎嚭鏍囧噯鏂规硶鏇存柊楠岃瘉鑾峰彇浜哄憳绛惧悕鍒楄〃鏈缃� + // 鑾峰彇浜哄憳id瀛楃涓� 濡傦細1,2,3,4,5 + String confirmUser = processMethodVerify.getConfirmUser(); + // 瀵逛汉鍛榠d瀛楃涓茶繘琛屽垎鍓叉垚鏁扮粍 + String[] userIds = confirmUser.split(","); + // 瀹氫箟涓�涓泦鍚堝瓨鏀句汉鍛樼鍚� + ArrayList<PictureRenderData> pictureRenderDataList = new ArrayList<>(); + // 寰幆鑾峰彇浜哄憳绛惧悕 + for (String userIdStr : userIds) { + // 杞崲涓篿nt绫诲瀷 + Integer userId = Integer.valueOf(userIdStr); + // 鑾峰彇浜哄憳绛惧悕瀵硅薄 + PictureRenderData finalUserSignatureUrl = UserUtils.getFinalUserSignatureUrl(userId); + // 灏嗕汉鍛樼鍚嶅璞℃坊鍔犲埌闆嗗悎涓� + pictureRenderDataList.add(finalUserSignatureUrl); + } + + // 鑾峰彇璁惧淇℃伅 + List<ProcessMethodVerifyMachineAttachment> processMethodVerifyMachineAttachmentList = processMethodVerifyMachineAttachmentService.list(Wrappers.<ProcessMethodVerifyMachineAttachment>lambdaQuery() + .eq(ProcessMethodVerifyMachineAttachment::getMethodVerifyId, methodVerifyId)); + + // 鑾峰彇璺緞 + InputStream inputStream = this.getClass().getResourceAsStream("/static/method-verify.docx"); + Configure configure = Configure.builder() + .bind("processMethodVerifyMachineAttachmentList", new HackLoopTableRenderPolicy()) + .build(); + XWPFTemplate template = XWPFTemplate.compile(inputStream, configure).render( + new HashMap<String, Object>() {{ + put("processMethodVerify", exportWordTemplate); + put("processMethodVerifyMachineAttachmentList", processMethodVerifyMachineAttachmentList); + }}); + + // 澶勭悊鎹㈣闂 + XWPFDocumentUtils.updateMergeByDocument(template.getXWPFDocument()); + 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("瀵煎嚭澶辫触"); + } + } + + private ProcessMethodVerifyExportWordDto getExportWordTemplate(ProcessMethodVerify processMethodVerify) { + ProcessMethodVerifyExportWordDto processMethodVerifyExportWordDto = new ProcessMethodVerifyExportWordDto(); + BeanUtil.copyProperties(processMethodVerify, processMethodVerifyExportWordDto); + // 锛堜汉锛夋槸鍚︽弧瓒� + processMethodVerifyExportWordDto.setPersonIsSatisfiedStr(processMethodVerify.getPersonIsSatisfied() == 1 ? "鈭�" : "脳"); + // 锛堟満锛夋槸鍚︽弧瓒� + processMethodVerifyExportWordDto.setMachineIsSatisfiedStr(processMethodVerify.getMachineIsSatisfied() == 1 ? "鈭�" : "脳"); + // 锛堟枡锛夋槸鍚︽弧瓒� + processMethodVerifyExportWordDto.setMaterialIsSatisfiedStr(processMethodVerify.getMaterialIsSatisfied() == 1 ? "鈭�" : "脳"); + // 锛堟硶锛夋槸鍚︽弧瓒� + processMethodVerifyExportWordDto.setMethodIsSatisfiedStr(processMethodVerify.getMethodIsSatisfied() == 1? "鈭�" : "脳"); + // 锛堢幆锛夋槸鍚︽弧瓒� + processMethodVerifyExportWordDto.setEnvironmentIsSatisfiedStr(processMethodVerify.getEnvironmentIsSatisfied() == 1 ? "鈭�" : "脳"); + // 锛堟祴閲忔函婧愭�э級鏄惁婊¤冻 + processMethodVerifyExportWordDto.setTraceabilityIsSatisfiedStr(processMethodVerify.getTraceabilityIsSatisfied() == 1 ? "鈭�" : "脳"); + // 锛堟牱鍝佺鐞嗛渶姹傦級鏄惁婊¤冻 + processMethodVerifyExportWordDto.setManagementIsSatisfiedStr(processMethodVerify.getManagementIsSatisfied() == 1 ? "鈭�" : "脳"); + // 锛堝叾浠栵級鏄惁婊¤冻 + processMethodVerifyExportWordDto.setOtherIsSatisfiedStr(processMethodVerify.getOtherIsSatisfied() == 1 ? "鈭�" : "脳"); + // 纭鏃ユ湡 + processMethodVerifyExportWordDto.setConfirmDateStr(processMethodVerify.getConfirmDate().format(DateTimeFormatter.ofPattern("yyyy-MM-dd"))); + return processMethodVerifyExportWordDto; + } + + + /** + * 娣诲姞涓婂矖璇� + * + * @param methodVerifyDto + */ + private void addWorkFile(ProcessMethodVerifyDto methodVerifyDto) { + List<String> confirmUserIds = StrUtil.split(methodVerifyDto.getConfirmUser(), ","); + List<ProcessMethodVerifyWorkFile> workFileList = new ArrayList<>(); + for (String confirmUserId : confirmUserIds) { + Integer userId = Integer.valueOf(confirmUserId); + String workName = processMethodVerifyWorkFileMapper.selectWorkFile(userId); + // 鍒ゆ柇鏄惁鏈夎瘉涔� + if (StringUtils.isNotBlank(workName)) { + User user = userMapper.selectById(userId); + ProcessMethodVerifyWorkFile workFile = new ProcessMethodVerifyWorkFile(); + workFile.setMethodVerifyId(methodVerifyDto.getMethodVerifyId()); + workFile.setType(1); + workFile.setFileUrl(workName); + workFile.setFileName(workName); + workFile.setUserId(user.getId()); + workFile.setUserName(user.getName()); + workFileList.add(workFile); + } + } + if (CollectionUtils.isNotEmpty(workFileList)) { + processMethodVerifyWorkFileService.saveBatch(workFileList); + } + } + + /** + * 娣诲姞璁惧淇℃伅 + * + * @param methodVerifyDto + */ + private void addDevice(ProcessMethodVerifyDto methodVerifyDto) { + List<ProcessMethodVerifyCalibrationsFile> calibrationsFiles = new ArrayList<>(); + for (ProcessMethodVerifyMachineAttachment machineAttachment : methodVerifyDto.getMachineAttachmentList()) { + machineAttachment.setMethodVerifyId(methodVerifyDto.getMethodVerifyId()); + // 鏌ヨ鏍″噯璇佷功 + String calibrationsName = processMethodVerifyCalibrationsFileMapper.selectCalibrationsFile(machineAttachment.getDeviceId()); + // 鍒ゆ柇鏄惁鏈夎瘉涔� + if (StringUtils.isNotBlank(calibrationsName)) { + ProcessMethodVerifyCalibrationsFile calibrationsFile = new ProcessMethodVerifyCalibrationsFile(); + calibrationsFile.setMethodVerifyId(methodVerifyDto.getMethodVerifyId()); + calibrationsFile.setType(1); + calibrationsFile.setFileUrl(calibrationsName); + calibrationsFile.setFileName(calibrationsName); + calibrationsFile.setDeviceId((machineAttachment.getDeviceId())); + calibrationsFiles.add(calibrationsFile); + } + } + // 娣诲姞鏍″噯璇佷功 + processMethodVerifyCalibrationsFileService.saveBatch(calibrationsFiles); + + // 娣诲姞璁惧 + processMethodVerifyMachineAttachmentService.saveBatch(methodVerifyDto.getMachineAttachmentList()); + } + +} + diff --git a/cnas-process/src/main/java/com/yuanchu/mom/service/impl/ProcessOrderServiceImpl.java b/cnas-process/src/main/java/com/yuanchu/mom/service/impl/ProcessOrderServiceImpl.java new file mode 100644 index 0000000..67aaa66 --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/service/impl/ProcessOrderServiceImpl.java @@ -0,0 +1,157 @@ +package com.yuanchu.mom.service.impl; + +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.deepoove.poi.XWPFTemplate; +import com.deepoove.poi.config.Configure; +import com.yuanchu.mom.common.GetLook; +import com.yuanchu.mom.common.PrintChina; +import com.yuanchu.mom.dto.InspectionOrderExportDto; +import com.yuanchu.mom.dto.ProcessOrderDto; +import com.yuanchu.mom.exception.ErrorException; +import com.yuanchu.mom.mapper.InsOrderMapper; +import com.yuanchu.mom.mapper.UserMapper; +import com.yuanchu.mom.pojo.*; +import com.yuanchu.mom.mapper.ProcessOrderMapper; +import com.yuanchu.mom.pojo.InspectionOrderDetail; +import com.yuanchu.mom.service.ProcessOrderService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.yuanchu.mom.utils.HackLoopTableRenderPolicy; +import com.yuanchu.mom.utils.XWPFDocumentUtils; +import com.yuanchu.mom.utils.QueryWrappers; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import java.io.InputStream; +import java.io.OutputStream; +import java.net.URLEncoder; +import java.time.format.DateTimeFormatter; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * <p> + * 瑕佹眰銆佹爣涔﹀拰鍚堝悓璇勫 鏈嶅姟瀹炵幇绫� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-05 03:06:20 + */ +@Service +@Transactional(rollbackFor = Exception.class) +public class ProcessOrderServiceImpl extends ServiceImpl<ProcessOrderMapper, ProcessOrder> implements ProcessOrderService { + + @Resource + private ProcessOrderMapper processOrderMapper; + + @Resource + InsOrderMapper insOrderMapper; + + @Resource + private UserMapper userMapper; + + @Override + public Map<String, Object> pageProcessOrder(Page page, ProcessOrderDto processOrderDto) { + Map<String, Object> map = new HashMap<>(); + map.put("head", PrintChina.printChina(ProcessOrderDto.class)); + map.put("body", processOrderMapper.pageProcessOrder(page, QueryWrappers.queryWrappers(processOrderDto))); + return map; + } + + @Override + public ProcessOrderDto getProcessOrder(Integer id) { + return processOrderMapper.getProcessOrder(id); + } + + @Override + public int doProcessOrder(ProcessOrder processOrder) { + if (ObjectUtils.isNotEmpty(processOrder.getComprehensiveUser())) { + User user = userMapper.selectById(processOrder.getComprehensiveUser()); + if (ObjectUtils.isEmpty(user.getSignatureUrl())) throw new ErrorException("鏈壘鍒扮患鍚堝绛惧悕浜虹殑鐢靛瓙绛惧悕,璇蜂笂浼犵數瀛愮鍚�!"); + } + if (ObjectUtils.isNotEmpty(processOrder.getIssueUser())) { + User user = userMapper.selectById(processOrder.getIssueUser()); + if (ObjectUtils.isEmpty(user.getSignatureUrl())) throw new ErrorException("鏈壘鍒伴鏍峰憳鐨勭數瀛愮鍚�,璇蜂笂浼犵數瀛愮鍚�!"); + } + return processOrderMapper.updateById(processOrder); + } + + + @Override + public void exportInspectionOrder(Integer id, HttpServletResponse response) { + ProcessOrder processOrder = baseMapper.selectById(id); + InspectionOrderExportDto inspectionOrderExportDto = extracted(processOrder); + List<InspectionOrderDetail> list = baseMapper.selectInsOrder(processOrder.getInsOrderId()); + int index = 1; + for (InspectionOrderDetail inspectionOrderDetail : list) { + inspectionOrderDetail.setIndex(index); + index++; + } + + // 鑾峰彇璺緞 + InputStream inputStream = this.getClass().getResourceAsStream("/static/inspection-order.docx"); + Configure configure = Configure.builder() + .bind("inspectionOrderDetailList", new HackLoopTableRenderPolicy()) + .build(); + XWPFTemplate template = XWPFTemplate.compile(inputStream, configure).render( + new HashMap<String, Object>() {{ + put("inspectionOrder", inspectionOrderExportDto); + put("inspectionOrderDetailList", list); + }}); + + // 澶勭悊鎹㈣闂 + XWPFDocumentUtils.updateMergeByDocument(template.getXWPFDocument()); + try { + response.setContentType("application/msword"); + String fileName = URLEncoder.encode( + inspectionOrderExportDto.getSample(), "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("瀵煎嚭澶辫触"); + } + } + + private InspectionOrderExportDto extracted(ProcessOrder processOrder) { + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy骞碝M鏈坉d鏃�"); + InspectionOrderExportDto inspectionOrderExportDto = new InspectionOrderExportDto(); + ProcessOrderDto processOrderDto = getProcessOrder(processOrder.getId()); + BeanUtils.copyProperties(processOrderDto, inspectionOrderExportDto); + if (processOrderDto.getCreateTime() != null) { + inspectionOrderExportDto.setCommissionDateString(processOrderDto.getCreateTime().format(formatter)); + } + if (processOrder.getComprehensiveTime() != null) { + inspectionOrderExportDto.setReceiptDataString(processOrder.getComprehensiveTime().format(formatter)); + } + if (processOrder.getIssueTime() != null) { + inspectionOrderExportDto.setSampleDataString(processOrder.getIssueTime().format(formatter)); + } + if (processOrderDto.getAppointed() != null) { + inspectionOrderExportDto.setAppointedString(processOrderDto.getAppointed().format(formatter)); + } + + inspectionOrderExportDto.setIsLeave1(processOrderDto.getIsLeave() != null && processOrderDto.getIsLeave() == 1 ? "鈽�" : "鈻�"); + inspectionOrderExportDto.setIsLeave2(processOrderDto.getIsLeave() != null && processOrderDto.getIsLeave() == 0 ? "鈽�" : "鈻�"); + inspectionOrderExportDto.setSend0(processOrderDto.getSend() != null && processOrderDto.getSend() == 1 ? "鈽�" : "鈻�"); + inspectionOrderExportDto.setSend1(processOrderDto.getSend() != null && processOrderDto.getSend() == 0 ? "鈽�" : "鈻�"); + inspectionOrderExportDto.setProcessing0(processOrderDto.getProcessing() != null && processOrderDto.getProcessing() == 0 ? "鈽�" : "鈻�"); + inspectionOrderExportDto.setProcessing1(processOrderDto.getProcessing() != null && processOrderDto.getProcessing() == 1 ? "鈽�" : "鈻�"); + if (ObjectUtils.isNotEmpty(processOrder.getRule())) { + inspectionOrderExportDto.setCriterionRule0(processOrder.getRule().equals("涓嶈�冭檻涓嶇‘瀹氬害") ? "鈽�" : "鈻�"); + inspectionOrderExportDto.setCriterionRule1(processOrder.getRule().contains("-") ? "鈽�" : "鈻�"); + inspectionOrderExportDto.setCriterionRuleRemark(processOrder.getRule().contains("-") ? processOrder.getRule().split("-")[1] : ""); + } + return inspectionOrderExportDto; + } +} diff --git a/cnas-process/src/main/java/com/yuanchu/mom/service/impl/ProcessReportServiceImpl.java b/cnas-process/src/main/java/com/yuanchu/mom/service/impl/ProcessReportServiceImpl.java new file mode 100644 index 0000000..be47fbe --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/service/impl/ProcessReportServiceImpl.java @@ -0,0 +1,431 @@ +package com.yuanchu.mom.service.impl; + +import cn.hutool.core.lang.UUID; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.deepoove.poi.XWPFTemplate; +import com.deepoove.poi.config.Configure; +import com.deepoove.poi.config.ConfigureBuilder; +import com.deepoove.poi.data.*; +import com.deepoove.poi.data.style.*; +import com.yuanchu.mom.common.GetLook; +import com.yuanchu.mom.common.PrintChina; +import com.yuanchu.mom.exception.ErrorException; +import com.yuanchu.mom.mapper.UserMapper; +import com.yuanchu.mom.pojo.ProcessComplain; +import com.yuanchu.mom.pojo.ProcessReport; +import com.yuanchu.mom.mapper.ProcessReportMapper; +import com.yuanchu.mom.pojo.User; +import com.yuanchu.mom.service.ProcessReportService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.yuanchu.mom.utils.QueryWrappers; +import org.apache.commons.io.IOUtils; +import org.apache.poi.xwpf.usermodel.*; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import java.io.*; +import java.nio.file.Files; +import java.nio.file.Paths; +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-11-05 08:58:39 + */ +@Service +@Transactional(rollbackFor = Exception.class) +public class ProcessReportServiceImpl extends ServiceImpl<ProcessReportMapper, ProcessReport> implements ProcessReportService { + + @Resource + private ProcessReportMapper processReportMapper; + + @Resource + GetLook getLook; + + @Value("${wordUrl}") + private String wordUrl; + + @Resource + private UserMapper userMapper; + + @Override + public Map<String, Object> pageProcessReport(Page page, ProcessReport processReport) { + Map<String, Object> map = new HashMap<>(); + map.put("head", PrintChina.printChina(ProcessReport.class)); + Map<String, Integer> map1 = getLook.selectPowerByMethodAndUserId("pageProcessOrder"); + if (map1.get("look") == 1) processReport.setCreateUser(map1.get("userId")); + IPage<ProcessReport> processReportIPage = processReportMapper.pageProcessReport(page, QueryWrappers.queryWrappers(processReport)); + for (ProcessReport record : processReportIPage.getRecords()) { + List<String> name = new ArrayList<>(); + for (String s : record.getSignatory().split(",")) { + User user = userMapper.selectById(Integer.parseInt(s)); + name.add(user.getName()); + } + String signatoryName = name.stream().collect(Collectors.joining(",")); + record.setSignatoryName(signatoryName); + } + map.put("body", processReportIPage); + return map; + } + + @Override + public String exportProcessReport(List<Integer> ids) { + List<ProcessReport> processReports = processReportMapper.getIds(ids); + for (ProcessReport processReport : processReports) { + List<String> name = new ArrayList<>(); + for (String s : processReport.getSignatory().split(",")) { + User user = userMapper.selectById(Integer.parseInt(s)); + name.add(user.getName()); + } + String signatoryName = name.stream().collect(Collectors.joining(",")); + processReport.setSignatoryName(signatoryName); + } + //鐢熸垚妫�楠屾姤鍛婂彂鏀剧櫥璁拌〃 + String url; + try { + InputStream inputStream = this.getClass().getResourceAsStream("/static/report-deal.docx"); + File file = File.createTempFile("temp", ".tmp"); + OutputStream outputStream = new FileOutputStream(file); + IOUtils.copy(inputStream, outputStream); + url = file.getAbsolutePath(); + } catch (FileNotFoundException e) { + throw new ErrorException("鎵句笉鍒版ā鏉挎枃浠�"); + } catch (IOException e) { + throw new RuntimeException(e); + } + ConfigureBuilder builder = Configure.builder(); + builder.useSpringEL(true); + + List<Map<String, Object>> reportList = new ArrayList<>(); + Integer index = 1; + Integer index1 = 1; + for (int c = 0; c < processReports.size(); c++) { + //瓒呰繃15琛屾崲椤� + if (c % 15 == 0) { + List<RowRenderData> rows = new ArrayList<>(); + //琛ㄦ牸鐨勮鏁� + for (int i = 0; i < 16; i++) { + RowRenderData rowRenderData = new RowRenderData(); + RowStyle rowStyle = new RowStyle(); + rowStyle.setHeight(40); + rowRenderData.setRowStyle(rowStyle); + List<CellRenderData> cells = new ArrayList<>(); + //琛ㄦ牸鐨勫垪鏁� + for (int j = 0; j < 10; j++) { + CellRenderData cellRenderData = new CellRenderData(); + CellStyle cellStyle = new CellStyle(); + cellStyle.setVertAlign(XWPFTableCell.XWPFVertAlign.CENTER); + cellRenderData.setCellStyle(cellStyle); + List<ParagraphRenderData> paragraphRenderDataList = new ArrayList<>(); + ParagraphRenderData paragraphRenderData = new ParagraphRenderData(); + ParagraphStyle paragraphStyle = new ParagraphStyle(); + paragraphStyle.setAlign(ParagraphAlignment.CENTER); + paragraphRenderData.setParagraphStyle(paragraphStyle); + List<RenderData> renderData = new ArrayList<>(); + TextRenderData textRenderData = new TextRenderData(); + Style style = new Style(); + style.setFontFamily("瀹嬩綋"); + style.setColor("000000"); + textRenderData.setStyle(style); + if (i == 0) { + //绗竴琛� + if (j == 0) { + //绗竴鍒楀簭鍙� + textRenderData.setText("搴忓彿@No."); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else if (j == 1) { + //绗簩鍒� + textRenderData.setText("妫�楠屾姤鍛婄紪鍙稝Inspection report number"); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else if (j == 2) { + //绗笁鍒� + textRenderData.setText("椤垫暟@Pages"); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else if (j == 3) { + //绗洓鍒� + textRenderData.setText("鍙戦�佷唤鏁癅Number of copies sent"); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else if (j == 4) { + //绗簲鍒� + textRenderData.setText("鍙戝線浣曞@Where to send to"); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else if (j == 5) { + //绗叚鍒� + textRenderData.setText("鍙戦�佹柟寮廆Send method"); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else if (j == 6) { + //绗竷鍒� + textRenderData.setText("鍙戦�佹棩鏈烜Date sent"); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + }else if (j == 7) { + //绗叓鍒� + textRenderData.setText("鍙戦�佷汉@Sender"); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + }else if (j == 8) { + //绗節鍒� + textRenderData.setText("绛炬敹浜篅Signatory"); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + }else{ + //绗崄鍒� + textRenderData.setText("澶囨敞@Remark"); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } + } + else { + //鍏朵粬琛� + if (j == 0) { + //绗竴鍒� + try{ + String insReportCode = processReports.get((i-1) + (index1 - 1) * 20).getInsReportCode(); + textRenderData.setText(index + ""); + } catch (Exception e) { + textRenderData.setText(""); + } + index++; + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else if (j == 1) { + try{ + textRenderData.setText(processReports.get((i-1) + (index1 - 1) * 20).getInsReportCode()); + } catch (Exception e) { + textRenderData.setText(""); + } + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } + else if (j == 2) { + try{ + textRenderData.setText(processReports.get((i-1) + (index1 - 1) * 20).getPages()); + } catch (Exception e) { + textRenderData.setText(""); + } + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } + else if (j == 3) { + try{ + textRenderData.setText(processReports.get((i-1) + (index1 - 1) * 20).getNumber()); + } catch (Exception e) { + textRenderData.setText(""); + } + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } + else if (j == 4) { + try{ + textRenderData.setText(processReports.get((i-1) + (index1 - 1) * 20).getSend()); + } catch (Exception e) { + textRenderData.setText(""); + } + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } + else if (j == 5) { + try{ + textRenderData.setText(processReports.get((i-1) + (index1 - 1) * 20).getMethod()); + } catch (Exception e) { + textRenderData.setText(""); + } + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } + else if (j == 6) { + try{ + textRenderData.setText(processReports.get((i-1) + (index1 - 1) * 20).getSendTime()+""); + } catch (Exception e) { + textRenderData.setText(""); + } + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } + else if (j == 7) { + try{ + textRenderData.setText(processReports.get((i-1) + (index1 - 1) * 20).getSendUserName()); + } catch (Exception e) { + textRenderData.setText(""); + } + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } + else if (j == 8) { + try{ + textRenderData.setText(processReports.get((i-1) + (index1 - 1) * 20).getSignatoryName()); + } catch (Exception e) { + textRenderData.setText(""); + } + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } + else { + try{ + textRenderData.setText(processReports.get((i-1) + (index1 - 1) * 20).getRemark()); + } catch (Exception e) { + textRenderData.setText(""); + } + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } + } + } + rowRenderData.setCells(cells); + if (rowRenderData.getCells().size() != 0) { + rows.add(rowRenderData); + } + } + TableRenderData tableRenderData = new TableRenderData(); + tableRenderData.setRows(rows); + int countSize = tableRenderData.getRows().get(0).getCells().size(); + for (RowRenderData row : tableRenderData.getRows()) { + if (row.getCells().size() != countSize) { + throw new ErrorException("姣忚鍗曞厓鏍间笉鐩哥瓑"); + } + } + TableStyle tableStyle = new TableStyle(); + tableStyle.setWidth(XWPFTable.DEFAULT_PERCENTAGE_WIDTH); + tableStyle.setAlign(TableRowAlign.CENTER); + BorderStyle borderStyle = new BorderStyle(); + borderStyle.setColor("000000"); + borderStyle.setType(XWPFTable.XWPFBorderType.THICK); + borderStyle.setSize(14); + tableStyle.setLeftBorder(borderStyle); + tableStyle.setTopBorder(borderStyle); + tableStyle.setRightBorder(borderStyle); + tableStyle.setBottomBorder(borderStyle); + tableRenderData.setTableStyle(tableStyle); + Map<String, Object> table = new HashMap<>(); + table.put("report", tableRenderData); + table.put("index1", index1); + reportList.add(table); + index1++; + } + } + Integer finalIndex = index1; + XWPFTemplate template = XWPFTemplate.compile(url, builder.build()).render( + new HashMap<String, Object>() {{ + put("reportList", reportList); + }}); + String name = UUID.randomUUID() + "_妫�楠屾姤鍛婂彂鏀剧櫥璁拌〃" + ".docx"; + try { + template.writeAndClose(Files.newOutputStream(Paths.get(wordUrl + "/" + name))); + } catch (IOException e) { + throw new RuntimeException(e); + } + //澶勭悊涓嫳鏂囨崲琛岀殑闂 + String path = wordUrl + "/" + name; + try { + FileInputStream stream1 = new FileInputStream(path); + XWPFDocument document1 = new XWPFDocument(stream1); + List<XWPFTable> xwpfTables1 = document1.getTables(); + for (int i = 0; i < xwpfTables1.size(); i++) { + for (int j = 0; j < xwpfTables1.get(i).getRows().size(); j++) { + for (int k = 0; k < xwpfTables1.get(i).getRows().get(j).getTableCells().size(); k++) { + if (xwpfTables1.get(i).getRows().get(j).getTableCells().get(k).getText().contains("@")) { + String text = xwpfTables1.get(i).getRows().get(j).getTableCells().get(k).getText(); + String[] split = text.split("@"); + xwpfTables1.get(i).getRows().get(j).getTableCells().get(k).removeParagraph(0); + XWPFParagraph xwpfParagraph = xwpfTables1.get(i).getRows().get(j).getTableCells().get(k).addParagraph(); + XWPFRun run = xwpfParagraph.createRun(); + run.setText(split[0]); + if (ObjectUtils.isNotNull(split[1])) { + run.addBreak(); + run.setText(split[1]); + } + xwpfParagraph.setAlignment(ParagraphAlignment.CENTER); + } + } + } + } + FileOutputStream fileOutputStream1 = new FileOutputStream(path); + document1.write(fileOutputStream1); + fileOutputStream1.close(); + } catch (FileNotFoundException e) { + throw new RuntimeException(e); + } catch (IOException e) { + throw new RuntimeException(e); + } + return name; + } +} diff --git a/cnas-process/src/main/java/com/yuanchu/mom/service/impl/ProcessSampleServiceImpl.java b/cnas-process/src/main/java/com/yuanchu/mom/service/impl/ProcessSampleServiceImpl.java new file mode 100644 index 0000000..81e8acf --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/service/impl/ProcessSampleServiceImpl.java @@ -0,0 +1,105 @@ +package com.yuanchu.mom.service.impl; + +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yuanchu.mom.common.GetLook; +import com.yuanchu.mom.common.PrintChina; +import com.yuanchu.mom.mapper.ProcessTotalSampleMapper; +import com.yuanchu.mom.pojo.ProcessDeal; +import com.yuanchu.mom.pojo.ProcessSample; +import com.yuanchu.mom.mapper.ProcessSampleMapper; +import com.yuanchu.mom.pojo.ProcessTotalSample; +import com.yuanchu.mom.pojo.ProcessTotaldeal; +import com.yuanchu.mom.service.ProcessSampleService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.yuanchu.mom.utils.QueryWrappers; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.time.LocalDate; +import java.time.format.DateTimeFormatter; +import java.util.HashMap; +import java.util.Map; + +/** + * <p> + * 鏍峰搧鎺ユ敹 鏈嶅姟瀹炵幇绫� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-12-12 05:02:49 + */ +@Service +public class ProcessSampleServiceImpl extends ServiceImpl<ProcessSampleMapper, ProcessSample> implements ProcessSampleService { + + @Resource + private ProcessSampleMapper processSampleMapper; + + @Resource + private ProcessTotalSampleMapper processTotalSampleMapper; + + @Resource + GetLook getLook; + + + @Override + public Map<String, Object> pageProcessSample(Page page, ProcessSample processSample) { + Map<String, Object> map = new HashMap<>(); + map.put("head", PrintChina.printChina(ProcessSample.class)); + Map<String, Integer> map1 = getLook.selectPowerByMethodAndUserId("pageProcessDeal"); + if (map1.get("look") == 1) processSample.setCreateUser(map1.get("userId")); + if (ObjectUtils.isEmpty(processSample.getTotalSampleId())) { + //鑾峰彇褰撳墠鏈堜唤 + LocalDate currentDate = LocalDate.now(); + // 瀹氫箟鏃ユ湡鏍煎紡 + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM"); + // 鏍煎紡鍖栧綋鍓嶆棩鏈� + String currentMonth = currentDate.format(formatter); + //鏌ヨ鍘嗗彶 + ProcessTotalSample processTotalSample = processTotalSampleMapper.selectOne(Wrappers.<ProcessTotalSample>lambdaQuery().eq(ProcessTotalSample::getMonth, currentMonth)); + processSample.setTotalSampleId(processTotalSample.getId()); + } + map.put("body", processSampleMapper.pageProcessSample(page, QueryWrappers.queryWrappers(processSample))); + return map; + } + + @Override + public int addProcessSample(ProcessSample processSample) { + ProcessTotalSample processTotalSample; + if (ObjectUtils.isEmpty(processSample.getTotalSampleId())){ + LocalDate dealTime = LocalDate.now(); + // 瀹氫箟鏃ユ湡鏍煎紡 + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM"); + // 鏍煎紡鍖栧綋鍓嶆棩鏈� + String currentMonth = dealTime.format(formatter); + processTotalSample= processTotalSampleMapper.selectOne(Wrappers.<ProcessTotalSample>lambdaQuery().eq(ProcessTotalSample::getMonth,currentMonth)); + processSample.setTotalSampleId(processTotalSample.getId()); + }else { + processTotalSample= processTotalSampleMapper.selectById(processSample.getTotalSampleId()); + } + processSampleMapper.insert(processSample); + processTotalSample.setTotalNum(processSample.getNum()+processTotalSample.getTotalNum()); + return processTotalSampleMapper.updateById(processTotalSample); + } + + @Override + public int delProcessSample(Integer id) { + ProcessSample processSample = processSampleMapper.selectById(id); + processSampleMapper.deleteById(id); + ProcessTotalSample processTotalSample = processTotalSampleMapper.selectById(processSample.getTotalSampleId()); + processTotalSample.setTotalNum(processTotalSample.getTotalNum()-processSample.getNum()); + return processTotalSampleMapper.updateById(processTotalSample); + } + + @Override + public int doProcessSample(ProcessSample processSample) { + if (ObjectUtils.isNotEmpty(processSample.getNum())) { + ProcessSample oldProcessSample = processSampleMapper.selectById(processSample.getId()); + ProcessTotalSample processTotalSample = processTotalSampleMapper.selectById(processSample.getTotalSampleId()); + processTotalSample.setTotalNum(processTotalSample.getTotalNum() - oldProcessSample.getNum() + processSample.getNum()); + processTotalSampleMapper.updateById(processTotalSample); + } + return processSampleMapper.updateById(processSample); + } +} diff --git a/cnas-process/src/main/java/com/yuanchu/mom/service/impl/ProcessTotalSampleServiceImpl.java b/cnas-process/src/main/java/com/yuanchu/mom/service/impl/ProcessTotalSampleServiceImpl.java new file mode 100644 index 0000000..b8d278f --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/service/impl/ProcessTotalSampleServiceImpl.java @@ -0,0 +1,439 @@ +package com.yuanchu.mom.service.impl; + +import cn.hutool.core.lang.UUID; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.deepoove.poi.XWPFTemplate; +import com.deepoove.poi.config.Configure; +import com.deepoove.poi.config.ConfigureBuilder; +import com.deepoove.poi.data.*; +import com.deepoove.poi.data.style.*; +import com.yuanchu.mom.common.GetLook; +import com.yuanchu.mom.common.PrintChina; +import com.yuanchu.mom.exception.ErrorException; +import com.yuanchu.mom.mapper.ProcessSampleMapper; +import com.yuanchu.mom.mapper.UserMapper; +import com.yuanchu.mom.pojo.*; +import com.yuanchu.mom.mapper.ProcessTotalSampleMapper; +import com.yuanchu.mom.service.ProcessTotalSampleService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.yuanchu.mom.utils.QueryWrappers; +import org.apache.commons.io.IOUtils; +import org.apache.poi.xwpf.usermodel.*; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.io.*; +import java.nio.file.Files; +import java.nio.file.Paths; +import java.time.format.DateTimeFormatter; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * <p> + * 鏍峰搧鎺ユ敹鎬昏〃 鏈嶅姟瀹炵幇绫� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-12-12 05:02:58 + */ +@Service +public class ProcessTotalSampleServiceImpl extends ServiceImpl<ProcessTotalSampleMapper, ProcessTotalSample> implements ProcessTotalSampleService { + + @Value("${wordUrl}") + private String wordUrl; + + @Value("${file.path}") + private String imgUrl; + + @Resource + GetLook getLook; + + @Resource + private UserMapper userMapper; + + @Resource + private ProcessTotalSampleMapper processTotalSampleMapper; + + @Resource + private ProcessSampleMapper processSampleMapper; + + @Override + public Map<String, Object> pageProcessTotalSample(Page page, ProcessTotalSample processTotalSample) { + Map<String, Object> map = new HashMap<>(); + map.put("head", PrintChina.printChina(ProcessTotalSample.class)); + map.put("body", processTotalSampleMapper.pageProcessTotalSample(page, QueryWrappers.queryWrappers(processTotalSample))); + return map; + } + + @Override + public int submitProcessTotalSample(Integer id) { + Integer userId = getLook.selectPowerByMethodAndUserId(null).get("userId"); + User user = userMapper.selectById(userId); + if (ObjectUtils.isEmpty(user.getSignatureUrl())) throw new ErrorException("鏈壘鍒板~琛ㄤ汉鐨勭數瀛愮鍚�,璇蜂笂浼犺嚜宸辩殑鐢靛瓙绛惧悕!"); + ProcessTotalSample processTotalSample = processTotalSampleMapper.selectById(id); + processTotalSample.setSubmitUser(userId); + processTotalSample.setSubmitState("宸叉彁浜�"); + processTotalSample.setSubmitUrl(user.getSignatureUrl()); + //鐢熸垚鏍峰搧澶勭悊鐢宠琛ㄥ苟灏嗗~琛ㄤ汉鐨勭數瀛愮鍚嶅嵃涓� + processTotalSample.setUrl(processTotalSample(id,user.getSignatureUrl())); + return processTotalSampleMapper.updateById(processTotalSample); + } + + @Override + public int checkProcessTotalSample(Integer id, String state) { + Integer userId = getLook.selectPowerByMethodAndUserId(null).get("userId"); + User user = userMapper.selectById(userId); + if (ObjectUtils.isEmpty(user.getSignatureUrl())) throw new ErrorException("鏈壘鍒板鏍镐汉鐨勭數瀛愮鍚�,璇蜂笂浼犺嚜宸辩殑鐢靛瓙绛惧悕!"); + ProcessTotalSample processTotalSample = processTotalSampleMapper.selectById(id); + processTotalSample.setExamineUser(userId); + processTotalSample.setExamineState(state); + processTotalSample.setExamineUrl(user.getSignatureUrl()); + if (state.equals("涓嶉�氳繃")) { + processTotalSample.setSubmitState("寰呮彁浜�"); + } + //灏嗗鏍镐汉鐨勭數瀛愮鍚嶅嵃涓� + wordInsertUrl(new HashMap<String, Object>() {{ + put("examineUrl", new FilePictureRenderData(100,50,imgUrl + "/" + user.getSignatureUrl())); + }}, wordUrl+"/"+processTotalSample.getUrl()); + return processTotalSampleMapper.updateById(processTotalSample); + } + + @Override + public int ratifyProcessTotalSample(Integer id, String state) { + Integer userId = getLook.selectPowerByMethodAndUserId(null).get("userId"); + User user = userMapper.selectById(userId); + if (ObjectUtils.isEmpty(user.getSignatureUrl())) throw new ErrorException("鏈壘鍒版壒鍑嗕汉鐨勭數瀛愮鍚�,璇蜂笂浼犺嚜宸辩殑鐢靛瓙绛惧悕!"); + ProcessTotalSample processTotalSample = processTotalSampleMapper.selectById(id); + processTotalSample.setRatifyUser(userId); + processTotalSample.setRatifyState(state); + processTotalSample.setRatifyUrl(user.getSignatureUrl()); + if (state.equals("涓嶉�氳繃")) { + processTotalSample.setSubmitState("寰呮彁浜�"); + } + //灏嗘壒鍑嗕汉鐨勭鍚嶅嵃涓� + wordInsertUrl(new HashMap<String, Object>() {{ + put("ratifyUrl", new FilePictureRenderData(100,50,imgUrl + "/" + user.getSignatureUrl())); + }}, wordUrl+"/"+processTotalSample.getUrl()); + return processTotalSampleMapper.updateById(processTotalSample); + } + + //鐢熸垚鏍峰搧澶勭悊琛╳ord + private String processTotalSample(Integer id,String signatureUrl){ + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy骞碝M鏈坉d鏃�"); + List<ProcessSample> processSamples = processSampleMapper.selectList(Wrappers.<ProcessSample>lambdaQuery().eq(ProcessSample::getTotalSampleId,id)); + String url; + try { + InputStream inputStream = this.getClass().getResourceAsStream("/static/sample-receive.docx"); + File file = File.createTempFile("temp", ".tmp"); + OutputStream outputStream = new FileOutputStream(file); + IOUtils.copy(inputStream, outputStream); + url = file.getAbsolutePath(); + } catch (FileNotFoundException e) { + throw new ErrorException("鎵句笉鍒版ā鏉挎枃浠�"); + } catch (IOException e) { + throw new RuntimeException(e); + } + ConfigureBuilder builder = Configure.builder(); + builder.useSpringEL(true); + + List<Map<String, Object>> sampleList = new ArrayList<>(); + Integer index = 1; + Integer index1 = 1; + for (int c = 0; c < processSamples.size(); c++) { + //瓒呰繃20琛屾崲椤� + if (c % 20 == 0) { + List<RowRenderData> rows = new ArrayList<>(); + //琛ㄦ牸鐨勮鏁� + for (int i = 0; i < 21; i++) { + RowRenderData rowRenderData = new RowRenderData(); + RowStyle rowStyle = new RowStyle(); + rowStyle.setHeight(40); + rowRenderData.setRowStyle(rowStyle); + List<CellRenderData> cells = new ArrayList<>(); + //琛ㄦ牸鐨勫垪鏁� + for (int j = 0; j < 8; j++) { + CellRenderData cellRenderData = new CellRenderData(); + CellStyle cellStyle = new CellStyle(); + cellStyle.setVertAlign(XWPFTableCell.XWPFVertAlign.CENTER); + cellRenderData.setCellStyle(cellStyle); + List<ParagraphRenderData> paragraphRenderDataList = new ArrayList<>(); + ParagraphRenderData paragraphRenderData = new ParagraphRenderData(); + ParagraphStyle paragraphStyle = new ParagraphStyle(); + paragraphStyle.setAlign(ParagraphAlignment.CENTER); + paragraphRenderData.setParagraphStyle(paragraphStyle); + List<RenderData> renderData = new ArrayList<>(); + TextRenderData textRenderData = new TextRenderData(); + Style style = new Style(); + style.setFontFamily("瀹嬩綋"); + style.setColor("000000"); + textRenderData.setStyle(style); + if (i == 0) { + //绗竴琛� + if (j == 0) { + //绗竴鍒楀簭鍙� + textRenderData.setText("鏀舵牱鏃ユ湡@Date of receipt"); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else if (j == 1) { + //绗簩鍒楁牱鍝佸悕绉� + textRenderData.setText("鏍峰搧缂栧彿@Sample number"); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else if (j == 2) { + //绗笁鍒楁牱鍝佺紪鍙� + textRenderData.setText("鏍峰搧鍚嶇О@Sample name"); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else if (j == 3) { + //绗洓鍒椾緵鏍峰崟浣� + textRenderData.setText("鏍峰搧鏁伴噺@Number of samples"); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else if (j == 4) { + //绗簲鍒楁暟閲� + textRenderData.setText("鏉ユ牱鍗曚綅@Sample unit"); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else if (j == 5) { + //绗叚鍒楀鐞嗘柟寮� + textRenderData.setText("鐣欐牱鏃ユ湡@Sample retention date"); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else if (j == 6) { + //绗叚鍒楀鐞嗘柟寮� + textRenderData.setText("鏍峰搧鐘舵�丂Sample status"); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } + else { + //绗竷鍒楁椂闂� + textRenderData.setText("閫�鏍风鏀跺拰/鎴栧鐞嗘棩鏈烜Return signature and/or processing date"); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } + } + else { + //鍏朵粬琛� + if (j == 0) { + //绗竴鍒� + try{ + String receiveDate = processSamples.get((i-1) + (index1 - 1) * 20).getReceiveDate().format(formatter); + textRenderData.setText(receiveDate); + } catch (Exception e) { + textRenderData.setText(""); + } + index++; + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else if (j == 1) { + try{ + textRenderData.setText(processSamples.get((i-1) + (index1 - 1) * 20).getSampleCode()); + } catch (Exception e) { + textRenderData.setText(""); + } + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } + else if (j == 2) { + try{ + textRenderData.setText(processSamples.get((i-1) + (index1 - 1) * 20).getSampleName()); + } catch (Exception e) { + textRenderData.setText(""); + } + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } + else if (j == 3) { + try{ + textRenderData.setText(processSamples.get((i-1) + (index1 - 1) * 20).getNum()+""); + } catch (Exception e) { + textRenderData.setText(""); + } + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } + else if (j == 4) { + try{ + textRenderData.setText(processSamples.get((i-1) + (index1 - 1) * 20).getSampleSupplier()); + } catch (Exception e) { + textRenderData.setText(""); + } + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } + else if (j == 5) { + try{ + textRenderData.setText(processSamples.get((i-1) + (index1 - 1) * 20).getLeaveDate().format(formatter)); + } catch (Exception e) { + textRenderData.setText(""); + } + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } + else if (j == 5) { + try{ + textRenderData.setText(processSamples.get((i-1) + (index1 - 1) * 20).getSampleState()); + } catch (Exception e) { + textRenderData.setText(""); + } + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } + else { + try{ + textRenderData.setText(processSamples.get((i-1) + (index1 - 1) * 20).getDealTime().format(formatter)); + } catch (Exception e) { + textRenderData.setText(""); + } + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } + } + } + rowRenderData.setCells(cells); + if (rowRenderData.getCells().size() != 0) { + rows.add(rowRenderData); + } + } + TableRenderData tableRenderData = new TableRenderData(); + tableRenderData.setRows(rows); + int countSize = tableRenderData.getRows().get(0).getCells().size(); + for (RowRenderData row : tableRenderData.getRows()) { + if (row.getCells().size() != countSize) { + throw new ErrorException("姣忚鍗曞厓鏍间笉鐩哥瓑"); + } + } + TableStyle tableStyle = new TableStyle(); + tableStyle.setWidth(XWPFTable.DEFAULT_PERCENTAGE_WIDTH); + tableStyle.setAlign(TableRowAlign.CENTER); + BorderStyle borderStyle = new BorderStyle(); + borderStyle.setColor("000000"); + borderStyle.setType(XWPFTable.XWPFBorderType.THICK); + borderStyle.setSize(14); + tableStyle.setLeftBorder(borderStyle); + tableStyle.setTopBorder(borderStyle); + tableStyle.setRightBorder(borderStyle); + tableStyle.setBottomBorder(borderStyle); + tableRenderData.setTableStyle(tableStyle); + Map<String, Object> table = new HashMap<>(); + table.put("sample", tableRenderData); + table.put("index1", index1); + sampleList.add(table); + index1++; + } + } + Integer finalIndex = index1; + XWPFTemplate template = XWPFTemplate.compile(url, builder.build()).render( + new HashMap<String, Object>() {{ + put("sampleList", sampleList); + put("size", finalIndex); + put("examineUrl", null); + put("ratifyUrl", null); + put("writeUrl", new FilePictureRenderData(100,50,imgUrl + "/" + signatureUrl)); + }}); + String name = UUID.randomUUID() + "_妫�楠屾牱鍝佺櫥璁拌〃" + ".docx"; + try { + template.writeAndClose(Files.newOutputStream(Paths.get(wordUrl + "/" + name))); + } catch (IOException e) { + throw new RuntimeException(e); + } + //澶勭悊涓嫳鏂囨崲琛岀殑闂 + String path = wordUrl + "/" + name; + try { + FileInputStream stream1 = new FileInputStream(path); + XWPFDocument document1 = new XWPFDocument(stream1); + List<XWPFTable> xwpfTables1 = document1.getTables(); + for (int i = 0; i < xwpfTables1.size(); i++) { + for (int j = 0; j < xwpfTables1.get(i).getRows().size(); j++) { + for (int k = 0; k < xwpfTables1.get(i).getRows().get(j).getTableCells().size(); k++) { + if (xwpfTables1.get(i).getRows().get(j).getTableCells().get(k).getText().contains("@")) { + String text = xwpfTables1.get(i).getRows().get(j).getTableCells().get(k).getText(); + String[] split = text.split("@"); + xwpfTables1.get(i).getRows().get(j).getTableCells().get(k).removeParagraph(0); + XWPFParagraph xwpfParagraph = xwpfTables1.get(i).getRows().get(j).getTableCells().get(k).addParagraph(); + XWPFRun run = xwpfParagraph.createRun(); + run.setText(split[0]); + if (ObjectUtils.isNotNull(split[1])) { + run.addBreak(); + run.setText(split[1]); + } + xwpfParagraph.setAlignment(ParagraphAlignment.CENTER); + } + } + } + } + FileOutputStream fileOutputStream1 = new FileOutputStream(path); + document1.write(fileOutputStream1); + fileOutputStream1.close(); + } catch (FileNotFoundException e) { + throw new RuntimeException(e); + } catch (IOException e) { + throw new RuntimeException(e); + } + return name; + } + + public int wordInsertUrl(Map<String, Object> map, String url) { + XWPFTemplate template = XWPFTemplate.compile(url).render(map); + try { + template.writeAndClose(Files.newOutputStream(Paths.get(url))); + } catch (IOException e) { + throw new RuntimeException(e); + } + return 1; + } +} diff --git a/cnas-process/src/main/java/com/yuanchu/mom/service/impl/ProcessTotaldealServiceImpl.java b/cnas-process/src/main/java/com/yuanchu/mom/service/impl/ProcessTotaldealServiceImpl.java new file mode 100644 index 0000000..e346c64 --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/service/impl/ProcessTotaldealServiceImpl.java @@ -0,0 +1,419 @@ +package com.yuanchu.mom.service.impl; + +import cn.hutool.core.lang.UUID; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.deepoove.poi.XWPFTemplate; +import com.deepoove.poi.config.Configure; +import com.deepoove.poi.config.ConfigureBuilder; +import com.deepoove.poi.data.*; +import com.deepoove.poi.data.style.*; +import com.yuanchu.mom.common.GetLook; +import com.yuanchu.mom.common.PrintChina; +import com.yuanchu.mom.exception.ErrorException; +import com.yuanchu.mom.mapper.ProcessDealMapper; +import com.yuanchu.mom.mapper.UserMapper; +import com.yuanchu.mom.pojo.ProcessDeal; +import com.yuanchu.mom.pojo.ProcessTotaldeal; +import com.yuanchu.mom.mapper.ProcessTotaldealMapper; +import com.yuanchu.mom.pojo.User; +import com.yuanchu.mom.service.ProcessTotaldealService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.yuanchu.mom.utils.QueryWrappers; +import org.apache.commons.io.IOUtils; +import org.apache.poi.openxml4j.util.ZipSecureFile; +import org.apache.poi.xwpf.usermodel.*; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import javax.annotation.Resource; +import java.io.*; +import java.nio.file.Files; +import java.nio.file.Paths; +import java.time.format.DateTimeFormatter; +import java.util.*; + +/** + * <p> + * 妫�娴嬫垨鏍″噯鐗╁搧鐨勫缃�昏〃(鍘嗗彶) 鏈嶅姟瀹炵幇绫� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-02 03:59:09 + */ +@Service +@Transactional(rollbackFor = Exception.class) +public class ProcessTotaldealServiceImpl extends ServiceImpl<ProcessTotaldealMapper, ProcessTotaldeal> implements ProcessTotaldealService { + + @Resource + private ProcessTotaldealMapper processTotaldealMapper; + + @Resource + private ProcessDealMapper processDealMapper; + + @Value("${wordUrl}") + private String wordUrl; + + @Value("${file.path}") + private String imgUrl; + + @Resource + GetLook getLook; + + @Resource + private UserMapper userMapper; + + @Override + public Map<String, Object> pageProcessTotaldeal(Page page, ProcessTotaldeal processTotaldeal) { + Map<String, Object> map = new HashMap<>(); + map.put("head", PrintChina.printChina(ProcessTotaldeal.class)); + map.put("body", processTotaldealMapper.pageProcessTotaldeal(page, QueryWrappers.queryWrappers(processTotaldeal))); + return map; + } + + @Override + public int submitProcessTotaldeal(Integer id) { + Integer userId = getLook.selectPowerByMethodAndUserId(null).get("userId"); + User user = userMapper.selectById(userId); + if (ObjectUtils.isEmpty(user.getSignatureUrl())) throw new ErrorException("鏈壘鍒板~琛ㄤ汉鐨勭數瀛愮鍚�,璇蜂笂浼犺嚜宸辩殑鐢靛瓙绛惧悕!"); + ProcessTotaldeal processTotaldeal = processTotaldealMapper.selectById(id); + processTotaldeal.setSubmitUser(userId); + processTotaldeal.setSubmitState("宸叉彁浜�"); + processTotaldeal.setSubmitUrl(user.getSignatureUrl()); + //鐢熸垚鏍峰搧澶勭悊鐢宠琛ㄥ苟灏嗗~琛ㄤ汉鐨勭數瀛愮鍚嶅嵃涓� + processTotaldeal.setUrl(processTotaldeal(id,user.getSignatureUrl())); + return processTotaldealMapper.updateById(processTotaldeal); + } + + @Override + public int checkProcessTotaldeal(Integer id, String state) { + Integer userId = getLook.selectPowerByMethodAndUserId(null).get("userId"); + User user = userMapper.selectById(userId); + if (ObjectUtils.isEmpty(user.getSignatureUrl())) throw new ErrorException("鏈壘鍒板鏍镐汉鐨勭數瀛愮鍚�,璇蜂笂浼犺嚜宸辩殑鐢靛瓙绛惧悕!"); + ProcessTotaldeal processTotaldeal = processTotaldealMapper.selectById(id); + processTotaldeal.setExamineUser(userId); + processTotaldeal.setExamineState(state); + processTotaldeal.setExamineUrl(user.getSignatureUrl()); + if (state.equals("涓嶉�氳繃")) { + processTotaldeal.setSubmitState("寰呮彁浜�"); + } + //灏嗗鏍镐汉鐨勭數瀛愮鍚嶅嵃涓� + wordInsertUrl(new HashMap<String, Object>() {{ + put("examineUrl", new FilePictureRenderData(100,50,imgUrl + "/" + user.getSignatureUrl())); + }}, wordUrl+"/"+processTotaldeal.getUrl()); + return processTotaldealMapper.updateById(processTotaldeal); + } + + @Override + public int ratifyProcessTotaldeal(Integer id, String state) { + Integer userId = getLook.selectPowerByMethodAndUserId(null).get("userId"); + User user = userMapper.selectById(userId); + if (ObjectUtils.isEmpty(user.getSignatureUrl())) throw new ErrorException("鏈壘鍒版壒鍑嗕汉鐨勭數瀛愮鍚�,璇蜂笂浼犺嚜宸辩殑鐢靛瓙绛惧悕!"); + ProcessTotaldeal processTotaldeal = processTotaldealMapper.selectById(id); + processTotaldeal.setRatifyUser(userId); + processTotaldeal.setRatifyState(state); + processTotaldeal.setRatifyUrl(user.getSignatureUrl()); + if (state.equals("涓嶉�氳繃")) { + processTotaldeal.setSubmitState("寰呮彁浜�"); + } + //灏嗘壒鍑嗕汉鐨勭鍚嶅嵃涓� + wordInsertUrl(new HashMap<String, Object>() {{ + put("ratifyUrl", new FilePictureRenderData(100,50,imgUrl + "/" + user.getSignatureUrl())); + }}, wordUrl+"/"+processTotaldeal.getUrl()); + return processTotaldealMapper.updateById(processTotaldeal); + } + + //鐢熸垚鏍峰搧澶勭悊琛╳ord + private String processTotaldeal(Integer id,String signatureUrl){ + List<ProcessDeal> processDeals = processDealMapper.selectList(Wrappers.<ProcessDeal>lambdaQuery().eq(ProcessDeal::getTotaldealId,id)); + String url; + try { + InputStream inputStream = this.getClass().getResourceAsStream("/static/sample-deal.docx"); + File file = File.createTempFile("temp", ".tmp"); + OutputStream outputStream = new FileOutputStream(file); + IOUtils.copy(inputStream, outputStream); + url = file.getAbsolutePath(); + } catch (FileNotFoundException e) { + throw new ErrorException("鎵句笉鍒版ā鏉挎枃浠�"); + } catch (IOException e) { + throw new RuntimeException(e); + } + ConfigureBuilder builder = Configure.builder(); + builder.useSpringEL(true); + + List<Map<String, Object>> sampleList = new ArrayList<>(); + Integer index = 1; + Integer index1 = 1; + for (int c = 0; c < processDeals.size(); c++) { + //瓒呰繃20琛屾崲椤� + if (c % 20 == 0) { + List<RowRenderData> rows = new ArrayList<>(); + //琛ㄦ牸鐨勮鏁� + for (int i = 0; i < 21; i++) { + RowRenderData rowRenderData = new RowRenderData(); + RowStyle rowStyle = new RowStyle(); + rowStyle.setHeight(40); + rowRenderData.setRowStyle(rowStyle); + List<CellRenderData> cells = new ArrayList<>(); + //琛ㄦ牸鐨勫垪鏁� + for (int j = 0; j < 7; j++) { + CellRenderData cellRenderData = new CellRenderData(); + CellStyle cellStyle = new CellStyle(); + cellStyle.setVertAlign(XWPFTableCell.XWPFVertAlign.CENTER); + cellRenderData.setCellStyle(cellStyle); + List<ParagraphRenderData> paragraphRenderDataList = new ArrayList<>(); + ParagraphRenderData paragraphRenderData = new ParagraphRenderData(); + ParagraphStyle paragraphStyle = new ParagraphStyle(); + paragraphStyle.setAlign(ParagraphAlignment.CENTER); + paragraphRenderData.setParagraphStyle(paragraphStyle); + List<RenderData> renderData = new ArrayList<>(); + TextRenderData textRenderData = new TextRenderData(); + Style style = new Style(); + style.setFontFamily("瀹嬩綋"); + style.setColor("000000"); + textRenderData.setStyle(style); + if (i == 0) { + //绗竴琛� + if (j == 0) { + //绗竴鍒楀簭鍙� + textRenderData.setText("搴忓彿@No."); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else if (j == 1) { + //绗簩鍒楁牱鍝佸悕绉� + textRenderData.setText("鏍峰搧鍚嶇О@Sample name"); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else if (j == 2) { + //绗笁鍒楁牱鍝佺紪鍙� + textRenderData.setText("鏍峰搧缂栧彿@Sample number"); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else if (j == 3) { + //绗洓鍒椾緵鏍峰崟浣� + textRenderData.setText("渚涙牱鍗曚綅@Sample unit"); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else if (j == 4) { + //绗簲鍒楁暟閲� + textRenderData.setText("鏁伴噺@Quantity"); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else if (j == 5) { + //绗叚鍒楀鐞嗘柟寮� + textRenderData.setText("澶勭悊鏂瑰紡@Processing"); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else { + //绗竷鍒楁椂闂� + textRenderData.setText("鏃堕棿@Date"); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } + } + else { + //鍏朵粬琛� + if (j == 0) { + //绗竴鍒� + try{ + String sampleName = processDeals.get((i-1) + (index1 - 1) * 20).getSampleName(); + textRenderData.setText(index + ""); + } catch (Exception e) { + textRenderData.setText(""); + } + index++; + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else if (j == 1) { + try{ + textRenderData.setText(processDeals.get((i-1) + (index1 - 1) * 20).getSampleName()); + } catch (Exception e) { + textRenderData.setText(""); + } + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } + else if (j == 2) { + try{ + textRenderData.setText(processDeals.get((i-1) + (index1 - 1) * 20).getSampleCode()); + } catch (Exception e) { + textRenderData.setText(""); + } + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } + else if (j == 3) { + try{ + textRenderData.setText(processDeals.get((i-1) + (index1 - 1) * 20).getSampleSupplier()); + } catch (Exception e) { + textRenderData.setText(""); + } + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } + else if (j == 4) { + try{ + textRenderData.setText(processDeals.get((i-1) + (index1 - 1) * 20).getNum()+""); + } catch (Exception e) { + textRenderData.setText(""); + } + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } + else if (j == 5) { + try{ + textRenderData.setText(processDeals.get((i-1) + (index1 - 1) * 20).getDealMethod()); + } catch (Exception e) { + textRenderData.setText(""); + } + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } + else { + try{ + textRenderData.setText(processDeals.get((i-1) + (index1 - 1) * 20).getDealTime()+""); + } catch (Exception e) { + textRenderData.setText(""); + } + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } + } + } + rowRenderData.setCells(cells); + if (rowRenderData.getCells().size() != 0) { + rows.add(rowRenderData); + } + } + TableRenderData tableRenderData = new TableRenderData(); + tableRenderData.setRows(rows); + int countSize = tableRenderData.getRows().get(0).getCells().size(); + for (RowRenderData row : tableRenderData.getRows()) { + if (row.getCells().size() != countSize) { + throw new ErrorException("姣忚鍗曞厓鏍间笉鐩哥瓑"); + } + } + TableStyle tableStyle = new TableStyle(); + tableStyle.setWidth(XWPFTable.DEFAULT_PERCENTAGE_WIDTH); + tableStyle.setAlign(TableRowAlign.CENTER); + BorderStyle borderStyle = new BorderStyle(); + borderStyle.setColor("000000"); + borderStyle.setType(XWPFTable.XWPFBorderType.THICK); + borderStyle.setSize(14); + tableStyle.setLeftBorder(borderStyle); + tableStyle.setTopBorder(borderStyle); + tableStyle.setRightBorder(borderStyle); + tableStyle.setBottomBorder(borderStyle); + tableRenderData.setTableStyle(tableStyle); + Map<String, Object> table = new HashMap<>(); + table.put("sample", tableRenderData); + table.put("index1", index1); + sampleList.add(table); + index1++; + } + } + Integer finalIndex = index1; + XWPFTemplate template = XWPFTemplate.compile(url, builder.build()).render( + new HashMap<String, Object>() {{ + put("sampleList", sampleList); + put("size", finalIndex); + put("examineUrl", null); + put("ratifyUrl", null); + put("writeUrl", new FilePictureRenderData(100,50,imgUrl + "/" + signatureUrl)); + }}); + String name = UUID.randomUUID() + "_鏍峰搧澶勭悊鐢宠琛�" + ".docx"; + try { + template.writeAndClose(Files.newOutputStream(Paths.get(wordUrl + "/" + name))); + } catch (IOException e) { + throw new RuntimeException(e); + } + //澶勭悊涓嫳鏂囨崲琛岀殑闂 + String path = wordUrl + "/" + name; + try { + FileInputStream stream1 = new FileInputStream(path); + XWPFDocument document1 = new XWPFDocument(stream1); + List<XWPFTable> xwpfTables1 = document1.getTables(); + for (int i = 0; i < xwpfTables1.size(); i++) { + for (int j = 0; j < xwpfTables1.get(i).getRows().size(); j++) { + for (int k = 0; k < xwpfTables1.get(i).getRows().get(j).getTableCells().size(); k++) { + if (xwpfTables1.get(i).getRows().get(j).getTableCells().get(k).getText().contains("@")) { + String text = xwpfTables1.get(i).getRows().get(j).getTableCells().get(k).getText(); + String[] split = text.split("@"); + xwpfTables1.get(i).getRows().get(j).getTableCells().get(k).removeParagraph(0); + XWPFParagraph xwpfParagraph = xwpfTables1.get(i).getRows().get(j).getTableCells().get(k).addParagraph(); + XWPFRun run = xwpfParagraph.createRun(); + run.setText(split[0]); + if (ObjectUtils.isNotNull(split[1])) { + run.addBreak(); + run.setText(split[1]); + } + xwpfParagraph.setAlignment(ParagraphAlignment.CENTER); + } + } + } + } + FileOutputStream fileOutputStream1 = new FileOutputStream(path); + document1.write(fileOutputStream1); + fileOutputStream1.close(); + } catch (FileNotFoundException e) { + throw new RuntimeException(e); + } catch (IOException e) { + throw new RuntimeException(e); + } + return name; + } + + public int wordInsertUrl(Map<String, Object> map, String url) { + XWPFTemplate template = XWPFTemplate.compile(url).render(map); + try { + template.writeAndClose(Files.newOutputStream(Paths.get(url))); + } catch (IOException e) { + throw new RuntimeException(e); + } + return 1; + } +} diff --git a/cnas-process/src/main/java/com/yuanchu/mom/service/impl/QualityMonitorDetailsEvaluateServiceImpl.java b/cnas-process/src/main/java/com/yuanchu/mom/service/impl/QualityMonitorDetailsEvaluateServiceImpl.java new file mode 100644 index 0000000..c19c4b5 --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/service/impl/QualityMonitorDetailsEvaluateServiceImpl.java @@ -0,0 +1,19 @@ +package com.yuanchu.mom.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.yuanchu.mom.mapper.QualityMonitorDetailsEvaluateMapper; +import com.yuanchu.mom.pojo.QualityMonitorDetailsEvaluate; +import com.yuanchu.mom.service.QualityMonitorDetailsEvaluateService; +import org.springframework.stereotype.Service; + +/** + * 璐ㄩ噺鐩戞帶璁″垝璇︽儏璇勪环琛� + * + * @author zhuo + * @since 2024-11-06 + */ +@Service +public class QualityMonitorDetailsEvaluateServiceImpl extends ServiceImpl<QualityMonitorDetailsEvaluateMapper, QualityMonitorDetailsEvaluate> implements QualityMonitorDetailsEvaluateService { + +} + diff --git a/cnas-process/src/main/java/com/yuanchu/mom/service/impl/QualityMonitorDetailsRatifyServiceImpl.java b/cnas-process/src/main/java/com/yuanchu/mom/service/impl/QualityMonitorDetailsRatifyServiceImpl.java new file mode 100644 index 0000000..0512a9e --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/service/impl/QualityMonitorDetailsRatifyServiceImpl.java @@ -0,0 +1,19 @@ +package com.yuanchu.mom.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.yuanchu.mom.mapper.QualityMonitorDetailsRatifyMapper; +import com.yuanchu.mom.pojo.QualityMonitorDetailsRatify; +import com.yuanchu.mom.service.QualityMonitorDetailsRatifyService; +import org.springframework.stereotype.Service; + +/** + * 璐ㄩ噺鐩戞帶璁″垝璇︽儏鎵瑰噯琛� + * + * @author zhuo + * @since 2024-11-06 + */ +@Service +public class QualityMonitorDetailsRatifyServiceImpl extends ServiceImpl<QualityMonitorDetailsRatifyMapper, QualityMonitorDetailsRatify> implements QualityMonitorDetailsRatifyService { + +} + diff --git a/cnas-process/src/main/java/com/yuanchu/mom/service/impl/QualityMonitorDetailsServiceImpl.java b/cnas-process/src/main/java/com/yuanchu/mom/service/impl/QualityMonitorDetailsServiceImpl.java new file mode 100644 index 0000000..50508ac --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/service/impl/QualityMonitorDetailsServiceImpl.java @@ -0,0 +1,19 @@ +package com.yuanchu.mom.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.yuanchu.mom.mapper.QualityMonitorDetailsMapper; +import com.yuanchu.mom.pojo.QualityMonitorDetails; +import com.yuanchu.mom.service.QualityMonitorDetailsService; +import org.springframework.stereotype.Service; + +/** + * 璐ㄩ噺鐩戞帶璁″垝璇︽儏琛� + * + * @author makejava + * @since 2024-11-06 + */ +@Service +public class QualityMonitorDetailsServiceImpl extends ServiceImpl<QualityMonitorDetailsMapper, QualityMonitorDetails> implements QualityMonitorDetailsService { + +} + diff --git a/cnas-process/src/main/java/com/yuanchu/mom/service/impl/QualityMonitorServiceImpl.java b/cnas-process/src/main/java/com/yuanchu/mom/service/impl/QualityMonitorServiceImpl.java new file mode 100644 index 0000000..f4c89f5 --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/service/impl/QualityMonitorServiceImpl.java @@ -0,0 +1,541 @@ +package com.yuanchu.mom.service.impl; + +import cn.hutool.core.date.DateUtil; +import com.alibaba.excel.EasyExcel; +import com.alibaba.excel.context.AnalysisContext; +import com.alibaba.excel.event.AnalysisEventListener; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.baomidou.mybatisplus.core.toolkit.StringUtils; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.deepoove.poi.XWPFTemplate; +import com.deepoove.poi.config.Configure; +import com.deepoove.poi.data.Pictures; +import com.yuanchu.mom.common.GetLook; +import com.yuanchu.mom.dto.QualityMonitorDetailsEvaluateDto; +import com.yuanchu.mom.dto.QualityMonitorDto; +import com.yuanchu.mom.excel.QualityMonitorDetailsUpload; +import com.yuanchu.mom.exception.ErrorException; +import com.yuanchu.mom.mapper.*; +import com.yuanchu.mom.pojo.*; +import com.yuanchu.mom.service.QualityMonitorDetailsEvaluateService; +import com.yuanchu.mom.service.QualityMonitorDetailsRatifyService; +import com.yuanchu.mom.service.QualityMonitorDetailsService; +import com.yuanchu.mom.service.QualityMonitorService; +import com.yuanchu.mom.utils.HackLoopTableRenderPolicy; +import com.yuanchu.mom.utils.XWPFDocumentUtils; +import com.yuanchu.mom.utils.DateImageUtil; +import com.yuanchu.mom.utils.QueryWrappers; +import com.yuanchu.mom.utils.UserUtils; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import java.io.File; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.net.URLEncoder; +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; +import java.util.*; +import java.util.concurrent.atomic.AtomicInteger; +import java.util.stream.Collectors; + +/** + * 璐ㄩ噺鐩戞帶璁″垝涓昏〃 + * + * @author zhuo + * @since 2024-11-06 + */ +@Service +@Transactional(rollbackFor = Exception.class) +public class QualityMonitorServiceImpl extends ServiceImpl<QualityMonitorMapper, QualityMonitor> implements QualityMonitorService { + + @Resource + private QualityMonitorDetailsService qualityMonitorDetailsService; + @Resource + private QualityMonitorDetailsMapper qualityMonitorDetailsMapper; + @Resource + private UserMapper userMapper; + @Resource + private QualityMonitorDetailsRatifyMapper qualityMonitorDetailsRatifyMapper; + @Resource + private QualityMonitorDetailsRatifyService qualityMonitorDetailsRatifyService; + @Resource + private QualityMonitorDetailsEvaluateMapper qualityMonitorDetailsEvaluateMapper; + @Resource + private QualityMonitorDetailsEvaluateService qualityMonitorDetailsEvaluateService; + @Resource + private QualityMonitorDetailsEvaluateFileMapper qualityMonitorDetailsEvaluateFileMapper; + @Resource + private GetLook getLook; + @Value("${file.path}") + private String imgUrl; + + @Value("${wordUrl}") + private String wordUrl; + + + /** + * 瀵煎叆鐩戞帶璁″垝 + * @param file + * @return + */ + @Override + public boolean importQualityMonitor(MultipartFile file) { + // 褰撳墠鐧诲綍鐢ㄦ埛 + Integer userId = getLook.selectPowerByMethodAndUserId(null).get("userId"); + // 鏂囦欢鍚嶇О + String fileName = file.getOriginalFilename().substring(0, file.getOriginalFilename().lastIndexOf(".")); + QualityMonitor qualityMonitor = new QualityMonitor(); + qualityMonitor.setMonitorName(fileName); + qualityMonitor.setWriteUserId(userId); + qualityMonitor.setWriteTime(LocalDateTime.now()); + baseMapper.insert(qualityMonitor); + + List<QualityMonitorDetails> detailsUploadList = new ArrayList<>(); + + // 瀵煎叆闄勪欢鍐呭 + try { + // excel瑙f瀽 + EasyExcel.read(file.getInputStream(), QualityMonitorDetailsUpload.class, new AnalysisEventListener<QualityMonitorDetailsUpload>() { + @Override + public void invoke(QualityMonitorDetailsUpload detailsUpload, AnalysisContext analysisContext) { + // 鍒ゆ柇鏄惁涓虹┖ + if (StringUtils.isNotBlank(detailsUpload.getPlannedTime()) && + StringUtils.isNotBlank(detailsUpload.getMonitorProject()) && + StringUtils.isNotBlank(detailsUpload.getParticipant()) && + StringUtils.isNotBlank(detailsUpload.getBudget()) && + StringUtils.isNotBlank(detailsUpload.getOrganization()) && + StringUtils.isNotBlank(detailsUpload.getMonitorWay())) { + // 瀵硅薄澶嶅埗 + QualityMonitorDetails monitorDetails = new QualityMonitorDetails(); + BeanUtils.copyProperties(detailsUpload, monitorDetails); + monitorDetails.setQualityMonitorId(qualityMonitor.getQualityMonitorId()); + + detailsUploadList.add(monitorDetails); + } + } + @Override + public void doAfterAllAnalysed(AnalysisContext analysisContext) { + + } + }).sheet().doRead(); + qualityMonitorDetailsService.saveBatch(detailsUploadList); + + } catch (IOException e) { + throw new RuntimeException(e); + } + return true; + } + + /** + * 鐩戞帶璁″垝瀹℃牳 + * @param qualityMonitor + * @return + */ + @Override + public boolean examineQualityMonitor(QualityMonitor qualityMonitor) { + // 褰撳墠鐧诲綍鐢ㄦ埛 + Integer userId = getLook.selectPowerByMethodAndUserId(null).get("userId"); + baseMapper.update(null, Wrappers.<QualityMonitor>lambdaUpdate() + .eq(QualityMonitor::getQualityMonitorId, qualityMonitor.getQualityMonitorId()) + .set(QualityMonitor::getExamineUserId, userId) + .set(QualityMonitor::getExamineRemark, qualityMonitor.getExamineRemark()) + .set(QualityMonitor::getExamineStatus, qualityMonitor.getExamineStatus()) + .set(QualityMonitor::getExamineTime, LocalDateTime.now()) + ); + return true; + } + + /** + * 鐩戞帶璁″垝鎵瑰噯 + * @param qualityMonitor + * @return + */ + @Override + public boolean ratifyQualityMonitor(QualityMonitor qualityMonitor) { + // 褰撳墠鐧诲綍鐢ㄦ埛 + Integer userId = getLook.selectPowerByMethodAndUserId(null).get("userId"); + baseMapper.update(null, Wrappers.<QualityMonitor>lambdaUpdate() + .eq(QualityMonitor::getQualityMonitorId, qualityMonitor.getQualityMonitorId()) + .set(QualityMonitor::getRatifyUserId, userId) + .set(QualityMonitor::getRatifyRemark, qualityMonitor.getRatifyRemark()) + .set(QualityMonitor::getRatifyStatus, qualityMonitor.getRatifyStatus()) + .set(QualityMonitor::getRatifyTime, LocalDateTime.now()) + ); + return true; + } + + /** + * 鐩戞帶璁″垝鍒楄〃 + * @param page + * @param qualityMonitor + * @return + */ + @Override + public IPage<QualityMonitorDto> pageQualityMonitor(Page page, QualityMonitor qualityMonitor) { + return baseMapper.pageQualityMonitor(page, QueryWrappers.queryWrappers(qualityMonitor)); + } + + /** + * 鐩戞帶璁″垝璇︽儏鍒楄〃 + * @param page + * @param qualityMonitorDetails + * @return + */ + @Override + public IPage<QualityMonitorDetails> pageQualityMonitorDetail(Page page, QualityMonitorDetails qualityMonitorDetails) { + if (qualityMonitorDetails.getQualityMonitorId() == null) { + return new Page(); + } + return qualityMonitorDetailsMapper.pageQualityMonitorDetail(page, QueryWrappers.queryWrappers(qualityMonitorDetails)); + } + + /** + * 瀵煎嚭鐩戞帶璁″垝 + * @param qualityMonitorId + * @param response + */ + @Override + public void exportQualityMonitorDetail(Integer qualityMonitorId, HttpServletResponse response) { + // 鏌ヨ璇︽儏 + QualityMonitor qualityMonitor = baseMapper.selectById(qualityMonitorId); + + //鑾峰彇鎻愪氦浜虹殑绛惧悕鍦板潃 + String writeUrl = userMapper.selectById(qualityMonitor.getWriteUserId()).getSignatureUrl(); + if (ObjectUtils.isEmpty(writeUrl) || writeUrl.equals("")) { + throw new ErrorException("鎵句笉鍒版楠屼汉鐨勭鍚�"); + } + + //鑾峰彇澶嶆牳浜虹殑绛惧悕鍦板潃 + String examineUrl = null; + if (qualityMonitor.getExamineUserId() != null) { + examineUrl = userMapper.selectById(qualityMonitor.getExamineUserId()).getSignatureUrl(); + if (StringUtils.isBlank(examineUrl)) { + throw new ErrorException("鎵句笉鍒板鏍镐汉鐨勭鍚�"); + } + } + + //鑾峰彇鎵瑰噯浜虹殑绛惧悕鍦板潃 + String ratifyUrl = null; + if (qualityMonitor.getRatifyUserId() != null) { + ratifyUrl = userMapper.selectById(qualityMonitor.getRatifyUserId()).getSignatureUrl(); + if (StringUtils.isBlank(ratifyUrl)) { + throw new ErrorException("鎵句笉鍒板鏍镐汉鐨勭鍚�"); + } + } + + // 鏌ヨ璇︽儏 + List<QualityMonitorDetails> qualityMonitorDetails = qualityMonitorDetailsMapper.selectList(Wrappers.<QualityMonitorDetails>lambdaQuery() + .eq(QualityMonitorDetails::getQualityMonitorId, qualityMonitorId)); + + // 鍒ゆ柇鐩戞帶鐩殑涓�鏍风殑鍊� + AtomicInteger count = new AtomicInteger(1); + Map<String, List<QualityMonitorDetails>> listMap = qualityMonitorDetails.stream().collect(Collectors.groupingBy(QualityMonitorDetails::getMonitorPurpose)); + listMap.forEach((s, details) -> { + // 鏌ヨ鏁伴噺瓒呰繃1鐨� + if (details.size() > 1) { + for (QualityMonitorDetails detail : details) { + detail.setMonitorPurpose(detail.getMonitorPurpose() + "鈭�" + count); + } + count.getAndIncrement(); + } + }); + + int index = 1; + for (QualityMonitorDetails qualityMonitorDetail : qualityMonitorDetails) { + qualityMonitorDetail.setIndex(index); + index++; + } + + // 鑾峰彇璺緞 + InputStream inputStream = this.getClass().getResourceAsStream("/static/quality-monitor.docx"); + String finalExamineUrl = examineUrl; + String finalRatifyUrl = ratifyUrl; + Configure configure = Configure.builder() + .bind("monitorDetailList", new HackLoopTableRenderPolicy()) + .build(); + XWPFTemplate template = XWPFTemplate.compile(inputStream, configure).render( + new HashMap<String, Object>() {{ + put("monitorDetailList", qualityMonitorDetails); + put("writeUrl", StringUtils.isNotBlank(writeUrl) ? Pictures.ofLocal(imgUrl + "/" + writeUrl).create() : null); + put("examineUrl", StringUtils.isNotBlank(finalExamineUrl) ? Pictures.ofLocal(imgUrl + "/" + finalExamineUrl).create() : null); + put("ratifyUrl", StringUtils.isNotBlank(finalRatifyUrl) ? Pictures.ofLocal(imgUrl + "/" + finalRatifyUrl).create() : null); + put("writeDateUrl", qualityMonitor.getWriteTime() != null ? + Pictures.ofStream(DateImageUtil.createDateImage(qualityMonitor.getWriteTime())).create() : null); + put("examineDateUrl", qualityMonitor.getExamineTime() != null ? + Pictures.ofStream(DateImageUtil.createDateImage(qualityMonitor.getExamineTime())).create() : null); + put("ratifyDateUrl", qualityMonitor.getRatifyTime() != null ? + Pictures.ofStream(DateImageUtil.createDateImage(qualityMonitor.getRatifyTime())).create() : null); + }}); + + // 澶勭悊鎹㈣闂 + XWPFDocumentUtils.updateMergeByDocument(template.getXWPFDocument()); + try { + response.setContentType("application/msword"); + String fileName = URLEncoder.encode( + qualityMonitor.getMonitorName(), "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("瀵煎嚭澶辫触"); + } + } + + + + /************************************************************ 鎵瑰噯 *******************************************************************/ + + /** + * 鏌ヨ鐩戞帶璁″垝璇︽儏瀹炴柦淇℃伅 + * @param qualityMonitorDetailsId + * @return + */ + @Override + public QualityMonitorDetailsRatify getQualityMonitorRatify(Integer qualityMonitorDetailsId) { + QualityMonitorDetailsRatify qualityMonitorDetailsRatify; + // 鏌ヨ鐩戞帶閮ㄩ棬id + qualityMonitorDetailsRatify = qualityMonitorDetailsRatifyMapper.selectOne(Wrappers.<QualityMonitorDetailsRatify>lambdaQuery() + .eq(QualityMonitorDetailsRatify::getQualityMonitorDetailsId, qualityMonitorDetailsId)); + + if (qualityMonitorDetailsRatify == null) { + // 鏌ヨ璇︽儏璁″垝 + QualityMonitorDetails qualityMonitorDetails = qualityMonitorDetailsMapper.selectById(qualityMonitorDetailsId); + qualityMonitorDetailsRatify = new QualityMonitorDetailsRatify(); + qualityMonitorDetailsRatify.setQualityMonitorDetailsId(qualityMonitorDetailsId); // 璇︽儏id + qualityMonitorDetailsRatify.setMonitorProject(qualityMonitorDetails.getMonitorProject()); // 鐩戞帶椤圭洰 + qualityMonitorDetailsRatify.setMonitorData(DateUtil.format(new Date(), "yyyy-MM")); // 鐩戞帶鏃堕棿 + qualityMonitorDetailsRatify.setMonitorPurpose(qualityMonitorDetails.getMonitorPurpose()); // 鐩戞帶鐩殑 + qualityMonitorDetailsRatify.setParticipant(qualityMonitorDetails.getParticipant()); // 鍙傚姞浜哄憳 + qualityMonitorDetailsRatify.setBudget(qualityMonitorDetails.getBudget()); // 棰勭畻 + qualityMonitorDetailsRatify.setInspectionDepartment(userMapper.selectUserDepartmentLimsName(getLook.selectPowerByMethodAndUserId(null).get("userId"))); + } + + if (qualityMonitorDetailsRatify.getRatifyUserId() != null) { + qualityMonitorDetailsRatify.setRatifyName(userMapper.selectById(qualityMonitorDetailsRatify.getRatifyUserId()).getName()); + } + + return qualityMonitorDetailsRatify; + } + + /** + * 鏂板鐩戞帶鎵瑰噯瀹炴柦 + * @param qualityMonitorDetailsRatify + * @return + */ + @Override + public boolean addQualityMonitorRatify(QualityMonitorDetailsRatify qualityMonitorDetailsRatify) { + if (qualityMonitorDetailsRatify.getQualityMonitorDetailsId() == null) { + throw new ErrorException("缂哄皯鐩戞帶璇︾粏淇℃伅id"); + } + qualityMonitorDetailsRatifyService.saveOrUpdate(qualityMonitorDetailsRatify); + return true; + } + + /** + * 鐩戞帶璁″垝璇︽儏鎵瑰噯鎰忚 + * @param qualityMonitorDetailsRatify + * @return + */ + @Override + public boolean addQualityMonitorRatifyOpinion(QualityMonitorDetailsRatify qualityMonitorDetailsRatify) { + qualityMonitorDetailsRatifyService.update(Wrappers.<QualityMonitorDetailsRatify>lambdaUpdate() + .eq(QualityMonitorDetailsRatify::getDetailsRatifyId, qualityMonitorDetailsRatify.getDetailsRatifyId()) + .set(QualityMonitorDetailsRatify::getRatifyOpinion, qualityMonitorDetailsRatify.getRatifyOpinion()) + .set(QualityMonitorDetailsRatify::getIsFinish, 1)); + return true; + } + + /** + * 瀵煎嚭鐩戞帶璁″垝璇︽儏瀹炴柦淇℃伅 + * + * @param detailsRatifyId 鐩戞帶璁″垝璇︽儏瀹炴柦id + * @param response 鍝嶅簲 + */ + @Override + public void exportQualityMonitorRatify(Integer detailsRatifyId, HttpServletResponse response) { + QualityMonitorDetailsRatify qualityMonitorDetailsRatify = qualityMonitorDetailsRatifyMapper.selectById(detailsRatifyId); + + // 鑾峰彇璺緞 + InputStream inputStream = this.getClass().getResourceAsStream("/static/quality-monitor-details-ratify.docx"); + Configure configure = Configure.builder() + .bind("processMethodVerifyMachineAttachmentList", new HackLoopTableRenderPolicy()) + .build(); + XWPFTemplate template = XWPFTemplate.compile(inputStream, configure).render( + new HashMap<String, Object>() {{ + put("qualityMonitorDetailsRatify", qualityMonitorDetailsRatify); + put("ratifyUserUrl", UserUtils.getFinalUserSignatureUrl(qualityMonitorDetailsRatify.getRatifyUserId())); + }}); + + // 澶勭悊鎹㈣闂 + XWPFDocumentUtils.updateMergeByDocument(template.getXWPFDocument()); + 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("瀵煎嚭澶辫触"); + } + } + + /************************************************************ 璇勪环 *******************************************************************/ + + /** + * 鏌ヨ璐ㄩ噺鐩戞帶璇勪环 + * @param qualityMonitorDetailsId + * @return + */ + @Override + public QualityMonitorDetailsEvaluate getQualityMonitorEvaluate(Integer qualityMonitorDetailsId) { + return qualityMonitorDetailsEvaluateMapper.getQualityMonitorEvaluate(qualityMonitorDetailsId); + } + + /** + * 鏂板鐩戞帶璇勪环 + * @param qualityMonitorDetailsEvaluate + * @return + */ + @Override + public boolean addQualityMonitorEvaluate(QualityMonitorDetailsEvaluate qualityMonitorDetailsEvaluate) { + if (qualityMonitorDetailsEvaluate.getQualityMonitorDetailsId() == null) { + throw new ErrorException("缂哄皯鐩戞帶璇︾粏淇℃伅id"); + } + return qualityMonitorDetailsEvaluateService.saveOrUpdate(qualityMonitorDetailsEvaluate); + } + + /** + * 鐩戞帶璇勪环瀹℃壒鎰忚 + * @param qualityMonitorDetailsEvaluate + * @return + */ + @Override + public boolean addMonitorEvaluateOpinion(QualityMonitorDetailsEvaluate qualityMonitorDetailsEvaluate) { + qualityMonitorDetailsEvaluateService.update(Wrappers.<QualityMonitorDetailsEvaluate>lambdaUpdate() + .eq(QualityMonitorDetailsEvaluate::getDetailsEvaluateId, qualityMonitorDetailsEvaluate.getDetailsEvaluateId()) + .set(QualityMonitorDetailsEvaluate::getRatifyOpinion, qualityMonitorDetailsEvaluate.getRatifyOpinion()) + .set(QualityMonitorDetailsEvaluate::getRatifyTime, LocalDateTime.now()) + .set(QualityMonitorDetailsEvaluate::getIsFinish, 1)); + return true; + } + + /** + * 鏂板鐩戞帶璇勪环闄勪欢琛� + * @param detailsEvaluateId + * @param file + * @return + */ + @Override + public boolean uploadEvaluateFile(Integer detailsEvaluateId, MultipartFile file) { + if (detailsEvaluateId == null) { + throw new ErrorException("缂哄皯鐩戞帶璇︽儏id"); + } + + String urlString; + String pathName; + String path; + String filename = file.getOriginalFilename(); + String contentType = file.getContentType(); + QualityMonitorDetailsEvaluateFile evaluateFile = new QualityMonitorDetailsEvaluateFile(); + evaluateFile.setDetailsEvaluateId(detailsEvaluateId); + evaluateFile.setFileName(filename); + if (contentType != null && contentType.startsWith("image/")) { + // 鏄浘鐗� + path = imgUrl; + evaluateFile.setType(1); + } else { + // 鏄枃浠� + path = wordUrl; + evaluateFile.setType(2); + } + try { + File realpath = new File(path); + if (!realpath.exists()) { + realpath.mkdirs(); + } + pathName = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyMMddHHmmss")) + "_" + file.getOriginalFilename(); + urlString = realpath + "/" + pathName; + file.transferTo(new File(urlString)); + evaluateFile.setFileUrl(pathName); + qualityMonitorDetailsEvaluateFileMapper.insert(evaluateFile); + return true; + } catch (Exception e) { + e.printStackTrace(); + System.err.println("闄勪欢涓婁紶閿欒"); + return false; + } + } + + /** + * 鏌ヨ鐩戞帶璇勪环闄勪欢鍒楄〃 + * @return + */ + @Override + public List<QualityMonitorDetailsEvaluateFile> getEvaluateFileList(Integer detailsEvaluateId) { + return qualityMonitorDetailsEvaluateFileMapper.selectList(Wrappers.<QualityMonitorDetailsEvaluateFile>lambdaQuery() + .eq(QualityMonitorDetailsEvaluateFile::getDetailsEvaluateId, detailsEvaluateId)); + } + + /** + * 瀵煎嚭鐩戞帶璇勪环 + * @param detailsEvaluateId 鐩戞帶璇勪环id + */ + @Override + public void exportQualityMonitorEvaluate(Integer detailsEvaluateId, HttpServletResponse response) { + // 鏌ヨ鐩戞帶璇勪环淇℃伅 + QualityMonitorDetailsEvaluate qualityMonitorDetailsEvaluate = qualityMonitorDetailsEvaluateMapper.selectById(detailsEvaluateId); + // 娓叉煋word妯℃澘瀵硅薄 + QualityMonitorDetailsEvaluateDto qualityMonitorDetailsEvaluateDto = new QualityMonitorDetailsEvaluateDto(); + BeanUtils.copyProperties(qualityMonitorDetailsEvaluate, qualityMonitorDetailsEvaluateDto); + // 鏍煎紡鍖栨椂闂� + DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); + qualityMonitorDetailsEvaluateDto.setRatifyTimeStr(qualityMonitorDetailsEvaluate.getRatifyTime().format(dateTimeFormatter)); + // 鑾峰彇璺緞 + InputStream inputStream = this.getClass().getResourceAsStream("/static/quality-monitor-evaluate.docx"); + Configure configure = Configure.builder() + .build(); + XWPFTemplate template = XWPFTemplate.compile(inputStream, configure).render( + new HashMap<String, Object>() {{ + put("qualityMonitorDetailsEvaluate", qualityMonitorDetailsEvaluateDto); + put("implementUserUrl", UserUtils.getFinalUserSignatureUrl(Integer.valueOf(qualityMonitorDetailsEvaluate.getImplementUserId()))); + put("ratifyUserUrl", UserUtils.getFinalUserSignatureUrl(qualityMonitorDetailsEvaluate.getRatifyUserId())); + }}); + + // 澶勭悊鎹㈣闂 + XWPFDocumentUtils.updateMergeByDocument(template.getXWPFDocument()); + try { + response.setContentType("application/msword"); + String fileName = URLEncoder.encode( + "鐩戞帶璇勪环", "UTF-8"); + response.setHeader("Content-disposition", + "attachment;filename=" + fileName + ".docx"); + OutputStream os = response.getOutputStream(); + template.write(os); + os.flush(); + os.close(); + } catch (Exception e) { + e.printStackTrace(); + throw new RuntimeException("瀵煎嚭澶辫触"); + } + } +} + diff --git a/cnas-process/src/main/java/com/yuanchu/mom/service/impl/QualitySuperviseDetailsServiceImpl.java b/cnas-process/src/main/java/com/yuanchu/mom/service/impl/QualitySuperviseDetailsServiceImpl.java new file mode 100644 index 0000000..84c9ba5 --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/service/impl/QualitySuperviseDetailsServiceImpl.java @@ -0,0 +1,19 @@ +package com.yuanchu.mom.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.yuanchu.mom.mapper.QualitySuperviseDetailsMapper; +import com.yuanchu.mom.pojo.QualitySuperviseDetails; +import com.yuanchu.mom.service.QualitySuperviseDetailsService; +import org.springframework.stereotype.Service; + +/** + * 璐ㄩ噺鐩戠潱璇︽儏琛� + * + * @author makejava + * @since 2024-11-07 + */ +@Service +public class QualitySuperviseDetailsServiceImpl extends ServiceImpl<QualitySuperviseDetailsMapper, QualitySuperviseDetails> implements QualitySuperviseDetailsService { + +} + diff --git a/cnas-process/src/main/java/com/yuanchu/mom/service/impl/QualitySuperviseServiceImpl.java b/cnas-process/src/main/java/com/yuanchu/mom/service/impl/QualitySuperviseServiceImpl.java new file mode 100644 index 0000000..9463f93 --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/service/impl/QualitySuperviseServiceImpl.java @@ -0,0 +1,829 @@ +package com.yuanchu.mom.service.impl; + +import com.alibaba.excel.EasyExcel; +import com.alibaba.excel.context.AnalysisContext; +import com.alibaba.excel.event.AnalysisEventListener; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.baomidou.mybatisplus.core.toolkit.StringUtils; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.deepoove.poi.XWPFTemplate; +import com.deepoove.poi.config.Configure; +import com.deepoove.poi.config.ConfigureBuilder; +import com.deepoove.poi.data.Pictures; +import com.yuanchu.mom.common.GetLook; +import com.yuanchu.mom.dto.QualitySuperviseDetailsAccordingDto; +import com.yuanchu.mom.dto.QualitySuperviseDetailsCorrectDto; +import com.yuanchu.mom.dto.QualitySuperviseDetailsDto; +import com.yuanchu.mom.excel.QualitySuperviseDetailsUpload; +import com.yuanchu.mom.exception.ErrorException; +import com.yuanchu.mom.mapper.*; +import com.yuanchu.mom.pojo.*; +import com.yuanchu.mom.service.QualitySuperviseDetailsService; +import com.yuanchu.mom.service.QualitySuperviseService; +import com.yuanchu.mom.utils.HackLoopTableRenderPolicy; +import com.yuanchu.mom.utils.XWPFDocumentUtils; +import com.yuanchu.mom.utils.DateImageUtil; +import com.yuanchu.mom.utils.QueryWrappers; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import java.io.File; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.net.URLEncoder; +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.concurrent.atomic.AtomicInteger; +import java.util.stream.Collectors; + +/** + * 璐ㄩ噺鐩戠潱涓昏〃 + * + * @author zhuo + * @since 2024-11-07 + */ +@Service +@Transactional(rollbackFor = Exception.class) +public class QualitySuperviseServiceImpl extends ServiceImpl<QualitySuperviseMapper, QualitySupervise> implements QualitySuperviseService { + + @Resource + private QualitySuperviseDetailsService qualitySuperviseDetailsService; + @Resource + private QualitySuperviseDetailsMapper qualitySuperviseDetailsMapper; + @Resource + private QualitySuperviseDetailsRecordMapper qualitySuperviseDetailsRecordMapper; + @Resource + private QualitySuperviseDetailsAccordingMapper qualitySuperviseDetailsAccordingMapper; + @Resource + private QualitySuperviseDetailsCorrectMapper qualitySuperviseDetailsCorrectMapper; + @Resource + private QualitySuperviseDetailsCorrectFileMapper qualitySuperviseDetailsCorrectFileMapper; + @Resource + private GetLook getLook; + @Resource + private UserMapper userMapper; + @Value("${file.path}") + private String imgUrl; + + @Value("${wordUrl}") + private String wordUrl; + + /** + * 瀵煎叆鐩戠潱璁″垝 + * @param file + * @return + */ + @Override + public boolean importQualitySupervise(MultipartFile file) { + // 褰撳墠鐧诲綍鐢ㄦ埛 + Integer userId = getLook.selectPowerByMethodAndUserId(null).get("userId"); + User user = userMapper.selectById(userId); + // 鏂囦欢鍚嶇О + String fileName = file.getOriginalFilename().substring(0, file.getOriginalFilename().lastIndexOf(".")); + QualitySupervise qualitySupervise = new QualitySupervise(); + qualitySupervise.setSuperviseName(fileName); + qualitySupervise.setWriteUserId(userId); + qualitySupervise.setWriteUserName(user.getName()); + qualitySupervise.setWriteTime(LocalDateTime.now()); + baseMapper.insert(qualitySupervise); + + List<QualitySuperviseDetails> detailsUploadList = new ArrayList<>(); + + // 瀵煎叆闄勪欢鍐呭 + try { + // excel瑙f瀽 + EasyExcel.read(file.getInputStream(), QualitySuperviseDetailsUpload.class, new AnalysisEventListener<QualitySuperviseDetailsUpload>() { + @Override + public void invoke(QualitySuperviseDetailsUpload detailsUpload, AnalysisContext analysisContext) { + // 鍒ゆ柇鏄惁涓虹┖ + if (StringUtils.isNotBlank(detailsUpload.getSuperviseTime()) && + StringUtils.isNotBlank(detailsUpload.getSupervisePurpose()) && + StringUtils.isNotBlank(detailsUpload.getSuperviseProject()) && + StringUtils.isNotBlank(detailsUpload.getSupervisee()) && + StringUtils.isNotBlank(detailsUpload.getSuperviseReason()) && + StringUtils.isNotBlank(detailsUpload.getRemark())) { + // 瀵硅薄澶嶅埗 + QualitySuperviseDetails superviseDetails = new QualitySuperviseDetails(); + BeanUtils.copyProperties(detailsUpload, superviseDetails); + superviseDetails.setSuperviseId(qualitySupervise.getSuperviseId()); + + detailsUploadList.add(superviseDetails); + } + } + @Override + public void doAfterAllAnalysed(AnalysisContext analysisContext) { + + } + }).sheet().doRead(); + qualitySuperviseDetailsService.saveBatch(detailsUploadList); + + } catch (IOException e) { + throw new RuntimeException(e); + } + return true; + } + + /** + * 鐩戠潱璁″垝鎵瑰噯 + * @param qualitySupervise + * @return + */ + @Override + public boolean ratifyQualitySupervise(QualitySupervise qualitySupervise) { + // 褰撳墠鐧诲綍鐢ㄦ埛 + Integer userId = getLook.selectPowerByMethodAndUserId(null).get("userId"); + baseMapper.update(null, Wrappers.<QualitySupervise>lambdaUpdate() + .eq(QualitySupervise::getSuperviseId, qualitySupervise.getSuperviseId()) + .set(QualitySupervise::getRatifyUserId, userId) + .set(QualitySupervise::getRatifyRemark, qualitySupervise.getRatifyRemark()) + .set(QualitySupervise::getRatifyStatus, qualitySupervise.getRatifyStatus()) + .set(QualitySupervise::getRatifyTime, LocalDateTime.now()) + ); + return true; + } + + /** + * 鐩戠潱璁″垝鍒楄〃 + * @param page + * @param qualitySupervise + * @return + */ + @Override + public IPage<QualitySupervise> pageQualitySupervise(Page page, QualitySupervise qualitySupervise) { + return baseMapper.pageQualitySupervise(page, QueryWrappers.queryWrappers(qualitySupervise)); + } + + /** + * 鐩戠潱璁″垝璇︽儏鍒楄〃 + * @return + */ + @Override + public IPage<QualitySuperviseDetailsDto> pageQualitySuperviseDetail(Page page, QualitySuperviseDetails qualitySuperviseDetails) { + if (qualitySuperviseDetails.getSuperviseId() == null) { + return new Page(); + } + return qualitySuperviseDetailsMapper.pageQualitySuperviseDetail(page, QueryWrappers.queryWrappers(qualitySuperviseDetails)); + } + + /** + * 瀵煎嚭鐩戠潱璁″垝 + * @param superviseId + * @param response + */ + @Override + public void exportQualitySupervise(Integer superviseId, HttpServletResponse response) { + QualitySupervise qualitySupervise = baseMapper.selectById(superviseId); + //鑾峰彇鎻愪氦浜虹殑绛惧悕鍦板潃 + String writeUrl = userMapper.selectById(qualitySupervise.getWriteUserId()).getSignatureUrl(); + if (ObjectUtils.isEmpty(writeUrl) || writeUrl.equals("")) { + throw new ErrorException("鎵句笉鍒版楠屼汉鐨勭鍚�"); + } + + //鑾峰彇鎵瑰噯浜虹殑绛惧悕鍦板潃 + String ratifyUrl = null; + if (qualitySupervise.getRatifyUserId() != null) { + ratifyUrl = userMapper.selectById(qualitySupervise.getRatifyUserId()).getSignatureUrl(); + if (StringUtils.isBlank(ratifyUrl)) { + throw new ErrorException("鎵句笉鍒板鏍镐汉鐨勭鍚�"); + } + } + + // 鏌ヨ璇︽儏 + List<QualitySuperviseDetails> qualitySuperviseDetails = qualitySuperviseDetailsMapper.selectList(Wrappers.<QualitySuperviseDetails>lambdaQuery() + .eq(QualitySuperviseDetails::getSuperviseId, superviseId)); + + // 鍒ゆ柇鐩戠潱鐩殑涓�鏍风殑鍊� + AtomicInteger count = new AtomicInteger(1); + Map<String, List<QualitySuperviseDetails>> listMap = qualitySuperviseDetails.stream().collect(Collectors.groupingBy(QualitySuperviseDetails::getSupervisePurpose)); + listMap.forEach((s, details) -> { + // 鏌ヨ鏁伴噺瓒呰繃1鐨� + if (details.size() > 1) { + for (QualitySuperviseDetails detail : details) { + detail.setSupervisePurpose(detail.getSupervisePurpose() + "鈭�" + count); + } + count.getAndIncrement(); + } + }); + + int index = 1; + for (QualitySuperviseDetails qualitySuperviseDetail : qualitySuperviseDetails) { + qualitySuperviseDetail.setIndex(index); + index++; + } + + // 鑾峰彇璺緞 + InputStream inputStream = this.getClass().getResourceAsStream("/static/quality-supervise.docx"); + String finalRatifyUrl = ratifyUrl; + Configure configure = Configure.builder() + .bind("superviseDetailList", new HackLoopTableRenderPolicy()) + .build(); + XWPFTemplate template = XWPFTemplate.compile(inputStream, configure).render( + new HashMap<String, Object>() {{ + put("superviseDetailList", qualitySuperviseDetails); + put("writeUrl", StringUtils.isNotBlank(writeUrl) ? Pictures.ofLocal(imgUrl + "/" + writeUrl).create() : null); + put("ratifyUrl", StringUtils.isNotBlank(finalRatifyUrl) ? Pictures.ofLocal(imgUrl + "/" + finalRatifyUrl).create() : null); + put("writeDateUrl", qualitySupervise.getWriteTime() != null ? + Pictures.ofStream(DateImageUtil.createDateImage(qualitySupervise.getWriteTime())).create() : null); + put("ratifyDateUrl", qualitySupervise.getRatifyTime() != null ? + Pictures.ofStream(DateImageUtil.createDateImage(qualitySupervise.getRatifyTime())).create() : null); + }}); + + // 澶勭悊鎹㈣闂 + XWPFDocumentUtils.updateMergeByDocument(template.getXWPFDocument()); + try { + response.setContentType("application/msword"); + String fileName = URLEncoder.encode( + qualitySupervise.getSuperviseName(), "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("瀵煎嚭澶辫触"); + } + + + } + + /************************************************ 璁板綍 ******************************************************/ + + /** + * 鏌ヨ鐩戠潱璁板綍淇℃伅 + * @param superviseDetailsId + * @return + */ + @Override + public QualitySuperviseDetailsRecord getSuperviseDetailRecord(Integer superviseDetailsId) { + QualitySuperviseDetailsRecord detailsRecord; + detailsRecord = qualitySuperviseDetailsRecordMapper.selectOne(Wrappers.<QualitySuperviseDetailsRecord>lambdaQuery() + .eq(QualitySuperviseDetailsRecord::getSuperviseDetailsId, superviseDetailsId)); + if (detailsRecord == null) { + detailsRecord = new QualitySuperviseDetailsRecord(); + } + // 娣诲姞鎵瑰噯浜哄悕绉� + if (detailsRecord.getRatifyUserId() != null) { + User user = userMapper.selectById(getLook.selectPowerByMethodAndUserId(null).get("userId")); + detailsRecord.setRatifyUserName(user.getName()); + } + return detailsRecord; + } + + /** + * 鏂板鐩戠潱璁板綍淇℃伅 + * @param qualitySuperviseDetailsRecord + * @return + */ + @Override + public boolean addSuperviseDetailRecord(QualitySuperviseDetailsRecord qualitySuperviseDetailsRecord) { + if (qualitySuperviseDetailsRecord.getSuperviseDetailsId() == null) { + throw new ErrorException("缂哄皯鐩戠潱璇︾粏淇℃伅id"); + } + qualitySuperviseDetailsRecordMapper.insert(qualitySuperviseDetailsRecord); + return true; + } + + /** + * 鐩戠潱璁板綍鎵瑰噯 + * @param qualitySuperviseDetailsRecord + * @return + */ + @Override + public boolean addSuperviseRecordOpinion(QualitySuperviseDetailsRecord qualitySuperviseDetailsRecord) { + if (qualitySuperviseDetailsRecord.getIsAccording() == null) { + throw new ErrorException("缂哄皯鏈�缁堢粨鏋�"); + } + + qualitySuperviseDetailsRecordMapper.update(null, Wrappers.<QualitySuperviseDetailsRecord>lambdaUpdate() + .eq(QualitySuperviseDetailsRecord::getSuperviseDetailsId, qualitySuperviseDetailsRecord.getSuperviseDetailsId()) + .set(QualitySuperviseDetailsRecord::getRatifyOpinion, qualitySuperviseDetailsRecord.getRatifyOpinion()) + .set(QualitySuperviseDetailsRecord::getRatifyTime, LocalDateTime.now()) + .set(QualitySuperviseDetailsRecord::getIsAccording, qualitySuperviseDetailsRecord.getIsAccording()) + .set(QualitySuperviseDetailsRecord::getIsFinish, 1)); + return true; + } + + /** + * 瀵煎嚭鐩戠潱璁板綍琛� + * @param superviseDetailsId + * @param response + */ + @Override + public void exportSuperviseDetailRecord(Integer superviseDetailsId, HttpServletResponse response) { + QualitySuperviseDetailsRecord recordDto = qualitySuperviseDetailsRecordMapper.selectSuperviseDetailRecord(superviseDetailsId); + + //鑾峰彇鎶�鏈礋璐d汉鐨勭鍚嶅湴鍧� + String ratifyUrl = null; + if (recordDto.getRatifyUserId() != null) { + ratifyUrl = userMapper.selectById(recordDto.getRatifyUserId()).getSignatureUrl(); + if (StringUtils.isBlank(ratifyUrl)) { + throw new ErrorException("鎵句笉鍒版妧鏈礋璐d汉鐨勭鍚�"); + } + } + + // 鑾峰彇璺緞 + InputStream inputStream = this.getClass().getResourceAsStream("/static/supervision-detail-record.docx"); + ConfigureBuilder builder = Configure.builder(); + builder.useSpringEL(true); + String finalRatifyUrl = ratifyUrl; + XWPFTemplate template = XWPFTemplate.compile(inputStream, builder.build()).render( + new HashMap<String, Object>() {{ + put("supervision", recordDto); + put("technicalDirectorUrl", StringUtils.isNotBlank(finalRatifyUrl) ? Pictures.ofLocal(imgUrl + "/" + finalRatifyUrl).create() : null); + put("technicalDirectorDateUrl", recordDto.getRatifyTime() != null ? + Pictures.ofStream(DateImageUtil.createDateImage(recordDto.getRatifyTime())).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("瀵煎嚭澶辫触"); + } + } + + /************************************************* 涓嶅悎鏍煎伐浣滄帶鍒跺崟 ********************************************************/ + + /** + * 鏂板鐩戠潱璁板綍涓嶇鍚堟帶鍒朵俊鎭� + * @param detailsAccording + * @return + */ + @Override + public boolean addSuperviseDetailAccording(QualitySuperviseDetailsAccording detailsAccording) { + QualitySuperviseDetailsAccording according = new QualitySuperviseDetailsAccording(); + // 褰撳墠鐧诲綍鐢ㄦ埛淇℃伅鍜岄儴闂� + User user = userMapper.selectById(getLook.selectPowerByMethodAndUserId(null).get("userId")); + String departmentLimsName = userMapper.selectUserDepartmentLimsName(user.getId()); + switch (detailsAccording.getFlowType()) { + // 涓嶇鍚堝伐浣滄儏鍐佃褰� + case 0: + if (detailsAccording.getSuperviseDetailsId() == null) { + throw new ErrorException("缂哄皯璐ㄩ噺鐩戠潱璇︽儏Id"); + } + according.setSuperviseDetailsId(detailsAccording.getSuperviseDetailsId()); + according.setOccurrenceDepartment(detailsAccording.getOccurrenceDepartment());//鍙戠敓閮ㄩ棬 + according.setHeadDepartment(detailsAccording.getHeadDepartment());//閮ㄩ棬璐熻矗浜� + according.setFindWay(detailsAccording.getFindWay());//鍙戠幇閫斿緞 + according.setRecordDetail(detailsAccording.getRecordDetail());//涓嶇鍚堣褰曡缁� + according.setRecordAccording(detailsAccording.getRecordAccording());//涓嶅悎鏍艰褰曚緷鎹� + + according.setFoundDepartment(departmentLimsName);//鍙戠幇閮ㄩ棬 + according.setRecordUserId(user.getId());//璁板綍浜篿d + according.setRecordUserName(user.getName());//璁板綍浜� + according.setRecordTime(LocalDate.now());//璁板綍鏃堕棿 + + // 澶勭悊浜轰俊鎭� + User actionsUser = userMapper.selectById(detailsAccording.getActionsUserId()); + String actionsDepartmentLims = userMapper.selectUserDepartmentLimsName(actionsUser.getId()); + + according.setResponsibleDepartment(actionsDepartmentLims);//璐d换閮ㄩ棬 + according.setActionsUserId(actionsUser.getId());//澶勭悊浜篿d + according.setActionsUserName(actionsUser.getName());//澶勭悊浜� + + according.setSupervisedUserId(detailsAccording.getSupervisedUserId());//琚洃鐫d汉id + // 琚洃鐫d汉 + User supervisedUser = userMapper.selectById(detailsAccording.getSupervisedUserId()); + according.setSupervisedUserName(supervisedUser.getName());//琚洃鐫d汉 + according.setActionsTime(detailsAccording.getSupervisedTime());//琚洃鐫f椂闂� + qualitySuperviseDetailsAccordingMapper.insert(according); + break; + + // 1澶勭悊鎺柦 + case 1: + according.setSuperviseDetailsAccordingId(detailsAccording.getSuperviseDetailsAccordingId()); + according.setEliminateMeasure(detailsAccording.getEliminateMeasure());//娓呴櫎涓嶇鍚堟帾鏂� + according.setActionsTime(LocalDate.now());//澶勭悊鏃堕棿 + + // 绾犳璐熻矗浜轰俊鎭� + User correctsUser = userMapper.selectById(detailsAccording.getCorrectUserId()); + + according.setCorrectUserId(correctsUser.getId());//绾犳璐熻矗浜篿d + according.setCorrectUserName(correctsUser.getName());//绾犳璐熻矗浜� + + qualitySuperviseDetailsAccordingMapper.updateById(according); + break; + + // 绾犳鎺柦 + case 2: + according.setSuperviseDetailsAccordingId(detailsAccording.getSuperviseDetailsAccordingId()); + according.setCorrectContent(detailsAccording.getCorrectContent());//绾犳鎺柦鍐呭 + according.setIsCorrect(detailsAccording.getIsCorrect());//鏄惁绾犳澶勭悊 + according.setCorrectTime(LocalDate.now());//绾犳濉啓鏃堕棿 + + // 璐ㄩ噺璐熻矗浜� + User qualityUser = userMapper.selectById(detailsAccording.getQualityManagerUserId()); + according.setQualityManagerUserId(qualityUser.getId());//璐ㄩ噺璐熻矗浜篿d + according.setQualityManagerUserName(qualityUser.getName());//璐ㄩ噺璐熻矗浜� + + qualitySuperviseDetailsAccordingMapper.updateById(according); + break; + + //鏄惁閫氱煡瀹㈡埛鍙仮澶嶅伐浣� + case 3: + according.setSuperviseDetailsAccordingId(detailsAccording.getSuperviseDetailsAccordingId()); + according.setNotifyCustomer(detailsAccording.getNotifyCustomer());//閫氱煡瀹㈡埛 + according.setBackToWork(detailsAccording.getBackToWork());//鍥炲宸ヤ綔 + + according.setQualityManagerTime(LocalDate.now());//鏃ユ湡 + according.setIsFinish(1); + qualitySuperviseDetailsAccordingMapper.updateById(according); + break; + } + return true; + } + + /** + * 鏌ヨ鐩戠潱璁板綍涓嶇鍚堟帶鍒朵俊鎭� + * @param superviseDetailsId + * @return + */ + @Override + public QualitySuperviseDetailsAccording getSuperviseDetailAccording(Integer superviseDetailsId) { + QualitySuperviseDetailsAccording detailsAccording; + + detailsAccording = qualitySuperviseDetailsAccordingMapper.selectOne(Wrappers.<QualitySuperviseDetailsAccording>lambdaQuery() + .eq(QualitySuperviseDetailsAccording::getSuperviseDetailsId, superviseDetailsId)); + + if (detailsAccording == null) { + detailsAccording = new QualitySuperviseDetailsAccording(); + } + return detailsAccording; + } + + /** + * 鏌ヨ涓嶇鍚堥」 + * @param page + * @param detailsAccording + * @return + */ + @Override + public IPage<QualitySuperviseDetailsAccording> pageSuperviseDetailAccording(Page page, QualitySuperviseDetailsAccording detailsAccording) { + return qualitySuperviseDetailsAccordingMapper.pageSuperviseDetailAccording(page, QueryWrappers.queryWrappers(detailsAccording)); + } + + /** + * 瀵煎嚭鐩戠潱璁板綍涓嶇鍚堟帶鍒朵俊鎭� + * @param superviseDetailAccordingId + * @param response + */ + @Override + public void superviseDetailAccordingExport(Integer superviseDetailAccordingId, HttpServletResponse response) { + QualitySuperviseDetailsAccordingDto exportDto = qualitySuperviseDetailsAccordingMapper.selectSuperviseDetailsAccording(superviseDetailAccordingId); + // 鍙戠幇閮ㄩ棬 + String discovererUrl = null; + if (exportDto.getRecordUserId() != null) { + discovererUrl = userMapper.selectById(exportDto.getRecordUserId()).getSignatureUrl(); + if (StringUtils.isBlank(discovererUrl)) { + throw new ErrorException("鎵句笉鍒板彂鐜伴儴闂ㄤ汉鐨勭鍚�"); + } + } + + // 澶勭悊鎺柦璐熻矗浜� + String responsibleUrl = null; + if (exportDto.getCorrectUserId() != null) { + responsibleUrl = userMapper.selectById(exportDto.getCorrectUserId()).getSignatureUrl(); + if (StringUtils.isBlank(responsibleUrl)) { + throw new ErrorException("鎵句笉鍒板鐞嗘帾鏂借礋璐d汉鐨勭鍚�"); + } + } + + // 鎶�鏈礋璐d汉 + String correctiveUrl = null; + if (exportDto.getQualityManagerUserId() != null) { + correctiveUrl = userMapper.selectById(exportDto.getQualityManagerUserId()).getSignatureUrl(); + if (StringUtils.isBlank(correctiveUrl)) { + throw new ErrorException("鎵句笉鍒版妧鏈礋璐d汉鐨勭鍚�"); + } + } + + // 璐ㄩ噺璐熻矗浜� + String qualityUrl = null; + if (exportDto.getQualityManagerUserId() != null) { + qualityUrl = userMapper.selectById(exportDto.getQualityManagerUserId()).getSignatureUrl(); + if (StringUtils.isBlank(qualityUrl)) { + throw new ErrorException("鎵句笉鍒拌川閲忚礋璐d汉鐨勭鍚�"); + } + } + + // 鑾峰彇璺緞 + InputStream inputStream = this.getClass().getResourceAsStream("/static/supervision-detail-according.docx"); + ConfigureBuilder builder = Configure.builder(); + String finalDiscovererUrl = discovererUrl; + String finalResponsibleUrl = responsibleUrl; + String finalCorrectiveUrl = correctiveUrl; + String finalQualityUrl = qualityUrl; + XWPFTemplate template = XWPFTemplate.compile(inputStream, builder.build()).render( + new HashMap<String, Object>() {{ + put("control", exportDto); + put("discovererUrl", StringUtils.isNotBlank(finalDiscovererUrl) ? Pictures.ofLocal(imgUrl + "/" + finalDiscovererUrl).create() : null); + put("responsibleUrl", StringUtils.isNotBlank(finalResponsibleUrl) ? Pictures.ofLocal(imgUrl + "/" + finalResponsibleUrl).create() : null); + put("correctiveUrl", StringUtils.isNotBlank(finalCorrectiveUrl) ? Pictures.ofLocal(imgUrl + "/" + finalCorrectiveUrl).create() : null); + put("qualityUrl", StringUtils.isNotBlank(finalQualityUrl) ? Pictures.ofLocal(imgUrl + "/" + finalQualityUrl).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("瀵煎嚭澶辫触"); + } + } + + /************************************************* 绾犳鎺柦澶勭悊鍗� ********************************************************/ + + + @Override + public boolean addSuperviseDetailCorrect(QualitySuperviseDetailsCorrect detailsCorrect) { + QualitySuperviseDetailsCorrect correct = new QualitySuperviseDetailsCorrect(); + // 褰撳墠鐧诲綍鐢ㄦ埛淇℃伅鍜岄儴闂� + User user = userMapper.selectById(getLook.selectPowerByMethodAndUserId(null).get("userId")); + String departmentLimsName = userMapper.selectUserDepartmentLimsName(user.getId()); + + switch (detailsCorrect.getFlowType()) { + // 涓嶅悎鏍兼彁鍑� + case 0: + if (detailsCorrect.getSuperviseDetailsId() == null) { + throw new ErrorException("缂哄皯璐ㄩ噺鐩戠潱璇︽儏Id"); + } + correct.setSuperviseDetailsId(detailsCorrect.getSuperviseDetailsId()); + correct.setRaiseResult(detailsCorrect.getRaiseResult());//涓嶅悎鏍艰〃杩� + correct.setVdeRaiseResult(detailsCorrect.getVdeRaiseResult());//vde涓撳鍙戠幇 + correct.setRaiseDepartment(departmentLimsName);//鎻愬嚭閮ㄩ棬 + correct.setRaiseUserId(user.getId());//鎻愬嚭浜篿d + correct.setRaiseUserName(user.getName());// 鎻愬嚭浜� + correct.setRaiseTime(LocalDate.now());// 鎻愬嚭鏃堕棿 + + // 鍘熷洜鍒嗘瀽浜轰俊鎭� + User causeUser = userMapper.selectById(detailsCorrect.getCauseUserId()); + String causeDepartmentLims = userMapper.selectUserDepartmentLimsName(causeUser.getId()); + + correct.setCauseDepartment(causeDepartmentLims);//鍘熷洜鍒嗘瀽璐d换閮ㄩ棬 + correct.setCauseUserId(causeUser.getId());//1鍘熷洜鍒嗘瀽浜篿d + correct.setCauseUserName(causeUser.getName());// 1鍘熷洜鍒嗘瀽浜� + qualitySuperviseDetailsCorrectMapper.insert(correct); + + break; + + // 鍘熷洜鍒嗘瀽 + case 1: + correct.setSuperviseDetailsCorrectId(detailsCorrect.getSuperviseDetailsCorrectId()); + correct.setCauseResult(detailsCorrect.getCauseResult());//鍘熷洜鍒嗘瀽 + correct.setCauseTime(LocalDate.now());// 1鍘熷洜鍒嗘瀽鏃堕棿 + + // 绾犳浜轰俊鎭� + User correctUser = userMapper.selectById(detailsCorrect.getCorrectUserId()); + String correctUserDepartmentLims = userMapper.selectUserDepartmentLimsName(correctUser.getId()); + + correct.setCorrectDepartment(correctUserDepartmentLims);//2绾犳璐d换閮ㄩ棬 + correct.setCorrectUserId(correctUser.getId());//2绾犳浜篿d + correct.setCorrectUserName(correctUser.getName());// 2绾犳浜� + qualitySuperviseDetailsCorrectMapper.updateById(correct); + break; + + // 绾犳鎺柦 + case 2: + correct.setSuperviseDetailsCorrectId(detailsCorrect.getSuperviseDetailsCorrectId()); + correct.setCorrectResult(detailsCorrect.getCorrectResult());//2绾犳鎺柦 + correct.setRaiseDepartmentAffirm(detailsCorrect.getRaiseDepartmentAffirm());//2鎻愬嚭閮ㄩ棬纭 + correct.setCorrectTime(LocalDate.now());// 2绾犳鏃堕棿 + + // 楠岃瘉浜轰俊鎭� + User validationUser = userMapper.selectById(detailsCorrect.getValidationUserId()); + String validationUserDepartmentLims = userMapper.selectUserDepartmentLimsName(validationUser.getId()); + + correct.setValidationDepartment(validationUserDepartmentLims);//3楠岃瘉閮ㄩ棬 + correct.setValidationUserId(validationUser.getId());//3楠岃瘉浜篿d + correct.setValidationUserName(validationUser.getName());// 3楠岃瘉浜� + qualitySuperviseDetailsCorrectMapper.updateById(correct); + break; + + // 楠岃瘉缁撴灉 + case 3: + correct.setSuperviseDetailsCorrectId(detailsCorrect.getSuperviseDetailsCorrectId()); + correct.setValidationResult(detailsCorrect.getValidationResult());//3楠岃瘉缁撴灉 + correct.setValidationTime(LocalDate.now());// 3楠岃瘉鏃堕棿 + correct.setIsFinish(1); + qualitySuperviseDetailsCorrectMapper.updateById(correct); + break; + } + + return true; + } + + /** + * 鏌ヨ鐩戠潱绾犳澶勭悊 + * @param superviseDetailsId + * @return + */ + @Override + public QualitySuperviseDetailsCorrect getSuperviseDetailCorrect(Integer superviseDetailsId) { + QualitySuperviseDetailsCorrect detailsCorrect; + + detailsCorrect = qualitySuperviseDetailsCorrectMapper.selectOne(Wrappers.<QualitySuperviseDetailsCorrect>lambdaQuery() + .eq(QualitySuperviseDetailsCorrect::getSuperviseDetailsId, superviseDetailsId)); + + if (detailsCorrect == null) { + detailsCorrect = new QualitySuperviseDetailsCorrect(); + } + return detailsCorrect; + } + + /** + * 鏌ヨ鐩戠潱绾犳鎺柦鍒楄〃 + * @param page + * @param detailsCorrect + * @return + */ + @Override + public IPage<QualitySuperviseDetailsCorrect> pageSuperviseDetailCorrect(Page page, QualitySuperviseDetailsCorrect detailsCorrect) { + return qualitySuperviseDetailsCorrectMapper.pageSuperviseDetailAccording(page, QueryWrappers.queryWrappers(detailsCorrect)); + } + + /** + * 鏂板鐩戠潱绾犳鎺柦闄勪欢 + * @param superviseDetailsCorrectId + * @param file + * @return + */ + @Override + public boolean uploadSuperviseDetailCorrectFile(Integer superviseDetailsCorrectId, MultipartFile file) { + if (superviseDetailsCorrectId == null) { + throw new ErrorException("缂哄皯绾犳鎺柦id"); + } + + String urlString; + String pathName; + String path; + String filename = file.getOriginalFilename(); + String contentType = file.getContentType(); + QualitySuperviseDetailsCorrectFile superviseDetailsCorrectFile = new QualitySuperviseDetailsCorrectFile(); + superviseDetailsCorrectFile.setSuperviseDetailsCorrectId(superviseDetailsCorrectId); + superviseDetailsCorrectFile.setFileName(filename); + if (contentType != null && contentType.startsWith("image/")) { + // 鏄浘鐗� + path = imgUrl; + superviseDetailsCorrectFile.setType(1); + } else { + // 鏄枃浠� + path = wordUrl; + superviseDetailsCorrectFile.setType(2); + } + try { + File realpath = new File(path); + if (!realpath.exists()) { + realpath.mkdirs(); + } + pathName = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyMMddHHmmss")) + "_" + file.getOriginalFilename(); + urlString = realpath + "/" + pathName; + file.transferTo(new File(urlString)); + superviseDetailsCorrectFile.setFileUrl(pathName); + qualitySuperviseDetailsCorrectFileMapper.insert(superviseDetailsCorrectFile); + return true; + } catch (Exception e) { + e.printStackTrace(); + throw new ErrorException(e.getMessage()); + } + } + + /** + * 鏌ヨ鐩戠潱绾犳鎺柦闄勪欢 + * @param superviseDetailsCorrectId + * @return + */ + @Override + public List<QualitySuperviseDetailsCorrectFile> getSuperviseDetailCorrectFileList(Integer superviseDetailsCorrectId) { + return qualitySuperviseDetailsCorrectFileMapper.selectList(Wrappers.<QualitySuperviseDetailsCorrectFile>lambdaQuery() + .eq(QualitySuperviseDetailsCorrectFile::getSuperviseDetailsCorrectId, superviseDetailsCorrectId)); + } + + /** + * 瀵煎嚭鐩戠潱绾犳鎺柦 + * @param superviseDetailsCorrectId + * @param response + */ + @Override + public void exportSuperviseDetaillCorrect(Integer superviseDetailsCorrectId, HttpServletResponse response) { + QualitySuperviseDetailsCorrect detailsCorrect = qualitySuperviseDetailsCorrectMapper.selectById(superviseDetailsCorrectId); + QualitySuperviseDetailsCorrectDto detailsCorrectDto = new QualitySuperviseDetailsCorrectDto(); + BeanUtils.copyProperties(detailsCorrect, detailsCorrectDto); + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); + // 鎻愬嚭鏃堕棿 + detailsCorrectDto.setRaiseTimeString(detailsCorrectDto.getRaiseTime() != null + ? detailsCorrectDto.getRaiseTime().format(formatter) : null); + // 鍘熷洜鍒嗘瀽鏃堕棿 + detailsCorrectDto.setCauseTimeString(detailsCorrectDto.getCauseTime() != null + ? detailsCorrectDto.getCauseTime().format(formatter) : null); + + // 绾犳鏃堕棿 + detailsCorrectDto.setCorrectTimeString(detailsCorrectDto.getCorrectTime() != null + ? detailsCorrectDto.getCorrectTime().format(formatter) : null); + + // 楠岃瘉鏃堕棿 + detailsCorrectDto.setValidationTimeString(detailsCorrectDto.getValidationTime() != null + ? detailsCorrectDto.getValidationTime().format(formatter) : null); + + + // 鎻愬嚭浜虹鍚� + String raiseUrl = null; + if (detailsCorrectDto.getRaiseUserId() != null) { + raiseUrl = userMapper.selectById(detailsCorrectDto.getRaiseUserId()).getSignatureUrl(); + if (StringUtils.isBlank(raiseUrl)) { + throw new ErrorException("鎵句笉鍒版彁鍑轰汉鐨勭鍚�"); + } + } + + // 鍘熷洜鍒嗘瀽浜� + String causeUrl = null; + if (detailsCorrectDto.getCauseUserId() != null) { + causeUrl = userMapper.selectById(detailsCorrectDto.getCauseUserId()).getSignatureUrl(); + if (StringUtils.isBlank(causeUrl)) { + throw new ErrorException("鎵句笉鍒板師鍥犲垎鏋愪汉鐨勭鍚�"); + } + } + + // 绾犳浜� + String correctUrl = null; + if (detailsCorrectDto.getCorrectUserId() != null) { + correctUrl = userMapper.selectById(detailsCorrectDto.getCorrectUserId()).getSignatureUrl(); + if (StringUtils.isBlank(correctUrl)) { + throw new ErrorException("鎵句笉鍒扮籂姝d汉鐨勭鍚�"); + } + } + + // 楠岃瘉浜� + String validationUrl = null; + if (detailsCorrectDto.getValidationUserId() != null) { + validationUrl = userMapper.selectById(detailsCorrectDto.getValidationUserId()).getSignatureUrl(); + if (StringUtils.isBlank(validationUrl)) { + throw new ErrorException("鎵句笉鍒伴獙璇佷汉鐨勭鍚�"); + } + } + + // 鑾峰彇璺緞 + InputStream inputStream = this.getClass().getResourceAsStream("/static/supervise-detail-correct.docx"); + ConfigureBuilder builder = Configure.builder(); + builder.useSpringEL(true); + String finalRaiseUrl = raiseUrl; + String finalCauseUrl = causeUrl; + String finalCorrectUrl = correctUrl; + String finalValidationUrl = validationUrl; + XWPFTemplate template = XWPFTemplate.compile(inputStream, builder.build()).render( + new HashMap<String, Object>() {{ + put("correct", detailsCorrectDto); + put("raiseUrl", StringUtils.isNotBlank(finalRaiseUrl) ? Pictures.ofLocal(imgUrl + "/" + finalRaiseUrl).create() : null); + put("causeUrl", StringUtils.isNotBlank(finalCauseUrl) ? Pictures.ofLocal(imgUrl + "/" + finalCauseUrl).create() : null); + put("correctUrl", StringUtils.isNotBlank(finalCorrectUrl) ? Pictures.ofLocal(imgUrl + "/" + finalCorrectUrl).create() : null); + put("validationUrl", StringUtils.isNotBlank(finalValidationUrl) ? Pictures.ofLocal(imgUrl + "/" + finalValidationUrl).create() : null); + }}); + + try { + response.setContentType("application/msword"); + String fileName = URLEncoder.encode( + "鐩戠潱绾犳鎺柦", "UTF-8"); + response.setHeader("Content-disposition", + "attachment;filename=" + fileName + ".docx"); + OutputStream os = response.getOutputStream(); + template.write(os); + os.flush(); + os.close(); + } catch (Exception e) { + e.printStackTrace(); + throw new RuntimeException("瀵煎嚭澶辫触"); + } + + } +} + diff --git a/cnas-process/src/main/java/com/yuanchu/mom/utils/UserUtils.java b/cnas-process/src/main/java/com/yuanchu/mom/utils/UserUtils.java new file mode 100644 index 0000000..7f38185 --- /dev/null +++ b/cnas-process/src/main/java/com/yuanchu/mom/utils/UserUtils.java @@ -0,0 +1,101 @@ +package com.yuanchu.mom.utils; + +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.deepoove.poi.data.PictureRenderData; +import com.deepoove.poi.data.Pictures; +import com.yuanchu.mom.exception.ErrorException; +import com.yuanchu.mom.mapper.UserMapper; +import com.yuanchu.mom.pojo.User; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Component; + +@Component +public class UserUtils { + private static UserMapper userMapper; + + private static String imgUrl; + + @Autowired + public void setUserMapper(UserMapper userMapper) { + UserUtils.userMapper = userMapper; + } + + @Autowired + public void setImgUrl(@Value("${file.path}") String imgUrl) { + UserUtils.imgUrl = imgUrl; + } + + /** + * 閫氳繃浜哄憳id鑾峰彇鐢ㄦ埛绛惧悕鍦板潃 + * @param userId 浜哄憳id + * @return 鐢ㄦ埛绛惧悕鍦板潃 + */ + public static String getUserSignatureUrl(Integer userId) { + String userSignatureUrl = null; + if (userId != null) { + userSignatureUrl = userMapper.selectOne(Wrappers.<User>lambdaQuery() + .eq(User::getId, userId)) + .getSignatureUrl(); + if (StringUtils.isBlank(userSignatureUrl)) { + throw new ErrorException("鎵句笉鍒拌浜哄憳绛惧悕"); + } + } + return imgUrl + "\\" + userSignatureUrl; + } + + /** + * 閫氳繃浜哄憳id鑾峰彇娓叉煋Word鐢ㄦ埛绛惧悕瀵硅薄 + * @param userId 浜哄憳id + * @return 鐢ㄦ埛绛惧悕瀵硅薄 or null + */ + public static PictureRenderData getFinalUserSignatureUrl(Integer userId) { + String userSignatureUrl = null; + if (userId != null) { + userSignatureUrl = userMapper.selectOne(Wrappers.<User>lambdaQuery() + .eq(User::getId, userId)) + .getSignatureUrl(); + if (StringUtils.isBlank(userSignatureUrl)) { + throw new ErrorException("鎵句笉鍒拌浜哄憳绛惧悕"); + } + } + return StringUtils.isNotBlank(userSignatureUrl) ? Pictures.ofLocal(imgUrl + "/" + userSignatureUrl).create() : null; + } + + /** + * 閫氳繃鍚嶅瓧鑾峰彇鐢ㄦ埛绛惧悕鍦板潃 + * @param userName 浜哄憳鍚嶅瓧 + * @return 鐢ㄦ埛绛惧悕鍦板潃 + */ + public static String getUserSignatureUrl(String userName) { + String userSignatureUrl = null; + if (userName != null) { + userSignatureUrl = userMapper.selectOne(Wrappers.<User>lambdaQuery() + .eq(User::getName, userName)) + .getSignatureUrl(); + if (StringUtils.isBlank(userSignatureUrl)) { + throw new ErrorException("鎵句笉鍒拌浜哄憳绛惧悕"); + } + } + return imgUrl + "/" + userSignatureUrl; + } + + /** + * 閫氳繃鍚嶅瓧鑾峰彇娓叉煋Word鐢ㄦ埛绛惧悕瀵硅薄 + * @param userName 浜哄憳鍚嶅瓧 + * @return 鐢ㄦ埛绛惧悕瀵硅薄 or null + */ + public static PictureRenderData getFinalUserSignatureUrl(String userName) { + String userSignatureUrl = null; + if (userName != null) { + userSignatureUrl = userMapper.selectOne(Wrappers.<User>lambdaQuery() + .eq(User::getName, userName)) + .getSignatureUrl(); + if (StringUtils.isBlank(userSignatureUrl)) { + throw new ErrorException("鎵句笉鍒拌浜哄憳绛惧悕"); + } + } + return StringUtils.isNotBlank(userSignatureUrl) ? Pictures.ofLocal(imgUrl + "/" + userSignatureUrl).create() : null; + } +} diff --git a/cnas-process/src/main/resources/mapper/InconsistentDistributionDetailMapper.xml b/cnas-process/src/main/resources/mapper/InconsistentDistributionDetailMapper.xml new file mode 100644 index 0000000..d8bf25b --- /dev/null +++ b/cnas-process/src/main/resources/mapper/InconsistentDistributionDetailMapper.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.yuanchu.mom.mapper.InconsistentDistributionDetailMapper"> + + +</mapper> diff --git a/cnas-process/src/main/resources/mapper/InconsistentDistributionMapper.xml b/cnas-process/src/main/resources/mapper/InconsistentDistributionMapper.xml new file mode 100644 index 0000000..6ce6320 --- /dev/null +++ b/cnas-process/src/main/resources/mapper/InconsistentDistributionMapper.xml @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.yuanchu.mom.mapper.InconsistentDistributionMapper"> + + <!-- 涓嶇鍚堥」鍒嗛〉鏌ヨ --> + <select id="pageInconsistentDistribution" resultType="com.yuanchu.mom.dto.InconsistentDistributionDto"> + select * + from (select cid.*, + u1.name create_user_name, + u2.name update_user_name + from cnas_inconsistent_distribution cid + left join user u1 on u1.id = cid.create_user + left join user u2 on u2.id = cid.update_user + order by cid.create_time desc) a + <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''"> + ${ew.customSqlSegment} + </if> + </select> + +</mapper> diff --git a/cnas-process/src/main/resources/mapper/ProcessComplainMapper.xml b/cnas-process/src/main/resources/mapper/ProcessComplainMapper.xml new file mode 100644 index 0000000..2906809 --- /dev/null +++ b/cnas-process/src/main/resources/mapper/ProcessComplainMapper.xml @@ -0,0 +1,62 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.yuanchu.mom.mapper.ProcessComplainMapper"> + <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 --> + <resultMap id="BaseResultMap" type="com.yuanchu.mom.pojo.ProcessComplain"> + <id column="id" property="id"/> + <result column="complain_no" property="complainNo"/> + <result column="complain_name" property="complainName"/> + <result column="ins_report_id" property="insReportId"/> + <result column="sample_code" property="sampleCode"/> + <result column="create_user" property="createUser"/> + <result column="complainant" property="complainant"/> + <result column="create_time" property="createTime"/> + <result column="update_user" property="updateUser"/> + <result column="update_time" property="updateTime"/> + <result column="complain_method" property="complainMethod"/> + <result column="problem_records" property="problemRecords"/> + <result column="problem_records_user" property="problemRecordsUser"/> + <result column="problem_records_time" property="problemRecordsTime"/> + <result column="duty_ownership" property="dutyOwnership"/> + <result column="duty_ownership_user" property="dutyOwnershipUser"/> + <result column="duty_ownership_time" property="dutyOwnershipTime"/> + <result column="cause_analysis" property="causeAnalysis"/> + <result column="cause_analysis_user" property="causeAnalysisUser"/> + <result column="cause_analysis_time" property="causeAnalysisTime"/> + <result column="corrective_action" property="correctiveAction"/> + <result column="corrective_action_user" property="correctiveActionUser"/> + <result column="corrective_action_time" property="correctiveActionTime"/> + <result column="corrective_action_confirmation" property="correctiveActionConfirmation"/> + <result column="corrective_action_confirmation_user" property="correctiveActionConfirmationUser"/> + <result column="corrective_action_confirmation_time" property="correctiveActionConfirmationTime"/> + </resultMap> + <select id="pageProcessComplain" resultType="com.yuanchu.mom.pojo.ProcessComplain"> + select * + from (select cpc.*,name complainant + from cnas_process_complain cpc left join user u on cpc.create_user = u.id)A + <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''"> + ${ew.customSqlSegment} + </if> + </select> + <select id="getProcessComplain" resultType="com.yuanchu.mom.dto.ProcessComplainDto"> + select cpc.*, + ir.code, + u1.name complainant, + u1.phone, + u1.email, + u2.name problemRecordsUserName, + u3.name dutyOwnershipUserName, + u4.name causeAnalysisUserName, + u5.name correctiveActionUserName, + u6.name correctiveActionConfirmationUserName + from cnas_process_complain cpc + left join user u1 on cpc.create_user = u1.id + left join user u2 on cpc.problem_records_user = u2.id + left join user u3 on cpc.duty_ownership_user = u3.id + left join user u4 on cpc.cause_analysis_user = u4.id + left join user u5 on cpc.corrective_action_user = u5.id + left join user u6 on cpc.corrective_action_confirmation_user = u6.id + left join ins_report ir on cpc.ins_report_id = ir.id + where cpc.id=#{id} + </select> +</mapper> diff --git a/cnas-process/src/main/resources/mapper/ProcessDealMapper.xml b/cnas-process/src/main/resources/mapper/ProcessDealMapper.xml new file mode 100644 index 0000000..55aee1f --- /dev/null +++ b/cnas-process/src/main/resources/mapper/ProcessDealMapper.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.yuanchu.mom.mapper.ProcessDealMapper"> + <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 --> + <resultMap id="BaseResultMap" type="com.yuanchu.mom.pojo.ProcessDeal"> + <id column="id" property="id"/> + <result column="sample_name" property="sampleName"/> + <result column="sample_code" property="sampleCode"/> + <result column="sample_supplier" property="sampleSupplier"/> + <result column="num" property="num"/> + <result column="deal_method" property="dealMethod"/> + <result column="deal_time" property="dealTime"/> + <result column="create_user" property="createUser"/> + <result column="update_user" property="updateUser"/> + <result column="create_time" property="createTime"/> + <result column="update_time" property="updateTime"/> + <result column="totaldeal_id" property="totaldealId"/> + </resultMap> + <select id="pageProcessDeal" resultType="com.yuanchu.mom.pojo.ProcessDeal"> + select * + from (select * from cnas_process_deal) A + <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''"> + ${ew.customSqlSegment} + </if> + </select> +</mapper> diff --git a/cnas-process/src/main/resources/mapper/ProcessEvaluateMapper.xml b/cnas-process/src/main/resources/mapper/ProcessEvaluateMapper.xml new file mode 100644 index 0000000..5f0719a --- /dev/null +++ b/cnas-process/src/main/resources/mapper/ProcessEvaluateMapper.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.yuanchu.mom.mapper.ProcessEvaluateMapper"> + <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 --> + <resultMap id="BaseResultMap" type="com.yuanchu.mom.pojo.ProcessEvaluate"> + <id column="id" property="id"/> + <result column="report_name" property="reportName"/> + <result column="report_url" property="reportUrl"/> + <result column="evaluate_user" property="evaluateUser"/> + <result column="evaluateUserName" property="evaluateUserName"/> + <result column="evaluate_time" property="evaluateTime"/> + <result column="note" property="note"/> + <result column="create_user" property="createUser"/> + <result column="update_user" property="updateUser"/> + <result column="create_time" property="createTime"/> + <result column="update_time" property="updateTime"/> + </resultMap> + <select id="pageProcessEvaluate" resultType="com.yuanchu.mom.pojo.ProcessEvaluate"> + select * from (select cpe.*,u.name evaluateUserName + from cnas_process_evaluate cpe + left join user u on cpe.evaluate_user = u.id)A + <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''"> + ${ew.customSqlSegment} + </if> + </select> +</mapper> diff --git a/cnas-process/src/main/resources/mapper/ProcessMethodSearchNewMapper.xml b/cnas-process/src/main/resources/mapper/ProcessMethodSearchNewMapper.xml new file mode 100644 index 0000000..295161c --- /dev/null +++ b/cnas-process/src/main/resources/mapper/ProcessMethodSearchNewMapper.xml @@ -0,0 +1,36 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > +<mapper namespace="com.yuanchu.mom.mapper.ProcessMethodSearchNewMapper"> + + <!-- 鏍囧噯鏌ユ柊鍒嗛〉鏌ヨ --> + <select id="pageMethodSearchNew" resultType="com.yuanchu.mom.pojo.ProcessMethodSearchNew"> + select * + from (select * + from cnas_process_method_search_new + <where> + <if test="beginDate != null and beginDate != '' and endDate != null and endDate != ''"> + and create_time 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="selectMethodSearchNew" resultType="com.yuanchu.mom.dto.ProcessMethodSearchNewDto"> + select * + from (select * + from cnas_process_method_search_new + <where> + <if test="beginDate != null and beginDate != '' and endDate != null and endDate != ''"> + and create_time between #{beginDate} and #{endDate} + </if> + </where> + order by create_time desc + ) a + <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''"> + ${ew.customSqlSegment} + </if> + </select> +</mapper> diff --git a/cnas-process/src/main/resources/mapper/ProcessMethodVerifyCalibrationsFileMapper.xml b/cnas-process/src/main/resources/mapper/ProcessMethodVerifyCalibrationsFileMapper.xml new file mode 100644 index 0000000..0abc07c --- /dev/null +++ b/cnas-process/src/main/resources/mapper/ProcessMethodVerifyCalibrationsFileMapper.xml @@ -0,0 +1,24 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > +<mapper namespace="com.yuanchu.mom.mapper.ProcessMethodVerifyCalibrationsFileMapper"> + <select id="selectCalibrationsFileList" + resultType="com.yuanchu.mom.dto.ProcessMethodVerifyCalibrationsFileDto"> + select cf.*, + d.device_name, + d.management_number + from cnas_process_method_verify_calibrations_file cf + left join device d on d.id = cf.device_id + where cf.method_verify_id = #{methodVerifyId} + </select> + + <!-- 璁惧璇佷功鏌ヨ鏍″噯璇佷功 --> + <select id="selectCalibrationsFile" resultType="java.lang.String"> + select system_file_name + from device_metric_record + where device_id = #{deviceId} + and type = 'calibrate' + and status = '0yes' + order by create_time desc + limit 1 + </select> +</mapper> diff --git a/cnas-process/src/main/resources/mapper/ProcessMethodVerifyMapper.xml b/cnas-process/src/main/resources/mapper/ProcessMethodVerifyMapper.xml new file mode 100644 index 0000000..1ca960c --- /dev/null +++ b/cnas-process/src/main/resources/mapper/ProcessMethodVerifyMapper.xml @@ -0,0 +1,22 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > +<mapper namespace="com.yuanchu.mom.mapper.ProcessMethodVerifyMapper"> + + <!-- 鏍囧噯鏂规硶璺熸柊楠岃瘉鍒楄〃 --> + <select id="pagesMethodVerify" resultType="com.yuanchu.mom.pojo.ProcessMethodVerify"> + select * from ( + select method_verify_id, + method_name, + verify_reason, + technology_change, + confirm_date, + create_time, + operation_type + from cnas_process_method_verify + order by create_time desc + ) a + <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''"> + ${ew.customSqlSegment} + </if> + </select> +</mapper> diff --git a/cnas-process/src/main/resources/mapper/ProcessMethodVerifyWorkFileMapper.xml b/cnas-process/src/main/resources/mapper/ProcessMethodVerifyWorkFileMapper.xml new file mode 100644 index 0000000..07c5a96 --- /dev/null +++ b/cnas-process/src/main/resources/mapper/ProcessMethodVerifyWorkFileMapper.xml @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > +<mapper namespace="com.yuanchu.mom.mapper.ProcessMethodVerifyWorkFileMapper"> + + <!-- 鏍规嵁鐢ㄦ埛id鏌ヨ涓婂矖璇佸湴鍧� --> + <select id="selectWorkFile" resultType="java.lang.String"> + select system_file_name + from cnas_person_post_authorization_record + where user_id = #{userId} + order by create_time desc + limit 1 + </select> +</mapper> diff --git a/cnas-process/src/main/resources/mapper/ProcessOrderMapper.xml b/cnas-process/src/main/resources/mapper/ProcessOrderMapper.xml new file mode 100644 index 0000000..b966cdf --- /dev/null +++ b/cnas-process/src/main/resources/mapper/ProcessOrderMapper.xml @@ -0,0 +1,202 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.yuanchu.mom.mapper.ProcessOrderMapper"> + <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 --> + <resultMap id="BaseResultMap" type="com.yuanchu.mom.pojo.ProcessOrder"> + <id column="id" property="id"/> + <result column="ins_order_id" property="insOrderId"/> + <result column="rule" property="rule"/> + <result column="comprehensive_user" property="comprehensiveUser"/> + <result column="comprehensive_time" property="comprehensiveTime"/> + <result column="issue_user" property="issueUser"/> + <result column="issue_time" property="issueTime"/> + </resultMap> + + <resultMap id="ProcessOrderDto" type="com.yuanchu.mom.dto.ProcessOrderDto"> + <id column="id" property="id"/> + <result column="entrust_code" property="entrustCode"/> + <result column="sample" property="sample"/> + <result column="create_time" property="createTime"/> + <result column="sampleType" property="sampleType"/> + <result column="company" property="company"/> + <result column="production" property="production"/> + <result column="productionEn" property="productionEn"/> + <result column="prepare_user" property="prepareUser"/> + <result column="sample_num" property="sampleNum"/> + <result column="ins_state" property="insState"/> + <result column="is_leave" property="isLeave"/> + <result column="processing" property="processing"/> + <result column="phones" property="phone"/> + <result column="appointed" property="appointed"/> + <result column="send" property="send"/> + <result column="rule" property="rule"/> + <result column="comprehensive_user" property="comprehensiveUser"/> + <result column="comprehensiveUserName" property="comprehensiveUserName"/> + <result column="comprehensiveUserUrl" property="comprehensiveUserUrl"/> + <result column="comprehensive_time" property="comprehensiveTime"/> + <result column="issue_user" property="issueUser"/> + <result column="issueUserName" property="issueUserName"/> + <result column="issueUserUrl" property="issueUserUrl"/> + <result column="issue_time" property="issueTime"/> + <collection property="sampleItems" resultMap="SampleItemDto"/> + </resultMap> + <resultMap id="SampleItemDto" type="com.yuanchu.mom.dto.SampleItemDto"> + <result column="code" property="code"/> + <result column="model" property="model"/> + <result column="product" property="product"/> + <result column="standardMethodList" property="standardMethodList"/> + <result column="remark" property="remark"/> + </resultMap> + + <select id="pageProcessOrder" resultMap="ProcessOrderDto"> + select * from + ( + select cpo.*, + u1.signature_url comprehensiveUserUrl, + u2.signature_url issueUserUrl, + u3.phone phones, + ioo.* + from cnas_process_order cpo + left join user u1 on comprehensive_user = u1.id + left join user u2 on issue_user = u2.id + left join + (SELECT distinct + io.id AS iod, + io.entrust_code, + io.sample, + io.create_time, + fst.model AS sampleType, + io.company, + io.production, + io.prepare_user, + sc.sample_num, + io.ins_state, + io.is_leave, + io.processing, + appointed, + send + FROM cnas_process_order cpo + LEFT JOIN ins_order io ON cpo.ins_order_id = io.id + LEFT JOIN ( + SELECT ins_order_id, COUNT(*) AS sample_num + FROM ins_sample is2 + WHERE id in ( SELECT is3.id + FROM ins_sample is3 JOIN ins_product ip ON is3.id = ip.ins_sample_id where ip.id is not null) + GROUP BY ins_order_id + ) sc ON io.id = sc.ins_order_id + LEFT JOIN ( + SELECT isa.ins_order_id, isa.model + FROM ins_sample isa + JOIN ins_product ip ON isa.id = ip.ins_sample_id + WHERE ip.id IS NOT NULL + AND ip.state = 1 + AND isa.id = ( + SELECT MIN(is2.id) + FROM ins_sample is2 + JOIN ins_product ip2 ON is2.id = ip2.ins_sample_id + WHERE ip2.id IS NOT NULL + AND ip2.state = 1 + AND isa.ins_order_id = is2.ins_order_id + ) + ) fst ON io.id = fst.ins_order_id) ioo + on cpo.ins_order_id = ioo.iod + left join user u3 on prepare_user = u3.name + left join (select io2.id, + is2.sample_code, + GROUP_CONCAT(DISTINCT ip.inspection_item SEPARATOR ' ') AS product, + sm.code standardMethodList, + is2.remark + from ins_order io2 + left join ins_sample is2 on io2.id = is2.ins_order_id + left join standard_method sm on standard_method_list_id = sm.id + left join ins_product ip on is2.id = ip.ins_sample_id + where ip.id is not null) A on A.id = cpo.ins_order_id + ) B + <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''"> + ${ew.customSqlSegment} + </if> + </select> + <select id="getProcessOrder" resultMap="ProcessOrderDto"> + select cpo.*, + u1.name comprehensiveUserName, + u1.signature_url comprehensiveUserUrl, + u2.name issueUserName, + u2.signature_url issueUserUrl, + u3.phone phones, + u3.signature_url prepareUserUrl, + ioo.*, + A.* + from cnas_process_order cpo + left join user u1 on comprehensive_user = u1.id + left join user u2 on issue_user = u2.id + left join + (SELECT distinct cpo.id, + io.id AS iod, + io.entrust_code, + io.sample, + io.create_time, + fst.model AS sampleType, + io.company, + io.production, + io.prepare_user, + sc.sample_num, + io.ins_state, + io.is_leave, + io.processing, + appointed, + send + FROM cnas_process_order cpo + LEFT JOIN ins_order io ON cpo.ins_order_id = io.id + LEFT JOIN ( + SELECT ins_order_id, COUNT(*) AS sample_num + FROM ins_sample is2 + WHERE id in (SELECT is3.id + FROM ins_sample is3 + JOIN ins_product ip ON is3.id = ip.ins_sample_id + where ip.id is not null) + GROUP BY ins_order_id + ) sc ON io.id = sc.ins_order_id + LEFT JOIN ( + SELECT isa.ins_order_id, isa.model + FROM ins_sample isa + JOIN ins_product ip ON isa.id = ip.ins_sample_id + WHERE ip.id IS NOT NULL + AND ip.state = 1 + AND isa.id = ( + SELECT MIN(is2.id) + FROM ins_sample is2 + JOIN ins_product ip2 ON is2.id = ip2.ins_sample_id + WHERE ip2.id IS NOT NULL + AND ip2.state = 1 + AND isa.ins_order_id = is2.ins_order_id) + ) fst ON io.id = fst.ins_order_id) ioo on cpo.ins_order_id = ioo.iod + left join user u3 on prepare_user = u3.name + left join + (select io2.id, + is2.sample_code code, + is2.model, + GROUP_CONCAT(DISTINCT ip.inspection_item SEPARATOR ' ') AS product, + sm.code standardMethodList, + is2.remark + from ins_order io2 + left join ins_sample is2 on io2.id = is2.ins_order_id + left join standard_method sm on standard_method_list_id = sm.id + left join ins_product ip on is2.id = ip.ins_sample_id + left join cnas_process_order cpo2 on io2.id = cpo2.ins_order_id + where ip.id is not null + and cpo2.id = #{id}) A on A.id = cpo.ins_order_id + where cpo.id = #{id} + </select> + <select id="selectInsOrder" resultType="com.yuanchu.mom.pojo.InspectionOrderDetail"> + select is2.sample_code sampleNumber, + is2.model, + GROUP_CONCAT(DISTINCT ip.inspection_item SEPARATOR ',') AS testItem, + sm.code testStandard, + is2.remark + from ins_sample is2 + left join standard_method sm on standard_method_list_id = sm.id + left join ins_product ip on is2.id = ip.ins_sample_id + where ip.id is not null + and ins_order_id = #{id} + </select> +</mapper> diff --git a/cnas-process/src/main/resources/mapper/ProcessReportMapper.xml b/cnas-process/src/main/resources/mapper/ProcessReportMapper.xml new file mode 100644 index 0000000..3209130 --- /dev/null +++ b/cnas-process/src/main/resources/mapper/ProcessReportMapper.xml @@ -0,0 +1,41 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.yuanchu.mom.mapper.ProcessReportMapper"> + <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 --> + <resultMap id="BaseResultMap" type="com.yuanchu.mom.pojo.ProcessReport"> + <id column="id" property="id"/> + <result column="ins_report_code" property="insReportCode"/> + <result column="pages" property="pages"/> + <result column="number" property="number"/> + <result column="send" property="send"/> + <result column="method" property="method"/> + <result column="send_time" property="sendTime"/> + <result column="send_user" property="sendUser"/> + <result column="signatory" property="signatory"/> + <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="pageProcessReport" resultType="com.yuanchu.mom.pojo.ProcessReport"> + select * from (select cpr.* , + u1.name sendUserName + from cnas_process_report cpr + left join user u1 on send_user=u1.id )A + <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''"> + ${ew.customSqlSegment} + </if> + </select> + <select id="getIds" resultType="com.yuanchu.mom.pojo.ProcessReport"> + select cpr.* , + u1.name sendUserName + from cnas_process_report cpr + left join user u1 on send_user=u1.id + where 1=1 + and cpr.id in + <foreach collection="ids" separator="," item="id" open="(" close=")"> + #{id} + </foreach> + </select> +</mapper> diff --git a/cnas-process/src/main/resources/mapper/ProcessSampleMapper.xml b/cnas-process/src/main/resources/mapper/ProcessSampleMapper.xml new file mode 100644 index 0000000..af87247 --- /dev/null +++ b/cnas-process/src/main/resources/mapper/ProcessSampleMapper.xml @@ -0,0 +1,29 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.yuanchu.mom.mapper.ProcessSampleMapper"> + + <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 --> + <resultMap id="BaseResultMap" type="com.yuanchu.mom.pojo.ProcessSample"> + <id column="id" property="id" /> + <result column="sample_name" property="sampleName" /> + <result column="sample_code" property="sampleCode" /> + <result column="sample_supplier" property="sampleSupplier" /> + <result column="num" property="num" /> + <result column="sample_state" property="sampleState" /> + <result column="create_user" property="createUser" /> + <result column="update_user" property="updateUser" /> + <result column="create_time" property="createTime" /> + <result column="update_time" property="updateTime" /> + <result column="total_sample_id" property="totalSampleId" /> + <result column="receive_date" property="receiveDate" /> + <result column="leave_date" property="leaveDate" /> + <result column="deal_time" property="dealTime" /> + </resultMap> + <select id="pageProcessSample" resultType="com.yuanchu.mom.pojo.ProcessSample"> + select * + from (select * from cnas_process_sample) A + <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''"> + ${ew.customSqlSegment} + </if> + </select> +</mapper> diff --git a/cnas-process/src/main/resources/mapper/ProcessTotalSampleMapper.xml b/cnas-process/src/main/resources/mapper/ProcessTotalSampleMapper.xml new file mode 100644 index 0000000..ac8d933 --- /dev/null +++ b/cnas-process/src/main/resources/mapper/ProcessTotalSampleMapper.xml @@ -0,0 +1,35 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.yuanchu.mom.mapper.ProcessTotalSampleMapper"> + + <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 --> + <resultMap id="BaseResultMap" type="com.yuanchu.mom.pojo.ProcessTotalSample"> + <id column="id" property="id" /> + <result column="examine_user" property="examineUser"/> + <result column="examine_state" property="examineState"/> + <result column="examine_url" property="examineUrl"/> + <result column="examineUserName" property="examineUserName"/> + <result column="ratify_user" property="ratifyUser"/> + <result column="ratify_state" property="ratifyState"/> + <result column="ratify_url" property="ratifyUrl"/> + <result column="ratifyUserName" property="ratifyUserName"/> + <result column="submit_user" property="submitUser"/> + <result column="submit_state" property="submitState"/> + <result column="submit_url" property="submitUrl"/> + <result column="submitUserName" property="submitUserName"/> + <result column="total_num" property="totalNum"/> + <result column="month" property="month"/> + <result column="url" property="url"/> + </resultMap> + <select id="pageProcessTotalSample" resultType="com.yuanchu.mom.pojo.ProcessTotalSample"> + select * + from (select cpt.*, u1.name examineUserName , u2.name ratifyUserName,u3.name submitUserName + from cnas_process_total_sample cpt + left join user u1 on u1.id = examine_user + left join user u2 on u2.id = ratify_user + left join user u3 on u3.id = submit_user) A + <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''"> + ${ew.customSqlSegment} + </if> + </select> +</mapper> diff --git a/cnas-process/src/main/resources/mapper/ProcessTotaldealMapper.xml b/cnas-process/src/main/resources/mapper/ProcessTotaldealMapper.xml new file mode 100644 index 0000000..5886b98 --- /dev/null +++ b/cnas-process/src/main/resources/mapper/ProcessTotaldealMapper.xml @@ -0,0 +1,34 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.yuanchu.mom.mapper.ProcessTotaldealMapper"> + <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 --> + <resultMap id="BaseResultMap" type="com.yuanchu.mom.pojo.ProcessTotaldeal"> + <id column="id" property="id"/> + <result column="examine_user" property="examineUser"/> + <result column="examine_state" property="examineState"/> + <result column="examine_url" property="examineUrl"/> + <result column="examineUserName" property="examineUserName"/> + <result column="ratify_user" property="ratifyUser"/> + <result column="ratify_state" property="ratifyState"/> + <result column="ratify_url" property="ratifyUrl"/> + <result column="ratifyUserName" property="ratifyUserName"/> + <result column="submit_user" property="submitUser"/> + <result column="submit_state" property="submitState"/> + <result column="submit_url" property="submitUrl"/> + <result column="submitUserName" property="submitUserName"/> + <result column="total_num" property="totalNum"/> + <result column="month" property="month"/> + <result column="url" property="url"/> + </resultMap> + <select id="pageProcessTotaldeal" resultType="com.yuanchu.mom.pojo.ProcessTotaldeal"> + select * + from (select cpt.*, u1.name examineUserName , u2.name ratifyUserName,u3.name submitUserName + from cnas_process_totaldeal cpt + left join user u1 on u1.id = examine_user + left join user u2 on u2.id = ratify_user + left join user u3 on u3.id = submit_user) A + <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''"> + ${ew.customSqlSegment} + </if> + </select> +</mapper> diff --git a/cnas-process/src/main/resources/mapper/QualityMonitorDetailsEvaluateMapper.xml b/cnas-process/src/main/resources/mapper/QualityMonitorDetailsEvaluateMapper.xml new file mode 100644 index 0000000..6f5ae37 --- /dev/null +++ b/cnas-process/src/main/resources/mapper/QualityMonitorDetailsEvaluateMapper.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.yuanchu.mom.mapper.QualityMonitorDetailsEvaluateMapper"> + + <!-- 鏌ヨ璐ㄩ噺鐩戞帶璇勪环 --> + <select id="getQualityMonitorEvaluate" resultType="com.yuanchu.mom.pojo.QualityMonitorDetailsEvaluate"> + select cqmde.*, + u1.name implement_name, + u2.name ratify_user_name + from cnas_quality_monitor_details_evaluate cqmde + left join user u1 on u1.id = cqmde.implement_user_id + left join user u2 on u2.id = cqmde.ratify_user_id + where cqmde.quality_monitor_details_id = #{qualityMonitorDetailsId} + </select> +</mapper> diff --git a/cnas-process/src/main/resources/mapper/QualityMonitorDetailsMapper.xml b/cnas-process/src/main/resources/mapper/QualityMonitorDetailsMapper.xml new file mode 100644 index 0000000..e50b9f2 --- /dev/null +++ b/cnas-process/src/main/resources/mapper/QualityMonitorDetailsMapper.xml @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > +<mapper namespace="com.yuanchu.mom.mapper.QualityMonitorDetailsMapper"> + <select id="pageQualityMonitorDetail" resultType="com.yuanchu.mom.pojo.QualityMonitorDetails"> + select * from ( + select * + from cnas_quality_monitor_details + order by create_time desc + ) a + <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''"> + ${ew.customSqlSegment} + </if> + </select> +</mapper> diff --git a/cnas-process/src/main/resources/mapper/QualityMonitorMapper.xml b/cnas-process/src/main/resources/mapper/QualityMonitorMapper.xml new file mode 100644 index 0000000..c50eaa9 --- /dev/null +++ b/cnas-process/src/main/resources/mapper/QualityMonitorMapper.xml @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > +<mapper namespace="com.yuanchu.mom.mapper.QualityMonitorMapper"> + <!-- 鐩戞帶璁″垝鍒嗛〉鏌ヨ --> + <select id="pageQualityMonitor" resultType="com.yuanchu.mom.dto.QualityMonitorDto"> + select * + from (select cqm.*, + u1.name write_name, + u2.name examine_name, + u3.name ratify_name + from cnas_quality_monitor cqm + left join user u1 on u1.id = cqm.write_user_id + left join user u2 on u2.id = cqm.write_user_id + left join user u3 on u3.id = cqm.write_user_id + order by cqm.create_time desc) a + <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''"> + ${ew.customSqlSegment} + </if> + </select> +</mapper> diff --git a/cnas-process/src/main/resources/mapper/QualitySuperviseDetailsAccordingMapper.xml b/cnas-process/src/main/resources/mapper/QualitySuperviseDetailsAccordingMapper.xml new file mode 100644 index 0000000..8234740 --- /dev/null +++ b/cnas-process/src/main/resources/mapper/QualitySuperviseDetailsAccordingMapper.xml @@ -0,0 +1,57 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > +<mapper namespace="com.yuanchu.mom.mapper.QualitySuperviseDetailsAccordingMapper"> + + <!-- 鏌ヨ涓嶇鍚堟帶鍒跺崟鍒楄〃 --> + <select id="pageSuperviseDetailAccording" + resultType="com.yuanchu.mom.pojo.QualitySuperviseDetailsAccording"> + select * + from (select * + from cnas_quality_supervise_details_according + order by create_time desc + ) a + <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''"> + ${ew.customSqlSegment} + </if> + </select> + + <select id="selectSuperviseDetailsAccording" + resultType="com.yuanchu.mom.dto.QualitySuperviseDetailsAccordingDto"> + select sda.*, + DATE_FORMAT(sda.record_time, '%Y-%m-%d') discovererDateString, <!-- 鍙戠幇鏃堕棿 --> + DATE_FORMAT(sda.actions_time, '%Y-%m-%d') responsibleDepartmentDateString, <!-- 澶勭悊鏃堕棿 --> + DATE_FORMAT(sda.correct_time, '%Y-%m-%d') correctiveMeasureDateString, <!-- 绾犳鏃堕棿 --> + DATE_FORMAT(sda.quality_manager_time, '%Y-%m-%d') qualitySupervisorDateString,<!-- 璐ㄩ噺鏃堕棿 --> + DATE_FORMAT(sda.supervised_time, '%Y-%m-%d') supervisedTimeString, <!-- 琚洃鐫f椂闂� --> + case when sda.is_correct = 1 then '鈽�' + else '鈻�' end correctiveMeasureFollowTracksYes, <!-- 绾犳鎺柦澶勭悊鍗曡窡韪�(鏄�) --> + case when sda.is_correct = 2 then '鈽�' + else '鈻�' end correctiveMeasureFollowTracksNo, <!-- 绾犳鎺柦澶勭悊鍗曡窡韪�(鍚�) --> + case when sda.notify_customer = 1 then '鈽�' + else '鈻�' end whetherInformCustomerYes, <!-- 鍛婄煡瀹㈡埛(鏄�) --> + case when sda.notify_customer = 2 then '鈽�' + else '鈻�' end whetherInformCustomerNo, <!-- 鍛婄煡瀹㈡埛(鍚�) --> + case when sda.back_to_work = 1 then '鈽�' + else '鈻�' end whetherResumeWorkYes, <!-- 鎭㈠宸ヤ綔(鏄�) --> + case when sda.back_to_work = 2 then '鈽�' + else '鈻�' end whetherResumeWorkNo, <!-- 鎭㈠宸ヤ綔(鍚�) --> + case when sda.find_way = 0 then '鈽�' + else '鈻�' end discoveryApproach0, + case when sda.find_way = 1 then '鈽�' + else '鈻�' end discoveryApproach1, + case when sda.find_way = 2 then '鈽�' + else '鈻�' end discoveryApproach2, + case when sda.find_way = 3 then '鈽�' + else '鈻�' end discoveryApproach3, + case when sda.find_way = 4 then '鈽�' + else '鈻�' end discoveryApproach4, + case when sda.find_way = 5 then '鈽�' + else '鈻�' end discoveryApproach5, + case when sda.find_way = 6 then '鈽�' + else '鈻�' end discoveryApproach6, + case when sda.find_way = 7 then '鈽�' + else '鈻�' end discoveryApproach7 + from cnas_quality_supervise_details_according sda + where sda.supervise_details_id = #{superviseDetailId} + </select> +</mapper> diff --git a/cnas-process/src/main/resources/mapper/QualitySuperviseDetailsCorrectMapper.xml b/cnas-process/src/main/resources/mapper/QualitySuperviseDetailsCorrectMapper.xml new file mode 100644 index 0000000..52ae7a3 --- /dev/null +++ b/cnas-process/src/main/resources/mapper/QualitySuperviseDetailsCorrectMapper.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.yuanchu.mom.mapper.QualitySuperviseDetailsCorrectMapper"> + + <!-- 鏌ヨ鐩戠潱绾犳鎺柦鍒楄〃 --> + <select id="pageSuperviseDetailAccording" resultType="com.yuanchu.mom.pojo.QualitySuperviseDetailsCorrect"> + select * + from (select * + from cnas_quality_supervise_details_correct + order by create_time desc) a + <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''"> + ${ew.customSqlSegment} + </if> + </select> +</mapper> diff --git a/cnas-process/src/main/resources/mapper/QualitySuperviseDetailsMapper.xml b/cnas-process/src/main/resources/mapper/QualitySuperviseDetailsMapper.xml new file mode 100644 index 0000000..9ffd140 --- /dev/null +++ b/cnas-process/src/main/resources/mapper/QualitySuperviseDetailsMapper.xml @@ -0,0 +1,24 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > +<mapper namespace="com.yuanchu.mom.mapper.QualitySuperviseDetailsMapper"> + + <!-- 璐ㄩ噺鐩戠潱璁″垝璇︽儏鍒楄〃 --> + <select id="pageQualitySuperviseDetail" resultType="com.yuanchu.mom.dto.QualitySuperviseDetailsDto"> + select * + from (select cd.*, + cr.is_according, + ca.is_correct, + cc.supervise_details_correct_id + from cnas_quality_supervise_details cd + left join cnas_quality_supervise_details_record cr + on cr.supervise_details_id = cd.supervise_details_id + left join cnas_quality_supervise_details_according ca + on ca.supervise_details_id = cd.supervise_details_id + left join cnas_quality_supervise_details_correct cc + on cc.supervise_details_id = cd.supervise_details_id + order by cd.create_time desc) a + <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''"> + ${ew.customSqlSegment} + </if> + </select> +</mapper> diff --git a/cnas-process/src/main/resources/mapper/QualitySuperviseDetailsRecordMapper.xml b/cnas-process/src/main/resources/mapper/QualitySuperviseDetailsRecordMapper.xml new file mode 100644 index 0000000..5c6cc80 --- /dev/null +++ b/cnas-process/src/main/resources/mapper/QualitySuperviseDetailsRecordMapper.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > +<mapper namespace="com.yuanchu.mom.mapper.QualitySuperviseDetailsRecordMapper"> + + <!--瀵煎嚭鐩戠潱璁板綍琛�--> + <select id="selectSuperviseDetailRecord" resultType="com.yuanchu.mom.pojo.QualitySuperviseDetailsRecord"> + select cqsdr.* + from cnas_quality_supervise_details_record cqsdr + where cqsdr.supervise_details_id = #{superviseDetailsId} + </select> +</mapper> \ No newline at end of file diff --git a/cnas-process/src/main/resources/mapper/QualitySuperviseMapper.xml b/cnas-process/src/main/resources/mapper/QualitySuperviseMapper.xml new file mode 100644 index 0000000..106c046 --- /dev/null +++ b/cnas-process/src/main/resources/mapper/QualitySuperviseMapper.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.yuanchu.mom.mapper.QualitySuperviseMapper"> + + <!-- 鐩戠潱璁″垝鍒楄〃 --> + <select id="pageQualitySupervise" resultType="com.yuanchu.mom.pojo.QualitySupervise"> + select * + from (select * + from cnas_quality_supervise + order by create_time desc ) a + <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''"> + ${ew.customSqlSegment} + </if> + </select> +</mapper> diff --git a/cnas-process/src/main/resources/static/inconsistent-distribution.docx b/cnas-process/src/main/resources/static/inconsistent-distribution.docx new file mode 100644 index 0000000..d41623f --- /dev/null +++ b/cnas-process/src/main/resources/static/inconsistent-distribution.docx Binary files differ diff --git a/cnas-process/src/main/resources/static/inspection-order.docx b/cnas-process/src/main/resources/static/inspection-order.docx new file mode 100644 index 0000000..dae6093 --- /dev/null +++ b/cnas-process/src/main/resources/static/inspection-order.docx Binary files differ diff --git a/cnas-process/src/main/resources/static/method-verify.docx b/cnas-process/src/main/resources/static/method-verify.docx new file mode 100644 index 0000000..0368726 --- /dev/null +++ b/cnas-process/src/main/resources/static/method-verify.docx Binary files differ diff --git a/cnas-process/src/main/resources/static/quality-monitor-details-ratify.docx b/cnas-process/src/main/resources/static/quality-monitor-details-ratify.docx new file mode 100644 index 0000000..bf4f413 --- /dev/null +++ b/cnas-process/src/main/resources/static/quality-monitor-details-ratify.docx Binary files differ diff --git a/cnas-process/src/main/resources/static/quality-monitor-evaluate.docx b/cnas-process/src/main/resources/static/quality-monitor-evaluate.docx new file mode 100644 index 0000000..92c2208 --- /dev/null +++ b/cnas-process/src/main/resources/static/quality-monitor-evaluate.docx Binary files differ diff --git a/cnas-process/src/main/resources/static/quality-monitor.docx b/cnas-process/src/main/resources/static/quality-monitor.docx new file mode 100644 index 0000000..5ddb77a --- /dev/null +++ b/cnas-process/src/main/resources/static/quality-monitor.docx Binary files differ diff --git a/cnas-process/src/main/resources/static/quality-supervise.docx b/cnas-process/src/main/resources/static/quality-supervise.docx new file mode 100644 index 0000000..cf658d4 --- /dev/null +++ b/cnas-process/src/main/resources/static/quality-supervise.docx Binary files differ diff --git a/cnas-process/src/main/resources/static/report-deal.docx b/cnas-process/src/main/resources/static/report-deal.docx new file mode 100644 index 0000000..fdd74f4 --- /dev/null +++ b/cnas-process/src/main/resources/static/report-deal.docx Binary files differ diff --git a/cnas-process/src/main/resources/static/sample-deal.docx b/cnas-process/src/main/resources/static/sample-deal.docx new file mode 100644 index 0000000..9021b0a --- /dev/null +++ b/cnas-process/src/main/resources/static/sample-deal.docx Binary files differ diff --git a/cnas-process/src/main/resources/static/sample-receive.docx b/cnas-process/src/main/resources/static/sample-receive.docx new file mode 100644 index 0000000..1035f1c --- /dev/null +++ b/cnas-process/src/main/resources/static/sample-receive.docx Binary files differ diff --git a/cnas-process/src/main/resources/static/supervise-detail-correct.docx b/cnas-process/src/main/resources/static/supervise-detail-correct.docx new file mode 100644 index 0000000..f5e3a23 --- /dev/null +++ b/cnas-process/src/main/resources/static/supervise-detail-correct.docx Binary files differ diff --git a/cnas-process/src/main/resources/static/supervision-detail-according.docx b/cnas-process/src/main/resources/static/supervision-detail-according.docx new file mode 100644 index 0000000..0b2ac36 --- /dev/null +++ b/cnas-process/src/main/resources/static/supervision-detail-according.docx Binary files differ diff --git a/cnas-process/src/main/resources/static/supervision-detail-record.docx b/cnas-process/src/main/resources/static/supervision-detail-record.docx new file mode 100644 index 0000000..015e882 --- /dev/null +++ b/cnas-process/src/main/resources/static/supervision-detail-record.docx Binary files differ diff --git a/cnas-resource-require/pom.xml b/cnas-resource-require/pom.xml new file mode 100644 index 0000000..3437e33 --- /dev/null +++ b/cnas-resource-require/pom.xml @@ -0,0 +1,30 @@ +锘�<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"> + <modelVersion>4.0.0</modelVersion> + <parent> + <groupId>com.yuanchu.mom</groupId> + <artifactId>mom</artifactId> + <version>1.0.0</version> + </parent> + + <artifactId>cnas-resource-require</artifactId> + + <version>0.0.1-SNAPSHOT</version> + <name>cnas-resource-require</name> + <description>cnas-resource-require</description> + <packaging>jar</packaging> + + <dependencies> + <dependency> + <groupId>com.yuanchu.mom</groupId> + <artifactId>framework</artifactId> + <version>0.0.1-SNAPSHOT</version> + </dependency> + + <dependency> + <groupId>com.yuanchu.mom</groupId> + <artifactId>inspect-server</artifactId> + <version>0.0.1-SNAPSHOT</version> + </dependency> + </dependencies> +</project> diff --git a/cnas-resource-require/src/main/java/com/yuanchu/mom/controller/FeCalibrationScheduleController.java b/cnas-resource-require/src/main/java/com/yuanchu/mom/controller/FeCalibrationScheduleController.java new file mode 100644 index 0000000..f69873e --- /dev/null +++ b/cnas-resource-require/src/main/java/com/yuanchu/mom/controller/FeCalibrationScheduleController.java @@ -0,0 +1,94 @@ +package com.yuanchu.mom.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.yuanchu.mom.annotation.ValueClassify; +import com.yuanchu.mom.excel.FeCalibrationScheduleExport; +import com.yuanchu.mom.pojo.FeCalibrationSchedule; +import com.yuanchu.mom.service.FeCalibrationScheduleService; +import com.yuanchu.mom.vo.Result; +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; + + @ValueClassify(value = "閲忓�兼函婧愯鍒�") + @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); + } + + @ValueClassify(value = "閲忓�兼函婧愯鍒�") + @ApiOperation(value = "閲忓�兼函婧愯鍒掓柊澧炵紪杈�") + @PostMapping("/addCalibrationSchedule") + public Result addCalibrationSchedule(@RequestBody FeCalibrationSchedule feCalibrationSchedule) { + return Result.success(feCalibrationScheduleService.saveOrUpdate(feCalibrationSchedule)); + } + + @ValueClassify(value = "閲忓�兼函婧愯鍒�") + @ApiOperation(value = "閲忓�兼函婧愯鍒掑垹闄�") + @GetMapping("/removeCalibrationSchedule") + public Result removeCalibrationSchedule(Integer id) { + return Result.success(feCalibrationScheduleService.removeById(id)); + } + + @ValueClassify(value = "閲忓�兼函婧愯鍒�") + @ApiOperation(value = "閲忓�兼函婧愯鍒掑鍑�") + @PostMapping("exportOfValueTraceabilityPlan") + public void exportOfValueTraceabilityPlan(String instrumentName, String managementNumber, + HttpServletResponse response) throws Exception { + IPage<FeCalibrationSchedule> data = feCalibrationScheduleService.page(new Page<>(1, -1),instrumentName, managementNumber); + List<FeCalibrationScheduleExport> studentList = JSONObject.parseArray(JSON.toJSONString(data.getRecords()), FeCalibrationScheduleExport.class); + response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); + response.setHeader("requestType", "excel"); + response.setHeader("Access-Control-Expose-Headers", "requestType"); + // 璁剧疆鍗曞厓鏍兼牱寮� + // 淇濆瓨鍒扮涓�涓猻heet涓� + EasyExcel.write(response.getOutputStream()) + .head(FeCalibrationScheduleExport.class) + .registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()) // 鑷�傚簲鍒楀 + .sheet("sheet") + .doWrite(studentList); + } + + @ValueClassify(value = "閲忓�兼函婧愯鍒掑鍏�") + @ApiOperation(value = "importOfValueTraceabilityPlan") + @PostMapping("/importOfValueTraceabilityPlan") + public void importOfValueTraceabilityPlan(MultipartFile file) throws IOException { + if (file.isEmpty()) { + return; + } + EasyExcel.read(file.getInputStream(), FeCalibrationScheduleExport.class, new PageReadListener<FeCalibrationScheduleExport>(dataList -> { + List<FeCalibrationSchedule> studentList = JSONObject.parseArray(JSON.toJSONString(dataList), FeCalibrationSchedule.class); + feCalibrationScheduleService.saveOrUpdateBatch(studentList); + })).sheet().doRead(); + } +} diff --git a/cnas-resource-require/src/main/java/com/yuanchu/mom/controller/FeIlluminationController.java b/cnas-resource-require/src/main/java/com/yuanchu/mom/controller/FeIlluminationController.java new file mode 100644 index 0000000..08556d1 --- /dev/null +++ b/cnas-resource-require/src/main/java/com/yuanchu/mom/controller/FeIlluminationController.java @@ -0,0 +1,90 @@ +package com.yuanchu.mom.controller; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yuanchu.mom.annotation.CustomClazzName; +import com.yuanchu.mom.annotation.ValueAuth; +import com.yuanchu.mom.dto.FeIlluminationAddDto; +import com.yuanchu.mom.dto.FeIlluminationDto; +import com.yuanchu.mom.pojo.FeIllumination; +import com.yuanchu.mom.pojo.FeIlluminationDetectionArea; +import com.yuanchu.mom.pojo.FeMeasuredQuantity; +import com.yuanchu.mom.service.FeIlluminationDetectionAreaService; +import com.yuanchu.mom.service.FeIlluminationService; +import com.yuanchu.mom.vo.Result; +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") +@CustomClazzName(name = "璧勬簮瑕佹眰",index = 6) +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 + */ + @ValueAuth + @ApiOperation(value = "瀵煎嚭鐓у害璁板綍") + @GetMapping("/exportFeIllumination") + public void exportFeIllumination(Integer intensityIlluminationId, HttpServletResponse response){ + feIlluminationService.exportFeIllumination(intensityIlluminationId, response); + } +} diff --git a/cnas-resource-require/src/main/java/com/yuanchu/mom/controller/FeLightningProtectionController.java b/cnas-resource-require/src/main/java/com/yuanchu/mom/controller/FeLightningProtectionController.java new file mode 100644 index 0000000..c8c4075 --- /dev/null +++ b/cnas-resource-require/src/main/java/com/yuanchu/mom/controller/FeLightningProtectionController.java @@ -0,0 +1,94 @@ +package com.yuanchu.mom.controller; + +import com.alibaba.excel.EasyExcel; +import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy; +import com.alibaba.fastjson.JSONObject; +import com.alibaba.fastjson2.JSON; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yuanchu.mom.annotation.CustomClazzName; +import com.yuanchu.mom.annotation.ValueClassify; +import com.yuanchu.mom.excel.FeLightningProtectionExcel; +import com.yuanchu.mom.excel.FeStandardSubstanceExcel; +import com.yuanchu.mom.pojo.FeLightningProtection; +import com.yuanchu.mom.pojo.FeMeasuredQuantity; +import com.yuanchu.mom.pojo.FeStandardSubstance; +import com.yuanchu.mom.service.FeLightningProtectionService; +import com.yuanchu.mom.utils.FileSaveUtil; +import com.yuanchu.mom.vo.Result; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.servlet.http.HttpServletResponse; +import java.util.List; +import java.util.Objects; + +/** + * <p> + * 璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-闃查浄妫�娴� 鍓嶇鎺у埗鍣� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-07 04:16:36 + */ +@Api(tags = "璁炬柦鍜岀幆澧冩潯浠惰姹�-闃查浄妫�娴�") +@RestController +@RequestMapping("/feLightningProtection") +@CustomClazzName(name = "璧勬簮瑕佹眰",index = 6) +public class FeLightningProtectionController { + + @Autowired + private FeLightningProtectionService feLightningProtectionService; + + @ValueClassify(value = "璁炬柦鍜岀幆澧冩潯浠惰姹�") + @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(); + } + + @ValueClassify(value = "璁炬柦鍜岀幆澧冩潯浠惰姹�") + @DeleteMapping("deleteLightningProtectionDetection") + @ApiOperation("璁炬柦鍜岀幆澧冩潯浠惰姹�-闃查浄妫�娴嬪垹闄�") + public Result<?> deleteFeLightningProtection(@RequestParam("lightningProtectionId") Integer lightningProtectionId) { + feLightningProtectionService.removeById(lightningProtectionId); + return Result.success(); + } + + @ValueClassify(value = "璁炬柦鍜岀幆澧冩潯浠惰姹�") + @GetMapping("getLightningProtectionDetection") + @ApiOperation("璁炬柦鍜岀幆澧冩潯浠惰姹�-闃查浄妫�娴嬫煡璇�") + public Result<IPage<FeLightningProtection>> getFeLightningProtection(Page page) { + IPage<FeLightningProtection> page1 = feLightningProtectionService.page(page); + return Result.success(page1); + } + + @ValueClassify(value = "璁炬柦鍜岀幆澧冩潯浠惰姹�") + @ApiOperation(value = "璁炬柦鍜岀幆澧冩潯浠惰姹�-闃查浄妫�娴嬪鍑�") + @GetMapping("exportOfLightningProtectionDetection") + public void exportOfLightningProtectionDetection(HttpServletResponse response) throws Exception { + List<FeLightningProtectionExcel> ipage = feLightningProtectionService.exportOfLightningProtectionDetection(); + response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); + response.setHeader("requestType", "excel"); + response.setHeader("Access-Control-Expose-Headers", "requestType"); + // 璁剧疆鍗曞厓鏍兼牱寮� + // 淇濆瓨鍒扮涓�涓猻heet涓� + EasyExcel.write(response.getOutputStream()) + .head(FeLightningProtectionExcel.class) + .registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()) // 鑷�傚簲鍒楀 + .sheet("sheet") + .doWrite(ipage); + } +} diff --git a/cnas-resource-require/src/main/java/com/yuanchu/mom/controller/FePowerStableController.java b/cnas-resource-require/src/main/java/com/yuanchu/mom/controller/FePowerStableController.java new file mode 100644 index 0000000..72e4900 --- /dev/null +++ b/cnas-resource-require/src/main/java/com/yuanchu/mom/controller/FePowerStableController.java @@ -0,0 +1,101 @@ +package com.yuanchu.mom.controller; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yuanchu.mom.annotation.CustomClazzName; +import com.yuanchu.mom.annotation.ValueAuth; +import com.yuanchu.mom.dto.FePowerStableAddDto; +import com.yuanchu.mom.dto.FePowerStableDto; +import com.yuanchu.mom.pojo.FeMeasuredQuantity; +import com.yuanchu.mom.pojo.FePowerStable; +import com.yuanchu.mom.service.FeMeasuredQuantityService; +import com.yuanchu.mom.service.FePowerStableService; +import com.yuanchu.mom.vo.Result; +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") +@CustomClazzName(name = "璧勬簮瑕佹眰-璁炬柦鍜岀幆澧冩潯浠惰姹�",index = 6) +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); + } + + @ValueAuth + @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 + */ + @ValueAuth + @ApiOperation(value = "瀵煎嚭鐢垫簮绋冲畾鎬�") + @GetMapping("/exportFePowerStable") + public void exportFePowerStable(Integer powerStableId, HttpServletResponse response){ + fePowerStableService.exportFePowerStable(powerStableId, response); + } +} diff --git a/cnas-resource-require/src/main/java/com/yuanchu/mom/controller/FeStandardSubstanceAcceptanceController.java b/cnas-resource-require/src/main/java/com/yuanchu/mom/controller/FeStandardSubstanceAcceptanceController.java new file mode 100644 index 0000000..8bb3f3c --- /dev/null +++ b/cnas-resource-require/src/main/java/com/yuanchu/mom/controller/FeStandardSubstanceAcceptanceController.java @@ -0,0 +1,105 @@ +package com.yuanchu.mom.controller; + +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.yuanchu.mom.annotation.ValueClassify; +import com.yuanchu.mom.dto.AcceptanceDto; +import com.yuanchu.mom.pojo.FeStandardSubstance; +import com.yuanchu.mom.pojo.FeStandardSubstanceAcceptance; +import com.yuanchu.mom.pojo.FeStandardSubstanceAcceptanceInspection; +import com.yuanchu.mom.service.FeStandardSubstanceAcceptanceInspectionService; +import com.yuanchu.mom.service.FeStandardSubstanceAcceptanceService; +import com.yuanchu.mom.vo.AcceptanceVo; +import com.yuanchu.mom.vo.Result; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.bind.annotation.*; + +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 + */ +@Api(tags = "鏍囧噯鐗╄川楠屾敹") +@RestController +@RequestMapping("/feStandardSubstanceAcceptance") +public class FeStandardSubstanceAcceptanceController { + + @Autowired + private FeStandardSubstanceAcceptanceInspectionService inspectionService; + @Resource + private FeStandardSubstanceAcceptanceService feStandardSubstanceAcceptanceService; + + @ValueClassify(value = "鏍囧噯鐗╄川楠屾敹") + @ApiOperation(value = "鏂板") + @PostMapping("/addAcceptance") + @Transactional + public Result addAcceptance(@RequestBody AcceptanceDto dto) { + feStandardSubstanceAcceptanceService.addAcceptance(dto); + return Result.success(); + } + + @ValueClassify(value = "鏍囧噯鐗╄川楠屾敹") + @ApiOperation(value = "鏍囧噯鐗╄川楠屾敹鏌ヨ") + @GetMapping("/getPageAcceptance") + public Result<IPage<AcceptanceVo>> getPageAcceptance(Page page, String name) { + IPage<AcceptanceVo> ipage = feStandardSubstanceAcceptanceService.getPageAcceptance(page, name); + return Result.success(ipage); + } + + @ValueClassify(value = "鏍囧噯鐗╄川楠屾敹") + @ApiOperation(value = "鏍囧噯鐗╄川楠屾敹鍒犻櫎") + @GetMapping("/deleteAcceptance/{id}") + public Result deleteAcceptance(@PathVariable("id") Integer id) { + return Result.success(feStandardSubstanceAcceptanceService.deleteAcceptance(id)); + } + + @ValueClassify(value = "鏍囧噯鐗╄川楠屾敹") + @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(); + } + + + @ValueClassify(value = "鏍囧噯鐗╄川楠屾敹") + @ApiOperation(value = "鏍囧噯鐗╄川楠屾敹鏌ヨ") + @GetMapping("/getAcceptanceDetails") + public Result getAcceptanceDetails(Integer id) { + return Result.success(feStandardSubstanceAcceptanceService.getAcceptanceDetails(id)); + } + + @ApiOperation("瀵煎嚭鏍囧噯鐗╄川楠屾敹") + @GetMapping("/exportFeStandardSubstanceAcceptance") + public Result exportFeStandardSubstanceAcceptance(HttpServletResponse response) { + feStandardSubstanceAcceptanceService.exportFeStandardSubstanceAcceptance(response); + + return Result.success(); + } + + +} diff --git a/cnas-resource-require/src/main/java/com/yuanchu/mom/controller/FeStandardSubstanceAcceptanceInspectionController.java b/cnas-resource-require/src/main/java/com/yuanchu/mom/controller/FeStandardSubstanceAcceptanceInspectionController.java new file mode 100644 index 0000000..2ccefbc --- /dev/null +++ b/cnas-resource-require/src/main/java/com/yuanchu/mom/controller/FeStandardSubstanceAcceptanceInspectionController.java @@ -0,0 +1,43 @@ +package com.yuanchu.mom.controller; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yuanchu.mom.annotation.ValueClassify; +import com.yuanchu.mom.pojo.FeStandardSubstanceAcceptance; +import com.yuanchu.mom.pojo.FeStandardSubstanceAcceptanceInspection; +import com.yuanchu.mom.service.FeStandardSubstanceAcceptanceInspectionService; +import com.yuanchu.mom.vo.AcceptanceVo; +import com.yuanchu.mom.vo.Result; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +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; + + + @ValueClassify(value = "楠屾敹寮�绠辫褰�") + @ApiOperation(value = "鏂板鎴栫紪杈�") + @PostMapping("/addInspection") + public Result addInspection(@RequestBody FeStandardSubstanceAcceptanceInspection inspection) { + feStandardSubstanceAcceptanceInspectionService.saveOrUpdate(inspection); + return Result.success(); + } + +} diff --git a/cnas-resource-require/src/main/java/com/yuanchu/mom/controller/FeStandardSubstanceController.java b/cnas-resource-require/src/main/java/com/yuanchu/mom/controller/FeStandardSubstanceController.java new file mode 100644 index 0000000..8e114a6 --- /dev/null +++ b/cnas-resource-require/src/main/java/com/yuanchu/mom/controller/FeStandardSubstanceController.java @@ -0,0 +1,91 @@ +package com.yuanchu.mom.controller; + +import com.alibaba.excel.EasyExcel; +import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy; +import com.alibaba.fastjson.JSONObject; +import com.alibaba.fastjson2.JSON; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yuanchu.mom.annotation.ValueClassify; +import com.yuanchu.mom.excel.FeCalibrationScheduleExport; +import com.yuanchu.mom.excel.FeStandardSubstanceExcel; +import com.yuanchu.mom.pojo.FeCalibrationSchedule; +import com.yuanchu.mom.pojo.FeStandardSubstance; +import com.yuanchu.mom.service.FeStandardSubstanceService; +import com.yuanchu.mom.vo.Result; +import com.yuanchu.mom.vo.SubstanceRecordVo; +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; + + @ValueClassify(value = "鏍囧噯鐗╄川娓呭崟") + @ApiOperation(value = "鏍囧噯鐗╄川娓呭崟鏌ヨ") + @GetMapping("/getPageStandardSubstance") + public Result<IPage<FeStandardSubstance>> getPageStandardSubstance(Page page, FeStandardSubstance feStandardSubstance) { + IPage<FeStandardSubstance> ipage = feStandardSubstanceService.page(page, feStandardSubstance); + return Result.success(ipage); + } + + @ValueClassify(value = "鏍囧噯鐗╄川娓呭崟") + @ApiOperation(value = "鏍囧噯鐗╄川娓呭崟鏂板缂栬緫") + @PostMapping("/addStandardSubstance") + public Result addStandardSubstance(@RequestBody FeStandardSubstance feStandardSubstance) { + return Result.success(feStandardSubstanceService.saveOrUpdate(feStandardSubstance)); + } + + @ValueClassify(value = "鏍囧噯鐗╄川娓呭崟") + @ApiOperation(value = "鏍囧噯鐗╄川娓呭崟鍒犻櫎") + @GetMapping("/removeStandardSubstance") + public Result removeStandardSubstance(Integer id) { + return Result.success(feStandardSubstanceService.removeById(id)); + } + + + @ValueClassify(value = "鏍囧噯鐗╄川娓呭崟") + @ApiOperation(value = "鏍囧噯鐗╄川娓呭崟鏌ヨ鎵�鏈�") + @GetMapping("/getStandardSubstanceAll") + public Result<List<FeStandardSubstance>> getStandardSubstanceAll( ) { + return Result.success(feStandardSubstanceService.list()); + } + + + @ValueClassify(value = "鏍囧噯鐗╄川娓呭崟鍊熺敤褰掕繕璁板綍") + @ApiOperation(value = "鏍囧噯鐗╄川娓呭崟瀵煎嚭") + @GetMapping("exportOfStandardSubstanceList") + public void exportOfStandardSubstanceList(FeStandardSubstance feStandardSubstance, + HttpServletResponse response) throws Exception { + IPage<FeStandardSubstance> ipage = feStandardSubstanceService.page(new Page<>(1, -1), feStandardSubstance); + List<FeStandardSubstanceExcel> studentList = JSONObject.parseArray(JSON.toJSONString(ipage.getRecords()), FeStandardSubstanceExcel.class); + response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); + response.setHeader("requestType", "excel"); + response.setHeader("Access-Control-Expose-Headers", "requestType"); + // 璁剧疆鍗曞厓鏍兼牱寮� + // 淇濆瓨鍒扮涓�涓猻heet涓� + EasyExcel.write(response.getOutputStream()) + .head(FeStandardSubstanceExcel.class) + .registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()) // 鑷�傚簲鍒楀 + .sheet("sheet") + .doWrite(studentList); + } +} diff --git a/cnas-resource-require/src/main/java/com/yuanchu/mom/controller/FeStandardSubstanceRecordController.java b/cnas-resource-require/src/main/java/com/yuanchu/mom/controller/FeStandardSubstanceRecordController.java new file mode 100644 index 0000000..f1cb5f6 --- /dev/null +++ b/cnas-resource-require/src/main/java/com/yuanchu/mom/controller/FeStandardSubstanceRecordController.java @@ -0,0 +1,74 @@ +package com.yuanchu.mom.controller; + +import com.alibaba.excel.EasyExcel; +import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy; +import com.alibaba.fastjson.JSONObject; +import com.alibaba.fastjson2.JSON; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yuanchu.mom.annotation.ValueClassify; +import com.yuanchu.mom.excel.FeCalibrationScheduleExport; +import com.yuanchu.mom.pojo.FeCalibrationSchedule; +import com.yuanchu.mom.pojo.FeStandardSubstance; +import com.yuanchu.mom.pojo.FeStandardSubstanceRecord; +import com.yuanchu.mom.service.FeStandardSubstanceRecordService; +import com.yuanchu.mom.vo.Result; +import com.yuanchu.mom.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; +import javax.servlet.http.HttpServletResponse; +import java.util.List; + +/** + * <p> + * 鏍囧噯鐗╄川娓呭崟鍊熺敤褰掕繕璁板綍琛� 鍓嶇鎺у埗鍣� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-14 01:49:11 + */ +@Api(tags = "鏍囧噯鐗╄川娓呭崟鍊熺敤褰掕繕璁板綍") +@RestController +@RequestMapping("/feStandardSubstanceRecord") +public class FeStandardSubstanceRecordController { + + @Resource + private FeStandardSubstanceRecordService feStandardSubstanceRecordService; + + @ValueClassify(value = "鏍囧噯鐗╄川娓呭崟鍊熺敤褰掕繕璁板綍") + @ApiOperation(value = "鏍囧噯鐗╄川娓呭崟鍊熺敤") + @PostMapping("/borrowSubstance") + @Transactional + public Result borrowSubstance(@RequestBody FeStandardSubstanceRecord record) { + feStandardSubstanceRecordService.borrowSubstance(record); + return Result.success(); + } + + @ValueClassify(value = "鏍囧噯鐗╄川娓呭崟鍊熺敤褰掕繕璁板綍") + @ApiOperation(value = "鏍囧噯鐗╄川娓呭崟褰掕繕") + @PostMapping("/returnSubstance") + @Transactional + public Result returnSubstance(@RequestBody FeStandardSubstanceRecord record) { + feStandardSubstanceRecordService.returnSubstance(record); + return Result.success(); + } + + @ValueClassify(value = "鏍囧噯鐗╄川娓呭崟鍊熺敤褰掕繕璁板綍") + @ApiOperation(value = "鏍囧噯鐗╄川娓呭崟棰嗙敤鏌ヨ") + @PostMapping("/getSubstanceRecord") + public Result getSubstanceRecord(Integer id) { + return Result.success(feStandardSubstanceRecordService.getSubstanceRecord(id)); + } + + @ValueClassify(value = "鏍囧噯鐗╄川娓呭崟鍊熺敤褰掕繕璁板綍") + @ApiOperation(value = "鍒嗛〉鏌ヨ") + @PostMapping("/getPageSubstanceRecord") + public Result<IPage<SubstanceRecordVo>> getPageSubstanceRecord(Page page, @RequestBody SubstanceRecordVo vo) { + IPage<SubstanceRecordVo> ipage = feStandardSubstanceRecordService.getPage(page,vo); + return Result.success(ipage); + } +} diff --git a/cnas-resource-require/src/main/java/com/yuanchu/mom/controller/FeTempHumDateController.java b/cnas-resource-require/src/main/java/com/yuanchu/mom/controller/FeTempHumDateController.java new file mode 100644 index 0000000..7b5bbe8 --- /dev/null +++ b/cnas-resource-require/src/main/java/com/yuanchu/mom/controller/FeTempHumDateController.java @@ -0,0 +1,94 @@ +package com.yuanchu.mom.controller; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yuanchu.mom.annotation.CustomClazzName; +import com.yuanchu.mom.annotation.ValueAuth; +import com.yuanchu.mom.dto.FeTempHumDateDto; +import com.yuanchu.mom.dto.FeTempHumRecordDto; +import com.yuanchu.mom.pojo.FeTempHumDate; +import com.yuanchu.mom.pojo.FeTempHumRecord; +import com.yuanchu.mom.service.FeTempHumDateService; +import com.yuanchu.mom.service.FeTempHumRecordService; +import com.yuanchu.mom.vo.Result; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; + +/** + * <p> + * 璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-娓╂箍搴� 鍖哄煙 -鐖� 鍓嶇鎺у埗鍣� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-09 11:02:18 + */ +@RestController +@RequestMapping("/feTempHumDate") +@CustomClazzName(name = "璧勬簮瑕佹眰",index = 6) +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 + */ + @ValueAuth + @ApiOperation(value = "娓╂箍搴﹁褰曞鍑�") + @GetMapping("/exportTemperatureAndHumidityRecords") + public void exportTemperatureAndHumidityRecords(Integer dateId, HttpServletResponse response){ + feTempHumDateService.exportTemperatureAndHumidityRecords(dateId, response); + } +} diff --git a/cnas-resource-require/src/main/java/com/yuanchu/mom/controller/ForeignRegisterController.java b/cnas-resource-require/src/main/java/com/yuanchu/mom/controller/ForeignRegisterController.java new file mode 100644 index 0000000..f5f3ef3 --- /dev/null +++ b/cnas-resource-require/src/main/java/com/yuanchu/mom/controller/ForeignRegisterController.java @@ -0,0 +1,105 @@ +package com.yuanchu.mom.controller; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yuanchu.mom.annotation.ValueAuth; +import com.yuanchu.mom.dto.ForeignRegisterDto; +import com.yuanchu.mom.pojo.ForeignRegister; +import com.yuanchu.mom.service.ForeignRegisterService; +import com.yuanchu.mom.service.ForeignRegisterService; +import com.yuanchu.mom.utils.JackSonUtil; +import com.yuanchu.mom.vo.Result; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.AllArgsConstructor; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.util.Map; + +/** + * <p> + * 澶栨潵浜哄憳鐧昏 鍓嶇鎺у埗鍣� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-19 07:17:35 + */ +@Api(tags = "澶栨潵浜哄憳鐧昏") +@AllArgsConstructor +@RestController +@RequestMapping("/foreignRegister") +public class ForeignRegisterController { + + private ForeignRegisterService foreignRegisterService; + + /** + * 澶栨潵浜哄憳鐧昏鍒嗛〉鏌ヨ + * @param data + * @return + */ + @ValueAuth + @ApiOperation(value = "澶栨潵浜哄憳鐧昏鍒嗛〉鏌ヨ") + @PostMapping("/pageForeignRegister") + public Result<IPage<ForeignRegisterDto>> pageForeignRegister(@RequestBody Map<String, Object> data) throws Exception { + Page page = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("page")), Page.class); + ForeignRegisterDto foreignRegister = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("entity")), ForeignRegisterDto.class); + return Result.success(foreignRegisterService.pageForeignRegister(page, foreignRegister)); + } + + /** + * 澶栨潵浜哄憳鐧昏鏂板 + * @return + */ + @ValueAuth + @ApiOperation(value = "澶栨潵浜哄憳鐧昏鏂板") + @PostMapping("/addForeignRegister") + public Result addForeignRegister(@RequestBody ForeignRegister foreignRegister){ + return Result.success(foreignRegisterService.save(foreignRegister)); + } + + /** + * 澶栨潵浜哄憳鐧昏淇敼 + * @return + */ + @ValueAuth + @ApiOperation(value = "澶栨潵浜哄憳鐧昏淇敼") + @PostMapping("/updateForeignRegister") + public Result updateForeignRegister(@RequestBody ForeignRegister foreignRegister){ + return Result.success(foreignRegisterService.updateById(foreignRegister)); + } + + /** + * 澶栨潵浜哄憳鐧昏鍒犻櫎 + * @return + */ + @ValueAuth + @ApiOperation(value = "澶栨潵浜哄憳鐧昏鍒犻櫎") + @GetMapping("/delForeignRegister") + public Result delForeignRegister(Integer registerId){ + return Result.success(foreignRegisterService.removeById(registerId)); + } + + /** + * 澶栨潵浜哄憳鐧昏鏌ョ湅璇︽儏 + * @return + */ + @ValueAuth + @ApiOperation(value = "澶栨潵浜哄憳鐧昏鏌ョ湅璇︽儏") + @GetMapping("/getForeignRegisterOne") + public Result<ForeignRegister> getForeignRegisterOne(Integer registerId){ + return Result.success(foreignRegisterService.getById(registerId)); + } + + /** + * 瀵煎嚭澶栨潵浜哄憳鐧昏 + * @return + */ + @ValueAuth + @ApiOperation(value = "瀵煎嚭澶栨潵浜哄憳鐧昏") + @PostMapping("/exportForeignRegister") + public void exportForeignRegister(@RequestBody ForeignRegisterDto foreignRegister, HttpServletResponse response){ + foreignRegisterService.exportForeignRegister(foreignRegister, response); + } + +} diff --git a/cnas-resource-require/src/main/java/com/yuanchu/mom/controller/InternalWastesController.java b/cnas-resource-require/src/main/java/com/yuanchu/mom/controller/InternalWastesController.java new file mode 100644 index 0000000..0159e64 --- /dev/null +++ b/cnas-resource-require/src/main/java/com/yuanchu/mom/controller/InternalWastesController.java @@ -0,0 +1,104 @@ +package com.yuanchu.mom.controller; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yuanchu.mom.annotation.ValueAuth; +import com.yuanchu.mom.dto.InternalWastesDto; +import com.yuanchu.mom.pojo.InternalWastes; +import com.yuanchu.mom.service.InternalWastesService; +import com.yuanchu.mom.utils.JackSonUtil; +import com.yuanchu.mom.vo.Result; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.AllArgsConstructor; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.util.Map; + +/** + * <p> + * 瀹夊叏鍐呭姟涓夊簾鐧昏 鍓嶇鎺у埗鍣� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-19 06:39:27 + */ +@Api(tags = "瀹夊叏鍐呭姟涓夊簾鐧昏") +@AllArgsConstructor +@RestController +@RequestMapping("/internalWastes") +public class InternalWastesController { + + private InternalWastesService internalWastesService; + + /** + * 瀹夊叏鍐呭姟涓夊簾澶勭悊鍒嗛〉鏌ヨ + * @param data + * @return + */ + @ValueAuth + @ApiOperation(value = "瀹夊叏鍐呭姟涓夊簾澶勭悊鍒嗛〉鏌ヨ") + @PostMapping("/pageInternalWastes") + public Result<IPage<InternalWastesDto>> pageInternalWastes(@RequestBody Map<String, Object> data) throws Exception { + Page page = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("page")), Page.class); + InternalWastes internalWastes = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("entity")), InternalWastes.class); + return Result.success(internalWastesService.pageInternalWastes(page, internalWastes)); + } + + /** + * 瀹夊叏鍐呭姟涓夊簾澶勭悊鏂板 + * @return + */ + @ValueAuth + @ApiOperation(value = "瀹夊叏鍐呭姟涓夊簾澶勭悊鏂板") + @PostMapping("/addInternalWastes") + public Result addInternalWastes(@RequestBody InternalWastesDto internalWastes){ + return Result.success(internalWastesService.addInternalWastes(internalWastes)); + } + + /** + * 瀹夊叏鍐呭姟涓夊簾澶勭悊淇敼 + * @return + */ + @ValueAuth + @ApiOperation(value = "瀹夊叏鍐呭姟涓夊簾澶勭悊淇敼") + @PostMapping("/updateInternalWastes") + public Result updateInternalWastes(@RequestBody InternalWastesDto internalWastes){ + return Result.success(internalWastesService.updateInternalWastes(internalWastes)); + } + + /** + * 瀹夊叏鍐呭姟涓夊簾澶勭悊鍒犻櫎 + * @return + */ + @ValueAuth + @ApiOperation(value = "瀹夊叏鍐呭姟涓夊簾澶勭悊鍒犻櫎") + @GetMapping("/delInternalWastes") + public Result delInternalWastes(Integer wastesId){ + return Result.success(internalWastesService.delInternalWastes(wastesId)); + } + + /** + * 瀹夊叏鍐呭姟涓夊簾澶勭悊鏌ョ湅璇︽儏 + * @return + */ + @ValueAuth + @ApiOperation(value = "瀹夊叏鍐呭姟涓夊簾澶勭悊鏌ョ湅璇︽儏") + @GetMapping("/getInternalWastesOne") + public Result<InternalWastesDto> getInternalWastesOne(Integer wastesId){ + return Result.success(internalWastesService.getInternalWastesOne(wastesId)); + } + + /** + * 瀵煎嚭涓夊簾澶勭悊 + * @return + */ + @ValueAuth + @ApiOperation(value = "瀵煎嚭涓夊簾澶勭悊") + @GetMapping("/exportInternalWastes") + public void exportInternalWastes(Integer wastesId, HttpServletResponse response){ + internalWastesService.exportInternalWastes(wastesId, response); + } + +} diff --git a/cnas-resource-require/src/main/java/com/yuanchu/mom/dto/AcceptanceDto.java b/cnas-resource-require/src/main/java/com/yuanchu/mom/dto/AcceptanceDto.java new file mode 100644 index 0000000..55e1475 --- /dev/null +++ b/cnas-resource-require/src/main/java/com/yuanchu/mom/dto/AcceptanceDto.java @@ -0,0 +1,15 @@ +package com.yuanchu.mom.dto; + +import com.yuanchu.mom.pojo.FeStandardSubstanceAcceptance; +import com.yuanchu.mom.pojo.FeStandardSubstanceAcceptanceInspection; +import lombok.Data; + +import java.util.List; + +@Data +public class AcceptanceDto { + + private FeStandardSubstanceAcceptance acceptance; + + private List<FeStandardSubstanceAcceptanceInspection> list; +} diff --git a/cnas-resource-require/src/main/java/com/yuanchu/mom/dto/FeIlluminationAddDto.java b/cnas-resource-require/src/main/java/com/yuanchu/mom/dto/FeIlluminationAddDto.java new file mode 100644 index 0000000..9e09a28 --- /dev/null +++ b/cnas-resource-require/src/main/java/com/yuanchu/mom/dto/FeIlluminationAddDto.java @@ -0,0 +1,15 @@ +package com.yuanchu.mom.dto; + +import com.yuanchu.mom.pojo.FeIllumination; +import com.yuanchu.mom.pojo.FeIlluminationDetectionArea; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +@Data +public class FeIlluminationAddDto extends FeIllumination { + + @ApiModelProperty("璁炬柦鍜岀幆澧冩潯浠惰姹�-鐓у害璁板綍琛�-妫�娴嬪尯鍩�") + private List<FeIlluminationDetectionArea> illuminationDetectionAreaList; +} diff --git a/cnas-resource-require/src/main/java/com/yuanchu/mom/dto/FeIlluminationDto.java b/cnas-resource-require/src/main/java/com/yuanchu/mom/dto/FeIlluminationDto.java new file mode 100644 index 0000000..0bc7f03 --- /dev/null +++ b/cnas-resource-require/src/main/java/com/yuanchu/mom/dto/FeIlluminationDto.java @@ -0,0 +1,28 @@ +package com.yuanchu.mom.dto; + +import com.yuanchu.mom.pojo.FeIllumination; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.Date; + +@Data +public class FeIlluminationDto extends FeIllumination { + @ApiModelProperty("妫�娴嬭��") + private String checkerUser; + + @ApiModelProperty("鏍告煡浜�") + private String testerUser; + + @ApiModelProperty("璁惧鍚嶇О") + private String deviceName; + + @ApiModelProperty("璁惧缂栧彿") + private String managementNumber; + + @ApiModelProperty("鏍″噯鏃ユ湡") + private Date calibrationDate; + + @ApiModelProperty("涓嬫鏍″噯鏃ユ湡") + private Date nextCalibrationDate; +} diff --git a/cnas-resource-require/src/main/java/com/yuanchu/mom/dto/FeIlluminationExportDto.java b/cnas-resource-require/src/main/java/com/yuanchu/mom/dto/FeIlluminationExportDto.java new file mode 100644 index 0000000..5a7c5df --- /dev/null +++ b/cnas-resource-require/src/main/java/com/yuanchu/mom/dto/FeIlluminationExportDto.java @@ -0,0 +1,27 @@ +package com.yuanchu.mom.dto; + +import com.yuanchu.mom.pojo.FeIllumination; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.Date; + +/** + * @Author zhuo + * @Date 2024/11/28 + */ +@Data +public class FeIlluminationExportDto extends FeIllumination { + + @ApiModelProperty("璁惧鍚嶇О") + private String deviceName; + + @ApiModelProperty("璁惧缂栧彿") + private String managementNumber; + + @ApiModelProperty("鏍″噯鏃ユ湡") + private String calibrationDateString; + + @ApiModelProperty("涓嬫鏍″噯鏃ユ湡") + private String nextCalibrationDateString; +} diff --git a/cnas-resource-require/src/main/java/com/yuanchu/mom/dto/FePowerStableAddDto.java b/cnas-resource-require/src/main/java/com/yuanchu/mom/dto/FePowerStableAddDto.java new file mode 100644 index 0000000..7bb6251 --- /dev/null +++ b/cnas-resource-require/src/main/java/com/yuanchu/mom/dto/FePowerStableAddDto.java @@ -0,0 +1,15 @@ +package com.yuanchu.mom.dto; + +import com.yuanchu.mom.pojo.FeMeasuredQuantity; +import com.yuanchu.mom.pojo.FePowerStable; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +@Data +public class FePowerStableAddDto extends FePowerStable { + + @ApiModelProperty("璁炬柦鍜岀幆澧冩潯浠惰姹�-鐢垫簮绋冲畾鎬�-娴嬪畾閲�") + private List<FeMeasuredQuantity> feMeasuredQuantityList; +} diff --git a/cnas-resource-require/src/main/java/com/yuanchu/mom/dto/FePowerStableDto.java b/cnas-resource-require/src/main/java/com/yuanchu/mom/dto/FePowerStableDto.java new file mode 100644 index 0000000..648dcb8 --- /dev/null +++ b/cnas-resource-require/src/main/java/com/yuanchu/mom/dto/FePowerStableDto.java @@ -0,0 +1,29 @@ +package com.yuanchu.mom.dto; + +import com.yuanchu.mom.pojo.FePowerStable; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.Date; + +@Data +public class FePowerStableDto extends FePowerStable { + + @ApiModelProperty("妫�娴嬭��") + private String checkerUser; + + @ApiModelProperty("鏍告煡浜�") + private String testerUser; + + @ApiModelProperty("璁惧鍚嶇О") + private String deviceName; + + @ApiModelProperty("璁惧缂栧彿") + private String managementNumber; + + @ApiModelProperty("鏍″噯鏃ユ湡") + private Date calibrationDate; + + @ApiModelProperty("涓嬫鏍″噯鏃ユ湡") + private Date nextCalibrationDate; +} diff --git a/cnas-resource-require/src/main/java/com/yuanchu/mom/dto/FePowerStableExportDto.java b/cnas-resource-require/src/main/java/com/yuanchu/mom/dto/FePowerStableExportDto.java new file mode 100644 index 0000000..eeb0ae2 --- /dev/null +++ b/cnas-resource-require/src/main/java/com/yuanchu/mom/dto/FePowerStableExportDto.java @@ -0,0 +1,32 @@ +package com.yuanchu.mom.dto; + +import com.yuanchu.mom.pojo.FePowerStable; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.Date; + +/** + * @Author zhuo + * @Date 2024/11/28 + */ +@Data +public class FePowerStableExportDto extends FePowerStable { + + @ApiModelProperty("娴嬭瘯鏃ユ湡") + private String testDateString; + + @ApiModelProperty("璁惧鍚嶇О") + private String deviceName; + + @ApiModelProperty("璁惧缂栧彿") + private String managementNumber; + + @ApiModelProperty("鏍″噯鏃ユ湡") + private String calibrationDateString; + + @ApiModelProperty("涓嬫鏍″噯鏃ユ湡") + private String nextCalibrationDateString; + + +} diff --git a/cnas-resource-require/src/main/java/com/yuanchu/mom/dto/FeTempHumDateDto.java b/cnas-resource-require/src/main/java/com/yuanchu/mom/dto/FeTempHumDateDto.java new file mode 100644 index 0000000..4de58ea --- /dev/null +++ b/cnas-resource-require/src/main/java/com/yuanchu/mom/dto/FeTempHumDateDto.java @@ -0,0 +1,12 @@ +package com.yuanchu.mom.dto; + +import com.yuanchu.mom.pojo.FeTempHumDate; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class FeTempHumDateDto extends FeTempHumDate { + + @ApiModelProperty("鍒涘缓浜�") + private String createName; +} diff --git a/cnas-resource-require/src/main/java/com/yuanchu/mom/dto/FeTempHumRecordDto.java b/cnas-resource-require/src/main/java/com/yuanchu/mom/dto/FeTempHumRecordDto.java new file mode 100644 index 0000000..e2f9fab --- /dev/null +++ b/cnas-resource-require/src/main/java/com/yuanchu/mom/dto/FeTempHumRecordDto.java @@ -0,0 +1,26 @@ +package com.yuanchu.mom.dto; + +import com.yuanchu.mom.pojo.FeTempHumRecord; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.time.LocalDateTime; + +@Data +public class FeTempHumRecordDto extends FeTempHumRecord { + + @ApiModelProperty("涓嬪崍璁板綍鍛樺悕绉�") + private String afternoonRecorderUser; + + @ApiModelProperty("涓婂崍璁板綍鍛樺悕绉�") + private String morningRecorderUser; + + @ApiModelProperty("妫�娴嬪ぉ") + private Integer month; + + @ApiModelProperty("涓嬪崍鏃堕棿") + private String afternoonTimeStr; + + @ApiModelProperty("涓婂崍-鏃堕棿") + private String morningTestTimeStr; +} diff --git a/cnas-resource-require/src/main/java/com/yuanchu/mom/dto/ForeignRegisterDto.java b/cnas-resource-require/src/main/java/com/yuanchu/mom/dto/ForeignRegisterDto.java new file mode 100644 index 0000000..84ec4e3 --- /dev/null +++ b/cnas-resource-require/src/main/java/com/yuanchu/mom/dto/ForeignRegisterDto.java @@ -0,0 +1,32 @@ +package com.yuanchu.mom.dto; + +import com.deepoove.poi.data.PictureRenderData; +import com.yuanchu.mom.pojo.ForeignRegister; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Author zhuo + * @Date 2024/11/19 + */ +@Data +public class ForeignRegisterDto extends ForeignRegister { + + @ApiModelProperty("寮�濮嬫椂闂�") + private String beginDate; + + @ApiModelProperty("缁撴潫鏃堕棿") + private String endDate; + + @ApiModelProperty("闄悓浜哄憳绛惧悕") + private PictureRenderData accompanyingRender; + + @ApiModelProperty("鎵瑰噯浜哄憳绛惧悕") + private PictureRenderData approveRender; + + @ApiModelProperty("闄悓浜哄憳绛惧悕鍦板潃") + private String accompanyingUrl; + + @ApiModelProperty("闄悓浜哄憳绛惧悕鍦板潃") + private String approveUrl; +} diff --git a/cnas-resource-require/src/main/java/com/yuanchu/mom/dto/InternalWastesDto.java b/cnas-resource-require/src/main/java/com/yuanchu/mom/dto/InternalWastesDto.java new file mode 100644 index 0000000..2b23107 --- /dev/null +++ b/cnas-resource-require/src/main/java/com/yuanchu/mom/dto/InternalWastesDto.java @@ -0,0 +1,19 @@ +package com.yuanchu.mom.dto; + +import com.yuanchu.mom.pojo.InternalWastes; +import com.yuanchu.mom.pojo.InternalWastesDetail; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * @Author zhuo + * @Date 2024/11/19 + */ +@Data +public class InternalWastesDto extends InternalWastes { + + @ApiModelProperty("涓夊簾鐧昏璇︽儏") + private List<InternalWastesDetail> wastesDetailList; +} diff --git a/cnas-resource-require/src/main/java/com/yuanchu/mom/excel/FeCalibrationScheduleExport.java b/cnas-resource-require/src/main/java/com/yuanchu/mom/excel/FeCalibrationScheduleExport.java new file mode 100644 index 0000000..28e8e55 --- /dev/null +++ b/cnas-resource-require/src/main/java/com/yuanchu/mom/excel/FeCalibrationScheduleExport.java @@ -0,0 +1,36 @@ +package com.yuanchu.mom.excel; + +import com.alibaba.excel.annotation.ExcelProperty; +import lombok.Data; + +import java.time.LocalDateTime; + +@Data +public class FeCalibrationScheduleExport { + @ExcelProperty("浠櫒鍚嶇О") + private String instrumentName; + + @ExcelProperty("瑙勬牸鍨嬪彿") + private String model; + + @ExcelProperty("绠$悊缂栧彿") + private Integer managementNumber; + + @ExcelProperty("鎶�鏈寚鏍�") + private String technicalIndicators; + + @ExcelProperty("妫�瀹氬懆鏈�") + private String verificationCyde; + + @ExcelProperty("妫�瀹氬崟浣�") + private String verificationUnit; + + @ExcelProperty("鏈�杩戞瀹氭椂闂�") + private LocalDateTime recentlyTime; + + @ExcelProperty("璁″垝涓嬫妫�瀹氭椂闂�") + private LocalDateTime nextTime; + + @ExcelProperty("澶囨敞") + private String remark; +} diff --git a/cnas-resource-require/src/main/java/com/yuanchu/mom/excel/FeLightningProtectionExcel.java b/cnas-resource-require/src/main/java/com/yuanchu/mom/excel/FeLightningProtectionExcel.java new file mode 100644 index 0000000..c01c462 --- /dev/null +++ b/cnas-resource-require/src/main/java/com/yuanchu/mom/excel/FeLightningProtectionExcel.java @@ -0,0 +1,25 @@ +package com.yuanchu.mom.excel; + +import com.alibaba.excel.annotation.ExcelProperty; +import lombok.Data; + +import java.time.LocalDate; +import java.time.LocalDateTime; + +@Data +public class FeLightningProtectionExcel { + @ExcelProperty("鍘熸枃浠跺悕") + private String fileName; + + @ExcelProperty("妫�娴嬫棩鏈�") + private String detectionDate; + + @ExcelProperty("鏈夋晥鏈�") + private String termValidity; + + @ExcelProperty("妫�娴嬪崟浣�") + private String detectionUnit; + + @ExcelProperty("鍒涘缓鏃堕棿") + private String createTime; +} diff --git a/cnas-resource-require/src/main/java/com/yuanchu/mom/excel/FeStandardSubstanceExcel.java b/cnas-resource-require/src/main/java/com/yuanchu/mom/excel/FeStandardSubstanceExcel.java new file mode 100644 index 0000000..686596c --- /dev/null +++ b/cnas-resource-require/src/main/java/com/yuanchu/mom/excel/FeStandardSubstanceExcel.java @@ -0,0 +1,55 @@ +package com.yuanchu.mom.excel; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.yuanchu.mom.pojo.FeStandardSubstance; +import lombok.Data; + +import java.time.LocalDateTime; + +@Data +public class FeStandardSubstanceExcel { + @ExcelProperty("鏍囧噯鐗╄川鍚嶇О") + private String name; + + @ExcelProperty("瑙勬牸鍨嬪彿") + private String model; + + @ExcelProperty("鐢熶骇鍘傚") + private String factoryManufacturer; + + @ExcelProperty("鍑哄満缂栧彿") + private String factoryNum; + + @ExcelProperty("绠$悊缂栧彿") + private String manageNum; + + @ExcelProperty("涓嶇‘瀹氬害") + private String uncertainty; + + @ExcelProperty("鏁伴噺") + private Long quantity; + + @ExcelProperty("璐疆鏃ユ湡") + private LocalDateTime acquisitionDate; + + @ExcelProperty("鏈夋晥鏈�") + private LocalDateTime effectiveDate; + + @ExcelProperty("鏂囨。缂栧彿") + private String fileNum; + + @ExcelProperty("瀛樻斁浣嶇疆") + private String position; + + @ExcelProperty("鍊熻皟鐘舵��") + private Integer state; + + @ExcelProperty("澶囨敞") + private String remark; + + @ExcelProperty("鍒涘缓浜�") + private String createUser; + + @ExcelProperty("鍒涘缓鏃ユ湡") + private LocalDateTime createTime; +} diff --git a/cnas-resource-require/src/main/java/com/yuanchu/mom/mapper/FeCalibrationScheduleMapper.java b/cnas-resource-require/src/main/java/com/yuanchu/mom/mapper/FeCalibrationScheduleMapper.java new file mode 100644 index 0000000..3352e98 --- /dev/null +++ b/cnas-resource-require/src/main/java/com/yuanchu/mom/mapper/FeCalibrationScheduleMapper.java @@ -0,0 +1,20 @@ +package com.yuanchu.mom.mapper; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yuanchu.mom.pojo.FeCalibrationSchedule; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; + +/** + * <p> + * 浠櫒璁惧妫�瀹�/鏍″噯璁″垝琛� Mapper 鎺ュ彛 + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-13 02:53:05 + */ +public interface FeCalibrationScheduleMapper extends BaseMapper<FeCalibrationSchedule> { + + IPage<FeCalibrationSchedule> ipage(Page page, @Param("instrumentName") String instrumentName, @Param("managementNumber") String managementNumber); +} diff --git a/cnas-resource-require/src/main/java/com/yuanchu/mom/mapper/FeIlluminationDetectionAreaMapper.java b/cnas-resource-require/src/main/java/com/yuanchu/mom/mapper/FeIlluminationDetectionAreaMapper.java new file mode 100644 index 0000000..78c1383 --- /dev/null +++ b/cnas-resource-require/src/main/java/com/yuanchu/mom/mapper/FeIlluminationDetectionAreaMapper.java @@ -0,0 +1,16 @@ +package com.yuanchu.mom.mapper; + +import com.yuanchu.mom.pojo.FeIlluminationDetectionArea; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * <p> + * 璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-鐓у害璁板綍琛�-妫�娴嬪尯鍩� Mapper 鎺ュ彛 + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-07 04:16:28 + */ +public interface FeIlluminationDetectionAreaMapper extends BaseMapper<FeIlluminationDetectionArea> { + +} diff --git a/cnas-resource-require/src/main/java/com/yuanchu/mom/mapper/FeIlluminationMapper.java b/cnas-resource-require/src/main/java/com/yuanchu/mom/mapper/FeIlluminationMapper.java new file mode 100644 index 0000000..a42b193 --- /dev/null +++ b/cnas-resource-require/src/main/java/com/yuanchu/mom/mapper/FeIlluminationMapper.java @@ -0,0 +1,28 @@ +package com.yuanchu.mom.mapper; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yuanchu.mom.dto.FeIlluminationDto; +import com.yuanchu.mom.dto.FeIlluminationExportDto; +import com.yuanchu.mom.pojo.FeIllumination; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * <p> + * 璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-鐓у害璁板綍琛� Mapper 鎺ュ彛 + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-07 04:15:57 + */ +public interface FeIlluminationMapper extends BaseMapper<FeIllumination> { + + IPage<FeIlluminationDto> getFeLightningProtection(Page page); + + /** + * 鏌ヨ鐓ф槑璁板綍 + * @param intensityIlluminationId + * @return + */ + FeIlluminationExportDto selectFeIllumination(Integer intensityIlluminationId); +} diff --git a/cnas-resource-require/src/main/java/com/yuanchu/mom/mapper/FeLightningProtectionMapper.java b/cnas-resource-require/src/main/java/com/yuanchu/mom/mapper/FeLightningProtectionMapper.java new file mode 100644 index 0000000..7bfae90 --- /dev/null +++ b/cnas-resource-require/src/main/java/com/yuanchu/mom/mapper/FeLightningProtectionMapper.java @@ -0,0 +1,21 @@ +package com.yuanchu.mom.mapper; + +import com.yuanchu.mom.excel.FeLightningProtectionExcel; +import com.yuanchu.mom.pojo.FeLightningProtection; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +import java.util.List; + +/** + * <p> + * 璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-闃查浄妫�娴� Mapper 鎺ュ彛 + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-07 04:16:36 + */ +public interface FeLightningProtectionMapper extends BaseMapper<FeLightningProtection> { + + List<FeLightningProtectionExcel> exportOfLightningProtectionDetection(); + +} diff --git a/cnas-resource-require/src/main/java/com/yuanchu/mom/mapper/FeMeasuredQuantityMapper.java b/cnas-resource-require/src/main/java/com/yuanchu/mom/mapper/FeMeasuredQuantityMapper.java new file mode 100644 index 0000000..82b0725 --- /dev/null +++ b/cnas-resource-require/src/main/java/com/yuanchu/mom/mapper/FeMeasuredQuantityMapper.java @@ -0,0 +1,16 @@ +package com.yuanchu.mom.mapper; + +import com.yuanchu.mom.pojo.FeMeasuredQuantity; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * <p> + * 璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-鐢垫簮绋冲畾鎬�-娴嬪畾閲� Mapper 鎺ュ彛 + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-07 04:16:44 + */ +public interface FeMeasuredQuantityMapper extends BaseMapper<FeMeasuredQuantity> { + +} diff --git a/cnas-resource-require/src/main/java/com/yuanchu/mom/mapper/FePowerStableMapper.java b/cnas-resource-require/src/main/java/com/yuanchu/mom/mapper/FePowerStableMapper.java new file mode 100644 index 0000000..3d087ff --- /dev/null +++ b/cnas-resource-require/src/main/java/com/yuanchu/mom/mapper/FePowerStableMapper.java @@ -0,0 +1,34 @@ +package com.yuanchu.mom.mapper; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yuanchu.mom.dto.FePowerStableDto; +import com.yuanchu.mom.dto.FePowerStableExportDto; +import com.yuanchu.mom.pojo.FePowerStable; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; + +import java.util.Map; +import java.util.Objects; + +/** + * <p> + * 璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-鐢垫簮绋冲畾鎬� Mapper 鎺ュ彛 + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-07 04:16:52 + */ +public interface FePowerStableMapper extends BaseMapper<FePowerStable> { + + IPage<FePowerStableDto> getLaboratoryFacilityPowerStablePage(Page page); + + Map<String, Objects> getCalibrationDate(Integer deviceId); + + /** + * 鏌ヨ鐢垫簮绋冲畾鎬� + * @param powerStableId + * @return + */ + FePowerStableExportDto selectPowerStable(@Param("powerStableId") Integer powerStableId); +} diff --git a/cnas-resource-require/src/main/java/com/yuanchu/mom/mapper/FeStandardSubstanceAcceptanceInspectionMapper.java b/cnas-resource-require/src/main/java/com/yuanchu/mom/mapper/FeStandardSubstanceAcceptanceInspectionMapper.java new file mode 100644 index 0000000..c9ebcf7 --- /dev/null +++ b/cnas-resource-require/src/main/java/com/yuanchu/mom/mapper/FeStandardSubstanceAcceptanceInspectionMapper.java @@ -0,0 +1,16 @@ +package com.yuanchu.mom.mapper; + +import com.yuanchu.mom.pojo.FeStandardSubstanceAcceptanceInspection; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * <p> + * 楠屾敹寮�绠辫褰� Mapper 鎺ュ彛 + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-14 03:30:09 + */ +public interface FeStandardSubstanceAcceptanceInspectionMapper extends BaseMapper<FeStandardSubstanceAcceptanceInspection> { + +} diff --git a/cnas-resource-require/src/main/java/com/yuanchu/mom/mapper/FeStandardSubstanceAcceptanceMapper.java b/cnas-resource-require/src/main/java/com/yuanchu/mom/mapper/FeStandardSubstanceAcceptanceMapper.java new file mode 100644 index 0000000..723521b --- /dev/null +++ b/cnas-resource-require/src/main/java/com/yuanchu/mom/mapper/FeStandardSubstanceAcceptanceMapper.java @@ -0,0 +1,22 @@ +package com.yuanchu.mom.mapper; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yuanchu.mom.pojo.FeStandardSubstanceAcceptance; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.yuanchu.mom.vo.AcceptanceVo; +import org.apache.ibatis.annotations.Param; + +/** + * <p> + * 鏍囧噯鐗╄川楠屾敹 Mapper 鎺ュ彛 + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-14 03:29:41 + */ +public interface FeStandardSubstanceAcceptanceMapper extends BaseMapper<FeStandardSubstanceAcceptance> { + + + IPage<AcceptanceVo> getPageAcceptance(Page page, @Param("name")String name); +} diff --git a/cnas-resource-require/src/main/java/com/yuanchu/mom/mapper/FeStandardSubstanceMapper.java b/cnas-resource-require/src/main/java/com/yuanchu/mom/mapper/FeStandardSubstanceMapper.java new file mode 100644 index 0000000..7aebf05 --- /dev/null +++ b/cnas-resource-require/src/main/java/com/yuanchu/mom/mapper/FeStandardSubstanceMapper.java @@ -0,0 +1,20 @@ +package com.yuanchu.mom.mapper; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yuanchu.mom.pojo.FeStandardSubstance; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; + +/** + * <p> + * 鏍囧噯鐗╄川娓呭崟 Mapper 鎺ュ彛 + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-13 03:58:59 + */ +public interface FeStandardSubstanceMapper extends BaseMapper<FeStandardSubstance> { + + IPage<FeStandardSubstance> getPage(Page page,@Param("ew")FeStandardSubstance feStandardSubstance); +} diff --git a/cnas-resource-require/src/main/java/com/yuanchu/mom/mapper/FeStandardSubstanceRecordMapper.java b/cnas-resource-require/src/main/java/com/yuanchu/mom/mapper/FeStandardSubstanceRecordMapper.java new file mode 100644 index 0000000..4dfb9f6 --- /dev/null +++ b/cnas-resource-require/src/main/java/com/yuanchu/mom/mapper/FeStandardSubstanceRecordMapper.java @@ -0,0 +1,22 @@ +package com.yuanchu.mom.mapper; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yuanchu.mom.pojo.FeStandardSubstanceRecord; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.yuanchu.mom.vo.SubstanceRecordVo; +import org.apache.ibatis.annotations.Param; + +/** + * <p> + * 鏍囧噯鐗╄川娓呭崟鍊熺敤褰掕繕璁板綍琛� Mapper 鎺ュ彛 + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-14 01:49:11 + */ +public interface FeStandardSubstanceRecordMapper extends BaseMapper<FeStandardSubstanceRecord> { + + + IPage<SubstanceRecordVo> getPage(Page page,@Param("ew") SubstanceRecordVo vo); +} diff --git a/cnas-resource-require/src/main/java/com/yuanchu/mom/mapper/FeTempHumDateMapper.java b/cnas-resource-require/src/main/java/com/yuanchu/mom/mapper/FeTempHumDateMapper.java new file mode 100644 index 0000000..c1c37d3 --- /dev/null +++ b/cnas-resource-require/src/main/java/com/yuanchu/mom/mapper/FeTempHumDateMapper.java @@ -0,0 +1,20 @@ +package com.yuanchu.mom.mapper; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yuanchu.mom.dto.FeTempHumDateDto; +import com.yuanchu.mom.pojo.FeTempHumDate; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * <p> + * 璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-娓╂箍搴� 鍖哄煙 -鐖� Mapper 鎺ュ彛 + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-09 11:02:18 + */ +public interface FeTempHumDateMapper extends BaseMapper<FeTempHumDate> { + + IPage<FeTempHumDateDto> getFeTempHumDate(Page page); +} diff --git a/cnas-resource-require/src/main/java/com/yuanchu/mom/mapper/FeTempHumRecordMapper.java b/cnas-resource-require/src/main/java/com/yuanchu/mom/mapper/FeTempHumRecordMapper.java new file mode 100644 index 0000000..3fe666d --- /dev/null +++ b/cnas-resource-require/src/main/java/com/yuanchu/mom/mapper/FeTempHumRecordMapper.java @@ -0,0 +1,20 @@ +package com.yuanchu.mom.mapper; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yuanchu.mom.dto.FeTempHumRecordDto; +import com.yuanchu.mom.pojo.FeTempHumRecord; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * <p> + * 璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-娓╂箍搴﹁褰� Mapper 鎺ュ彛 + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-07 04:28:52 + */ +public interface FeTempHumRecordMapper extends BaseMapper<FeTempHumRecord> { + + IPage<FeTempHumRecordDto> getFeTempHumRecordPage(Page page, Integer dateId); +} diff --git a/cnas-resource-require/src/main/java/com/yuanchu/mom/mapper/ForeignRegisterMapper.java b/cnas-resource-require/src/main/java/com/yuanchu/mom/mapper/ForeignRegisterMapper.java new file mode 100644 index 0000000..e818a0c --- /dev/null +++ b/cnas-resource-require/src/main/java/com/yuanchu/mom/mapper/ForeignRegisterMapper.java @@ -0,0 +1,39 @@ +package com.yuanchu.mom.mapper; + +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.yuanchu.mom.dto.ForeignRegisterDto; +import com.yuanchu.mom.pojo.ForeignRegister; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +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 foreignRegister + * @return + */ + List<ForeignRegisterDto> getForeignRegisterList(@Param("ew") QueryWrapper<ForeignRegisterDto> ew, + @Param("beginDate") String beginDate, + @Param("endDate") String endDate); +} diff --git a/cnas-resource-require/src/main/java/com/yuanchu/mom/mapper/InternalWastesDetailMapper.java b/cnas-resource-require/src/main/java/com/yuanchu/mom/mapper/InternalWastesDetailMapper.java new file mode 100644 index 0000000..bd2570c --- /dev/null +++ b/cnas-resource-require/src/main/java/com/yuanchu/mom/mapper/InternalWastesDetailMapper.java @@ -0,0 +1,16 @@ +package com.yuanchu.mom.mapper; + +import com.yuanchu.mom.pojo.InternalWastesDetail; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * <p> + * 瀹夊叏鍐呭姟涓夊簾鐧昏璇︽儏 Mapper 鎺ュ彛 + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-19 06:39:54 + */ +public interface InternalWastesDetailMapper extends BaseMapper<InternalWastesDetail> { + +} diff --git a/cnas-resource-require/src/main/java/com/yuanchu/mom/mapper/InternalWastesMapper.java b/cnas-resource-require/src/main/java/com/yuanchu/mom/mapper/InternalWastesMapper.java new file mode 100644 index 0000000..2a2bfef --- /dev/null +++ b/cnas-resource-require/src/main/java/com/yuanchu/mom/mapper/InternalWastesMapper.java @@ -0,0 +1,36 @@ +package com.yuanchu.mom.mapper; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yuanchu.mom.dto.InternalWastesDto; +import com.yuanchu.mom.pojo.InternalWastes; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.yuanchu.mom.utils.QueryWrappers; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.springframework.beans.BeanUtils; + +import java.time.LocalDateTime; + +/** + * <p> + * 瀹夊叏鍐呭姟涓夊簾鐧昏 Mapper 鎺ュ彛 + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-19 06:39:27 + */ +@Mapper +public interface InternalWastesMapper extends BaseMapper<InternalWastes> { + + + /** + * 瀹夊叏鍐呭姟涓夊簾鐧昏鍒嗛〉鏌ヨ + * @param page + * @param ew + * @return + */ + IPage<InternalWastesDto> pageInternalWastes(Page page, @Param("ew") QueryWrapper<InternalWastes> ew); +} diff --git a/cnas-resource-require/src/main/java/com/yuanchu/mom/pojo/FeCalibrationSchedule.java b/cnas-resource-require/src/main/java/com/yuanchu/mom/pojo/FeCalibrationSchedule.java new file mode 100644 index 0000000..dc73fca --- /dev/null +++ b/cnas-resource-require/src/main/java/com/yuanchu/mom/pojo/FeCalibrationSchedule.java @@ -0,0 +1,84 @@ +package com.yuanchu.mom.pojo; + +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.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.time.LocalDateTime; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +/** + * <p> + * 浠櫒璁惧妫�瀹�/鏍″噯璁″垝琛� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-13 02:53:05 + */ +@Getter +@Setter +@TableName("cnas_fe_calibration_schedule") +@ApiModel(value = "FeCalibrationSchedule瀵硅薄", description = "浠櫒璁惧妫�瀹�/鏍″噯璁″垝琛�") +public class FeCalibrationSchedule implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + + @ApiModelProperty("浠櫒鍚嶇О") + private String instrumentName; + + @ApiModelProperty("瑙勬牸鍨嬪彿") + private String model; + + @ApiModelProperty("绠$悊缂栧彿") + private Integer managementNumber; + + @ApiModelProperty("鎶�鏈寚鏍�") + private String technicalIndicators; + + @ApiModelProperty("妫�瀹氬懆鏈�") + private String verificationCyde; + + @ApiModelProperty("妫�瀹氬崟浣�") + private String verificationUnit; + + @ApiModelProperty("鏈�杩戞瀹氭椂闂�") + private LocalDateTime recentlyTime; + + @ApiModelProperty("璁″垝涓嬫妫�瀹氭椂闂�") + private LocalDateTime nextTime; + + @ApiModelProperty("澶囨敞") + private String remark; + + @ApiModelProperty("缂栧埗") + private String organization; + + @ApiModelProperty("缂栧埗鏃ユ湡") + private LocalDateTime organizationDate; + + @ApiModelProperty("鎵瑰噯") + private String approve; + + @ApiModelProperty("鎵瑰噯鏃ユ湡") + private LocalDateTime approveDate; + + @TableField(fill = FieldFill.INSERT) + private String createUser; + + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createTime; + + @TableField(fill = FieldFill.INSERT_UPDATE) + private String updateUser; + + @TableField(fill = FieldFill.INSERT_UPDATE) + private LocalDateTime updateTime; +} diff --git a/cnas-resource-require/src/main/java/com/yuanchu/mom/pojo/FeIllumination.java b/cnas-resource-require/src/main/java/com/yuanchu/mom/pojo/FeIllumination.java new file mode 100644 index 0000000..e735e25 --- /dev/null +++ b/cnas-resource-require/src/main/java/com/yuanchu/mom/pojo/FeIllumination.java @@ -0,0 +1,59 @@ +package com.yuanchu.mom.pojo; + +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.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.Date; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +/** + * <p> + * 璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-鐓у害璁板綍琛� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-07 04:15:57 + */ +@Getter +@Setter +@TableName("cnas_fe_illumination") +@ApiModel(value = "FeIllumination瀵硅薄", description = "璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-鐓у害璁板綍琛�") +public class FeIllumination implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("鐓у害璁板綍琛╥d") + @TableId(value = "intensity_illumination_id", type = IdType.AUTO) + private Integer intensityIlluminationId; + + @ApiModelProperty("璁惧id") + private Integer deviceId; + + @ApiModelProperty("缁撹") + private String conclusion; + + @ApiModelProperty("妫�娴嬩汉") + private Integer testerId; + + @ApiModelProperty("鏍告煡浜�") + private Integer checkerId; + + @ApiModelProperty("妫�娴嬫棩鏈�") + private Date testDate; + + @ApiModelProperty("鍒涘缓鏃堕棿") + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createTime; + + @ApiModelProperty("鏇存柊鏃堕棿") + @TableField(fill = FieldFill.INSERT_UPDATE) + private LocalDateTime updateTime; +} diff --git a/cnas-resource-require/src/main/java/com/yuanchu/mom/pojo/FeIlluminationDetectionArea.java b/cnas-resource-require/src/main/java/com/yuanchu/mom/pojo/FeIlluminationDetectionArea.java new file mode 100644 index 0000000..efe4189 --- /dev/null +++ b/cnas-resource-require/src/main/java/com/yuanchu/mom/pojo/FeIlluminationDetectionArea.java @@ -0,0 +1,58 @@ +package com.yuanchu.mom.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 java.io.Serializable; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +/** + * <p> + * 璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-鐓у害璁板綍琛�-妫�娴嬪尯鍩� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-07 04:16:28 + */ +@Getter +@Setter +@TableName("cnas_fe_illumination_detection_area") +@ApiModel(value = "FeIlluminationDetectionArea瀵硅薄", description = "璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-鐓у害璁板綍琛�-妫�娴嬪尯鍩�") +public class FeIlluminationDetectionArea implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("妫�娴嬪尯鍩焛d") + @TableId(value = "detection_area_id", type = IdType.AUTO) + private Integer detectionAreaId; + + @ApiModelProperty("妫�娴嬪尯鍩熷悕绉�") + private String detectionAreaLabel; + + @ApiModelProperty("妫�娴嬪��-绗竴娆�") + private Integer valueOne; + + @ApiModelProperty("妫�娴嬪��-绗簩娆�") + private Integer valueTwo; + + @ApiModelProperty("妫�娴嬪��-绗笁娆�") + private Integer valueThree; + + @ApiModelProperty("骞冲潎鍊�") + private Integer average; + + @ApiModelProperty("澶囨敞") + private String remark; + + @ApiModelProperty("鐓у害璁板綍琛╥d") + private Integer intensityIlluminationId; + + // 瀵煎嚭浣跨敤 + @TableField(select = false, exist = false) + @ApiModelProperty("搴忓彿(瀵煎嚭浣跨敤)") + private Integer index; +} diff --git a/cnas-resource-require/src/main/java/com/yuanchu/mom/pojo/FeLightningProtection.java b/cnas-resource-require/src/main/java/com/yuanchu/mom/pojo/FeLightningProtection.java new file mode 100644 index 0000000..d1e9838 --- /dev/null +++ b/cnas-resource-require/src/main/java/com/yuanchu/mom/pojo/FeLightningProtection.java @@ -0,0 +1,63 @@ +package com.yuanchu.mom.pojo; + +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.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.util.Date; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; +import org.springframework.format.annotation.DateTimeFormat; + +/** + * <p> + * 璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-闃查浄妫�娴� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-07 04:16:36 + */ +@Getter +@Setter +@TableName("cnas_fe_lightning_protection") +@ApiModel(value = "FeLightningProtection瀵硅薄", description = "璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-闃查浄妫�娴�") +public class FeLightningProtection implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("涓婚敭id") + @TableId(value = "lightning_protection_id", type = IdType.AUTO) + private Integer lightningProtectionId; + + @ApiModelProperty("鍘熸枃浠跺悕") + private String fileName; + + @ApiModelProperty("绯荤粺鐢熸垚鏂囦欢鍚�") + private String systemFileName; + + @ApiModelProperty("妫�娴嬫棩鏈�") + @DateTimeFormat(pattern = "yyyy-MM-dd") + private LocalDate detectionDate; + + @ApiModelProperty("鏈夋晥鏈�") + @DateTimeFormat(pattern = "yyyy-MM-dd") + private LocalDate termValidity; + + @ApiModelProperty("妫�娴嬪崟浣�") + private String detectionUnit; + + @ApiModelProperty("鍒涘缓鏃堕棿") + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createTime; + + @ApiModelProperty("鏇存柊鏃堕棿") + @TableField(fill = FieldFill.INSERT_UPDATE) + private LocalDateTime updateTime; +} diff --git a/cnas-resource-require/src/main/java/com/yuanchu/mom/pojo/FeMeasuredQuantity.java b/cnas-resource-require/src/main/java/com/yuanchu/mom/pojo/FeMeasuredQuantity.java new file mode 100644 index 0000000..9df04f4 --- /dev/null +++ b/cnas-resource-require/src/main/java/com/yuanchu/mom/pojo/FeMeasuredQuantity.java @@ -0,0 +1,57 @@ +package com.yuanchu.mom.pojo; + +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.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.time.LocalDateTime; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +/** + * <p> + * 璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-鐢垫簮绋冲畾鎬�-娴嬪畾閲� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-07 04:16:44 + */ +@Getter +@Setter +@TableName("cnas_fe_measured_quantity") +@ApiModel(value = "FeMeasuredQuantity瀵硅薄", description = "璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-鐢垫簮绋冲畾鎬�-娴嬪畾閲�") +public class FeMeasuredQuantity implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("涓婚敭id") + @TableId(value = "measured_quantity_id", type = IdType.AUTO) + private Integer measuredQuantityId; + + @ApiModelProperty("娴嬪畾閲忓悕绉�") + private String measuredQuantityLabel; + + @ApiModelProperty("鍊糀") + private String valueA; + + @ApiModelProperty("鍊糂") + private String valueB; + + @ApiModelProperty("鍊糃") + private String valueC; + + @ApiModelProperty("鍒涘缓鏃堕棿") + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createTime; + + @ApiModelProperty("鏇存柊鏃堕棿") + @TableField(fill = FieldFill.INSERT_UPDATE) + private LocalDateTime updateTime; + + @ApiModelProperty("鐢垫簮绋冲畾鎬d") + private Integer powerStableId; +} diff --git a/cnas-resource-require/src/main/java/com/yuanchu/mom/pojo/FePowerStable.java b/cnas-resource-require/src/main/java/com/yuanchu/mom/pojo/FePowerStable.java new file mode 100644 index 0000000..f48a695 --- /dev/null +++ b/cnas-resource-require/src/main/java/com/yuanchu/mom/pojo/FePowerStable.java @@ -0,0 +1,62 @@ +package com.yuanchu.mom.pojo; + +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.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.Date; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +/** + * <p> + * 璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-鐢垫簮绋冲畾鎬� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-07 04:16:52 + */ +@Getter +@Setter +@TableName("cnas_fe_power_stable") +@ApiModel(value = "FePowerStable瀵硅薄", description = "璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-鐢垫簮绋冲畾鎬�") +public class FePowerStable implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("鐢垫簮绋冲畾鎬d") + @TableId(value = "power_stable_id", type = IdType.AUTO) + private Integer powerStableId; + + @ApiModelProperty("娴嬭瘯鍦扮偣") + private String testLocation; + + @ApiModelProperty("娴嬭瘯鏃ユ湡") + private Date testDate; + + @ApiModelProperty("璁惧id") + private Integer deviceId; + + @ApiModelProperty("缁撹") + private String conclusion; + + @ApiModelProperty("妫�娴嬭�卛d") + private Integer testerId; + + @ApiModelProperty("鏍告煡浜篿d") + private Integer checkerId; + + @ApiModelProperty("鍒涘缓鏃堕棿") + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createTime; + + @ApiModelProperty("鏇存柊鏃堕棿") + @TableField(fill = FieldFill.INSERT_UPDATE) + private LocalDateTime updateTime; +} diff --git a/cnas-resource-require/src/main/java/com/yuanchu/mom/pojo/FeStandardSubstance.java b/cnas-resource-require/src/main/java/com/yuanchu/mom/pojo/FeStandardSubstance.java new file mode 100644 index 0000000..a34776a --- /dev/null +++ b/cnas-resource-require/src/main/java/com/yuanchu/mom/pojo/FeStandardSubstance.java @@ -0,0 +1,84 @@ +package com.yuanchu.mom.pojo; + +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.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.time.LocalDateTime; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +/** + * <p> + * 鏍囧噯鐗╄川娓呭崟 + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-13 03:58:59 + */ +@Getter +@Setter +@TableName("cnas_fe_standard_substance") +@ApiModel(value = "FeStandardSubstance瀵硅薄", description = "鏍囧噯鐗╄川娓呭崟") +public class FeStandardSubstance implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + + @ApiModelProperty("鏍囧噯鐗╄川鍚嶇О") + private String name; + + @ApiModelProperty("瑙勬牸鍨嬪彿") + private String model; + + @ApiModelProperty("鐢熶骇鍘傚") + private String factoryManufacturer; + + @ApiModelProperty("鍑哄満缂栧彿") + private String factoryNum; + + @ApiModelProperty("绠$悊缂栧彿") + private String manageNum; + + @ApiModelProperty("涓嶇‘瀹氬害") + private String uncertainty; + + @ApiModelProperty("鏁伴噺") + private Long quantity; + + @ApiModelProperty("璐疆鏃ユ湡") + private LocalDateTime acquisitionDate; + + @ApiModelProperty("鏈夋晥鏈�") + private LocalDateTime effectiveDate; + + @ApiModelProperty("鏂囨。缂栧彿") + private String fileNum; + + @ApiModelProperty("瀛樻斁浣嶇疆") + private String position; + + @ApiModelProperty("鍊熻皟鐘舵�侊紙0:鏈�熻皟 1:宸插�熻皟锛�") + private Integer state; + + @ApiModelProperty("澶囨敞") + private String remark; + + @TableField(fill = FieldFill.INSERT) + private String createUser; + + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createTime; + + @TableField(fill = FieldFill.INSERT_UPDATE) + private String updateUser; + + @TableField(fill = FieldFill.INSERT_UPDATE) + private LocalDateTime updateTime; +} diff --git a/cnas-resource-require/src/main/java/com/yuanchu/mom/pojo/FeStandardSubstanceAcceptance.java b/cnas-resource-require/src/main/java/com/yuanchu/mom/pojo/FeStandardSubstanceAcceptance.java new file mode 100644 index 0000000..f7fe9c3 --- /dev/null +++ b/cnas-resource-require/src/main/java/com/yuanchu/mom/pojo/FeStandardSubstanceAcceptance.java @@ -0,0 +1,92 @@ +package com.yuanchu.mom.pojo; + +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.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.util.Date; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; +import org.springframework.format.annotation.DateTimeFormat; + +/** + * <p> + * 鏍囧噯鐗╄川楠屾敹 + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-14 03:29:41 + */ +@Getter +@Setter +@TableName("cnas_fe_standard_substance_acceptance") +@ApiModel(value = "FeStandardSubstanceAcceptance瀵硅薄", description = "鏍囧噯鐗╄川楠屾敹") +public class FeStandardSubstanceAcceptance implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + + @ApiModelProperty("娓呭崟id") + @ExcelProperty("娓呭崟id") + private Integer substanceId; + + @ApiModelProperty("鍒拌揣鏃ユ湡") + @ExcelProperty("鍒拌揣鏃ユ湡") + @DateTimeFormat(pattern = "yyyy-MM-dd") + private LocalDate arriveDate; + + @ApiModelProperty("缁翠慨鍗曚綅") + @ExcelProperty("缁翠慨鍗曚綅") + private String maintenanceUnit; + + @ApiModelProperty("鍙傛暟") + @ExcelProperty("鍙傛暟") + private String perameters; + + @ApiModelProperty("瀹夎璋冭瘯鎯呭喌") + @ExcelProperty("瀹夎璋冭瘯鎯呭喌") + private String installation; + + @ApiModelProperty("楠屾敹鎯呭喌") + @ExcelProperty("楠屾敹鎯呭喌") + private String situation; + + @ApiModelProperty("鎺ュ彈绛惧瓧") + @ExcelProperty("鎺ュ彈绛惧瓧") + private String signature; + + @ApiModelProperty("鍘傚浠h〃") + @ExcelProperty("鍘傚浠h〃") + private String producer; + + @ApiModelProperty("鎺ユ敹浜�") + @ExcelProperty("鎺ユ敹浜�") + private String recipient; + + @ApiModelProperty("闄勪欢") + @ExcelProperty("闄勪欢") + private String file; + + @TableField(fill = FieldFill.INSERT) + private String createUser; + + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createTime; + + @TableField(fill = FieldFill.INSERT_UPDATE) + private String updateUser; + + @TableField(fill = FieldFill.INSERT_UPDATE) + private LocalDateTime updateTime; +} diff --git a/cnas-resource-require/src/main/java/com/yuanchu/mom/pojo/FeStandardSubstanceAcceptanceInspection.java b/cnas-resource-require/src/main/java/com/yuanchu/mom/pojo/FeStandardSubstanceAcceptanceInspection.java new file mode 100644 index 0000000..1113974 --- /dev/null +++ b/cnas-resource-require/src/main/java/com/yuanchu/mom/pojo/FeStandardSubstanceAcceptanceInspection.java @@ -0,0 +1,51 @@ +package com.yuanchu.mom.pojo; + +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.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.time.LocalDateTime; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +/** + * <p> + * 楠屾敹寮�绠辫褰� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-14 03:30:09 + */ +@Getter +@Setter +@TableName("cnas_fe_standard_substance_acceptance_inspection") +@ApiModel(value = "FeStandardSubstanceAcceptanceInspection瀵硅薄", description = "楠屾敹寮�绠辫褰�") +public class FeStandardSubstanceAcceptanceInspection implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + + private Integer acceptanceId; + + private String name; + + private Integer number; + + @TableField(fill = FieldFill.INSERT) + private String createUser; + + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createTime; + + @TableField(fill = FieldFill.INSERT_UPDATE) + private String updateUser; + + @TableField(fill = FieldFill.INSERT_UPDATE) + private LocalDateTime updateTime; +} diff --git a/cnas-resource-require/src/main/java/com/yuanchu/mom/pojo/FeStandardSubstanceRecord.java b/cnas-resource-require/src/main/java/com/yuanchu/mom/pojo/FeStandardSubstanceRecord.java new file mode 100644 index 0000000..725b4ed --- /dev/null +++ b/cnas-resource-require/src/main/java/com/yuanchu/mom/pojo/FeStandardSubstanceRecord.java @@ -0,0 +1,81 @@ +package com.yuanchu.mom.pojo; + +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.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.time.LocalDateTime; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +/** + * <p> + * 鏍囧噯鐗╄川娓呭崟鍊熺敤褰掕繕璁板綍琛� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-14 01:49:11 + */ +@Getter +@Setter +@TableName("cnas_fe_standard_substance_record") +@ApiModel(value = "FeStandardSubstanceRecord瀵硅薄", description = "鏍囧噯鐗╄川娓呭崟鍊熺敤褰掕繕璁板綍琛�") +public class FeStandardSubstanceRecord implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + + @ApiModelProperty("鐗╄川id") + private Integer substanceId; + + @ApiModelProperty("鍊熺敤-瀹屽ソ鎬�") + private String integrity; + + @ApiModelProperty("鍊熺敤-鍊熺敤浜�") + private String borrowUser; + + @ApiModelProperty("鍊熺敤-鑱旂郴鏂瑰紡") + private String phone; + + @ApiModelProperty("鍊熺敤-鍊熷嚭鏃ユ湡") + private LocalDateTime borrowDate; + + @ApiModelProperty("褰掕繕鏃ユ湡") + private LocalDateTime borrowReturnDate; + + @ApiModelProperty("鍊熷嚭浜�") + private String lender; + + @ApiModelProperty("褰掕繕-妫�鏌ヤ汉") + private String rummager; + + @ApiModelProperty("0锛氬�熺敤 1:褰掕繕") + private String status; + + @ApiModelProperty("褰掕繕浜�") + private String returnedPerson; + + @ApiModelProperty("褰掕繕-鏃ユ湡") + private LocalDateTime returnDate; + + @ApiModelProperty("褰掕繕-瀹屽ソ鎬�") + private String returnIntegrity; + + @TableField(fill = FieldFill.INSERT) + private String createUser; + + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createTime; + + @TableField(fill = FieldFill.INSERT_UPDATE) + private String updateUser; + + @TableField(fill = FieldFill.INSERT_UPDATE) + private LocalDateTime updateTime; +} diff --git a/cnas-resource-require/src/main/java/com/yuanchu/mom/pojo/FeTempHumDate.java b/cnas-resource-require/src/main/java/com/yuanchu/mom/pojo/FeTempHumDate.java new file mode 100644 index 0000000..8476f4d --- /dev/null +++ b/cnas-resource-require/src/main/java/com/yuanchu/mom/pojo/FeTempHumDate.java @@ -0,0 +1,57 @@ +package com.yuanchu.mom.pojo; + +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.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.time.LocalDate; +import java.time.LocalDateTime; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +/** + * <p> + * 璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-娓╂箍搴� 鍖哄煙 -鐖� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-09 11:02:18 + */ +@Getter +@Setter +@TableName("cnas_fe_temp_hum_date") +@ApiModel(value = "FeTempHumDate瀵硅薄", description = "璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-娓╂箍搴� 鍖哄煙 -鐖�") +public class FeTempHumDate implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("涓婚敭ID") + @TableId(value = "date_id", type = IdType.AUTO) + private Integer dateId; + + @ApiModelProperty("鏈堝害鏃堕棿") + private LocalDate monthDate; + + @ApiModelProperty("璇曢獙鍖哄煙鍚嶇О") + private String testAreaName; + + @ApiModelProperty("鍒涘缓鏃堕棿") + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createTime; + + @ApiModelProperty("鏇存柊鏃堕棿") + @TableField(fill = FieldFill.INSERT_UPDATE) + private LocalDateTime updateTime; + + @ApiModelProperty("鍒涘缓浜�") + @TableField(fill = FieldFill.INSERT) + private Integer createUser; + + @ApiModelProperty("鏇存柊浜�") + @TableField(fill = FieldFill.INSERT_UPDATE) + private Integer updateUser; +} diff --git a/cnas-resource-require/src/main/java/com/yuanchu/mom/pojo/FeTempHumRecord.java b/cnas-resource-require/src/main/java/com/yuanchu/mom/pojo/FeTempHumRecord.java new file mode 100644 index 0000000..7787f46 --- /dev/null +++ b/cnas-resource-require/src/main/java/com/yuanchu/mom/pojo/FeTempHumRecord.java @@ -0,0 +1,65 @@ +package com.yuanchu.mom.pojo; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.time.LocalDateTime; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; +import org.springframework.format.annotation.DateTimeFormat; + +/** + * <p> + * 璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-娓╂箍搴﹁褰� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-07 04:28:52 + */ +@Getter +@Setter +@TableName("cnas_fe_temp_hum_record") +@ApiModel(value = "FeTempHumRecord瀵硅薄", description = "璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-娓╂箍搴﹁褰�") +public class FeTempHumRecord implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("娓╂箍搴﹁褰�") + @TableId(value = "temp_hum_id", type = IdType.AUTO) + private Integer tempHumId; + + @ApiModelProperty("涓婂崍-鏃堕棿") + private LocalDateTime morningTestTime; + + @ApiModelProperty("涓婂崍娓╁害") + private String morningTemp; + + @ApiModelProperty("涓婂崍婀垮害") + private String morningHum; + + @ApiModelProperty("涓婂崍璁板綍鍛�") + private Integer morningRecorderId; + + @ApiModelProperty("涓嬪崍鏃堕棿") + private LocalDateTime afternoonTime; + + @ApiModelProperty("涓嬪崍娓╁害") + private String afternoonTemp; + + @ApiModelProperty("涓嬪崍婀垮害") + private String afternoonHum; + + @ApiModelProperty("涓嬪崍璁板綍鍛�") + private Integer afternoonRecorderId; + + @ApiModelProperty("澶囨敞") + private String note; + + @ApiModelProperty("娓╁害寰幆涓昏〃id") + private Integer dateId; +} diff --git a/cnas-resource-require/src/main/java/com/yuanchu/mom/pojo/ForeignRegister.java b/cnas-resource-require/src/main/java/com/yuanchu/mom/pojo/ForeignRegister.java new file mode 100644 index 0000000..05a1580 --- /dev/null +++ b/cnas-resource-require/src/main/java/com/yuanchu/mom/pojo/ForeignRegister.java @@ -0,0 +1,78 @@ +package com.yuanchu.mom.pojo; + +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.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.time.LocalDate; +import java.time.LocalDateTime; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.Getter; +import lombok.Setter; + +/** + * <p> + * 澶栨潵浜哄憳鐧昏 + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-19 07:17:35 + */ +@Data +@TableName("cnas_foreign_register") +@ApiModel(value = "ForeignRegister瀵硅薄", description = "澶栨潵浜哄憳鐧昏") +public class ForeignRegister { + + @TableId(value = "register_id", type = IdType.AUTO) + private Integer registerId; + + @ApiModelProperty("鐧昏濡傛湡") + private LocalDate registerDate; + + @ApiModelProperty("杩涘叆鍖哄煙") + private String area; + + @ApiModelProperty("杩涘叆浜哄憳") + private String personnel; + + @ApiModelProperty("杩涘叆鍘熷洜") + private String reason; + + @ApiModelProperty("闄悓浜哄憳id") + private Integer accompanyingId; + + @ApiModelProperty("闄悓浜哄憳") + private String accompanyingName; + + @ApiModelProperty("鎵瑰噯浜篿d") + private Integer approveId; + + @ApiModelProperty("鎵瑰噯浜�") + private String approveName; + + @ApiModelProperty("淇濆瘑鍙婂叾浠栨儏鍐�") + private String confidentiality; + + @ApiModelProperty("澶囨敞") + private String remark; + + @ApiModelProperty("鍒涘缓浜�") + @TableField(fill = FieldFill.INSERT) + private Integer createUser; + + @ApiModelProperty("鍒涘缓鏃堕棿") + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createTime; + + @ApiModelProperty("淇敼浜�") + @TableField(fill = FieldFill.INSERT_UPDATE) + private Integer updateUser; + + @ApiModelProperty("淇敼鏃堕棿") + @TableField(fill = FieldFill.INSERT_UPDATE) + private LocalDateTime updateTime; +} diff --git a/cnas-resource-require/src/main/java/com/yuanchu/mom/pojo/InternalWastes.java b/cnas-resource-require/src/main/java/com/yuanchu/mom/pojo/InternalWastes.java new file mode 100644 index 0000000..524bf8e --- /dev/null +++ b/cnas-resource-require/src/main/java/com/yuanchu/mom/pojo/InternalWastes.java @@ -0,0 +1,50 @@ +package com.yuanchu.mom.pojo; + +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.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.time.LocalDateTime; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.Getter; +import lombok.Setter; + +/** + * <p> + * 瀹夊叏鍐呭姟涓夊簾鐧昏 + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-19 06:39:27 + */ +@Data +@TableName("cnas_internal_wastes") +@ApiModel(value = "InternalWastes瀵硅薄", description = "瀹夊叏鍐呭姟涓夊簾鐧昏") +public class InternalWastes { + + @TableId(value = "wastes_id", type = IdType.AUTO) + private Integer wastesId; + + @ApiModelProperty("澶囨敞") + private String remark; + + @ApiModelProperty("鍒涘缓浜�") + @TableField(fill = FieldFill.INSERT) + private Integer createUser; + + @ApiModelProperty("鍒涘缓鏃堕棿") + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createTime; + + @ApiModelProperty("淇敼浜�") + @TableField(fill = FieldFill.INSERT_UPDATE) + private Integer updateUser; + + @ApiModelProperty("淇敼鏃堕棿") + @TableField(fill = FieldFill.INSERT_UPDATE) + private LocalDateTime updateTime; +} diff --git a/cnas-resource-require/src/main/java/com/yuanchu/mom/pojo/InternalWastesDetail.java b/cnas-resource-require/src/main/java/com/yuanchu/mom/pojo/InternalWastesDetail.java new file mode 100644 index 0000000..ceb2385 --- /dev/null +++ b/cnas-resource-require/src/main/java/com/yuanchu/mom/pojo/InternalWastesDetail.java @@ -0,0 +1,72 @@ +package com.yuanchu.mom.pojo; + +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.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.time.LocalDateTime; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.Getter; +import lombok.Setter; + +/** + * <p> + * 瀹夊叏鍐呭姟涓夊簾鐧昏璇︽儏 + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-19 06:39:54 + */ +@Data +@TableName("cnas_internal_wastes_detail") +@ApiModel(value = "InternalWastesDetail瀵硅薄", description = "瀹夊叏鍐呭姟涓夊簾鐧昏璇︽儏") +public class InternalWastesDetail { + + @TableId(value = "wastes_detail_id", type = IdType.AUTO) + private Integer wastesDetailId; + + @ApiModelProperty("涓昏〃id") + private Integer wastesId; + + @ApiModelProperty("鍚嶇О") + private String designation; + + @ApiModelProperty("浣撶Н") + private String volume; + + @ApiModelProperty("閫佸鐞嗘棩鏈�") + private String deliveryDate; + + @ApiModelProperty("绉讳氦浜�") + private String transferPeople; + + @ApiModelProperty("鎺ユ敹浜�") + private String acceptor; + + @ApiModelProperty("鎺ユ敹鍗曚綅") + private String receivingUnit; + + @ApiModelProperty("鍒涘缓浜�") + @TableField(fill = FieldFill.INSERT) + private Integer createUser; + + @ApiModelProperty("鍒涘缓鏃堕棿") + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createTime; + + @ApiModelProperty("淇敼浜�") + @TableField(fill = FieldFill.INSERT_UPDATE) + private Integer updateUser; + + @ApiModelProperty("淇敼鏃堕棿") + @TableField(fill = FieldFill.INSERT_UPDATE) + private LocalDateTime updateTime; + + // 瀵煎嚭浣跨敤 + @TableField(select = false, exist = false) + private Integer index; +} diff --git a/cnas-resource-require/src/main/java/com/yuanchu/mom/service/FeCalibrationScheduleService.java b/cnas-resource-require/src/main/java/com/yuanchu/mom/service/FeCalibrationScheduleService.java new file mode 100644 index 0000000..6e3c450 --- /dev/null +++ b/cnas-resource-require/src/main/java/com/yuanchu/mom/service/FeCalibrationScheduleService.java @@ -0,0 +1,23 @@ +package com.yuanchu.mom.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yuanchu.mom.excel.FeCalibrationScheduleExport; +import com.yuanchu.mom.pojo.FeCalibrationSchedule; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + * <p> + * 浠櫒璁惧妫�瀹�/鏍″噯璁″垝琛� 鏈嶅姟绫� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-13 02:53:05 + */ +public interface FeCalibrationScheduleService extends IService<FeCalibrationSchedule> { + + + IPage<FeCalibrationSchedule> page(Page page,String instrumentName, String managementNumber); +} diff --git a/cnas-resource-require/src/main/java/com/yuanchu/mom/service/FeIlluminationDetectionAreaService.java b/cnas-resource-require/src/main/java/com/yuanchu/mom/service/FeIlluminationDetectionAreaService.java new file mode 100644 index 0000000..240baaf --- /dev/null +++ b/cnas-resource-require/src/main/java/com/yuanchu/mom/service/FeIlluminationDetectionAreaService.java @@ -0,0 +1,16 @@ +package com.yuanchu.mom.service; + +import com.yuanchu.mom.pojo.FeIlluminationDetectionArea; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * <p> + * 璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-鐓у害璁板綍琛�-妫�娴嬪尯鍩� 鏈嶅姟绫� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-07 04:16:28 + */ +public interface FeIlluminationDetectionAreaService extends IService<FeIlluminationDetectionArea> { + +} diff --git a/cnas-resource-require/src/main/java/com/yuanchu/mom/service/FeIlluminationService.java b/cnas-resource-require/src/main/java/com/yuanchu/mom/service/FeIlluminationService.java new file mode 100644 index 0000000..56bf6d3 --- /dev/null +++ b/cnas-resource-require/src/main/java/com/yuanchu/mom/service/FeIlluminationService.java @@ -0,0 +1,29 @@ +package com.yuanchu.mom.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yuanchu.mom.dto.FeIlluminationDto; +import com.yuanchu.mom.pojo.FeIllumination; +import com.baomidou.mybatisplus.extension.service.IService; + +import javax.servlet.http.HttpServletResponse; + +/** + * <p> + * 璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-鐓у害璁板綍琛� 鏈嶅姟绫� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-07 04:15:57 + */ +public interface FeIlluminationService extends IService<FeIllumination> { + + IPage<FeIlluminationDto> getFeLightningProtection(Page page); + + /** + * 瀵煎嚭鐓у害璁板綍 + * @param intensityIlluminationId + * @param response + */ + void exportFeIllumination(Integer intensityIlluminationId, HttpServletResponse response); +} diff --git a/cnas-resource-require/src/main/java/com/yuanchu/mom/service/FeLightningProtectionService.java b/cnas-resource-require/src/main/java/com/yuanchu/mom/service/FeLightningProtectionService.java new file mode 100644 index 0000000..758410e --- /dev/null +++ b/cnas-resource-require/src/main/java/com/yuanchu/mom/service/FeLightningProtectionService.java @@ -0,0 +1,21 @@ +package com.yuanchu.mom.service; + +import com.yuanchu.mom.excel.FeLightningProtectionExcel; +import com.yuanchu.mom.pojo.FeLightningProtection; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + * <p> + * 璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-闃查浄妫�娴� 鏈嶅姟绫� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-07 04:16:36 + */ +public interface FeLightningProtectionService extends IService<FeLightningProtection> { + + List<FeLightningProtectionExcel> exportOfLightningProtectionDetection(); + +} diff --git a/cnas-resource-require/src/main/java/com/yuanchu/mom/service/FeMeasuredQuantityService.java b/cnas-resource-require/src/main/java/com/yuanchu/mom/service/FeMeasuredQuantityService.java new file mode 100644 index 0000000..4506bf0 --- /dev/null +++ b/cnas-resource-require/src/main/java/com/yuanchu/mom/service/FeMeasuredQuantityService.java @@ -0,0 +1,16 @@ +package com.yuanchu.mom.service; + +import com.yuanchu.mom.pojo.FeMeasuredQuantity; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * <p> + * 璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-鐢垫簮绋冲畾鎬�-娴嬪畾閲� 鏈嶅姟绫� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-07 04:16:44 + */ +public interface FeMeasuredQuantityService extends IService<FeMeasuredQuantity> { + +} diff --git a/cnas-resource-require/src/main/java/com/yuanchu/mom/service/FePowerStableService.java b/cnas-resource-require/src/main/java/com/yuanchu/mom/service/FePowerStableService.java new file mode 100644 index 0000000..339d6f4 --- /dev/null +++ b/cnas-resource-require/src/main/java/com/yuanchu/mom/service/FePowerStableService.java @@ -0,0 +1,33 @@ +package com.yuanchu.mom.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yuanchu.mom.dto.FePowerStableDto; +import com.yuanchu.mom.pojo.FePowerStable; +import com.baomidou.mybatisplus.extension.service.IService; + +import javax.servlet.http.HttpServletResponse; +import java.util.Map; +import java.util.Objects; + +/** + * <p> + * 璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-鐢垫簮绋冲畾鎬� 鏈嶅姟绫� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-07 04:16:52 + */ +public interface FePowerStableService extends IService<FePowerStable> { + + IPage<FePowerStableDto> getLaboratoryFacilityPowerStablePage(Page page); + + Map<String, Objects> getCalibrationDate(Integer deviceId); + + /** + * 瀵煎嚭鐢垫簮绋冲畾鎬� + * @param powerStableId + * @param response + */ + void exportFePowerStable(Integer powerStableId, HttpServletResponse response); +} diff --git a/cnas-resource-require/src/main/java/com/yuanchu/mom/service/FeStandardSubstanceAcceptanceInspectionService.java b/cnas-resource-require/src/main/java/com/yuanchu/mom/service/FeStandardSubstanceAcceptanceInspectionService.java new file mode 100644 index 0000000..db14bde --- /dev/null +++ b/cnas-resource-require/src/main/java/com/yuanchu/mom/service/FeStandardSubstanceAcceptanceInspectionService.java @@ -0,0 +1,16 @@ +package com.yuanchu.mom.service; + +import com.yuanchu.mom.pojo.FeStandardSubstanceAcceptanceInspection; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * <p> + * 楠屾敹寮�绠辫褰� 鏈嶅姟绫� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-14 03:30:09 + */ +public interface FeStandardSubstanceAcceptanceInspectionService extends IService<FeStandardSubstanceAcceptanceInspection> { + +} diff --git a/cnas-resource-require/src/main/java/com/yuanchu/mom/service/FeStandardSubstanceAcceptanceService.java b/cnas-resource-require/src/main/java/com/yuanchu/mom/service/FeStandardSubstanceAcceptanceService.java new file mode 100644 index 0000000..5d1e448 --- /dev/null +++ b/cnas-resource-require/src/main/java/com/yuanchu/mom/service/FeStandardSubstanceAcceptanceService.java @@ -0,0 +1,33 @@ +package com.yuanchu.mom.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yuanchu.mom.dto.AcceptanceDto; +import com.yuanchu.mom.pojo.FeStandardSubstanceAcceptance; +import com.baomidou.mybatisplus.extension.service.IService; +import com.yuanchu.mom.vo.AcceptanceDetailsVo; +import com.yuanchu.mom.vo.AcceptanceVo; + +import javax.servlet.http.HttpServletResponse; + +/** + * <p> + * 鏍囧噯鐗╄川楠屾敹 鏈嶅姟绫� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-14 03:29:41 + */ +public interface FeStandardSubstanceAcceptanceService extends IService<FeStandardSubstanceAcceptance> { + + + void addAcceptance(AcceptanceDto dto); + + IPage<AcceptanceVo> getPageAcceptance(Page page, String name); + + AcceptanceDetailsVo getAcceptanceDetails(Integer id); + + Integer deleteAcceptance(Integer id); + + void exportFeStandardSubstanceAcceptance(HttpServletResponse response); +} diff --git a/cnas-resource-require/src/main/java/com/yuanchu/mom/service/FeStandardSubstanceRecordService.java b/cnas-resource-require/src/main/java/com/yuanchu/mom/service/FeStandardSubstanceRecordService.java new file mode 100644 index 0000000..ba2c45a --- /dev/null +++ b/cnas-resource-require/src/main/java/com/yuanchu/mom/service/FeStandardSubstanceRecordService.java @@ -0,0 +1,30 @@ +package com.yuanchu.mom.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yuanchu.mom.pojo.FeStandardSubstanceRecord; +import com.baomidou.mybatisplus.extension.service.IService; +import com.yuanchu.mom.vo.SubstanceRecordVo; + +import java.util.List; + +/** + * <p> + * 鏍囧噯鐗╄川娓呭崟鍊熺敤褰掕繕璁板綍琛� 鏈嶅姟绫� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-14 01:49:11 + */ +public interface FeStandardSubstanceRecordService extends IService<FeStandardSubstanceRecord> { + + + void borrowSubstance(FeStandardSubstanceRecord feStandardSubstanceRecord); + + void returnSubstance(FeStandardSubstanceRecord feStandardSubstanceRecord); + + List<FeStandardSubstanceRecord> getSubstanceRecord(Integer id); + + IPage<SubstanceRecordVo> getPage(Page page, SubstanceRecordVo vo); + +} diff --git a/cnas-resource-require/src/main/java/com/yuanchu/mom/service/FeStandardSubstanceService.java b/cnas-resource-require/src/main/java/com/yuanchu/mom/service/FeStandardSubstanceService.java new file mode 100644 index 0000000..5ab6c83 --- /dev/null +++ b/cnas-resource-require/src/main/java/com/yuanchu/mom/service/FeStandardSubstanceService.java @@ -0,0 +1,19 @@ +package com.yuanchu.mom.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yuanchu.mom.pojo.FeStandardSubstance; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * <p> + * 鏍囧噯鐗╄川娓呭崟 鏈嶅姟绫� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-13 03:58:59 + */ +public interface FeStandardSubstanceService extends IService<FeStandardSubstance> { + + IPage<FeStandardSubstance> page(Page page,FeStandardSubstance feStandardSubstance); +} diff --git a/cnas-resource-require/src/main/java/com/yuanchu/mom/service/FeTempHumDateService.java b/cnas-resource-require/src/main/java/com/yuanchu/mom/service/FeTempHumDateService.java new file mode 100644 index 0000000..9c036bf --- /dev/null +++ b/cnas-resource-require/src/main/java/com/yuanchu/mom/service/FeTempHumDateService.java @@ -0,0 +1,24 @@ +package com.yuanchu.mom.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yuanchu.mom.dto.FeTempHumDateDto; +import com.yuanchu.mom.pojo.FeTempHumDate; +import com.baomidou.mybatisplus.extension.service.IService; + +import javax.servlet.http.HttpServletResponse; + +/** + * <p> + * 璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-娓╂箍搴� 鍖哄煙 -鐖� 鏈嶅姟绫� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-09 11:02:18 + */ +public interface FeTempHumDateService extends IService<FeTempHumDate> { + + IPage<FeTempHumDateDto> getFeTempHumDate(Page page); + + void exportTemperatureAndHumidityRecords(Integer dateId, HttpServletResponse response); +} diff --git a/cnas-resource-require/src/main/java/com/yuanchu/mom/service/FeTempHumRecordService.java b/cnas-resource-require/src/main/java/com/yuanchu/mom/service/FeTempHumRecordService.java new file mode 100644 index 0000000..04cdac5 --- /dev/null +++ b/cnas-resource-require/src/main/java/com/yuanchu/mom/service/FeTempHumRecordService.java @@ -0,0 +1,20 @@ +package com.yuanchu.mom.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yuanchu.mom.dto.FeTempHumRecordDto; +import com.yuanchu.mom.pojo.FeTempHumRecord; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * <p> + * 璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-娓╂箍搴﹁褰� 鏈嶅姟绫� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-07 04:28:52 + */ +public interface FeTempHumRecordService extends IService<FeTempHumRecord> { + + IPage<FeTempHumRecordDto> getFeTempHumRecordPage(Page page, Integer dateId); +} diff --git a/cnas-resource-require/src/main/java/com/yuanchu/mom/service/ForeignRegisterService.java b/cnas-resource-require/src/main/java/com/yuanchu/mom/service/ForeignRegisterService.java new file mode 100644 index 0000000..d20487f --- /dev/null +++ b/cnas-resource-require/src/main/java/com/yuanchu/mom/service/ForeignRegisterService.java @@ -0,0 +1,34 @@ +package com.yuanchu.mom.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yuanchu.mom.dto.ForeignRegisterDto; +import com.yuanchu.mom.pojo.ForeignRegister; +import com.baomidou.mybatisplus.extension.service.IService; + +import javax.servlet.http.HttpServletResponse; + +/** + * <p> + * 澶栨潵浜哄憳鐧昏 鏈嶅姟绫� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-19 07:17:35 + */ +public interface ForeignRegisterService extends IService<ForeignRegister> { + + /** + * 澶栨潵浜哄憳鐧昏鍒嗛〉鏌ヨ + * @param page + * @param foreignRegister + * @return + */ + IPage<ForeignRegisterDto> pageForeignRegister(Page page, ForeignRegisterDto foreignRegister); + + /** + * 瀵煎嚭澶栨潵浜哄憳鐧昏 + * @param foreignRegister + */ + void exportForeignRegister(ForeignRegisterDto foreignRegister, HttpServletResponse response); +} diff --git a/cnas-resource-require/src/main/java/com/yuanchu/mom/service/InternalWastesDetailService.java b/cnas-resource-require/src/main/java/com/yuanchu/mom/service/InternalWastesDetailService.java new file mode 100644 index 0000000..c16f633 --- /dev/null +++ b/cnas-resource-require/src/main/java/com/yuanchu/mom/service/InternalWastesDetailService.java @@ -0,0 +1,16 @@ +package com.yuanchu.mom.service; + +import com.yuanchu.mom.pojo.InternalWastesDetail; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * <p> + * 瀹夊叏鍐呭姟涓夊簾鐧昏璇︽儏 鏈嶅姟绫� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-19 06:39:54 + */ +public interface InternalWastesDetailService extends IService<InternalWastesDetail> { + +} diff --git a/cnas-resource-require/src/main/java/com/yuanchu/mom/service/InternalWastesService.java b/cnas-resource-require/src/main/java/com/yuanchu/mom/service/InternalWastesService.java new file mode 100644 index 0000000..095b827 --- /dev/null +++ b/cnas-resource-require/src/main/java/com/yuanchu/mom/service/InternalWastesService.java @@ -0,0 +1,63 @@ +package com.yuanchu.mom.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yuanchu.mom.dto.InternalWastesDto; +import com.yuanchu.mom.pojo.InternalWastes; +import com.baomidou.mybatisplus.extension.service.IService; + +import javax.servlet.http.HttpServletResponse; + +/** + * <p> + * 瀹夊叏鍐呭姟涓夊簾鐧昏 鏈嶅姟绫� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-19 06:39:27 + */ +public interface InternalWastesService extends IService<InternalWastes> { + + /** + * 瀹夊叏鍐呭姟涓夊簾澶勭悊鍒嗛〉鏌ヨ + * @param page + * @param internalWastes + * @return + */ + IPage<InternalWastesDto> pageInternalWastes(Page page, InternalWastes internalWastes); + + /** + * 瀹夊叏鍐呭姟涓夊簾澶勭悊鏂板 + * @param internalWastes + * @return + */ + boolean addInternalWastes(InternalWastesDto internalWastes); + + /** + * 瀹夊叏鍐呭姟涓夊簾澶勭悊淇敼 + * @param internalWastes + * @return + */ + boolean updateInternalWastes(InternalWastesDto internalWastes); + + /** + * 瀹夊叏鍐呭姟涓夊簾澶勭悊鍒犻櫎 + * @param wastesId + * @return + */ + boolean delInternalWastes(Integer wastesId); + + /** + * 瀹夊叏鍐呭姟涓夊簾澶勭悊鏌ョ湅璇︽儏 + * @param wastesId + * @return + */ + InternalWastesDto getInternalWastesOne(Integer wastesId); + + /** + * 瀵煎嚭涓夊簾澶勭悊 + * @param wastesId + * @param response + */ + void exportInternalWastes(Integer wastesId, HttpServletResponse response); +} diff --git a/cnas-resource-require/src/main/java/com/yuanchu/mom/service/impl/FeCalibrationScheduleServiceImpl.java b/cnas-resource-require/src/main/java/com/yuanchu/mom/service/impl/FeCalibrationScheduleServiceImpl.java new file mode 100644 index 0000000..cf5cff9 --- /dev/null +++ b/cnas-resource-require/src/main/java/com/yuanchu/mom/service/impl/FeCalibrationScheduleServiceImpl.java @@ -0,0 +1,28 @@ +package com.yuanchu.mom.service.impl; + +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.yuanchu.mom.pojo.FeCalibrationSchedule; +import com.yuanchu.mom.mapper.FeCalibrationScheduleMapper; +import com.yuanchu.mom.service.FeCalibrationScheduleService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +/** + * <p> + * 浠櫒璁惧妫�瀹�/鏍″噯璁″垝琛� 鏈嶅姟瀹炵幇绫� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-13 02:53:05 + */ +@Service +public class FeCalibrationScheduleServiceImpl extends ServiceImpl<FeCalibrationScheduleMapper, FeCalibrationSchedule> implements FeCalibrationScheduleService { + + @Override + public IPage<FeCalibrationSchedule> page(Page page, String instrumentName, String managementNumber) { + IPage<FeCalibrationSchedule> ipage = this.baseMapper.ipage(page,instrumentName, managementNumber); + return ipage; + } +} diff --git a/cnas-resource-require/src/main/java/com/yuanchu/mom/service/impl/FeIlluminationDetectionAreaServiceImpl.java b/cnas-resource-require/src/main/java/com/yuanchu/mom/service/impl/FeIlluminationDetectionAreaServiceImpl.java new file mode 100644 index 0000000..2bc70bc --- /dev/null +++ b/cnas-resource-require/src/main/java/com/yuanchu/mom/service/impl/FeIlluminationDetectionAreaServiceImpl.java @@ -0,0 +1,20 @@ +package com.yuanchu.mom.service.impl; + +import com.yuanchu.mom.pojo.FeIlluminationDetectionArea; +import com.yuanchu.mom.mapper.FeIlluminationDetectionAreaMapper; +import com.yuanchu.mom.service.FeIlluminationDetectionAreaService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +/** + * <p> + * 璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-鐓у害璁板綍琛�-妫�娴嬪尯鍩� 鏈嶅姟瀹炵幇绫� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-07 04:16:28 + */ +@Service +public class FeIlluminationDetectionAreaServiceImpl extends ServiceImpl<FeIlluminationDetectionAreaMapper, FeIlluminationDetectionArea> implements FeIlluminationDetectionAreaService { + +} diff --git a/cnas-resource-require/src/main/java/com/yuanchu/mom/service/impl/FeIlluminationServiceImpl.java b/cnas-resource-require/src/main/java/com/yuanchu/mom/service/impl/FeIlluminationServiceImpl.java new file mode 100644 index 0000000..6d42282 --- /dev/null +++ b/cnas-resource-require/src/main/java/com/yuanchu/mom/service/impl/FeIlluminationServiceImpl.java @@ -0,0 +1,133 @@ +package com.yuanchu.mom.service.impl; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.StringUtils; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.deepoove.poi.XWPFTemplate; +import com.deepoove.poi.config.Configure; +import com.deepoove.poi.data.Pictures; +import com.yuanchu.mom.dto.FeIlluminationDto; +import com.yuanchu.mom.dto.FeIlluminationExportDto; +import com.yuanchu.mom.dto.FePowerStableExportDto; +import com.yuanchu.mom.exception.ErrorException; +import com.yuanchu.mom.mapper.FeIlluminationDetectionAreaMapper; +import com.yuanchu.mom.mapper.UserMapper; +import com.yuanchu.mom.pojo.FeIllumination; +import com.yuanchu.mom.mapper.FeIlluminationMapper; +import com.yuanchu.mom.pojo.FeIlluminationDetectionArea; +import com.yuanchu.mom.pojo.FeMeasuredQuantity; +import com.yuanchu.mom.service.FeIlluminationService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.yuanchu.mom.utils.HackLoopTableRenderPolicy; +import com.yuanchu.mom.utils.DateImageUtil; +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)); + + // 鑾峰彇璺緞 + InputStream inputStream = this.getClass().getResourceAsStream("/static/illumination.docx"); + Configure configure = Configure.builder() + .bind("detectionAreaList", new HackLoopTableRenderPolicy()) + .build(); + String finalTesterUrl = testerUrl; + String finalCheckerUrl = checkerUrl; + + // 鍒ゆ柇妫�娴嬫棩鏈熸槸鍚︿负绌� + LocalDateTime localDateTime = null; + if (illuminationExportDto.getTestDate() != null) { + Instant instant = illuminationExportDto.getTestDate().toInstant(); + ZoneId zoneId = ZoneId.systemDefault(); + localDateTime = instant.atZone(zoneId).toLocalDateTime(); + } + LocalDateTime finalLocalDateTime = localDateTime; + XWPFTemplate template = XWPFTemplate.compile(inputStream, configure).render( + new HashMap<String, Object>() {{ + put("illumination", illuminationExportDto); + put("detectionAreaList", feIlluminationDetectionAreas); + put("testerUrl", StringUtils.isNotBlank(finalTesterUrl) ? Pictures.ofLocal(imgUrl + "/" + finalTesterUrl).create() : null); + put("checkerUrl", StringUtils.isNotBlank(finalCheckerUrl) ? Pictures.ofLocal(imgUrl + "/" + finalCheckerUrl).create() : null); + put("testDateUrl", finalLocalDateTime != null ? + Pictures.ofStream(DateImageUtil.createDateImage(finalLocalDateTime)).create() : null); + }}); + try { + response.setContentType("application/msword"); + String fileName = URLEncoder.encode( + "鐓ф槑璁板綍瀵煎嚭", "UTF-8"); + response.setHeader("Content-disposition", + "attachment;filename=" + fileName + ".docx"); + OutputStream os = response.getOutputStream(); + template.write(os); + os.flush(); + os.close(); + } catch (Exception e) { + e.printStackTrace(); + throw new RuntimeException("瀵煎嚭澶辫触"); + } + } +} diff --git a/cnas-resource-require/src/main/java/com/yuanchu/mom/service/impl/FeLightningProtectionServiceImpl.java b/cnas-resource-require/src/main/java/com/yuanchu/mom/service/impl/FeLightningProtectionServiceImpl.java new file mode 100644 index 0000000..d4d98e0 --- /dev/null +++ b/cnas-resource-require/src/main/java/com/yuanchu/mom/service/impl/FeLightningProtectionServiceImpl.java @@ -0,0 +1,28 @@ +package com.yuanchu.mom.service.impl; + +import com.yuanchu.mom.excel.FeLightningProtectionExcel; +import com.yuanchu.mom.pojo.FeLightningProtection; +import com.yuanchu.mom.mapper.FeLightningProtectionMapper; +import com.yuanchu.mom.service.FeLightningProtectionService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +import java.util.Collections; +import java.util.List; + +/** + * <p> + * 璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-闃查浄妫�娴� 鏈嶅姟瀹炵幇绫� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-07 04:16:36 + */ +@Service +public class FeLightningProtectionServiceImpl extends ServiceImpl<FeLightningProtectionMapper, FeLightningProtection> implements FeLightningProtectionService { + + @Override + public List<FeLightningProtectionExcel> exportOfLightningProtectionDetection() { + return baseMapper.exportOfLightningProtectionDetection(); + } +} diff --git a/cnas-resource-require/src/main/java/com/yuanchu/mom/service/impl/FeMeasuredQuantityServiceImpl.java b/cnas-resource-require/src/main/java/com/yuanchu/mom/service/impl/FeMeasuredQuantityServiceImpl.java new file mode 100644 index 0000000..cba46d4 --- /dev/null +++ b/cnas-resource-require/src/main/java/com/yuanchu/mom/service/impl/FeMeasuredQuantityServiceImpl.java @@ -0,0 +1,20 @@ +package com.yuanchu.mom.service.impl; + +import com.yuanchu.mom.pojo.FeMeasuredQuantity; +import com.yuanchu.mom.mapper.FeMeasuredQuantityMapper; +import com.yuanchu.mom.service.FeMeasuredQuantityService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +/** + * <p> + * 璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-鐢垫簮绋冲畾鎬�-娴嬪畾閲� 鏈嶅姟瀹炵幇绫� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-07 04:16:44 + */ +@Service +public class FeMeasuredQuantityServiceImpl extends ServiceImpl<FeMeasuredQuantityMapper, FeMeasuredQuantity> implements FeMeasuredQuantityService { + +} diff --git a/cnas-resource-require/src/main/java/com/yuanchu/mom/service/impl/FePowerStableServiceImpl.java b/cnas-resource-require/src/main/java/com/yuanchu/mom/service/impl/FePowerStableServiceImpl.java new file mode 100644 index 0000000..664329f --- /dev/null +++ b/cnas-resource-require/src/main/java/com/yuanchu/mom/service/impl/FePowerStableServiceImpl.java @@ -0,0 +1,121 @@ +package com.yuanchu.mom.service.impl; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.StringUtils; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.deepoove.poi.XWPFTemplate; +import com.deepoove.poi.config.Configure; +import com.deepoove.poi.data.Pictures; +import com.yuanchu.mom.dto.FePowerStableDto; +import com.yuanchu.mom.dto.FePowerStableExportDto; +import com.yuanchu.mom.exception.ErrorException; +import com.yuanchu.mom.mapper.FeMeasuredQuantityMapper; +import com.yuanchu.mom.mapper.UserMapper; +import com.yuanchu.mom.pojo.FeMeasuredQuantity; +import com.yuanchu.mom.pojo.FePowerStable; +import com.yuanchu.mom.mapper.FePowerStableMapper; +import com.yuanchu.mom.service.FePowerStableService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.yuanchu.mom.utils.HackLoopTableRenderPolicy; +import com.yuanchu.mom.utils.DateImageUtil; +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.*; + +/** + * <p> + * 璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-鐢垫簮绋冲畾鎬� 鏈嶅姟瀹炵幇绫� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-07 04:16:52 + */ +@Service +public class FePowerStableServiceImpl extends ServiceImpl<FePowerStableMapper, FePowerStable> implements FePowerStableService { + + @Resource + private FeMeasuredQuantityMapper feMeasuredQuantityMapper; + @Resource + private UserMapper userMapper; + + @Value("${file.path}") + private String imgUrl; + + @Override + public IPage<FePowerStableDto> getLaboratoryFacilityPowerStablePage(Page page) { + return baseMapper.getLaboratoryFacilityPowerStablePage(page); + } + + @Override + public Map<String, Objects> getCalibrationDate(Integer deviceId) { + return baseMapper.getCalibrationDate(deviceId); + } + + /** + * 瀵煎嚭鐢垫簮绋冲畾鎬� + * @param powerStableId + * @param response + */ + @Override + public void exportFePowerStable(Integer powerStableId, HttpServletResponse response) { + FePowerStableExportDto powerStable = baseMapper.selectPowerStable(powerStableId); + + // 妫�娴嬩汉 + String testerUrl = null; + if (powerStable.getTesterId() != null) { + testerUrl = userMapper.selectById(powerStable.getTesterId()).getSignatureUrl(); + if (StringUtils.isBlank(testerUrl)) { + throw new ErrorException("鎵句笉鍒版娴嬩汉鐨勭鍚�"); + } + } + + // 鏍告煡浜� + String checkerUrl = null; + if (powerStable.getCheckerId() != null) { + checkerUrl = userMapper.selectById(powerStable.getCheckerId()).getSignatureUrl(); + if (StringUtils.isBlank(checkerUrl)) { + throw new ErrorException("鎵句笉鍒版牳鏌ヤ汉鐨勭鍚�"); + } + } + + // 鏌ヨ璇︽儏 + List<FeMeasuredQuantity> feMeasuredQuantities = feMeasuredQuantityMapper.selectList(Wrappers.<FeMeasuredQuantity>lambdaQuery() + .eq(FeMeasuredQuantity::getPowerStableId, powerStableId)); + + // 鑾峰彇璺緞 + InputStream inputStream = this.getClass().getResourceAsStream("/static/power-stable.docx"); + Configure configure = Configure.builder() + .bind("measuredQuantityList", new HackLoopTableRenderPolicy()) + .build(); + String finalTesterUrl = testerUrl; + String finalCheckerUrl = checkerUrl; + XWPFTemplate template = XWPFTemplate.compile(inputStream, configure).render( + new HashMap<String, Object>() {{ + put("stable", powerStable); + put("measuredQuantityList", feMeasuredQuantities); + put("testerUrl", StringUtils.isNotBlank(finalTesterUrl) ? Pictures.ofLocal(imgUrl + "/" + finalTesterUrl).create() : null); + put("checkerUrl", StringUtils.isNotBlank(finalCheckerUrl) ? Pictures.ofLocal(imgUrl + "/" + finalCheckerUrl).create() : null); + }}); + try { + response.setContentType("application/msword"); + String fileName = URLEncoder.encode( + "鐢垫簮绋冲畾鎬ф祴璇曞鍑�", "UTF-8"); + response.setHeader("Content-disposition", + "attachment;filename=" + fileName + ".docx"); + OutputStream os = response.getOutputStream(); + template.write(os); + os.flush(); + os.close(); + } catch (Exception e) { + e.printStackTrace(); + throw new RuntimeException("瀵煎嚭澶辫触"); + } + } +} diff --git a/cnas-resource-require/src/main/java/com/yuanchu/mom/service/impl/FeStandardSubstanceAcceptanceInspectionServiceImpl.java b/cnas-resource-require/src/main/java/com/yuanchu/mom/service/impl/FeStandardSubstanceAcceptanceInspectionServiceImpl.java new file mode 100644 index 0000000..649bea9 --- /dev/null +++ b/cnas-resource-require/src/main/java/com/yuanchu/mom/service/impl/FeStandardSubstanceAcceptanceInspectionServiceImpl.java @@ -0,0 +1,20 @@ +package com.yuanchu.mom.service.impl; + +import com.yuanchu.mom.pojo.FeStandardSubstanceAcceptanceInspection; +import com.yuanchu.mom.mapper.FeStandardSubstanceAcceptanceInspectionMapper; +import com.yuanchu.mom.service.FeStandardSubstanceAcceptanceInspectionService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +/** + * <p> + * 楠屾敹寮�绠辫褰� 鏈嶅姟瀹炵幇绫� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-14 03:30:09 + */ +@Service +public class FeStandardSubstanceAcceptanceInspectionServiceImpl extends ServiceImpl<FeStandardSubstanceAcceptanceInspectionMapper, FeStandardSubstanceAcceptanceInspection> implements FeStandardSubstanceAcceptanceInspectionService { + +} diff --git a/cnas-resource-require/src/main/java/com/yuanchu/mom/service/impl/FeStandardSubstanceAcceptanceServiceImpl.java b/cnas-resource-require/src/main/java/com/yuanchu/mom/service/impl/FeStandardSubstanceAcceptanceServiceImpl.java new file mode 100644 index 0000000..3fbdab4 --- /dev/null +++ b/cnas-resource-require/src/main/java/com/yuanchu/mom/service/impl/FeStandardSubstanceAcceptanceServiceImpl.java @@ -0,0 +1,112 @@ +package com.yuanchu.mom.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.yuanchu.mom.dto.AcceptanceDto; +import com.yuanchu.mom.mapper.FeStandardSubstanceAcceptanceInspectionMapper; +import com.yuanchu.mom.mapper.FeStandardSubstanceMapper; +import com.yuanchu.mom.pojo.FeStandardSubstance; +import com.yuanchu.mom.pojo.FeStandardSubstanceAcceptance; +import com.yuanchu.mom.mapper.FeStandardSubstanceAcceptanceMapper; +import com.yuanchu.mom.pojo.FeStandardSubstanceAcceptanceInspection; +import com.yuanchu.mom.service.FeStandardSubstanceAcceptanceService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.yuanchu.mom.vo.AcceptanceDetailsVo; +import com.yuanchu.mom.vo.AcceptanceVo; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.io.UnsupportedEncodingException; +import java.net.URLEncoder; +import java.util.List; + +/** + * <p> + * 鏍囧噯鐗╄川楠屾敹 鏈嶅姟瀹炵幇绫� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-14 03:29:41 + */ +@Service +public class FeStandardSubstanceAcceptanceServiceImpl extends ServiceImpl<FeStandardSubstanceAcceptanceMapper, FeStandardSubstanceAcceptance> implements FeStandardSubstanceAcceptanceService { + + @Resource + private FeStandardSubstanceAcceptanceInspectionMapper feStandardSubstanceAcceptanceInspectionMapper; + + @Resource + private FeStandardSubstanceMapper feStandardSubstanceMapper; + + + + @Override + public void addAcceptance(AcceptanceDto dto) { + FeStandardSubstanceAcceptance acceptance = dto.getAcceptance(); + List<FeStandardSubstanceAcceptanceInspection> list = dto.getList(); + this.baseMapper.insert(acceptance); + list.forEach(v->{ + v.setAcceptanceId(acceptance.getId()); + feStandardSubstanceAcceptanceInspectionMapper.insert(v); + }); + } + + @Override + public IPage<AcceptanceVo> getPageAcceptance(Page page, String name) { + return this.baseMapper.getPageAcceptance(page,name); + } + + @Override + public AcceptanceDetailsVo getAcceptanceDetails(Integer id) { + FeStandardSubstanceAcceptance acceptance = this.baseMapper.selectById(id); + FeStandardSubstance substance = feStandardSubstanceMapper.selectById(acceptance.getSubstanceId()); + QueryWrapper<FeStandardSubstanceAcceptanceInspection> queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("acceptance_id",id); + List<FeStandardSubstanceAcceptanceInspection> list = feStandardSubstanceAcceptanceInspectionMapper.selectList(queryWrapper); + AcceptanceDetailsVo vo = new AcceptanceDetailsVo(); + vo.setSubstance(substance); + vo.setAcceptance(acceptance); + vo.setList(list); + return vo; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public Integer deleteAcceptance(Integer id) { + feStandardSubstanceAcceptanceInspectionMapper.delete(new QueryWrapper<FeStandardSubstanceAcceptanceInspection>() + .lambda().eq(FeStandardSubstanceAcceptanceInspection::getAcceptanceId,id)); + return this.baseMapper.deleteById(id); + } + + @Override + public void exportFeStandardSubstanceAcceptance(HttpServletResponse response) { + List<FeStandardSubstanceAcceptance> list = this.list(); + response.setContentType("application/vnd.ms-excel"); + response.setCharacterEncoding("UTF-8"); + // 杩欓噷URLEncoder.encode鍙互闃叉涓枃涔辩爜 褰撶劧鍜宔asyexcel娌℃湁鍏崇郴 + try { + String fileName = URLEncoder.encode("鏍囧噯鐗╄川楠屾敹", "UTF-8"); + response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx"); + // 鏂板缓ExcelWriter + ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream()).registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()).build(); + WriteSheet writeSheet = EasyExcel.writerSheet(0, "鏍囧噯鐗╄川楠屾敹").head(FeStandardSubstanceAcceptance.class).build(); + excelWriter.write(list, writeSheet); + // 鍏抽棴娴� + excelWriter.finish(); + } catch (UnsupportedEncodingException e) { + e.printStackTrace(); + throw new RuntimeException("瀵煎嚭澶辫触"); + } catch (IOException e) { + e.printStackTrace(); + throw new RuntimeException("瀵煎嚭澶辫触"); + } + } +} diff --git a/cnas-resource-require/src/main/java/com/yuanchu/mom/service/impl/FeStandardSubstanceRecordServiceImpl.java b/cnas-resource-require/src/main/java/com/yuanchu/mom/service/impl/FeStandardSubstanceRecordServiceImpl.java new file mode 100644 index 0000000..ab23caf --- /dev/null +++ b/cnas-resource-require/src/main/java/com/yuanchu/mom/service/impl/FeStandardSubstanceRecordServiceImpl.java @@ -0,0 +1,79 @@ +package com.yuanchu.mom.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.yuanchu.mom.exception.ErrorException; +import com.yuanchu.mom.mapper.FeStandardSubstanceMapper; +import com.yuanchu.mom.pojo.FeStandardSubstance; +import com.yuanchu.mom.pojo.FeStandardSubstanceRecord; +import com.yuanchu.mom.mapper.FeStandardSubstanceRecordMapper; +import com.yuanchu.mom.service.FeStandardSubstanceRecordService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.yuanchu.mom.vo.SubstanceRecordVo; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import javax.annotation.Resource; +import java.util.List; + +/** + * <p> + * 鏍囧噯鐗╄川娓呭崟鍊熺敤褰掕繕璁板綍琛� 鏈嶅姟瀹炵幇绫� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-14 01:49:11 + */ +@Transactional(rollbackFor = Exception.class) +@Service +public class FeStandardSubstanceRecordServiceImpl extends ServiceImpl<FeStandardSubstanceRecordMapper, FeStandardSubstanceRecord> implements FeStandardSubstanceRecordService { + + @Resource + private FeStandardSubstanceMapper feStandardSubstanceMapper; + + @Override + public void borrowSubstance(FeStandardSubstanceRecord feStandardSubstanceRecord) { + FeStandardSubstance standardSubstance = feStandardSubstanceMapper.selectOne(Wrappers.<FeStandardSubstance>lambdaQuery() + .eq(FeStandardSubstance::getId, feStandardSubstanceRecord.getSubstanceId()) + .eq(FeStandardSubstance::getState, 0) + .last("limit 1")); + if (ObjectUtils.isEmpty(standardSubstance)){ + throw new ErrorException("璇ョ墿璐ㄥ凡琚�熷嚭锛�"); + } + this.baseMapper.insert(feStandardSubstanceRecord); + standardSubstance.setState(1); + feStandardSubstanceMapper.updateById(standardSubstance); + } + + @Override + public void returnSubstance(FeStandardSubstanceRecord feStandardSubstanceRecord) { + FeStandardSubstance standardSubstance = feStandardSubstanceMapper.selectOne(Wrappers.<FeStandardSubstance>lambdaQuery() + .eq(FeStandardSubstance::getId, feStandardSubstanceRecord.getSubstanceId()) + .eq(FeStandardSubstance::getState, 1)); + if (ObjectUtils.isEmpty(standardSubstance)){ + throw new ErrorException("璇ョ墿璐ㄦ湭琚鐢紝鏃犻渶褰掕繕锛�"); + } + standardSubstance.setState(0); + feStandardSubstanceMapper.updateById(standardSubstance); + System.out.println(feStandardSubstanceRecord); + baseMapper.update(feStandardSubstanceRecord, Wrappers.<FeStandardSubstanceRecord>lambdaUpdate() + .eq(FeStandardSubstanceRecord::getSubstanceId, feStandardSubstanceRecord.getSubstanceId()) + .eq(FeStandardSubstanceRecord::getStatus, 0)); + } + + @Override + public List<FeStandardSubstanceRecord> getSubstanceRecord(Integer id) { + QueryWrapper<FeStandardSubstanceRecord> queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("substance_id",id); + List<FeStandardSubstanceRecord> list = this.baseMapper.selectList(queryWrapper); + return list; + } + + @Override + public IPage<SubstanceRecordVo> getPage(Page page, SubstanceRecordVo vo) { + return this.baseMapper.getPage(page,vo); + } +} diff --git a/cnas-resource-require/src/main/java/com/yuanchu/mom/service/impl/FeStandardSubstanceServiceImpl.java b/cnas-resource-require/src/main/java/com/yuanchu/mom/service/impl/FeStandardSubstanceServiceImpl.java new file mode 100644 index 0000000..d48f9f1 --- /dev/null +++ b/cnas-resource-require/src/main/java/com/yuanchu/mom/service/impl/FeStandardSubstanceServiceImpl.java @@ -0,0 +1,26 @@ +package com.yuanchu.mom.service.impl; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yuanchu.mom.pojo.FeStandardSubstance; +import com.yuanchu.mom.mapper.FeStandardSubstanceMapper; +import com.yuanchu.mom.service.FeStandardSubstanceService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +/** + * <p> + * 鏍囧噯鐗╄川娓呭崟 鏈嶅姟瀹炵幇绫� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-13 03:58:59 + */ +@Service +public class FeStandardSubstanceServiceImpl extends ServiceImpl<FeStandardSubstanceMapper, FeStandardSubstance> implements FeStandardSubstanceService { + + @Override + public IPage<FeStandardSubstance> page(Page page,FeStandardSubstance feStandardSubstance) { + return this.baseMapper.getPage(page,feStandardSubstance); + } +} diff --git a/cnas-resource-require/src/main/java/com/yuanchu/mom/service/impl/FeTempHumDateServiceImpl.java b/cnas-resource-require/src/main/java/com/yuanchu/mom/service/impl/FeTempHumDateServiceImpl.java new file mode 100644 index 0000000..cc01bbd --- /dev/null +++ b/cnas-resource-require/src/main/java/com/yuanchu/mom/service/impl/FeTempHumDateServiceImpl.java @@ -0,0 +1,96 @@ +package com.yuanchu.mom.service.impl; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.StringUtils; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.deepoove.poi.XWPFTemplate; +import com.deepoove.poi.config.Configure; +import com.deepoove.poi.data.Pictures; +import com.yuanchu.mom.dto.FeTempHumDateDto; +import com.yuanchu.mom.dto.FeTempHumRecordDto; +import com.yuanchu.mom.pojo.FeTempHumDate; +import com.yuanchu.mom.mapper.FeTempHumDateMapper; +import com.yuanchu.mom.pojo.FeTempHumRecord; +import com.yuanchu.mom.service.FeTempHumDateService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.yuanchu.mom.service.FeTempHumRecordService; +import com.yuanchu.mom.utils.HackLoopTableRenderPolicy; +import com.yuanchu.mom.utils.DateImageUtil; +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.LocalDateTime; +import java.time.Month; +import java.time.format.DateTimeFormatter; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * <p> + * 璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-娓╂箍搴� 鍖哄煙 -鐖� 鏈嶅姟瀹炵幇绫� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-09 11:02:18 + */ +@Service +public class FeTempHumDateServiceImpl extends ServiceImpl<FeTempHumDateMapper, FeTempHumDate> implements FeTempHumDateService { + + @Autowired + private FeTempHumRecordService feTempHumRecordService; + + @Override + public IPage<FeTempHumDateDto> getFeTempHumDate(Page page) { + return baseMapper.getFeTempHumDate(page); + } + + @Override + public void exportTemperatureAndHumidityRecords(Integer dateId, HttpServletResponse response) { + FeTempHumDate feTempHumDate = baseMapper.selectById(dateId); + IPage<FeTempHumRecordDto> list = feTempHumRecordService.getFeTempHumRecordPage(new Page<>(1, -1), dateId); + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); + list.getRecords().forEach(i -> { + i.setMonth(i.getMorningTestTime().getMonth().getValue()); + i.setMorningTestTimeStr(i.getMorningTestTime().format(formatter)); + i.setAfternoonTimeStr(i.getAfternoonTime().format(formatter)); + }); + // 鑾峰彇璺緞 + InputStream inputStream = this.getClass().getResourceAsStream("/static/temp_hum_date.docx"); + Configure configure = Configure.builder() + .bind("recordList", new HackLoopTableRenderPolicy()) + .build(); + + HashMap<String, Object> map = new HashMap<>(); + map.put("testAreaName", feTempHumDate.getTestAreaName()); + map.put("experimentalYear", feTempHumDate.getMonthDate().getYear()); + map.put("experimentalMonth", feTempHumDate.getMonthDate().getMonth().getValue()); + + XWPFTemplate template = XWPFTemplate.compile(inputStream, configure).render( + new HashMap<String, Object>() {{ + put("feTempHum", map); + put("recordList", list.getRecords()); + }}); + + try { + response.setContentType("application/msword"); + String fileName = URLEncoder.encode( + "娓╂箍搴﹁褰曞鍑�", "UTF-8"); + response.setHeader("Content-disposition", + "attachment;filename=" + fileName + ".docx"); + OutputStream os = response.getOutputStream(); + template.write(os); + os.flush(); + os.close(); + } catch (Exception e) { + e.printStackTrace(); + throw new RuntimeException("瀵煎嚭澶辫触"); + } + } +} diff --git a/cnas-resource-require/src/main/java/com/yuanchu/mom/service/impl/FeTempHumRecordServiceImpl.java b/cnas-resource-require/src/main/java/com/yuanchu/mom/service/impl/FeTempHumRecordServiceImpl.java new file mode 100644 index 0000000..0730793 --- /dev/null +++ b/cnas-resource-require/src/main/java/com/yuanchu/mom/service/impl/FeTempHumRecordServiceImpl.java @@ -0,0 +1,27 @@ +package com.yuanchu.mom.service.impl; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yuanchu.mom.dto.FeTempHumRecordDto; +import com.yuanchu.mom.pojo.FeTempHumRecord; +import com.yuanchu.mom.mapper.FeTempHumRecordMapper; +import com.yuanchu.mom.service.FeTempHumRecordService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +/** + * <p> + * 璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-娓╂箍搴﹁褰� 鏈嶅姟瀹炵幇绫� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-07 04:28:52 + */ +@Service +public class FeTempHumRecordServiceImpl extends ServiceImpl<FeTempHumRecordMapper, FeTempHumRecord> implements FeTempHumRecordService { + + @Override + public IPage<FeTempHumRecordDto> getFeTempHumRecordPage(Page page, Integer dateId) { + return baseMapper.getFeTempHumRecordPage(page, dateId); + } +} diff --git a/cnas-resource-require/src/main/java/com/yuanchu/mom/service/impl/ForeignRegisterServiceImpl.java b/cnas-resource-require/src/main/java/com/yuanchu/mom/service/impl/ForeignRegisterServiceImpl.java new file mode 100644 index 0000000..a588e2c --- /dev/null +++ b/cnas-resource-require/src/main/java/com/yuanchu/mom/service/impl/ForeignRegisterServiceImpl.java @@ -0,0 +1,103 @@ +package com.yuanchu.mom.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.deepoove.poi.XWPFTemplate; +import com.deepoove.poi.config.Configure; +import com.deepoove.poi.data.Pictures; +import com.yuanchu.mom.common.GetLook; +import com.yuanchu.mom.dto.ForeignRegisterDto; +import com.yuanchu.mom.mapper.UserMapper; +import com.yuanchu.mom.pojo.ForeignRegister; +import com.yuanchu.mom.mapper.ForeignRegisterMapper; +import com.yuanchu.mom.service.ForeignRegisterService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.yuanchu.mom.utils.HackLoopTableRenderPolicy; +import com.yuanchu.mom.utils.DateImageUtil; +import com.yuanchu.mom.utils.QueryWrappers; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import java.io.InputStream; +import java.io.OutputStream; +import java.net.URLEncoder; +import java.util.HashMap; +import java.util.List; + +/** + * <p> + * 澶栨潵浜哄憳鐧昏 鏈嶅姟瀹炵幇绫� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-19 07:17:35 + */ +@Service +public class ForeignRegisterServiceImpl extends ServiceImpl<ForeignRegisterMapper, ForeignRegister> implements ForeignRegisterService { + @Resource + private UserMapper userMapper; + @Value("${file.path}") + private String imgUrl; + + /** + * 澶栨潵浜哄憳鐧昏鍒嗛〉鏌ヨ + * @param page + * @param foreignRegister + * @return + */ + @Override + public IPage<ForeignRegisterDto> pageForeignRegister(Page page, ForeignRegisterDto foreignRegister) { + String beginDate = foreignRegister.getBeginDate(); + String endDate = foreignRegister.getEndDate(); + foreignRegister.setBeginDate(null); + foreignRegister.setEndDate(null); + return baseMapper.pageForeignRegister(page, QueryWrappers.queryWrappers(foreignRegister), beginDate, endDate); + } + + /** + * 瀵煎嚭澶栨潵浜哄憳鐧昏 + * @param foreignRegister + */ + @Override + public void exportForeignRegister(ForeignRegisterDto foreignRegister, HttpServletResponse response) { + String beginDate = foreignRegister.getBeginDate(); + String endDate = foreignRegister.getEndDate(); + foreignRegister.setBeginDate(null); + foreignRegister.setEndDate(null); + List<ForeignRegisterDto> register = baseMapper.getForeignRegisterList(QueryWrappers.queryWrappers(foreignRegister), beginDate, endDate); + + for (ForeignRegisterDto foreignRegisterDto : register) { + // 娣诲姞鍗忓悓浜哄拰鎵瑰噯浜虹鍚� + foreignRegisterDto.setAccompanyingRender(StringUtils.isNotBlank(foreignRegisterDto.getAccompanyingUrl()) + ? Pictures.ofLocal(imgUrl + "/" + foreignRegisterDto.getAccompanyingUrl()).create() : null); + foreignRegisterDto.setApproveRender(StringUtils.isNotBlank(foreignRegisterDto.getApproveUrl()) + ? Pictures.ofLocal(imgUrl + "/" + foreignRegisterDto.getApproveUrl()).create() : null); + } + // 鑾峰彇璺緞 + InputStream inputStream = this.getClass().getResourceAsStream("/static/foreign-register.docx"); + Configure configure = Configure.builder() + .bind("register", new HackLoopTableRenderPolicy()) + .build(); + XWPFTemplate template = XWPFTemplate.compile(inputStream, configure).render( + new HashMap<String, Object>() {{ + put("register", register); + }}); + try { + response.setContentType("application/msword"); + String fileName = URLEncoder.encode( + "澶栨潵浜哄憳鐧昏", "UTF-8"); + response.setHeader("Content-disposition", + "attachment;filename=" + fileName + ".docx"); + OutputStream os = response.getOutputStream(); + template.write(os); + os.flush(); + os.close(); + } catch (Exception e) { + e.printStackTrace(); + throw new RuntimeException("瀵煎嚭澶辫触"); + } + } +} diff --git a/cnas-resource-require/src/main/java/com/yuanchu/mom/service/impl/InternalWastesDetailServiceImpl.java b/cnas-resource-require/src/main/java/com/yuanchu/mom/service/impl/InternalWastesDetailServiceImpl.java new file mode 100644 index 0000000..8f96cc1 --- /dev/null +++ b/cnas-resource-require/src/main/java/com/yuanchu/mom/service/impl/InternalWastesDetailServiceImpl.java @@ -0,0 +1,20 @@ +package com.yuanchu.mom.service.impl; + +import com.yuanchu.mom.pojo.InternalWastesDetail; +import com.yuanchu.mom.mapper.InternalWastesDetailMapper; +import com.yuanchu.mom.service.InternalWastesDetailService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +/** + * <p> + * 瀹夊叏鍐呭姟涓夊簾鐧昏璇︽儏 鏈嶅姟瀹炵幇绫� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-19 06:39:54 + */ +@Service +public class InternalWastesDetailServiceImpl extends ServiceImpl<InternalWastesDetailMapper, InternalWastesDetail> implements InternalWastesDetailService { + +} diff --git a/cnas-resource-require/src/main/java/com/yuanchu/mom/service/impl/InternalWastesServiceImpl.java b/cnas-resource-require/src/main/java/com/yuanchu/mom/service/impl/InternalWastesServiceImpl.java new file mode 100644 index 0000000..b858c2a --- /dev/null +++ b/cnas-resource-require/src/main/java/com/yuanchu/mom/service/impl/InternalWastesServiceImpl.java @@ -0,0 +1,173 @@ +package com.yuanchu.mom.service.impl; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.StringUtils; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.deepoove.poi.XWPFTemplate; +import com.deepoove.poi.config.Configure; +import com.yuanchu.mom.dto.InternalWastesDto; +import com.yuanchu.mom.pojo.InternalWastes; +import com.yuanchu.mom.mapper.InternalWastesMapper; +import com.yuanchu.mom.pojo.InternalWastesDetail; +import com.yuanchu.mom.service.InternalWastesDetailService; +import com.yuanchu.mom.service.InternalWastesService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.yuanchu.mom.utils.HackLoopTableRenderPolicy; +import com.yuanchu.mom.utils.DateImageUtil; +import com.yuanchu.mom.utils.QueryWrappers; +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.time.LocalDateTime; +import java.util.HashMap; +import java.util.List; + +/** + * <p> + * 瀹夊叏鍐呭姟涓夊簾鐧昏 鏈嶅姟瀹炵幇绫� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-19 06:39:27 + */ +@Service +@AllArgsConstructor +@Transactional(rollbackFor = Exception.class) +public class InternalWastesServiceImpl extends ServiceImpl<InternalWastesMapper, InternalWastes> implements InternalWastesService { + + private InternalWastesDetailService internalWastesDetailService; + + /** + * 瀹夊叏鍐呭姟涓夊簾鐧昏鍒嗛〉鏌ヨ + * @param page + * @param internalWastes + * @return + */ + @Override + public IPage<InternalWastesDto> pageInternalWastes(Page page, InternalWastes internalWastes) { + return baseMapper.pageInternalWastes(page, QueryWrappers.queryWrappers(internalWastes)); + } + + /** + * 瀹夊叏鍐呭姟涓夊簾鐧昏鏂板 + * @param internalWastes + * @return + */ + @Override + public boolean addInternalWastes(InternalWastesDto internalWastes) { + + baseMapper.insert(internalWastes); + // 鏂板璇︽儏 + for (InternalWastesDetail internalWastesDetail : internalWastes.getWastesDetailList()) { + internalWastesDetail.setWastesId(internalWastes.getWastesId()); + } + internalWastesDetailService.saveBatch(internalWastes.getWastesDetailList()); + return true; + } + + /** + * 瀹夊叏鍐呭姟涓夊簾鐧昏淇敼 + * @param internalWastes + * @return + */ + @Override + public boolean updateInternalWastes(InternalWastesDto internalWastes) { + baseMapper.updateById(internalWastes); + + // 鍒犻櫎涔嬪墠鐨勮鎯� + internalWastesDetailService.remove(Wrappers.<InternalWastesDetail>lambdaQuery() + .eq(InternalWastesDetail::getWastesId, internalWastes.getWastesId())); + + // 鏂板璇︽儏 + for (InternalWastesDetail internalWastesDetail : internalWastes.getWastesDetailList()) { + internalWastesDetail.setWastesId(internalWastes.getWastesId()); + } + internalWastesDetailService.saveBatch(internalWastes.getWastesDetailList()); + + return true; + } + + /** + * 瀹夊叏鍐呭姟涓夊簾鐧昏鍒犻櫎 + * @param WastesId + * @return + */ + @Override + public boolean delInternalWastes(Integer WastesId) { + internalWastesDetailService.remove(Wrappers.<InternalWastesDetail>lambdaQuery() + .eq(InternalWastesDetail::getWastesId, WastesId)); + baseMapper.deleteById(WastesId); + return true; + } + + /** + * 瀹夊叏鍐呭姟涓夊簾鐧昏鏌ョ湅璇︽儏 + * @param WastesId + * @return + */ + @Override + public InternalWastesDto getInternalWastesOne(Integer WastesId) { + InternalWastes internalWastes = baseMapper.selectById(WastesId); + InternalWastesDto internalWastesDto = new InternalWastesDto(); + BeanUtils.copyProperties(internalWastes, internalWastesDto); + + // 鏌ヨ璇︾粏淇℃伅 + internalWastesDto.setWastesDetailList(internalWastesDetailService.list(Wrappers.<InternalWastesDetail>lambdaQuery() + .eq(InternalWastesDetail::getWastesId, WastesId))); + return internalWastesDto; + } + + /** + * 瀵煎嚭涓夊簾澶勭悊 + * @param wastesId + * @param response + */ + @Override + public void exportInternalWastes(Integer wastesId, HttpServletResponse response) { + InternalWastes internalWastes = baseMapper.selectById(wastesId); + + List<InternalWastesDetail> wastesDetailList = internalWastesDetailService.list(Wrappers.<InternalWastesDetail>lambdaQuery() + .eq(InternalWastesDetail::getWastesId, wastesId)); + + int index = 1; + for (InternalWastesDetail detail : wastesDetailList) { + detail.setIndex(index); + index++; + } + + + // 鑾峰彇璺緞 + InputStream inputStream = this.getClass().getResourceAsStream("/static/internal-wastes.docx"); + Configure configure = Configure.builder() + .bind("wastesDetailList", new HackLoopTableRenderPolicy()) + .build(); + XWPFTemplate template = XWPFTemplate.compile(inputStream, configure).render( + new HashMap<String, Object>() {{ + put("remark", internalWastes.getRemark()); + put("wastesDetailList", wastesDetailList); + }}); + + try { + response.setContentType("application/msword"); + String fileName = URLEncoder.encode( + "瀹夊叏鍐呭姟涓夊簾澶勭悊", "UTF-8"); + response.setHeader("Content-disposition", + "attachment;filename=" + fileName + ".docx"); + OutputStream os = response.getOutputStream(); + template.write(os); + os.flush(); + os.close(); + } catch (Exception e) { + e.printStackTrace(); + throw new RuntimeException("瀵煎嚭澶辫触"); + } + + } +} diff --git a/cnas-resource-require/src/main/java/com/yuanchu/mom/vo/AcceptanceDetailsVo.java b/cnas-resource-require/src/main/java/com/yuanchu/mom/vo/AcceptanceDetailsVo.java new file mode 100644 index 0000000..c02fc17 --- /dev/null +++ b/cnas-resource-require/src/main/java/com/yuanchu/mom/vo/AcceptanceDetailsVo.java @@ -0,0 +1,23 @@ +package com.yuanchu.mom.vo; + +import com.yuanchu.mom.pojo.FeStandardSubstance; +import com.yuanchu.mom.pojo.FeStandardSubstanceAcceptance; +import com.yuanchu.mom.pojo.FeStandardSubstanceAcceptanceInspection; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.time.LocalDateTime; +import java.util.List; + +@Data +public class AcceptanceDetailsVo extends FeStandardSubstanceAcceptance { + + @ApiModelProperty("鐗╄川娓呭崟") + private FeStandardSubstance substance; + + @ApiModelProperty("楠屾敹鍗�") + private FeStandardSubstanceAcceptance acceptance; + + @ApiModelProperty("寮�绠辫褰�") + private List<FeStandardSubstanceAcceptanceInspection> list; +} diff --git a/cnas-resource-require/src/main/java/com/yuanchu/mom/vo/AcceptanceVo.java b/cnas-resource-require/src/main/java/com/yuanchu/mom/vo/AcceptanceVo.java new file mode 100644 index 0000000..f23ade7 --- /dev/null +++ b/cnas-resource-require/src/main/java/com/yuanchu/mom/vo/AcceptanceVo.java @@ -0,0 +1,47 @@ +package com.yuanchu.mom.vo; + +import com.yuanchu.mom.pojo.FeStandardSubstance; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.time.LocalDateTime; + +@Data +public class AcceptanceVo { + + @ApiModelProperty("妫�楠岃〃id") + private Integer id; + + @ApiModelProperty("鏍囧噯鐗╄川鍚嶇О") + private String name; + + @ApiModelProperty("瑙勬牸鍨嬪彿") + private String model; + + @ApiModelProperty("鐢熶骇鍘傚") + private String factoryManufacturer; + + @ApiModelProperty("鍑哄満缂栧彿") + private String factoryNum; + + @ApiModelProperty("绠$悊缂栧彿") + private String manageNum; + + @ApiModelProperty("涓嶇‘瀹氬害") + private String uncertainty; + + @ApiModelProperty("鏁伴噺") + private Long quantity; + + @ApiModelProperty("璐疆鏃ユ湡") + private LocalDateTime acquisitionDate; + + @ApiModelProperty("鏈夋晥鏈�") + private LocalDateTime effectiveDate; + + @ApiModelProperty("鏂囨。缂栧彿") + private String fileNum; + + @ApiModelProperty("瀛樻斁浣嶇疆") + private String position; +} diff --git a/cnas-resource-require/src/main/java/com/yuanchu/mom/vo/SubstanceRecordVo.java b/cnas-resource-require/src/main/java/com/yuanchu/mom/vo/SubstanceRecordVo.java new file mode 100644 index 0000000..a2fe984 --- /dev/null +++ b/cnas-resource-require/src/main/java/com/yuanchu/mom/vo/SubstanceRecordVo.java @@ -0,0 +1,46 @@ +package com.yuanchu.mom.vo; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.time.LocalDateTime; + +@Data +public class SubstanceRecordVo { + + @ApiModelProperty("id") + private Integer id; + + @ApiModelProperty("鏍囧噯鐗╄川鍚嶇О") + private String name; + + @ApiModelProperty("瑙勬牸鍨嬪彿") + private String model; + + @ApiModelProperty("鍑哄満缂栧彿") + private String factoryNum; + + @ApiModelProperty("鏁伴噺") + private Long quantity; + + @ApiModelProperty("棰嗙敤浜�") + private String borrowUser; + + @ApiModelProperty("鍊熷嚭鏃ユ湡") + private LocalDateTime borrowDate; + + @ApiModelProperty("褰掕繕鏃ユ湡") + private LocalDateTime returnDate; + + @ApiModelProperty("褰掕繕浜�") + private String returnedPerson; + + @ApiModelProperty("瀹屽ソ鎬�") + private String returnIntegrity; + + @ApiModelProperty("0锛氬�熺敤 1:褰掕繕") + private String status; + + @ApiModelProperty("澶囨敞") + private String remark; +} diff --git a/cnas-resource-require/src/main/resources/mapper/FeCalibrationScheduleMapper.xml b/cnas-resource-require/src/main/resources/mapper/FeCalibrationScheduleMapper.xml new file mode 100644 index 0000000..8ba39c4 --- /dev/null +++ b/cnas-resource-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.yuanchu.mom.mapper.FeCalibrationScheduleMapper"> + + <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 --> + <resultMap id="BaseResultMap" type="com.yuanchu.mom.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.yuanchu.mom.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> diff --git a/cnas-resource-require/src/main/resources/mapper/FeIlluminationDetectionAreaMapper.xml b/cnas-resource-require/src/main/resources/mapper/FeIlluminationDetectionAreaMapper.xml new file mode 100644 index 0000000..d425782 --- /dev/null +++ b/cnas-resource-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.yuanchu.mom.mapper.FeIlluminationDetectionAreaMapper"> + + <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 --> + <resultMap id="BaseResultMap" type="com.yuanchu.mom.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> diff --git a/cnas-resource-require/src/main/resources/mapper/FeIlluminationMapper.xml b/cnas-resource-require/src/main/resources/mapper/FeIlluminationMapper.xml new file mode 100644 index 0000000..068fb01 --- /dev/null +++ b/cnas-resource-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.yuanchu.mom.mapper.FeIlluminationMapper"> + + <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 --> + <resultMap id="BaseResultMap" type="com.yuanchu.mom.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.yuanchu.mom.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.yuanchu.mom.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> diff --git a/cnas-resource-require/src/main/resources/mapper/FeLightningProtectionMapper.xml b/cnas-resource-require/src/main/resources/mapper/FeLightningProtectionMapper.xml new file mode 100644 index 0000000..ed10676 --- /dev/null +++ b/cnas-resource-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.yuanchu.mom.mapper.FeLightningProtectionMapper"> + + <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 --> + <resultMap id="BaseResultMap" type="com.yuanchu.mom.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.yuanchu.mom.excel.FeLightningProtectionExcel"> + select * from cnas_fe_lightning_protection + </select> +</mapper> diff --git a/cnas-resource-require/src/main/resources/mapper/FeMeasuredQuantityMapper.xml b/cnas-resource-require/src/main/resources/mapper/FeMeasuredQuantityMapper.xml new file mode 100644 index 0000000..46bc435 --- /dev/null +++ b/cnas-resource-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.yuanchu.mom.mapper.FeMeasuredQuantityMapper"> + + <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 --> + <resultMap id="BaseResultMap" type="com.yuanchu.mom.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> diff --git a/cnas-resource-require/src/main/resources/mapper/FePowerStableMapper.xml b/cnas-resource-require/src/main/resources/mapper/FePowerStableMapper.xml new file mode 100644 index 0000000..41e795b --- /dev/null +++ b/cnas-resource-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.yuanchu.mom.mapper.FePowerStableMapper"> + + <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 --> + <resultMap id="BaseResultMap" type="com.yuanchu.mom.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.yuanchu.mom.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.yuanchu.mom.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> diff --git a/cnas-resource-require/src/main/resources/mapper/FeStandardSubstanceAcceptanceInspectionMapper.xml b/cnas-resource-require/src/main/resources/mapper/FeStandardSubstanceAcceptanceInspectionMapper.xml new file mode 100644 index 0000000..d56e37f --- /dev/null +++ b/cnas-resource-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.yuanchu.mom.mapper.FeStandardSubstanceAcceptanceInspectionMapper"> + + <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 --> + <resultMap id="BaseResultMap" type="com.yuanchu.mom.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> diff --git a/cnas-resource-require/src/main/resources/mapper/FeStandardSubstanceAcceptanceMapper.xml b/cnas-resource-require/src/main/resources/mapper/FeStandardSubstanceAcceptanceMapper.xml new file mode 100644 index 0000000..93c1d76 --- /dev/null +++ b/cnas-resource-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.yuanchu.mom.mapper.FeStandardSubstanceAcceptanceMapper"> + + <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 --> + <resultMap id="BaseResultMap" type="com.yuanchu.mom.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.yuanchu.mom.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> diff --git a/cnas-resource-require/src/main/resources/mapper/FeStandardSubstanceMapper.xml b/cnas-resource-require/src/main/resources/mapper/FeStandardSubstanceMapper.xml new file mode 100644 index 0000000..842126d --- /dev/null +++ b/cnas-resource-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.yuanchu.mom.mapper.FeStandardSubstanceMapper"> + + <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 --> + <resultMap id="BaseResultMap" type="com.yuanchu.mom.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.yuanchu.mom.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> diff --git a/cnas-resource-require/src/main/resources/mapper/FeStandardSubstanceRecordMapper.xml b/cnas-resource-require/src/main/resources/mapper/FeStandardSubstanceRecordMapper.xml new file mode 100644 index 0000000..3ca6aef --- /dev/null +++ b/cnas-resource-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.yuanchu.mom.mapper.FeStandardSubstanceRecordMapper"> + + <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 --> + <resultMap id="BaseResultMap" type="com.yuanchu.mom.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.yuanchu.mom.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> diff --git a/cnas-resource-require/src/main/resources/mapper/FeTempHumDateMapper.xml b/cnas-resource-require/src/main/resources/mapper/FeTempHumDateMapper.xml new file mode 100644 index 0000000..8fa9edc --- /dev/null +++ b/cnas-resource-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.yuanchu.mom.mapper.FeTempHumDateMapper"> + + <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 --> + <resultMap id="BaseResultMap" type="com.yuanchu.mom.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.yuanchu.mom.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> diff --git a/cnas-resource-require/src/main/resources/mapper/FeTempHumRecordMapper.xml b/cnas-resource-require/src/main/resources/mapper/FeTempHumRecordMapper.xml new file mode 100644 index 0000000..f029b37 --- /dev/null +++ b/cnas-resource-require/src/main/resources/mapper/FeTempHumRecordMapper.xml @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.yuanchu.mom.mapper.FeTempHumRecordMapper"> + + <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 --> + <resultMap id="BaseResultMap" type="com.yuanchu.mom.pojo.FeTempHumRecord"> + <id column="temp_hum_id" property="tempHumId" /> + <result column="test_area_name" property="testAreaName" /> + <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="afternoon_recorder" property="afternoonRecorder" /> + <result column="note" property="note" /> + </resultMap> + + <select id="getFeTempHumRecordPage" resultType="com.yuanchu.mom.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> diff --git a/cnas-resource-require/src/main/resources/mapper/ForeignRegisterMapper.xml b/cnas-resource-require/src/main/resources/mapper/ForeignRegisterMapper.xml new file mode 100644 index 0000000..428d593 --- /dev/null +++ b/cnas-resource-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.yuanchu.mom.mapper.ForeignRegisterMapper"> + + <!-- 澶栨潵浜哄憳鐧昏鍒嗛〉鏌ヨ --> + <select id="pageForeignRegister" resultType="com.yuanchu.mom.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.yuanchu.mom.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> diff --git a/cnas-resource-require/src/main/resources/mapper/InternalWastesDetailMapper.xml b/cnas-resource-require/src/main/resources/mapper/InternalWastesDetailMapper.xml new file mode 100644 index 0000000..d42a6bf --- /dev/null +++ b/cnas-resource-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.yuanchu.mom.mapper.InternalWastesDetailMapper"> + + +</mapper> diff --git a/cnas-resource-require/src/main/resources/mapper/InternalWastesMapper.xml b/cnas-resource-require/src/main/resources/mapper/InternalWastesMapper.xml new file mode 100644 index 0000000..e9cc9d5 --- /dev/null +++ b/cnas-resource-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.yuanchu.mom.mapper.InternalWastesMapper"> + + <!-- 瀹夊叏鍐呭姟涓夊簾鐧昏鍒楄〃 --> + <select id="pageInternalWastes" resultType="com.yuanchu.mom.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> diff --git a/cnas-resource-require/src/main/resources/static/foreign-register.docx b/cnas-resource-require/src/main/resources/static/foreign-register.docx new file mode 100644 index 0000000..ca6eed5 --- /dev/null +++ b/cnas-resource-require/src/main/resources/static/foreign-register.docx Binary files differ diff --git a/cnas-resource-require/src/main/resources/static/illumination.docx b/cnas-resource-require/src/main/resources/static/illumination.docx new file mode 100644 index 0000000..58311e0 --- /dev/null +++ b/cnas-resource-require/src/main/resources/static/illumination.docx Binary files differ diff --git a/cnas-resource-require/src/main/resources/static/internal-wastes.docx b/cnas-resource-require/src/main/resources/static/internal-wastes.docx new file mode 100644 index 0000000..b4bc955 --- /dev/null +++ b/cnas-resource-require/src/main/resources/static/internal-wastes.docx Binary files differ diff --git a/cnas-resource-require/src/main/resources/static/power-stable.docx b/cnas-resource-require/src/main/resources/static/power-stable.docx new file mode 100644 index 0000000..69fe3b1 --- /dev/null +++ b/cnas-resource-require/src/main/resources/static/power-stable.docx Binary files differ diff --git a/cnas-resource-require/src/main/resources/static/temp_hum_date.docx b/cnas-resource-require/src/main/resources/static/temp_hum_date.docx new file mode 100644 index 0000000..e88b4f0 --- /dev/null +++ b/cnas-resource-require/src/main/resources/static/temp_hum_date.docx Binary files differ diff --git a/framework/src/main/java/com/yuanchu/mom/annotation/CustomClazzName.java b/framework/src/main/java/com/yuanchu/mom/annotation/CustomClazzName.java new file mode 100644 index 0000000..a18e75d --- /dev/null +++ b/framework/src/main/java/com/yuanchu/mom/annotation/CustomClazzName.java @@ -0,0 +1,17 @@ +package com.yuanchu.mom.annotation; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + + +@Retention(RetentionPolicy.RUNTIME) +@Target({ElementType.TYPE, ElementType.METHOD}) +public @interface CustomClazzName { + + String name() default ""; + + int index() default 0; + +} diff --git a/framework/src/main/java/com/yuanchu/mom/utils/GiveCode.java b/framework/src/main/java/com/yuanchu/mom/utils/GiveCode.java index 54eaa1d..d539429 100644 --- a/framework/src/main/java/com/yuanchu/mom/utils/GiveCode.java +++ b/framework/src/main/java/com/yuanchu/mom/utils/GiveCode.java @@ -17,11 +17,7 @@ String date = LocalDate.now().format(DateTimeFormatter.ofPattern("yyyyMMdd")); String date2 = LocalDate.now().format(DateTimeFormatter.ofPattern(patten)); int num; - if (tableName.equals("ins_order")) { - num = systemLogMapper.countRowsByNow2(tableName, LocalDate.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd"))) + 1; - } else { - num = systemLogMapper.countRowsByNow(tableName, LocalDate.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd"))) + 1; - } + num = systemLogMapper.countRowsByNow(tableName, LocalDate.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd"))) + 1; String nums = num + ""; if (nums.length() == 1) nums = "00" + num; else if (nums.length() == 2) nums = "0" + num; @@ -29,29 +25,14 @@ } //妫�楠屽崟濮旀墭鍗曞彿鐨勭敓鎴愯鍒� - public String giveCode2(String code, Long companyId, String laboratory, String tableName, String symbol, String patten) { + public String giveCode2(String code, String tableName, String symbol, String patten) { String date = LocalDate.now().format(DateTimeFormatter.ofPattern("yyyyMMdd")); String date2 = LocalDate.now().format(DateTimeFormatter.ofPattern(patten)); int num; - num = systemLogMapper.countRowsByNow3(tableName, companyId, laboratory, LocalDate.now().format(DateTimeFormatter.ofPattern("yyyy-MM"))) + 1; + num = systemLogMapper.countRowsByNow2(tableName, LocalDate.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd"))) + 1; String nums = num + ""; if (nums.length() == 1) nums = "00" + num; else if (nums.length() == 2) nums = "0" + num; return code + (date2 == null ? date : date2) + symbol + nums; } - - //妫�楠屽崟鐢熸垚澶栭儴濮旀墭缂栧彿鐨勮鍒� - public String giveCode3(String code, Long companyId, String laboratory, String tableName, String symbol, String patten) { - String date = LocalDate.now().format(DateTimeFormatter.ofPattern("yyyyMMdd")); - String date2 = LocalDate.now().format(DateTimeFormatter.ofPattern(patten)); - int num; - num = systemLogMapper.countRowsByNow4(tableName, companyId, laboratory, LocalDate.now().format(DateTimeFormatter.ofPattern("yyyy-MM"))) + 1; - String nums = num + ""; - if (nums.length() == 1) nums = "0000" + num; - else if (nums.length() == 2) nums = "000" + num; - else if (nums.length() == 3) nums = "00" + num; - else if (nums.length() == 4) nums = "0" + num; - return code + (date2 == null ? date : date2) + symbol + nums; - } - } diff --git a/framework/src/main/java/com/yuanchu/mom/utils/QYWXApi.java b/framework/src/main/java/com/yuanchu/mom/utils/QYWXApi.java new file mode 100644 index 0000000..ff6e615 --- /dev/null +++ b/framework/src/main/java/com/yuanchu/mom/utils/QYWXApi.java @@ -0,0 +1,67 @@ +package com.yuanchu.mom.utils; + +import cn.hutool.http.HttpRequest; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.yuanchu.mom.exception.ErrorException; +import com.yuanchu.mom.vo.Result; +import lombok.Data; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; +import java.util.HashMap; +import java.util.Map; + +@Data +@Slf4j +@Component +//浼佷笟寰俊瀵规帴鎺ュ彛 +public class QYWXApi { + + + public static final String WWA_423654_B_975441_AC = "wwa423654b975441ac"; + final String ip = "https://qyapi.weixin.qq.com/"; + final String corpid = WWA_423654_B_975441_AC; + final String corpsecret = "rQ1_ddKBVW5qVSMNK_p0EnR3Z2OHrAMxGahBKTKWYxE"; + + + /** + * 浼佷笟寰俊鑾峰彇token + * + * @return + */ + public String getToken() { + try { + Map<String, Object> map = new HashMap<>(); + map.put("corpid", corpid); + map.put("corpsecret", corpsecret); + String result = HttpRequest.get(ip + "cgi-bin/gettoken") + .contentType("application/x-www-form-urlencoded") + .form(map).execute().body(); + JSONObject jsonObject = JSONObject.parseObject(result); + return jsonObject.getString("access_token"); + } catch (Exception e) { + throw new RuntimeException("token鑾峰彇寮傚父"); + } + } + + /** + * 鍙戦�佸簲鐢ㄥ崱鐗囨秷鎭� + * + * @param map + * @return + */ + public void send(Map map) { + try { + String result = HttpRequest.post(ip + "cgi-bin/message/send?access_token=" + getToken()) + .contentType("application/json") + .body(JSONArray.toJSONString(map)).execute().body(); + JSONObject jsonObject = JSONObject.parseObject(result); + if (jsonObject.getInteger("errcode") == 0) { + } else { + throw new ErrorException("浼佷笟寰俊鎺ㄩ�佹秷鎭け璐�" + jsonObject.getString("errmsg")); + } + } catch (Exception e) { + throw new ErrorException("浼佷笟寰俊鎺ㄩ�佹秷鎭け璐�,鑾峰彇寮傚父:" + e.getMessage()); + } + } +} diff --git a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderServiceImpl.java b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderServiceImpl.java index cd15ba1..6f0e46d 100644 --- a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderServiceImpl.java +++ b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderServiceImpl.java @@ -7,8 +7,6 @@ import com.alibaba.excel.ExcelWriter; import com.alibaba.excel.write.metadata.WriteSheet; import com.alibaba.excel.write.style.column.SimpleColumnWidthStyleStrategy; -import com.alibaba.fastjson.JSON; -import com.alibaba.fastjson.JSONArray; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; @@ -22,15 +20,11 @@ import com.yuanchu.mom.mapper.*; import com.yuanchu.mom.pojo.*; import com.yuanchu.mom.service.InformationNotificationService; -import com.yuanchu.mom.service.InsOrderPlanService; import com.yuanchu.mom.service.InsOrderService; -import com.yuanchu.mom.service.InsProductService; import com.yuanchu.mom.utils.GiveCode; import com.yuanchu.mom.utils.QYWXApi; import com.yuanchu.mom.utils.QueryWrappers; import com.yuanchu.mom.vo.SampleDefectsFatherVo; -import lombok.AllArgsConstructor; -import org.apache.commons.lang3.StringUtils; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; @@ -44,7 +38,6 @@ import java.math.BigDecimal; import java.math.RoundingMode; import java.net.URLEncoder; -import java.time.LocalDate; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.util.*; -- Gitblit v1.9.3