From 80773499c1cdf8d774fdf728df72da5ea00804f5 Mon Sep 17 00:00:00 2001 From: zss <zss@example.com> Date: 星期一, 03 三月 2025 14:20:02 +0800 Subject: [PATCH] 完成8体系管理要求 --- cnas-manage/src/main/java/com/ruoyi/manage/pojo/InternalMeetingDetail.java | 53 basic-server/src/main/resources/mapper/StandardProductListMapper.xml | 10 cnas-manage/src/main/java/com/ruoyi/manage/service/impl/ManageRecordAuditServiceImpl.java | 670 + basic-server/src/main/resources/mapper/StructureTestObjectPartMapper.xml | 2 performance-server/src/main/java/com/ruoyi/performance/service/impl/AuxiliaryOriginalHoursServiceImpl.java | 4 basic-server/src/main/java/com/ruoyi/inspect/service/StandardProductListService2.java | 13 cnas-manage/src/main/resources/mapper/ManageRecordCancelMapper.xml | 34 cnas-manage/src/main/java/com/ruoyi/manage/vo/MeetingParticipantsDetailsVo.java | 15 cnas-manage/src/main/java/com/ruoyi/manage/pojo/InternalCheck.java | 80 basic-server/src/main/java/com/ruoyi/inspect/dto/SampleDto.java | 23 cnas-manage/src/main/java/com/ruoyi/manage/pojo/ManageDocumentIssueRecycle.java | 107 performance-server/src/main/java/com/ruoyi/performance/service/impl/AuxiliaryCorrectionHoursServiceImpl.java | 5 cnas-manage/src/main/java/com/ruoyi/manage/mapper/ManageRecordCancelMapper.java | 21 cnas-manage/src/main/java/com/ruoyi/manage/controller/ManageRecordIssueRecycleController.java | 67 inspect-server/pom.xml | 36 basic-server/src/main/resources/mapper/StandardMethodMapper.xml | 6 cnas-manage/src/main/java/com/ruoyi/manage/pojo/ManageRecordIntervals.java | 61 basic-server/src/main/java/com/ruoyi/inspect/controller/CapacityScopeController.java | 393 + cnas-manage/src/main/resources/mapper/ManageRecordAuditMapper.xml | 50 cnas-manage/src/main/java/com/ruoyi/manage/pojo/InternalImplement.java | 107 basic-server/src/main/resources/mapper/ProductPartMapper.xml | 2 cnas-manage/src/main/java/com/ruoyi/manage/mapper/ManageDocumentIssueRecycleMapper.java | 24 cnas-manage/src/main/resources/mapper/ClientSatisfactionAnalyseFileMapper.xml | 18 inspect-server/src/main/java/com/ruoyi/inspect/util/UserUtils.java | 90 cnas-manage/src/main/java/com/ruoyi/manage/service/ManageControlPlanListService.java | 24 cnas-manage/src/main/java/com/ruoyi/manage/service/ManageDocumentListService.java | 29 cnas-manage/src/main/java/com/ruoyi/manage/pojo/ManageRecordTotal.java | 74 cnas-manage/src/main/java/com/ruoyi/manage/mapper/ManageMeetingMapper.java | 22 cnas-manage/src/main/java/com/ruoyi/manage/service/InternalPlanDetailService.java | 16 basic-server/src/main/java/com/ruoyi/inspect/dto/IfsInventoryQuantitySupplierDto.java | 124 basic-server/src/main/java/com/ruoyi/inspect/service/impl/CapacityScopeServiceImpl.java | 185 basic-server/src/main/java/com/ruoyi/inspect/service/impl/ProductSupplierDensityServiceImpl.java | 64 cnas-manage/src/main/java/com/ruoyi/manage/controller/ManageRecordAuditController.java | 83 cnas-manage/src/main/java/com/ruoyi/manage/service/ManageReviewReportService.java | 24 basic-server/src/main/java/com/ruoyi/inspect/controller/StandardTreeController.java | 276 cnas-manage/src/main/resources/lib/aspose-words-15.12.0-jdk16.jar | 0 basic-server/src/main/java/com/ruoyi/inspect/pojo/StructureItemParameter.java | 121 cnas-manage/src/main/java/com/ruoyi/manage/mapper/ManageReviewProgramMapper.java | 21 cnas-manage/src/main/java/com/ruoyi/manage/mapper/InternalReportMapper.java | 28 cnas-manage/src/main/java/com/ruoyi/manage/dto/ManageMeetingParticipantsDto.java | 21 cnas-manage/src/main/resources/mapper/InternalPlanDetailMapper.xml | 6 cnas-manage/src/main/resources/static/internal-check.docx | 0 cnas-manage/src/main/java/com/ruoyi/manage/service/impl/InternalPlanDetailServiceImpl.java | 20 cnas-manage/src/main/java/com/ruoyi/manage/controller/ManageDocumentControlledController.java | 72 cnas-manage/src/main/java/com/ruoyi/manage/mapper/ManageRecordIntervalsMapper.java | 21 cnas-manage/src/main/java/com/ruoyi/manage/service/impl/ManageRiskAssessmentResultsServiceImpl.java | 124 basic-server/src/main/java/com/ruoyi/inspect/excel/StructureTestObjectData.java | 25 basic-server/src/main/java/com/ruoyi/inspect/mapper/StandardTemplateMapper.java | 32 cnas-manage/src/main/java/com/ruoyi/manage/service/InternalPlanService.java | 77 cnas-manage/src/main/java/com/ruoyi/manage/service/impl/InternalPlanServiceImpl.java | 252 cnas-manage/src/main/java/com/ruoyi/manage/service/impl/ManageDocumentIssueRecycleServiceImpl.java | 197 cnas-manage/src/main/resources/mapper/ManageReviewProgramFileMapper.xml | 17 pom.xml | 37 basic-server/src/main/java/com/ruoyi/inspect/excel/StructureTestObjectListener.java | 38 basic-server/src/main/resources/mapper/ProductSupplierDensityMapper.xml | 2 cnas-manage/src/main/java/com/ruoyi/manage/controller/ManageReviewProgramController.java | 66 cnas-manage/src/main/java/com/ruoyi/manage/dto/InternalMeetingDto.java | 22 cnas-manage/src/main/resources/mapper/ManageRecordVerifyMapper.xml | 23 basic-server/src/main/java/com/ruoyi/inspect/service/ProductSupplierDensityService.java | 22 basic-server/src/main/java/com/ruoyi/inspect/mapper/StandardMethodMapper.java | 26 cnas-manage/src/main/java/com/ruoyi/manage/service/InternalCorrectFileService.java | 16 cnas-manage/src/main/java/com/ruoyi/manage/mapper/InternalMeetingDetailMapper.java | 16 basic-server/src/main/java/com/ruoyi/inspect/service/ProductPartService.java | 14 cnas-manage/src/main/java/com/ruoyi/manage/controller/InternalImplementController.java | 107 cnas-manage/src/main/java/com/ruoyi/manage/service/ManageRecordIntervalsService.java | 31 basic-server/src/main/java/com/ruoyi/inspect/service/StandardTemplateService.java | 34 cnas-manage/src/main/java/com/ruoyi/manage/pojo/InternalMeeting.java | 56 cnas-manage/src/main/java/com/ruoyi/manage/vo/ManageRiskAssessmentResultsVo.java | 21 cnas-manage/src/main/java/com/ruoyi/manage/service/InternalCheckService.java | 69 basic-server/src/main/java/com/ruoyi/inspect/mapper/IfsInventoryQuantityMapper.java | 42 cnas-manage/src/main/resources/static/check-deal.docx | 0 cnas-manage/src/main/resources/mapper/ManageControlPlanListMapper.xml | 33 cnas-manage/src/main/java/com/ruoyi/manage/service/impl/InternalImplementDetailServiceImpl.java | 19 cnas-manage/src/main/java/com/ruoyi/manage/service/impl/ManageMeetingParticipantsServiceImpl.java | 42 basic-server/src/main/java/com/ruoyi/inspect/service/StandardMethodListService.java | 28 cnas-manage/src/main/java/com/ruoyi/manage/service/impl/ManageReviewReportServiceImpl.java | 141 cnas-manage/src/main/resources/static/customer-satisfaction-questionnaire.docx | 0 cnas-manage/src/main/java/com/ruoyi/manage/dto/ClientSatisfactionDto.java | 50 cnas-manage/src/main/java/com/ruoyi/manage/mapper/InternalCorrectMapper.java | 23 basic-server/src/main/java/com/ruoyi/inspect/pojo/InsSample1.java | 123 cnas-manage/src/main/resources/mapper/ManageDocumentControlledMapper.xml | 42 cnas-manage/src/main/resources/mapper/ManageRecordIntervalsTotalMapper.xml | 33 basic-server/src/main/java/com/ruoyi/inspect/service/impl/StandardProductListSupplierAskServiceImpl.java | 79 cnas-manage/src/main/java/com/ruoyi/manage/mapper/InternalMeetingMapper.java | 27 cnas-manage/src/main/java/com/ruoyi/manage/service/impl/ManageMeetingServiceImpl.java | 157 cnas-manage/src/main/java/com/ruoyi/manage/service/impl/ManageReviewProgramServiceImpl.java | 121 basic-server/src/main/java/com/ruoyi/inspect/service/CapacityScopeService.java | 46 basic-server/src/main/java/com/ruoyi/inspect/dto/CopyStandardProductListDto.java | 23 cnas-manage/src/main/resources/mapper/ManageDocumentCancelMapper.xml | 44 basic-server/src/main/java/com/ruoyi/inspect/dto/SampleTypeDto.java | 29 basic-server/src/main/java/com/ruoyi/inspect/service/StandardProductListSupplierAskService.java | 23 cnas-manage/src/main/java/com/ruoyi/manage/schedule/ManageRecordTotalSchedule.java | 36 cnas-manage/src/main/java/com/ruoyi/manage/mapper/ManageRecordIssueRecycleMapper.java | 21 cnas-manage/src/main/java/com/ruoyi/manage/mapper/ManageDocumentListMapper.java | 22 cnas-manage/src/main/java/com/ruoyi/manage/controller/ManageRiskAssessmentResultsController.java | 133 cnas-manage/src/main/resources/mapper/ManageRiskAssessmentResultsMapper.xml | 38 ruoyi-framework/src/main/java/com/ruoyi/framework/exception/ErrorException.java | 9 ruoyi-common/src/main/java/com/ruoyi/common/utils/DateImageUtil.java | 61 basic-server/src/main/resources/mapper/StructureItemParameterMapper.xml | 6 cnas-manage/pom.xml | 37 basic-server/src/main/java/com/ruoyi/inspect/controller/SealController.java | 48 basic-server/src/main/java/com/ruoyi/inspect/pojo/ProductSupplierDensity.java | 57 basic-server/src/main/java/com/ruoyi/inspect/service/impl/StandardMethodListServiceImpl.java | 150 basic-server/src/main/java/com/ruoyi/inspect/dto/ProductDto.java | 11 cnas-manage/src/main/java/com/ruoyi/manage/pojo/InternalCheckDetail.java | 63 cnas-manage/src/main/resources/static/internal-plan.docx | 0 cnas-manage/src/main/java/com/ruoyi/manage/mapper/InternalPlanMapper.java | 30 basic-server/src/main/java/com/ruoyi/inspect/controller/StandardMethodController.java | 59 cnas-manage/src/main/java/com/ruoyi/manage/pojo/ManageRecordVerify.java | 60 cnas-manage/src/main/resources/mapper/ManageRecordTotalMapper.xml | 32 cnas-manage/src/main/java/com/ruoyi/manage/service/impl/ManageRecordIntervalsTotalServiceImpl.java | 499 + cnas-manage/src/main/java/com/ruoyi/manage/mapper/ManageRecordIntervalsTotalMapper.java | 21 cnas-manage/src/main/java/com/ruoyi/manage/controller/ManageMeetingParticipantsController.java | 51 cnas-manage/src/main/java/com/ruoyi/manage/controller/ManageRecordIntervalsController.java | 69 cnas-manage/src/main/java/com/ruoyi/manage/service/impl/InternalReportServiceImpl.java | 157 basic-server/src/main/java/com/ruoyi/inspect/pojo/Product.java | 57 basic-server/src/main/java/com/ruoyi/inspect/pojo/Seal.java | 43 basic-server/src/main/resources/mapper/ProductMapper.xml | 4 cnas-manage/src/main/resources/static/risk-factor-identification-risk.docx | 0 cnas-manage/src/main/java/com/ruoyi/manage/pojo/ManageRecordIntervalsTotal.java | 74 cnas-manage/src/main/java/com/ruoyi/manage/vo/ManageControlPlanListVo.java | 20 cnas-manage/src/main/java/com/ruoyi/manage/service/InternalImplementService.java | 69 cnas-manage/src/main/resources/static/intervals-deal.docx | 0 basic-server/src/main/java/com/ruoyi/inspect/dto/FactoryDto.java | 18 cnas-manage/src/main/java/com/ruoyi/manage/pojo/InternalCorrect.java | 115 basic-server/src/main/java/com/ruoyi/inspect/dto/ProductDTO1.java | 16 performance-server/src/main/java/com/ruoyi/performance/service/impl/AuxiliaryWorkingHoursDayServiceImpl.java | 4 cnas-manage/src/main/java/com/ruoyi/manage/controller/ManageRecordVerifyController.java | 60 basic-server/src/main/java/com/ruoyi/inspect/controller/StructureTestObjectPartController.java | 59 cnas-manage/src/main/java/com/ruoyi/manage/mapper/ManageRecordVerifyMapper.java | 22 cnas-manage/src/main/java/com/ruoyi/manage/service/InternalReportService.java | 47 cnas-manage/src/main/resources/mapper/InternalPlanMapper.xml | 14 cnas-manage/src/main/java/com/ruoyi/manage/service/ManageRecordIssueRecycleService.java | 31 cnas-manage/src/main/resources/mapper/InternalMeetingDetailMapper.xml | 6 cnas-manage/src/main/java/com/ruoyi/manage/mapper/ManageReviewReportMapper.java | 21 basic-server/src/main/resources/mapper/StandardTemplateMapper.xml | 6 basic-server/src/main/java/com/ruoyi/inspect/service/CertificationService.java | 17 ruoyi-system/src/main/resources/mapper/system/UserMapper.xml | 63 cnas-manage/src/main/java/com/ruoyi/manage/controller/ManageDocumentListController.java | 69 cnas-manage/src/main/java/com/ruoyi/manage/controller/ManageRecordIntervalsTotalController.java | 50 cnas-manage/src/main/java/com/ruoyi/manage/excel/ManageDocumentListListener.java | 40 cnas-manage/src/main/java/com/ruoyi/manage/mapper/InternalCheckDetailMapper.java | 17 cnas-manage/src/main/java/com/ruoyi/manage/service/ManageReviewProgramService.java | 25 cnas-manage/src/main/java/com/ruoyi/manage/dto/InternalCheckDto.java | 19 basic-server/src/main/java/com/ruoyi/inspect/service/impl/StandardTemplateServiceImpl.java | 130 cnas-manage/src/main/resources/static/internal-implement.docx | 0 cnas-manage/src/main/java/com/ruoyi/manage/service/ManageMeetingService.java | 28 basic-server/src/main/java/com/ruoyi/inspect/service/ProductService.java | 28 cnas-manage/src/main/java/com/ruoyi/manage/mapper/ManageMeetingParticipantsMapper.java | 16 cnas-manage/src/main/java/com/ruoyi/manage/service/impl/ManageReviewProgramFileServiceImpl.java | 76 cnas-manage/src/main/java/com/ruoyi/manage/service/ManageRiskAssessmentResultsService.java | 24 cnas-manage/src/main/java/com/ruoyi/manage/controller/ClientSatisfactionController.java | 134 basic-server/src/main/java/com/ruoyi/inspect/service/StandardMethodService.java | 30 cnas-manage/src/main/resources/static/review-program.docx | 0 cnas-manage/src/main/resources/static/internal-report.docx | 0 cnas-manage/src/main/resources/mapper/ManageRecordIntervalsMapper.xml | 27 performance-server/src/main/java/com/ruoyi/performance/mapper/AuxiliaryCorrectionHoursMapper.java | 2 cnas-manage/src/main/java/com/ruoyi/manage/dto/InternalMeetingParticipantDto.java | 32 cnas-manage/src/main/java/com/ruoyi/manage/mapper/ManageControlPlanListMapper.java | 21 cnas-manage/src/main/java/com/ruoyi/manage/pojo/ManageRiskAssessmentResults.java | 103 basic-server/src/main/java/com/ruoyi/inspect/service/impl/StructureTestObjectPartServiceImpl.java | 75 cnas-manage/src/main/java/com/ruoyi/manage/service/impl/InternalCheckServiceImpl.java | 232 cnas-manage/src/main/resources/static/audit-deal.docx | 0 basic-server/src/main/resources/mapper/IfsInventoryQuantityMapper.xml | 2 basic-server/src/main/java/com/ruoyi/inspect/dto/ResetTreeDragDTO.java | 26 basic-server/src/main/java/com/ruoyi/inspect/service/StandardProductListService.java | 67 basic-server/src/main/java/com/ruoyi/inspect/service/impl/StructureTestObjectServiceImpl.java | 19 cnas-manage/src/main/java/com/ruoyi/manage/controller/ManageDocumentCancelController.java | 74 cnas-manage/src/main/java/com/ruoyi/manage/pojo/ManageReviewReport.java | 102 cnas-manage/src/main/java/com/ruoyi/manage/controller/ManageMeetingController.java | 64 cnas-manage/src/main/java/com/ruoyi/manage/mapper/ManageDocumentCancelMapper.java | 23 cnas-manage/src/main/java/com/ruoyi/manage/mapper/InternalImplementDetailMapper.java | 17 cnas-manage/src/main/java/com/ruoyi/manage/service/impl/InternalImplementServiceImpl.java | 231 cnas-manage/src/main/resources/mapper/ManageDocumentIssueRecycleMapper.xml | 54 basic-server/src/main/java/com/ruoyi/inspect/controller/CertificationController.java | 41 cnas-manage/src/main/java/com/ruoyi/manage/pojo/ManageReviewProgramFile.java | 50 cnas-manage/src/main/java/com/ruoyi/manage/service/ManageRecordAuditService.java | 30 cnas-manage/src/main/java/com/ruoyi/manage/mapper/ManageRiskAssessmentResultsMapper.java | 21 ruoyi-admin/src/main/resources/application-druid.yml | 20 cnas-manage/src/main/java/com/ruoyi/manage/service/ClientSatisfactionService.java | 59 cnas-manage/src/main/java/com/ruoyi/manage/service/InternalImplementDetailService.java | 15 cnas-manage/src/main/resources/static/internal-correct.docx | 0 cnas-manage/src/main/java/com/ruoyi/manage/service/InternalMeetingService.java | 63 basic-server/src/main/resources/mapper/StandardMethodListMapper.xml | 14 performance-server/src/main/java/com/ruoyi/performance/mapper/AuxiliaryWorkingHoursDayMapper.java | 12 cnas-manage/src/main/java/com/ruoyi/manage/controller/InternalCorrectController.java | 110 cnas-manage/src/main/java/com/ruoyi/manage/pojo/ManageMeeting.java | 54 cnas-manage/src/main/java/com/ruoyi/manage/service/InternalMeetingDetailService.java | 16 basic-server/src/main/java/com/ruoyi/inspect/dto/IfsInventoryQuantityCheckDto.java | 182 basic-server/src/main/java/com/ruoyi/inspect/mapper/ProductSupplierDensityMapper.java | 22 cnas-manage/src/main/java/com/ruoyi/manage/pojo/ManageReviewProgram.java | 81 cnas-manage/src/main/java/com/ruoyi/manage/service/impl/ManageDocumentAlterServiceImpl.java | 283 cnas-manage/src/main/java/com/ruoyi/manage/vo/ReviewProgramDetailsVo.java | 15 cnas-manage/src/main/resources/mapper/ManageDocumentListMapper.xml | 26 cnas-manage/src/main/java/com/ruoyi/manage/mapper/ManageRecordCheckMapper.java | 21 cnas-manage/src/main/java/com/ruoyi/manage/service/ManageDocumentCancelService.java | 34 basic-server/src/main/java/com/ruoyi/inspect/controller/StandardTemplateController.java | 68 cnas-manage/src/main/resources/static/cancel-deal.docx | 0 basic-server/src/main/java/com/ruoyi/inspect/service/StructureTestObjectService.java | 15 basic-server/src/main/java/com/ruoyi/inspect/controller/ProductPartController.java | 50 cnas-manage/src/main/java/com/ruoyi/manage/service/ManageRecordCancelService.java | 29 cnas-manage/src/main/resources/mapper/ManageRecordIssueRecycleMapper.xml | 33 cnas-manage/src/main/java/com/ruoyi/manage/service/ManageRecordTotalService.java | 25 basic-server/src/main/java/com/ruoyi/inspect/service/impl/StandardTreeServiceImpl.java | 535 + cnas-manage/src/main/java/com/ruoyi/manage/mapper/ManageDocumentAlterMapper.java | 24 cnas-manage/src/main/java/com/ruoyi/manage/service/impl/ManageDocumentListServiceImpl.java | 122 cnas-manage/src/main/resources/static/review-report.docx | 0 cnas-manage/src/main/java/com/ruoyi/manage/mapper/ManageRecordTotalMapper.java | 21 basic-server/src/main/java/com/ruoyi/inspect/service/impl/StructureItemParameterServiceImpl.java | 24 cnas-manage/src/main/java/com/ruoyi/manage/service/impl/ManageRecordCheckServiceImpl.java | 467 + basic-server/src/main/java/com/ruoyi/inspect/service/impl/SealServiceImpl.java | 37 cnas-manage/src/main/java/com/ruoyi/manage/service/ManageRecordVerifyService.java | 28 basic-server/src/main/resources/mapper/StandardTreeMapper.xml | 40 cnas-manage/src/main/resources/static/verify-deal.docx | 0 ruoyi-framework/src/main/java/com/ruoyi/framework/exception/MyFileException.java | 18 cnas-manage/src/main/java/com/ruoyi/manage/controller/ManageControlPlanListController.java | 134 cnas-manage/src/main/java/com/ruoyi/manage/controller/InternalReportController.java | 115 cnas-manage/src/main/java/com/ruoyi/manage/controller/ManageReviewReportController.java | 61 cnas-manage/src/main/java/com/ruoyi/manage/pojo/ManageDocumentList.java | 79 cnas-manage/src/main/resources/mapper/ManageMeetingMapper.xml | 32 cnas-manage/src/main/java/com/ruoyi/manage/mapper/ManageReviewProgramFileMapper.java | 16 cnas-manage/src/main/resources/static/review-meet.docx | 0 basic-server/src/main/java/com/ruoyi/inspect/dto/TestItemDto.java | 16 cnas-manage/src/main/resources/mapper/ManageReviewProgramMapper.xml | 41 performance-server/src/main/java/com/ruoyi/performance/mapper/AuxiliaryOutputWorkingHoursMapper.java | 16 cnas-manage/src/main/java/com/ruoyi/manage/controller/ManageDocumentAlterController.java | 78 cnas-manage/src/main/resources/mapper/ManageReviewReportMapper.xml | 48 cnas-manage/src/main/java/com/ruoyi/manage/service/impl/ManageRecordTotalServiceImpl.java | 421 + cnas-manage/src/main/resources/mapper/ManageDocumentAlterMapper.xml | 48 cnas-manage/src/main/resources/mapper/InternalMeetingMapper.xml | 18 basic-server/src/main/java/com/ruoyi/inspect/service/LaboratoryService.java | 27 cnas-manage/src/main/java/com/ruoyi/manage/mapper/ManageDocumentControlledMapper.java | 23 basic-server/src/main/java/com/ruoyi/inspect/mapper/LaboratoryMapper.java | 20 basic-server/src/main/java/com/ruoyi/inspect/controller/LaboratoryController.java | 62 basic-server/src/main/java/com/ruoyi/inspect/service/impl/StandardProductListService2Impl.java | 12 cnas-manage/src/main/java/com/ruoyi/manage/pojo/InternalImplementDetail.java | 63 cnas-manage/src/main/java/com/ruoyi/manage/service/impl/ManageRecordIntervalsServiceImpl.java | 524 + cnas-manage/src/main/resources/mapper/ClientSatisfactionMapper.xml | 48 cnas-manage/src/main/java/com/ruoyi/manage/mapper/ClientSatisfactionAnalyseFileMapper.java | 27 performance-server/src/main/java/com/ruoyi/performance/service/impl/AuxiliaryOutputWorkingHoursServiceImpl.java | 8 basic-server/src/main/java/com/ruoyi/inspect/mapper/StructureItemParameterMapper.java | 30 basic-server/src/main/java/com/ruoyi/inspect/service/impl/CertificationServiceImpl.java | 45 cnas-manage/src/main/java/com/ruoyi/manage/controller/ManageDocumentIssueRecycleController.java | 75 basic-server/src/main/java/com/ruoyi/inspect/service/impl/ProductPartServiceImpl.java | 68 cnas-manage/src/main/java/com/ruoyi/manage/controller/InternalCheckController.java | 108 cnas-manage/src/main/java/com/ruoyi/manage/pojo/ManageRecordAudit.java | 132 cnas-manage/src/main/java/com/ruoyi/manage/pojo/ClientSatisfaction.java | 95 basic-server/src/main/java/com/ruoyi/inspect/dto/LaboratoryDto.java | 18 basic-server/src/main/java/com/ruoyi/inspect/service/StructureTestObjectPartService.java | 22 cnas-manage/src/main/java/com/ruoyi/manage/controller/ManageRecordCancelController.java | 79 cnas-manage/src/main/java/com/ruoyi/manage/pojo/ManageMeetingParticipants.java | 54 basic-server/src/main/java/com/ruoyi/inspect/service/impl/ProductServiceImpl.java | 188 cnas-manage/src/main/java/com/ruoyi/manage/mapper/InternalImplementMapper.java | 28 basic-server/src/main/java/com/ruoyi/inspect/pojo/StandardMethod.java | 85 cnas-manage/src/main/java/com/ruoyi/manage/pojo/ManageRecordIssueRecycle.java | 76 cnas-manage/src/main/java/com/ruoyi/manage/pojo/InternalPlanDetail.java | 83 basic-server/src/main/java/com/ruoyi/inspect/pojo/StandardProductList.java | 221 basic-server/src/main/java/com/ruoyi/inspect/mapper/ProductMapper.java | 24 cnas-manage/src/main/java/com/ruoyi/manage/service/ManageReviewProgramFileService.java | 22 cnas-manage/src/main/java/com/ruoyi/manage/mapper/ManageRecordAuditMapper.java | 21 cnas-manage/src/main/java/com/ruoyi/manage/controller/InternalMeetingController.java | 95 basic-server/src/main/java/com/ruoyi/inspect/mapper/StandardProductListSupplierAskMapper.java | 18 cnas-manage/src/main/resources/static/analysis-risk-factors.docx | 0 cnas-manage/src/main/java/com/ruoyi/manage/dto/ManageMeetingDto.java | 16 cnas-manage/src/main/java/com/ruoyi/manage/pojo/ManageRecordCheck.java | 74 cnas-manage/src/main/java/com/ruoyi/manage/controller/ManageRecordCheckController.java | 83 basic-server/src/main/java/com/ruoyi/inspect/mapper/StandardTreeMapper.java | 92 basic-server/src/main/java/com/ruoyi/inspect/mapper/SealMapper.java | 17 basic-server/src/main/java/com/ruoyi/inspect/dto/PageTestObjectDto.java | 25 basic-server/src/main/java/com/ruoyi/inspect/pojo/StandardTree.java | 96 cnas-manage/src/main/java/com/ruoyi/manage/pojo/ClientSatisfactionAnalyseFile.java | 54 cnas-manage/src/main/resources/mapper/ManageRecordCheckMapper.xml | 35 basic-server/src/main/java/com/ruoyi/inspect/service/StandardTreeService.java | 52 cnas-manage/src/main/java/com/ruoyi/manage/dto/InternalImplementDto.java | 19 cnas-manage/src/main/java/com/ruoyi/manage/mapper/InternalCheckMapper.java | 28 cnas-manage/src/main/java/com/ruoyi/manage/service/ManageDocumentControlledService.java | 34 basic-server/src/main/java/com/ruoyi/inspect/pojo/ProductPart.java | 49 cnas-manage/src/main/java/com/ruoyi/manage/service/impl/ManageDocumentCancelServiceImpl.java | 141 basic-server/src/main/resources/mapper/StructureTestMapper.xml | 2 cnas-manage/src/main/java/com/ruoyi/manage/service/InternalCheckDetailService.java | 15 basic-server/src/main/java/com/ruoyi/inspect/mapper/StructureTestObjectMapper.java | 22 cnas-manage/src/main/resources/static/recycle-deal.docx | 0 basic-server/src/main/java/com/ruoyi/inspect/mapper/StructureTestObjectPartMapper.java | 21 cnas-manage/src/main/java/com/ruoyi/manage/service/impl/ManageRecordIssueRecycleServiceImpl.java | 695 + cnas-manage/src/main/java/com/ruoyi/manage/service/impl/InternalMeetingServiceImpl.java | 173 basic-server/src/main/java/com/ruoyi/inspect/mapper/CertificationMapper.java | 14 basic-server/src/main/java/com/ruoyi/inspect/mapper/StandardMethodListMapper.java | 40 basic-server/src/main/java/com/ruoyi/inspect/dto/InsSampleReceiveDto.java | 35 cnas-manage/src/main/java/com/ruoyi/manage/service/ManageDocumentIssueRecycleService.java | 35 cnas-manage/src/main/java/com/ruoyi/manage/mapper/InternalPlanDetailMapper.java | 18 basic-server/src/main/java/com/ruoyi/inspect/dto/ModelDto.java | 15 basic-server/src/main/java/com/ruoyi/inspect/service/impl/StandardMethodServiceImpl.java | 260 cnas-manage/src/main/resources/static/internal-meeting.docx | 0 cnas-manage/src/main/java/com/ruoyi/manage/dto/InternalCorrectDto.java | 26 cnas-manage/src/main/java/com/ruoyi/manage/service/ManageRecordCheckService.java | 32 cnas-manage/src/main/java/com/ruoyi/manage/service/impl/InternalCheckDetailServiceImpl.java | 19 cnas-manage/src/main/resources/mapper/InternalCorrectFileMapper.xml | 19 basic-server/src/main/java/com/ruoyi/inspect/mapper/StandardProductListMapper.java | 69 basic-server/src/main/java/com/ruoyi/inspect/pojo/StructureTestObjectPart.java | 56 cnas-manage/src/main/java/com/ruoyi/manage/service/impl/ManageRecordVerifyServiceImpl.java | 155 cnas-manage/src/main/java/com/ruoyi/manage/pojo/ManageDocumentCancel.java | 101 cnas-manage/src/main/resources/lib/license.xml | 13 cnas-manage/src/main/java/com/ruoyi/manage/controller/ManageReviewProgramFileController.java | 42 cnas-manage/src/main/java/com/ruoyi/manage/pojo/ManageRecordCancel.java | 77 cnas-manage/src/main/java/com/ruoyi/manage/pojo/InternalPlan.java | 95 cnas-manage/src/main/java/com/ruoyi/manage/service/ManageRecordIntervalsTotalService.java | 25 basic-server/src/main/java/com/ruoyi/inspect/pojo/StandardTemplate.java | 76 basic-server/src/main/resources/mapper/LaboratoryMapper.xml | 2 cnas-manage/src/main/java/com/ruoyi/manage/mapper/ClientSatisfactionMapper.java | 36 basic-server/src/main/java/com/ruoyi/inspect/pojo/StructureTestObject.java | 63 basic-server/src/main/java/com/ruoyi/inspect/dto/IfsInventoryQuantityDto.java | 82 cnas-manage/src/main/java/com/ruoyi/manage/service/impl/InternalMeetingDetailServiceImpl.java | 20 basic-server/src/main/java/com/ruoyi/inspect/pojo/Certification.java | 72 cnas-manage/src/main/java/com/ruoyi/manage/service/impl/ManageControlPlanListServiceImpl.java | 124 inspect-server/src/main/java/com/ruoyi/inspect/pojo/InsSample.java | 123 cnas-manage/src/main/java/com/ruoyi/manage/service/impl/ManageRecordCancelServiceImpl.java | 477 + basic-server/src/main/java/com/ruoyi/inspect/pojo/IfsInventoryQuantity.java | 210 cnas-manage/src/main/java/com/ruoyi/manage/dto/ManageDocumentIssueRecycleDto.java | 25 cnas-manage/src/main/java/com/ruoyi/manage/pojo/ManageDocumentControlled.java | 91 cnas-manage/src/main/java/com/ruoyi/manage/service/impl/InternalCorrectServiceImpl.java | 319 cnas-manage/src/main/resources/mapper/InternalReportMapper.xml | 14 inspect-server/src/main/java/com/ruoyi/inspect/util/XWPFDocumentUtils.java | 119 cnas-manage/src/main/java/com/ruoyi/manage/service/impl/ManageDocumentControlledServiceImpl.java | 218 basic-server/src/main/java/com/ruoyi/inspect/service/impl/LaboratoryServiceImpl.java | 53 cnas-manage/src/main/java/com/ruoyi/manage/pojo/ManageDocumentAlter.java | 115 cnas-manage/src/main/resources/mapper/InternalImplementMapper.xml | 14 ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/User.java | 4 basic-server/src/main/java/com/ruoyi/inspect/service/SealService.java | 23 basic-server/src/main/java/com/ruoyi/inspect/controller/ProductSupplierDensityController.java | 59 cnas-manage/src/main/resources/mapper/InternalCorrectMapper.xml | 15 cnas-manage/src/main/java/com/ruoyi/manage/mapper/InternalCorrectFileMapper.java | 18 basic-server/src/main/java/com/ruoyi/inspect/pojo/StandardMethodList.java | 83 basic-server/src/main/java/com/ruoyi/inspect/pojo/StandardProductListSupplierAsk.java | 58 cnas-manage/src/main/resources/mapper/InternalCheckMapper.xml | 15 basic-server/src/main/java/com/ruoyi/inspect/service/impl/StandardProductListServiceImpl.java | 701 + cnas-manage/src/main/java/com/ruoyi/manage/service/impl/ClientSatisfactionServiceImpl.java | 188 basic-server/src/main/resources/mapper/SealMapper.xml | 4 cnas-manage/src/main/java/com/ruoyi/manage/pojo/InternalCorrectFile.java | 56 cnas-manage/src/main/java/com/ruoyi/manage/service/InternalCorrectService.java | 66 ruoyi-admin/pom.xml | 5 cnas-manage/src/main/java/com/ruoyi/manage/controller/ManageRecordTotalController.java | 50 basic-server/src/main/resources/mapper/CertificationMapper.xml | 2 cnas-manage/src/main/java/com/ruoyi/manage/service/impl/InternalCorrectFileServiceImpl.java | 20 cnas-manage/src/main/resources/mapper/ManageMeetingParticipantsMapper.xml | 17 basic-server/src/main/java/com/ruoyi/inspect/pojo/Laboratory.java | 62 basic-server/src/main/java/com/ruoyi/inspect/service/StructureItemParameterService.java | 8 /dev/null | 123 cnas-manage/src/main/java/com/ruoyi/manage/service/ManageMeetingParticipantsService.java | 20 cnas-manage/src/main/java/com/ruoyi/manage/pojo/ManageControlPlanList.java | 81 cnas-manage/src/main/java/com/ruoyi/manage/pojo/InternalReport.java | 122 inspect-server/src/main/java/com/ruoyi/inspect/util/HackLoopTableRenderPolicy.java | 154 basic-server/src/main/java/com/ruoyi/inspect/mapper/ProductPartMapper.java | 13 ruoyi-system/src/main/java/com/ruoyi/system/mapper/UserMapper.java | 34 cnas-manage/src/main/java/com/ruoyi/manage/controller/InternalPlanController.java | 116 cnas-manage/src/main/java/com/ruoyi/manage/dto/InternalPlanDto.java | 19 cnas-manage/src/main/java/com/ruoyi/manage/service/ManageDocumentAlterService.java | 36 356 files changed, 23,203 insertions(+), 204 deletions(-) diff --git a/basic-server/src/main/java/com/ruoyi/basic/controller/CapacityScopeController.java b/basic-server/src/main/java/com/ruoyi/basic/controller/CapacityScopeController.java deleted file mode 100644 index 810c430..0000000 --- a/basic-server/src/main/java/com/ruoyi/basic/controller/CapacityScopeController.java +++ /dev/null @@ -1,393 +0,0 @@ -package com.ruoyi.basic.controller; - -import cn.hutool.core.util.ObjectUtil; -import cn.hutool.poi.excel.ExcelUtil; -import com.alibaba.excel.EasyExcel; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.ruoyi.common.core.domain.Result; -import com.ruoyi.common.core.domain.entity.SysDictData; -import com.ruoyi.system.service.ISysDictTypeService; -import com.ruoyi.basic.dto.PageTestObjectDto; -import com.ruoyi.basic.dto.ProductDTO1; -import com.ruoyi.basic.excel.StructureTestObjectData; -import com.ruoyi.basic.excel.StructureTestObjectListener; -import com.ruoyi.basic.pojo.Product; -import com.ruoyi.basic.pojo.StandardTemplate; -import com.ruoyi.basic.pojo.StructureItemParameter; -import com.ruoyi.basic.pojo.StructureTestObject; -import com.ruoyi.basic.service.CapacityScopeService; -import com.ruoyi.basic.service.ProductService; -import com.ruoyi.basic.service.StandardTemplateService; -import com.ruoyi.basic.service.StructureItemParameterService; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import lombok.AllArgsConstructor; -import org.apache.commons.lang3.ObjectUtils; -import org.springframework.transaction.annotation.Transactional; -import org.springframework.web.bind.annotation.*; -import org.springframework.web.multipart.MultipartFile; - -import java.io.IOException; -import java.io.InputStream; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; -import java.util.concurrent.atomic.AtomicReference; -import java.util.stream.Collectors; - -/** - * 妫�楠岄」鐩弬鏁�(StructureItemParameter)琛ㄦ帶鍒跺眰 - * - * @author makejava - * @since 2024-02-26 16:21:17 - */ -@Api(tags = "鑳藉姏鑼冨洿") -@AllArgsConstructor -@RestController -@RequestMapping("/capacityScope") -public class CapacityScopeController { - - private CapacityScopeService capacityScopeService; - - private ProductService productService; - - private StructureItemParameterService structureItemParameterService; - - private ISysDictTypeService dictTypeService; - - private StandardTemplateService standardTemplateService; - - @ApiOperation(value = "鑾峰彇椤圭洰妫�楠屽弬鏁板垪琛�") - @PostMapping("/selectItemParameterList") - public Result selectItemParameterList(Page page,StructureItemParameter itemParameter) throws Exception { - return Result.success(capacityScopeService.selectItemParameterList(page, itemParameter)); - } - - @ApiOperation(value = "娣诲姞椤圭洰妫�楠屽弬鏁�") - @PostMapping("/addItemParameter") - public Result addItemParameter(@RequestBody StructureItemParameter itemParameter) { - return Result.success(capacityScopeService.addItemParameter(itemParameter)); - } - - @ApiOperation(value = "鍒犻櫎椤圭洰妫�楠屽弬鏁�") - @PostMapping("/delItemParameter") - public Result<?> delItemParameter(Integer id) { - return Result.success(capacityScopeService.delItemParameter(id)); - } - - @ApiOperation(value = "淇敼椤圭洰妫�楠屽弬鏁�") - @PostMapping("/upItemParameter") - public Result<?> upItemParameter(@RequestBody StructureItemParameter itemParameter) { - return Result.success(capacityScopeService.upItemParameter(itemParameter)); - } - - @ApiOperation(value = "鑾峰彇妫�楠屽璞�") - @PostMapping("/selectTestObjectList") - public Result selectTestObjectList(Page page,PageTestObjectDto pageTestObjectDto) throws Exception { - return Result.success(capacityScopeService.selectTestObjectList(page, pageTestObjectDto)); - } - - @ApiOperation(value = "娣诲姞妫�楠屽璞�") - @PostMapping("/addTestObject") - public Result addTestObject(@RequestBody StructureTestObject testObject) { - return Result.success(capacityScopeService.addTestObject(testObject)); - } - - @ApiOperation(value = "鍒犻櫎妫�楠屽璞�") - @PostMapping("/delTestObject") - public Result<?> delTestObject(Integer id) { - return Result.success(capacityScopeService.delTestObject(id)); - } - - @ApiOperation(value = "淇敼妫�楠屽璞�") - @PostMapping("/upTestObject") - public Result upTestObject(@RequestBody StructureTestObject testObject) { - return Result.success(capacityScopeService.upTestObject(testObject)); - } - - @ApiOperation(value = "鑾峰彇妫�楠屽璞℃灇涓�") - @GetMapping("/selectTestObjectByName") - public Result selectTestObjectByName() { - return Result.success(capacityScopeService.selectTestObjectByName()); - } - - @ApiOperation(value = "璁惧閲岄潰閫夋嫨妫�楠岄」鐩�(鏍戝舰缁撴瀯)") - @PostMapping("/getInsProduction") - public Result getInsProduction() { - return Result.success(capacityScopeService.getInsProduction()); - } - - @ApiOperation(value = "缁存姢妫�楠屽璞$殑浜у搧") - @PostMapping("/selectProductListByObjectId") - public Result selectProductListByObjectId(Page page,ProductDTO1 productDTO) throws Exception { - return Result.success(productService.selectProductListByObjectId(page, productDTO)); - } - - @ApiOperation(value = "娣诲姞浜у搧") - @PostMapping("/addProduct") - public Result addProduct(@RequestBody Product product) { - return Result.success(productService.addProduct(product)); - } - - @ApiOperation(value = "淇敼浜у搧") - @PostMapping("/upProduct") - public Result upProduct(@RequestBody Product product) { - return Result.success(productService.upProduct(product)); - } - - @ApiOperation(value = "鍒犻櫎浜у搧") - @PostMapping("/delProduct") - public Result delProduct(Integer id) { - return Result.success(productService.delProduct(id)); - } - - @ApiOperation(value = "鑾峰彇妫�楠屽璞℃爲") - @GetMapping("/getItemTree") - public Result getItemTree() { - return Result.success(capacityScopeService.getItemTree()); - } - - - @ApiOperation(value = "瑁呭瀵煎叆妫�楠岄」鐩�") - @PostMapping("/importEquipData") - @Transactional - public Result importEquipData(@RequestParam("file") MultipartFile file) throws Exception { - InputStream inputStream = file.getInputStream(); - List<StructureItemParameter> lists = new ArrayList<>(); - AtomicReference<String> sample = new AtomicReference<>(); - ExcelUtil.readBySax(inputStream, -1, (i, l, list1) -> { - if (l == 1) { - sample.set(list1.get(1) + ""); - } - if (l >= 1) { - StructureItemParameter str = new StructureItemParameter(); - // 娴嬭瘯瀵硅薄 - if (list1.get(1) == null) { - str.setSample(null); - } else { - String brand = (String) list1.get(1); - StringBuilder builder = new StringBuilder(); - builder.append("["); - // 浜у搧 - if (ObjectUtil.isNotEmpty(list1.get(2))) { - String production = (String) list1.get(2); - if (!production.contains("锛�")) { - builder.append(String.format("[\"%s\",\"%s\"]", brand, production)); - } else { - Arrays.stream(production.split("锛�")).forEach(item -> { - builder.append(String.format("[\"%s\",\"%s\"],", brand, item)); - }); - builder.deleteCharAt(builder.length() - 1); - } - } else { - builder.append("["); - builder.append(String.format("\"%s\"", brand)); - builder.append("]"); - } - builder.append("]"); - str.setSample(builder.toString()); - } - // 妫�楠岄」 - str.setInspectionItem(list1.get(4).toString().trim()); - // 妫�楠岄」鑻辨枃 - if (list1.get(5) != null) { - str.setInspectionItemEn(list1.get(5).toString()); - } - // 妫�楠屽瓙椤� - if (list1.get(6) == null) { - str.setInspectionItemSubclass(null); - } else { - str.setInspectionItemSubclass(list1.get(6).toString().trim()); - } - // 妫�楠屽瓙椤硅嫳鏂� - if (list1.get(7) == null) { - str.setInspectionItemSubclassEn(null); - } else { - str.setInspectionItemSubclassEn(String.valueOf(list1.get(7).toString())); - } - // 妫�楠岄」鍒嗙被 - if (list1.get(22) != null && list1.get(22) != "") { - str.setInspectionItemClass(list1.get(22).toString().trim()); - } else { - str.setInspectionItemClass(null); - } - // 妫�楠岄」鍒嗙被鑻辨枃 - if (list1.get(23) != null && list1.get(23) != "") { - str.setInspectionItemClassEn(list1.get(23) + ""); - } else { - str.setInspectionItemClassEn(null); - } - - LambdaQueryWrapper<StructureItemParameter> wrapper = Wrappers.lambdaQuery(StructureItemParameter.class) - .eq(StructureItemParameter::getInspectionItem, str.getInspectionItem()) - .eq(StructureItemParameter::getSample, str.getSample()) - - .last("limit 1"); - // 鍒ゆ柇鏄惁鏈夋楠岄」绫诲瀷 - if (ObjectUtils.isNotEmpty(str.getInspectionItemClass())) { - wrapper.eq(StructureItemParameter::getInspectionItemClass, str.getInspectionItemClass()); - } - - // 鍒ゆ柇鏄惁鏈夋楠屽瓙椤� - if (ObjectUtils.isNotEmpty(str.getInspectionItemSubclass())) { - wrapper.eq(StructureItemParameter::getInspectionItemSubclass, str.getInspectionItemSubclass()); - } - StructureItemParameter db_str = structureItemParameterService.getOne(wrapper); - if (ObjectUtils.isNotEmpty(db_str)) { - str.setId(db_str.getId()); - } - // 鏂规硶鍚嶇О - if (list1.get(8) == null) { - str.setMethod(null); - } else { - StringBuffer buffer = new StringBuffer(); - String input = list1.get(8).toString(); - buffer.append("["); - String[] values = input.split("锛�"); - for (String value : values) { - buffer.append("\"").append(value.trim()).append("\","); - } - buffer.deleteCharAt(buffer.length() - 1); - buffer.append("]"); - str.setMethod(buffer.toString()); - } - // 璇曢獙瀹� - if (list1.get(9) == null) { - str.setSonLaboratory(null); - } else { - str.setSonLaboratory(list1.get(9).toString()); - } - // 璁¢噺鍗曚綅 - if (list1.get(10) == null) { - str.setUnit(null); - } else { - str.setUnit(list1.get(10).toString()); - } - // 瑕佹眰鍊� - if (list1.get(11) == null) { - str.setAskTell(null); - } else { - str.setAskTell(list1.get(11).toString()); - } - // 瑕佹眰鎻忚堪 - if (list1.get(12) == null) { - str.setAsk(null); - } else { - str.setAsk(list1.get(12).toString()); - } - // 鍗曚环 - if (list1.get(13) == null) { - str.setPrice(null); - } else { - str.setPrice(list1.get(13) + ""); - } - // 宸ユ椂绯绘暟 - if (list1.get(14) == null) { - str.setManHour(null); - } else { - str.setManHour(Double.valueOf(list1.get(14).toString())); - } - // 宸ユ椂鍒嗙粍 - if (list1.get(15) == null) { - str.setManHourGroup(null); - } else { - str.setManHourGroup(list1.get(15).toString()); - } - // 棰勮瀹屾垚鏃堕棿 - if (list1.get(16) == null) { - str.setManDay(null); - } else { - str.setManDay(Integer.valueOf(list1.get(16).toString())); - } - // 鏁版嵁绫诲瀷 - String jy; - if (list1.get(17).toString().equals("闈為噰闆嗙被鍨�")) { - jy = "0"; - } else { - jy = "1"; - } - str.setInspectionItemType(jy); - // 妫�楠岄」绫诲瀷 - String validateValueType = list1.get(18).toString(); - if (ObjectUtils.isNotEmpty(validateValueType)) { - List<SysDictData> enums = dictTypeService.selectDictDataByName("妫�楠屽�肩被鍨�") - .stream().filter(sysDictData -> sysDictData.getDictLabel().equals(validateValueType)).collect(Collectors.toList()); - str.setInspectionValueType(enums.get(0).getDictValue()); - } - int bsm; - //鐗规畩鏍囪瘑 - if (list1.get(19).toString().equals("鍚�")) { - bsm = 0; - } else { - bsm = 1; - } - str.setBsm(bsm + ""); - // 鏁板瓧瀛楀吀 - if (list1.get(20) != null) { - str.setDic(list1.get(20) + ""); - } else { - str.setDic(null); - } - // 鍘熷璁板綍妯℃澘 - StandardTemplate standTempIdByName = standardTemplateService.getStandTempIdByName(String.valueOf(list1.get(21))); - if (standTempIdByName != null) { - str.setTemplateId(standTempIdByName.getId()); - } else { - str.setTemplateId(null); - } - try { - if (list1.get(24) != null) { - str.setLaboratory(list1.get(24) + ""); - } - } catch (Exception e) { - } - - // 鏉′欢 - if (list1.get(25) == null) { - str.setRadiusList(null); - } else { - StringBuffer buffer = new StringBuffer(); - String input = list1.get(25).toString(); - buffer.append("["); - String[] values = input.split("锛�"); - for (String value : values) { - buffer.append("\"").append(value.trim()).append("\","); - } - buffer.deleteCharAt(buffer.length() - 1); - buffer.append("]"); - str.setRadiusList(buffer.toString()); - } - // 鏀惰垂鏍囧噯 - if (list1.get(26) == null) { - str.setRates(null); - } else { - str.setRates(list1.get(26) + ""); - } - - lists.add(str); - } - }); -// structureItemParameterService.removeNoSample(sample.get()); - // 濡傛灉鏁版嵁搴撻噷闈㈢殑鏁版嵁瀛樺湪閭d箞灏辨墽琛屾洿鏂版嫹璐濇搷浣� - try { - structureItemParameterService.saveOrUpdateBatch(lists); - } catch (Exception e) { - e.printStackTrace(); - throw new RuntimeException("鏈嶅姟绔姤閿�"); - } - return Result.success(); - } - - @ApiOperation(value = "瀵煎叆妫�楠屽璞�") - @PostMapping("/importExcel") - public Result importExcel(@RequestParam("file") MultipartFile file) { - try { - EasyExcel.read(file.getInputStream(), StructureTestObjectData.class, new StructureTestObjectListener(productService)).sheet().doRead(); - } catch (IOException e) { - e.printStackTrace(); - } - return Result.success(); - } -} diff --git a/basic-server/src/main/java/com/ruoyi/basic/controller/CertificationController.java b/basic-server/src/main/java/com/ruoyi/basic/controller/CertificationController.java deleted file mode 100644 index 51ed763..0000000 --- a/basic-server/src/main/java/com/ruoyi/basic/controller/CertificationController.java +++ /dev/null @@ -1,41 +0,0 @@ -package com.ruoyi.basic.controller; - -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.ruoyi.common.core.domain.Result; -import com.ruoyi.basic.pojo.Certification; -import com.ruoyi.basic.service.CertificationService; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import lombok.AllArgsConstructor; -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; - -@Api(tags = "璧勮川璇存槑") -@AllArgsConstructor -@RestController -@RequestMapping("/certification") - -public class CertificationController { - - private CertificationService certificationService; - - - @ApiOperation(value = "鏌ヨ璧勮川鏄庣粏鍒楄〃") - @PostMapping("/getCertificationDetail") - public Result getCertificationDetail(Page page,Certification certification) { - return Result.success(certificationService.getCertificationDetail(page, certification)); - } - - @ApiOperation(value = "娣诲姞璧勮川鏄庣粏鍒楄〃") - @PostMapping("/addCertificationDetail") - public Result addCertificationDetail(@RequestBody Certification certification) { - return Result.success(certificationService.addCertificationDetail(certification)); - } - @ApiOperation(value = "鍒犻櫎璧勮川鏄庣粏鍒楄〃") - @PostMapping("/delCertificationDetail") - public Result<?> delCertificationDetail( String ids) { - return Result.success(certificationService.delCertificationDetail(ids)); - } -} diff --git a/basic-server/src/main/java/com/ruoyi/basic/controller/LaboratoryController.java b/basic-server/src/main/java/com/ruoyi/basic/controller/LaboratoryController.java deleted file mode 100644 index c21f7be..0000000 --- a/basic-server/src/main/java/com/ruoyi/basic/controller/LaboratoryController.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.ruoyi.basic.controller; - - -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.ruoyi.common.core.domain.Result; -import com.ruoyi.basic.pojo.Laboratory; -import com.ruoyi.basic.service.LaboratoryService; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import org.springframework.web.bind.annotation.*; - -import javax.annotation.Resource; - -/** - * 瀹為獙瀹ょ鐞�(LaboratoryController)琛ㄦ帶鍒跺眰 - */ -@Api(tags = "鍦烘墍鎴栬鏂�") - -@RestController -@RequestMapping("/laboratoryScope") -public class LaboratoryController { - - @Resource - private LaboratoryService laboratoryService; - - @ApiOperation(value = "鏌ヨ瀹為獙瀹ょ鐞嗗垪琛�") - @PostMapping("/selectItemParameter") - public Result selectItemParameter(Page page ,Laboratory itemParameter) { - return Result.success(laboratoryService.selectItemParameter(page, itemParameter)); - } - - @ApiOperation(value = "娣诲姞瀹為獙瀹ゅ弬鏁�") - @PostMapping("/addParameter") - public Result addParameter(@RequestBody Laboratory itemParameter) { - return Result.success(laboratoryService.addParameter(itemParameter)); - } - - @ApiOperation(value = "鍒犻櫎瀹為獙瀹ゅ弬鏁�") - @PostMapping("/delParameter") - public Result<?> delParameter(Integer id) { - return Result.success(laboratoryService.delParameter(id)); - } - - @ApiOperation(value = "淇敼瀹為獙瀹ゅ弬鏁�") - @PostMapping("/upParameter") - public Result<?> upParameter(@RequestBody Laboratory itemParameter) { - return Result.success(laboratoryService.upParameter(itemParameter)); - } - - @ApiOperation(value = "鑾峰彇瀹為獙瀹ゅ悕绉�") - @GetMapping("/obtainItemParameterList") - public Result obtainItemParameterList() { - return Result.success(laboratoryService.obtainItemParameterList()); - } -} - - - - - - - diff --git a/basic-server/src/main/java/com/ruoyi/basic/controller/ProductPartController.java b/basic-server/src/main/java/com/ruoyi/basic/controller/ProductPartController.java deleted file mode 100644 index ca3a5b9..0000000 --- a/basic-server/src/main/java/com/ruoyi/basic/controller/ProductPartController.java +++ /dev/null @@ -1,50 +0,0 @@ -package com.ruoyi.basic.controller; - -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.ruoyi.common.core.domain.Result; -import com.ruoyi.basic.pojo.ProductPart; -import com.ruoyi.basic.service.ProductPartService; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import lombok.AllArgsConstructor; -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; - -@RestController -@AllArgsConstructor -@RequestMapping("/productPart") -@Api(tags = "浜у搧闆朵欢缁戝畾") -public class ProductPartController { - - private ProductPartService productPartService; - - @ApiOperation(value = "鏍规嵁浜у搧id鏌ヨ闆朵欢") - @PostMapping("/selectByProductId") - public Result selectByProductId(Page page,ProductPart productPart){ - return Result.success(productPartService.selectByProductId(page,productPart)); - } - - @ApiOperation(value = "鏂板浜у搧闆朵欢") - @PostMapping("/addProductPart") - public Result addProductPart(@RequestBody ProductPart productPart) { - productPartService.addProductPart(productPart); - return Result.success(); - } - - @ApiOperation(value = "鏇存柊浜у搧闆朵欢") - @PostMapping("/updateProductPart") - public Result updateProductPart(@RequestBody ProductPart productPart) { - productPartService.updateProductPartById(productPart); - return Result.success(); - } - - @ApiOperation(value = "鍒犻櫎浜у搧闆朵欢") - @PostMapping("/deleteProductPart") - public Result deleteProductPart(Integer id) { - productPartService.removeById(id); - return Result.success(); - } - -} diff --git a/basic-server/src/main/java/com/ruoyi/basic/controller/ProductSupplierDensityController.java b/basic-server/src/main/java/com/ruoyi/basic/controller/ProductSupplierDensityController.java deleted file mode 100644 index 1d86970..0000000 --- a/basic-server/src/main/java/com/ruoyi/basic/controller/ProductSupplierDensityController.java +++ /dev/null @@ -1,59 +0,0 @@ -package com.ruoyi.basic.controller; - - -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.ruoyi.common.core.domain.Result; -import com.ruoyi.basic.pojo.ProductSupplierDensity; -import com.ruoyi.basic.service.ProductSupplierDensityService; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import lombok.AllArgsConstructor; -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; - - -/** - * 浜у搧鍘傚瀵嗗害缁戝畾琛� - * - * @author zhuo - * @since 2024-09-19 - */ -@RestController -@RequestMapping("/productSupplierDensity") -@AllArgsConstructor -@Api(tags = "浜у搧鍘傚瀵嗗害缁戝畾") -public class ProductSupplierDensityController { - - private ProductSupplierDensityService productSupplierDensityService; - - @ApiOperation(value = "鏍规嵁浜у搧id鏌ヨ鍘傚瀵嗗害缁戝畾") - @PostMapping("/selectSupplierDensityByProductId") - public Result selectSupplierDensityByProductId(Page page,ProductSupplierDensity supplierDensity) { - return Result.success(productSupplierDensityService.selectByProductId(page, supplierDensity)); - } - - @ApiOperation(value = "鏂板鍘傚瀵嗗害缁戝畾") - @PostMapping("/addProductSupplierDensity") - public Result addProductSupplierDensity(@RequestBody ProductSupplierDensity supplierDensity) { - productSupplierDensityService.addProductSupplierDensity(supplierDensity); - return Result.success(); - } - - @ApiOperation(value = "鏇存柊鍘傚瀵嗗害缁戝畾") - @PostMapping("/updateProductSupplierDensity") - public Result updateProductSupplierDensity(@RequestBody ProductSupplierDensity supplierDensity) { - productSupplierDensityService.updateProductSupplierDensity(supplierDensity); - return Result.success(); - } - - @ApiOperation(value = "鍒犻櫎鍘傚瀵嗗害缁戝畾") - @PostMapping("/deleteProductSupplierDensity") - public Result deleteProductSupplierDensity(Integer id) { - productSupplierDensityService.removeById(id); - return Result.success(); - } - -} - diff --git a/basic-server/src/main/java/com/ruoyi/basic/controller/SealController.java b/basic-server/src/main/java/com/ruoyi/basic/controller/SealController.java deleted file mode 100644 index 02ab6bb..0000000 --- a/basic-server/src/main/java/com/ruoyi/basic/controller/SealController.java +++ /dev/null @@ -1,50 +0,0 @@ -package com.ruoyi.basic.controller; - -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.ruoyi.basic.pojo.Laboratory; -import com.ruoyi.basic.pojo.Seal; -import com.ruoyi.basic.service.SealService; -import com.ruoyi.common.core.domain.Result; -import com.ruoyi.common.utils.JackSonUtil; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -import javax.annotation.Resource; -import java.util.List; -import java.util.Map; - -/** - * 鍗扮珷绠$悊(SealController)琛ㄦ帶鍒跺眰 - */ -@Api(tags = "鍗扮珷绠$悊") - -@RestController -@RequestMapping("/sealScope") -public class SealController { - - @Resource - private SealService sealService; - - @ApiOperation(value = "娣诲姞鍗扮珷鍙傛暟") - @PostMapping("/addSeal") - public Result addSeal(@RequestBody Seal seal) { - int i = sealService.addSeal(seal); - if(i>0){ - Integer labId = seal.getLabId(); - List<Laboratory> laboratory = sealService.Laboratory(labId); - return Result.success(laboratory); - }else{ - return Result.fail(); - } - - } - @ApiOperation(value="鏌ヨ鍗扮珷鍒楄〃") - @PostMapping("/selectSeal") - public Result selectSeal(Page page,Seal seal) { - return Result.success(sealService.selectSeal(page,seal)); - } -} diff --git a/basic-server/src/main/java/com/ruoyi/basic/controller/StandardMethodController.java b/basic-server/src/main/java/com/ruoyi/basic/controller/StandardMethodController.java deleted file mode 100644 index f74f38b..0000000 --- a/basic-server/src/main/java/com/ruoyi/basic/controller/StandardMethodController.java +++ /dev/null @@ -1,59 +0,0 @@ -package com.ruoyi.basic.controller; - -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.ruoyi.common.core.domain.Result; -import com.ruoyi.basic.pojo.StandardMethod; -import com.ruoyi.basic.service.StandardMethodService; -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 java.io.IOException; - -@Api(tags = "鏍囧噯鏂规硶") -@RestController -@RequestMapping("/standardMethod") -@AllArgsConstructor -public class StandardMethodController { - - private StandardMethodService standardMethodService; - - @ApiOperation(value = "鑾峰彇鏍囧噯鏂规硶鍒楄〃") - @PostMapping("/selectStandardMethodList") - public Result selectStandardMethodList(Page page,StandardMethod standardMethod) throws Exception { - return Result.success(standardMethodService.selectStandardMethodList(page, standardMethod)); - } - - @ApiOperation(value = "鑾峰彇鏍囧噯鏂规硶鏋氫妇") - @GetMapping("/selectStandardMethods") - public Result selectStandardMethods(){ - return Result.success(standardMethodService.selectStandardMethods()); - } - - @ApiOperation(value = "娣诲姞鏍囧噯鏂规硶") - @PostMapping("/addStandardMethod") - public Result addStandardMethod(@RequestBody StandardMethod standardMethod) { - return Result.success(standardMethodService.addStandardMethod(standardMethod)); - } - - @ApiOperation(value = "鍒犻櫎鏍囧噯鏂规硶") - @PostMapping("/delStandardMethod") - public Result<?> delStandardMethod(Integer id) { - return Result.success(standardMethodService.delStandardMethod(id)); - } - - @ApiOperation(value = "淇敼鏍囧噯鏂规硶") - @PostMapping("/upStandardMethod") - public Result<?> upStandardMethod(@RequestBody StandardMethod standardMethod) { - return Result.success(standardMethodService.upStandardMethod(standardMethod)); - } - - @ApiOperation(value = "瀵煎叆鏍囧噯鏄庣粏") - @PostMapping("/importStandardDetails") - public Result<?> importStandardDetails(@RequestPart("file") MultipartFile file) throws IOException { - standardMethodService.inputExcel(file); - return Result.success(); - } -} diff --git a/basic-server/src/main/java/com/ruoyi/basic/controller/StandardTemplateController.java b/basic-server/src/main/java/com/ruoyi/basic/controller/StandardTemplateController.java deleted file mode 100644 index c14f1a3..0000000 --- a/basic-server/src/main/java/com/ruoyi/basic/controller/StandardTemplateController.java +++ /dev/null @@ -1,68 +0,0 @@ -package com.ruoyi.basic.controller; - -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.ruoyi.common.core.domain.Result; -import com.ruoyi.basic.pojo.StandardTemplate; -import com.ruoyi.basic.service.StandardTemplateService; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import lombok.AllArgsConstructor; -import org.springframework.web.bind.annotation.*; - -@RequestMapping("/StandardTemplate") -@RestController -@AllArgsConstructor -@Api(tags = "鍘熷璁板綍妯℃澘") -public class StandardTemplateController { - - private StandardTemplateService standardTemplateService; - - @ApiOperation(value = "鑾峰彇鍘熷璁板綍妯℃澘鍒楄〃") - @PostMapping("/selectStandardTemplatePageList") - public Result selectStandardTemplatePageList(Page page,StandardTemplate standardTemplate) throws Exception { - return Result.success(standardTemplateService.selectStandardTemplatePageList(page, standardTemplate)); - } - - @ApiOperation(value = "娣诲姞鍘熷璁板綍妯℃澘") - @PostMapping("/addStandardTemplate") - public Result addStandardTemplate(@RequestBody StandardTemplate standardTemplate) { - return Result.success(standardTemplateService.addStandardTemplate(standardTemplate)); - } - - @ApiOperation(value = "淇敼鍘熷璁板綍妯℃澘") - @PostMapping("/upStandardTemplate") - public Result<?> upStandardTemplate(@RequestBody StandardTemplate standardTemplate) { - return Result.success(standardTemplateService.upStandardTemplate(standardTemplate)); - } - - @ApiOperation(value = "鍒犻櫎鍘熷璁板綍妯℃澘") - @PostMapping("/delStandardTemplate") - public Result<?> delStandardTemplate(Integer id) { - return Result.success(standardTemplateService.delStandardTemplate(id)); - } - - @ApiOperation(value = "鏌ヨ鍘熷璁板綍妯℃澘鏋氫妇") - @GetMapping("/getStandardTemplate") - public Result<?> getStandardTemplate() { - return Result.success(standardTemplateService.getStandardTemplate()); - } - - @ApiOperation(value = "閫氳繃妯℃澘id鑾峰彇妫�楠岄」妯℃澘鍐呭") - @PostMapping("/getStandTempThingById") - public Result<?> getStandTempThingById(Integer id) { - return Result.success(standardTemplateService.getStandTempThingById(id)); - } - - @ApiOperation(value = "缂栬緫妯℃澘缂栧埗") - @GetMapping("/getEditTemplatePreparation") - public Result<?> getEditTemplatePreparation(@RequestParam("id") Integer id) { - StandardTemplate byId = standardTemplateService.getById(id); - return Result.success("OK", byId.getThing()); - } - - @ApiOperation(value = "澶嶅埗鍘熷璁板綍妯℃澘") - @PostMapping("/copyStandardTemplate") - public Result copyStandardTemplate(@RequestBody StandardTemplate newTemplate) { - return Result.success(standardTemplateService.copyStandardTemplate(newTemplate)); - } -} diff --git a/basic-server/src/main/java/com/ruoyi/basic/controller/StandardTreeController.java b/basic-server/src/main/java/com/ruoyi/basic/controller/StandardTreeController.java deleted file mode 100644 index d24ae09..0000000 --- a/basic-server/src/main/java/com/ruoyi/basic/controller/StandardTreeController.java +++ /dev/null @@ -1,276 +0,0 @@ -package com.ruoyi.basic.controller; - -import com.alibaba.fastjson.JSON; -import com.alibaba.fastjson.JSONArray; -import com.ruoyi.common.core.domain.Result; -import com.ruoyi.basic.dto.CopyStandardProductListDto; -import com.ruoyi.basic.dto.FactoryDto; -import com.ruoyi.basic.dto.InsSampleReceiveDto; -import com.ruoyi.basic.dto.ResetTreeDragDTO; -import com.ruoyi.basic.pojo.StandardProductList; -import com.ruoyi.basic.pojo.StandardProductListSupplierAsk; -import com.ruoyi.basic.pojo.StandardTree; -import com.ruoyi.basic.service.StandardMethodListService; -import com.ruoyi.basic.service.StandardProductListService; -import com.ruoyi.basic.service.StandardProductListSupplierAskService; -import com.ruoyi.basic.service.StandardTreeService; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiImplicitParam; -import io.swagger.annotations.ApiImplicitParams; -import io.swagger.annotations.ApiOperation; -import lombok.AllArgsConstructor; -import org.springframework.web.bind.annotation.*; -import org.springframework.web.multipart.MultipartFile; - -import java.util.List; -import java.util.Map; - -@RestController -@AllArgsConstructor -@RequestMapping("/standardTree") -@Api(tags = "鏍囧噯搴�") -public class StandardTreeController { - - private StandardTreeService standardTreeService; - - private StandardMethodListService standardMethodListService; - - private StandardProductListService standardProductListService; - - private StandardProductListSupplierAskService standardProductListSupplierAskService; - - @ApiOperation(value = "鑾峰彇鏍囧噯鏍�") - @GetMapping("/selectStandardTreeList") - public Result selectStandardTreeList() { - return Result.success(standardTreeService.selectStandardTreeList()); - } - - @ApiOperation(value = "鑾峰彇鏍囧噯鏍�(妫�楠屼笅鍗�)") - @GetMapping("/selectStandardTreeList2") - public Result selectStandardTreeList2() { - return Result.success(standardTreeService.selectStandardTreeList()); - } - - @ApiOperation(value = "娣诲姞鏍囧噯鏍�") - @PostMapping("/addStandardTree") - public Result addStandardTree(@RequestBody StandardTree standardTree) { - return Result.success(standardTreeService.addStandardTree(standardTree)); - } - - @ApiOperation(value = "缁欐爣鍑嗘爲娣诲姞妫�楠屾爣鍑�") - @PostMapping("/addStandardMethodList") - public Result addStandardMethodList(String tree, Integer standardId) { - return Result.success(standardMethodListService.addStandardMethodList(standardId, tree)); - } - - @ApiOperation(value = "鏍规嵁鏍囧噯鏍戣繘琛屾爣鍑嗘煡璇�") - @PostMapping("/selectsStandardMethodByFLSSM") - public Result selectsStandardMethodByFLSSM(String tree) { - return Result.success(standardMethodListService.selectsStandardMethodByFLSSM(tree)); - } - - @ApiOperation(value = "淇敼鏍囧噯搴撲腑鐨勫唴瀹�") - @PostMapping("/upStandardProductList") - public Result upStandardProductList(String str) { - StandardProductList list = JSON.parseObject(str, StandardProductList.class); - return Result.success(standardProductListService.upStandardProductList(list)); - } - - @ApiOperation(value = "淇敼鏍囧噯搴撳尯闂�") - @PostMapping("/updateSection") - public Result updateSection(String str) { - StandardProductList list = JSON.parseObject(str, StandardProductList.class); - return Result.success(standardProductListService.updateSection(list)); - } - - @ApiOperation(value = "鍒犻櫎鏍囧噯鏍戜笅鐨勬楠屾爣鍑�") - @PostMapping("/delStandardMethodByFLSSM") - public Result delStandardMethodByFLSSM(Integer id) { - return Result.success(standardMethodListService.delStandardMethodByFLSSM(id)); - } - - @ApiOperation(value = "鍒犻櫎鏍囧噯鏍戜笅鐨勬楠岄」鐩�") - @PostMapping("/delStandardProductByIds") - public Result delStandardProductByIds(String ids) { - JSONArray lists = JSON.parseArray(ids); - return Result.success(standardProductListService.delStandardProduct(lists)); - } - - @ApiOperation(value = "鏂板鏍囧噯鏍戜笅鐨勬楠岄」鐩�") - @PostMapping("/addStandardProduct") - public Result addStandardProduct(String ids, String tree) { - return Result.success(standardTreeService.addStandardProduct(ids, tree)); - } - - @ApiOperation(value = "鍒犻櫎鏍囧噯鏍戠殑灞傜骇") - @PostMapping("/delStandardTree") - public Result delStandardTree(String tree) { - return Result.success(standardTreeService.delStandardTree(tree)); - } - - @ApiOperation(value = "閫氳繃鏍囧噯鏍戞煡璇㈠搴旂殑妫�楠岄」鐩�") - @PostMapping("/selectStandardProductList") - public Result selectStandardProductList(@RequestBody InsSampleReceiveDto insSample) { - return Result.success(standardProductListService.selectStandardProductList(insSample)); - } - - @ApiOperation(value = "閫氳繃妫�楠屾爣鍑嗘煡璇㈡楠岄」鐩�") - @PostMapping("/selectStandardProductListByMethodId") - public Result selectStandardProductListByMethodId(Integer id, String tree, Integer page) { - return Result.success(standardProductListService.selectStandardProductListByMethodId(id, tree, page)); - } - - @ApiOperation(value = "鎵归噺缂栬緫鏌ヨ妫�楠岄」鐩�") - @PostMapping("/selectStandardProductByMethodId") - public Result selectStandardProductByMethodId(Integer id, String tree, Integer page, String laboratory, String item, String items) { - return Result.success(standardProductListService.selectStandardProductByMethodId(id, tree, page, laboratory, item, items)); - } - - @ApiOperation(value = "鎵归噺缂栬緫鏌ヨ鎵�鏈夋楠岄」鐩拰妫�楠屽瓙椤规灇涓�") - @PostMapping("/selectStandardProductEnumByMethodId") - public Result selectStandardProductEnumByMethodId(Integer id, String tree, String item) { - return Result.success(standardProductListService.selectStandardProductEnumByMethodId(id, tree, item)); - } - - @ApiOperation(value = "鑾峰彇鏍囧噯鏍戜笅鏍囧噯鏂规硶鏋氫妇") - @GetMapping("/selectStandardMethodEnum") - public Result selectStandardMethodEnum() { - return Result.success(standardMethodListService.selectStandardMethodEnum()); - } - - @ApiOperation(value = "鑾峰彇浜у搧鏋舵瀯") - @GetMapping("/getStandardTree2") - public Result getStandardTree2() { - return Result.success(standardTreeService.getStandardTree2()); - } - - @ApiOperation(value = "鎵归噺淇敼椤圭洰鍐呭") - @PostMapping("/upStandardProducts") - @ApiImplicitParams({ - @ApiImplicitParam(name = "standardProductList", dataTypeClass = StandardProductList.class), - @ApiImplicitParam(name = "ids", dataTypeClass = Integer.class) - }) - public Result upStandardProducts(@RequestBody Map<String, Object> product) { - return Result.success(standardTreeService.upStandardProducts(product)); - } - - @PostMapping("/getStandTreeBySampleType") - @ApiOperation("浠呰幏鍙栧厜绾ょ殑鍨嬪彿") - public Result<?> getStandTreeBySampleType(String laboratory, String sampleType) { - return Result.success(standardTreeService.getStandTreeBySampleType(laboratory, sampleType)); - } - - @ApiOperation("瀵煎叆鏍囧噯搴�") - @PostMapping("/inExcelOfTree/{isEquipment}") - public Result inExcelOfTree(@RequestParam("file") MultipartFile file, @PathVariable("isEquipment") Boolean isEquipment) { - if (!isEquipment) { - standardTreeService.inExcelOfTree(file); - } else { - standardTreeService.importWorkstationExcel(file); - } - return Result.success(); - } - - @ApiOperation("閲嶇疆鏍囧噯搴撳崟浠�") - @PostMapping("/resetTreeOfPrice") - public Result resetTreeOfPrice(String tree, Integer standardId) { - standardTreeService.resetTreeOfPrice(tree, standardId); - return Result.success(); - } - - @ApiOperation("閲嶇疆鏍囧噯搴撳伐鏃剁郴鏁�") - @PostMapping("/resetTreeOfHour") - public Result resetTreeOfHour(String tree, Integer standardId) { - standardTreeService.resetTreeOfHour(tree, standardId); - return Result.success(); - } - - @ApiOperation("閲嶇疆鏍囧噯搴撹姹傛弿杩板拰瑕佹眰鍊�") - @PostMapping("/resetTreeOfAsk") - public Result resetTreeOfAsk(String tree, Integer standardId) { - standardTreeService.resetTreeOfAsk(tree, standardId); - return Result.success(); - } - - @ApiOperation("鏍囧噯搴撴嫋鎷�") - @PostMapping("/resetTreeDrag") - public Result resetTreeDrag(@RequestBody ResetTreeDragDTO resetTreeDragDTO) { - standardProductListService.resetTreeDrag(resetTreeDragDTO); - return Result.success(); - } - - @ApiOperation("鏍囧噯搴撴嫋鎷藉叏閮�") - @PostMapping("/resetTreeDragBatch") - public Result resetTreeDragBatch(@RequestBody Map<String, Object> params) { - List<StandardProductList> standardProductLists = (List<StandardProductList>) params.get("params"); - standardProductListService.resetTreeDragBatch(standardProductLists); - return Result.success(); - } - - @ApiOperation(value = "鏍囧噯鏍戞帓搴�") - @PostMapping("/updateTreeSort") - public Result updateTreeSort(@RequestBody List<FactoryDto> list) { - return Result.success(standardTreeService.updateTreeSort(list)); - } - - /*************************************************** 鍘傚鐗规畩瑕佹眰鍊煎鐞� ************************************************************/ - - @ApiOperation(value = "鏍规嵁浜у搧id鏌ヨ鍘傚瑕佹眰鍊肩粦瀹�") - @PostMapping("/selectSupplierAsk") - public Result selectSupplierAsk(StandardProductListSupplierAsk supplierAsk) throws Exception { - return Result.success(standardProductListSupplierAskService.selectByProductId(supplierAsk)); - } - - @ApiOperation(value = "鏂板鍘傚瑕佹眰鍊肩粦瀹�") - @PostMapping("/addProductSupplierAsk") - public Result addProductSupplierAsk(String str) { - StandardProductListSupplierAsk supplierAsk = JSON.parseObject(str, StandardProductListSupplierAsk.class); - return Result.success(standardProductListSupplierAskService.addProductSupplierAsk(supplierAsk)); - } - - @ApiOperation(value = "鏇存柊鍘傚瑕佹眰鍊肩粦瀹�") - @PostMapping("/updateProductSupplierAsk") - public Result updateProductSupplierAsk(String str) { - StandardProductListSupplierAsk supplierAsk = JSON.parseObject(str, StandardProductListSupplierAsk.class); - standardProductListSupplierAskService.updateProductSupplierAsk(supplierAsk); - return Result.success(); - } - - @ApiOperation(value = "鍒犻櫎鍘傚瑕佹眰鍊肩粦瀹�") - @PostMapping("/deleteProductSupplierAsk") - public Result deleteProductSupplierAsk(Integer supplierAskId) { - standardProductListSupplierAskService.removeById(supplierAskId); - return Result.success(); - } - - @ApiOperation(value = "淇敼鏍囧噯鏍�") - @PostMapping("/updateStandardTree") - public Result updateStandardTree(@RequestBody StandardTree standardTree) { - return Result.success(standardTreeService.updateStandardTree(standardTree)); - } - - @ApiOperation(value = "妫�楠岄」瑕佹眰鍊煎鍒跺姣�") - @PostMapping("/copyStandardProductList") - public Result copyStandardProductList(@RequestBody CopyStandardProductListDto copyStandardProductListDto) { - return Result.success(standardProductListService.copyStandardProductList(copyStandardProductListDto)); - } - - @ApiOperation(value = "妫�楠岄」瑕佹眰鍊煎崟鐙姣�") - @PostMapping("/copyStandardProductOne") - public Result copyStandardProductOne(@RequestBody CopyStandardProductListDto copyStandardProductListDto) { - return Result.success(standardProductListService.copyStandardProductOne(copyStandardProductListDto)); - } - - @ApiOperation(value = "妫�楠岄」鎵归噺淇敼瑕佹眰鍊艰姹傛弿杩�") - @PostMapping("/updateStandardProductListBatch") - public Result updateStandardProductListBatch(@RequestBody Map<String, Object> param) { - List<StandardProductList> standardProductList = (List<StandardProductList>) param.get("standardProductList"); - return Result.success(standardProductListService.updateBatchById(standardProductList)); - } - - @ApiOperation(value = "妫�楠岄」澶嶅埗鎺掑簭") - @PostMapping("/copyStandardProductSort") - public Result copyStandardProductSort(@RequestBody CopyStandardProductListDto copyStandardProductListDto) { - return Result.success(standardProductListService.copyStandardProductSort(copyStandardProductListDto)); - } -} diff --git a/basic-server/src/main/java/com/ruoyi/basic/controller/StructureTestObjectPartController.java b/basic-server/src/main/java/com/ruoyi/basic/controller/StructureTestObjectPartController.java deleted file mode 100644 index 5a073e8..0000000 --- a/basic-server/src/main/java/com/ruoyi/basic/controller/StructureTestObjectPartController.java +++ /dev/null @@ -1,59 +0,0 @@ -package com.ruoyi.basic.controller; - - -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.ruoyi.common.core.domain.Result; -import com.ruoyi.basic.pojo.StructureTestObjectPart; -import com.ruoyi.basic.service.StructureTestObjectPartService; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import lombok.AllArgsConstructor; -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; - - -/** - * 妫�楠屽璞¢浂浠惰〃 - * - * @author zhuo - * @since 2024-08-07 - */ -@RestController -@RequestMapping("/structureTestObjectPart") -@AllArgsConstructor -@Api(tags = "妫�楠屽璞¢浂浠惰〃") -public class StructureTestObjectPartController { - - private StructureTestObjectPartService structureTestObjectPartService; - - @ApiOperation(value = "鏍规嵁妫�楠屽璞d鏌ヨ闆朵欢") - @PostMapping("/selectByTestObjectId") - public Result selectByTestObjectId(Page page,StructureTestObjectPart structureTestObjectPart){ - return Result.success(structureTestObjectPartService.selectByTestObjectId(page,structureTestObjectPart)); - } - - @ApiOperation(value = "鏂板妫�楠屽璞¢浂浠�") - @PostMapping("/addTestObjectPart") - public Result addTestObjectPart(@RequestBody StructureTestObjectPart structureTestObjectPart) { - structureTestObjectPartService.addTestObjectPart(structureTestObjectPart); - return Result.success(); - } - - @ApiOperation(value = "鏇存柊妫�楠屽璞¢浂浠�") - @PostMapping("/updateTestObjectPart") - public Result updateTestObjectPart(@RequestBody StructureTestObjectPart structureTestObjectPart) { - structureTestObjectPartService.updateTestObjectPart(structureTestObjectPart); - return Result.success(); - } - - @ApiOperation(value = "鍒犻櫎妫�楠屽璞¢浂浠�") - @PostMapping("/deleteTestObjectPart") - public Result deleteTestObjectPart(Integer id) { - structureTestObjectPartService.removeById(id); - return Result.success(); - } - -} - diff --git a/basic-server/src/main/java/com/ruoyi/basic/dto/CopyStandardProductListDto.java b/basic-server/src/main/java/com/ruoyi/basic/dto/CopyStandardProductListDto.java deleted file mode 100644 index 7287adb..0000000 --- a/basic-server/src/main/java/com/ruoyi/basic/dto/CopyStandardProductListDto.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.ruoyi.basic.dto; - -import com.ruoyi.basic.pojo.StandardProductList; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -import java.util.List; - -/** - * 鏍囧噯妫�楠岄」澶嶅埗 - * - * @Author zhuo - * @Date 2024/10/31 - */ -@Data -public class CopyStandardProductListDto { - - @ApiModelProperty("鍘熸湰妫�楠岄」淇℃伅") - private List<StandardProductList> oldStandardProductList; - - @ApiModelProperty("闇�瑕佸姣旂殑妫�楠岄」淇℃伅") - private List<StandardProductList> newStandardProductList; -} diff --git a/basic-server/src/main/java/com/ruoyi/basic/dto/FactoryDto.java b/basic-server/src/main/java/com/ruoyi/basic/dto/FactoryDto.java deleted file mode 100644 index 612bcf8..0000000 --- a/basic-server/src/main/java/com/ruoyi/basic/dto/FactoryDto.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.ruoyi.basic.dto; - -import lombok.Data; - -import java.util.List; - -@Data -public class FactoryDto { - - private String code = "[1]"; - - private String label; - - private String value; - - private List<LaboratoryDto> children; - -} diff --git a/basic-server/src/main/java/com/ruoyi/basic/dto/IfsInventoryQuantityCheckDto.java b/basic-server/src/main/java/com/ruoyi/basic/dto/IfsInventoryQuantityCheckDto.java deleted file mode 100644 index db5c582..0000000 --- a/basic-server/src/main/java/com/ruoyi/basic/dto/IfsInventoryQuantityCheckDto.java +++ /dev/null @@ -1,182 +0,0 @@ -package com.ruoyi.basic.dto; - -import com.fasterxml.jackson.annotation.JsonFormat; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -import java.io.Serializable; -import java.math.BigDecimal; -import java.time.LocalDateTime; - -/** - * 鍘熸潗鏂欐煡璇�, 鎺掗櫎浜嗕緵搴斿晢 - * @Author zhuo - * @Date 2024/8/28 - */ -@Data -public class IfsInventoryQuantityCheckDto implements Serializable { - - private Integer id; - - @ApiModelProperty("鍩�") - private String contract; - - @ApiModelProperty("璁㈠崟鍙�") - private String orderNo; - - - @ApiModelProperty("琛屽彿") - private String lineNo; - - @ApiModelProperty("涓嬭揪鍙�") - private String releaseNo; - - @ApiModelProperty("鎺ユ敹鍙�") - private Integer receiptNo; - - @ApiModelProperty("闆朵欢鍙�") - private String partNo; - - @ApiModelProperty("闆朵欢鎻忚堪") - private String partDesc; - - @ApiModelProperty("鐘舵�佹弿杩�") - private String status; - - @ApiModelProperty("鐘舵��") - private String statusDb; - - @ApiModelProperty("鎶佃揪鐨勯噰璐暟閲�") - private BigDecimal qtyArrived; - - @ApiModelProperty("宸叉楠岀殑璐拱鏁伴噺") - private BigDecimal qtyInspected; - - @ApiModelProperty("瑕佹楠岀殑閲囪喘鏁伴噺") - private BigDecimal qtyToInspect; - - @ApiModelProperty("鎶佃揪鐨勫簱瀛樻暟閲�") - private BigDecimal invQtyInStore; - - @ApiModelProperty("鎶佃揪鐨勯噰璐暟閲�") - private BigDecimal purQtyInStore; - - @ApiModelProperty("閰嶇疆鏍囪瘑") - private String configurationId; - - @ApiModelProperty("鎵瑰彿") - private String lotBatchNo; - - @ApiModelProperty("wdr鍙�") - private String waivDevRejNo; - - @ApiModelProperty("娲诲姩搴忓垪") - private Integer activitySeq; - - - @ApiModelProperty("搴忓垪鍙�") - private String serialNo; - - @ApiModelProperty("搴撲綅鍙�") - private String locationNo; - - @ApiModelProperty("鐗堟湰鍙�") - private String engChgLevel; - - @ApiModelProperty("鎺ユ敹浜�") - private String receiver; - - @ApiModelProperty("鎺ユ敹浜哄鍚�") - private String receiverName; - - @ApiModelProperty("閲囪喘鍛�") - private String buyerCode; - - @ApiModelProperty("閲囪喘鍛樺鍚�") - private String buyerName; - - @ApiModelProperty("瀹為檯鍒拌揣鏃ユ湡") - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") - private LocalDateTime arriveDate; - - @ApiModelProperty("瀹為檯浜よ揣鏃ユ湡") - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") - private LocalDateTime deliveryDate; - - @ApiModelProperty("鐢熶骇鏃ユ湡") - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") - private LocalDateTime productDate; - - @ApiModelProperty("澶辨晥鏃ユ湡") - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") - private LocalDateTime invalidDate; - - - @ApiModelProperty("瀹℃壒鏃ユ湡") - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") - private LocalDateTime approvedDate; - - @ApiModelProperty("閲囪喘鐢宠鍒涘缓浜�") - private String reqCeater; - - @ApiModelProperty("閲囪喘鐢宠鍒涘缓浜哄鍚�") - private String reqCeaterName; - - @ApiModelProperty("閲囪喘璁㈠崟琛屽娉�") - private String lineRemarks; - - @ApiModelProperty("鍗曚綅") - private String buyUnitMeas; - - - private Integer isSource; - - private Integer number; - - - private Integer state; - - @ApiModelProperty("鎺ユ敹鏃堕棿") - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") - private LocalDateTime receiverDate; - - @ApiModelProperty("鏄惁涓洪娆″嚭鐜� 0 鍚� 1 鏄�") - private Integer isFirst; - - @ApiModelProperty("鐩爣搴撲綅鍙�") - private String toLocation; - - @ApiModelProperty("鏄惁鏄姤妫� 0 鍚� 1 鏄�") - private Integer isInspect; - - @ApiModelProperty("鎶ユ浜�") - private String declareUser; - - - @ApiModelProperty("鎶ユ浜篿d") - private Integer declareUserId; - - @ApiModelProperty("鍗曚綅") - private String partUnit; - - @ApiModelProperty("浜т笟閾炬娴嬫暟鎹�") - private String industryChain; - - @ApiModelProperty("鎶ユ鏃堕棿") - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") - private LocalDateTime declareDate; - - @ApiModelProperty("鏄惁鍗″彲浠ュ搴︽楠� 0 鍚� 1 鏄�") - private Integer isQuarter; - - // 淇敼鍚庣殑 - @ApiModelProperty("鎵瑰彿") - private String updateBatchNo; - - @ApiModelProperty("鏄惁鏄摐鍗曚笣, 0鍚�, 1鏄�") - private Integer isCopper; - - @ApiModelProperty("鐗╂枡绫诲瀷") - private Integer isExpire; - -} diff --git a/basic-server/src/main/java/com/ruoyi/basic/dto/IfsInventoryQuantityDto.java b/basic-server/src/main/java/com/ruoyi/basic/dto/IfsInventoryQuantityDto.java deleted file mode 100644 index 237224e..0000000 --- a/basic-server/src/main/java/com/ruoyi/basic/dto/IfsInventoryQuantityDto.java +++ /dev/null @@ -1,82 +0,0 @@ -package com.ruoyi.basic.dto; - -import com.fasterxml.jackson.annotation.JsonFormat; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -import java.time.LocalDateTime; - -@Data -public class IfsInventoryQuantityDto extends IfsInventoryQuantityCheckDto { - - /** - * 濮旀墭缂栧彿 - */ - @ApiModelProperty("濮旀墭缂栧彿") - private String entrustCode; - - @ApiModelProperty("妫�楠屽璞�") - private String sampleType; - - @ApiModelProperty("鏍峰搧鍚嶇О") - private String sampleName; - - @ApiModelProperty("鏍峰搧鍨嬪彿") - private String sampleModel; - - @ApiModelProperty("鏍峰搧缂栧彿") - private String sampleCode; - - // 杩涘巶 - @ApiModelProperty("璁㈠崟id") - private Integer enterOrderId; - - @ApiModelProperty("鎶ュ憡id") - private String enterReportId; - - @ApiModelProperty("绯荤粺鐢熸垚鎶ュ憡鍦板潃") - private String enterUrl; - - @ApiModelProperty("鎵嬪姩涓婁紶鎶ュ憡鍦板潃") - private String enterUrlS; - - // 瀛e害 - @ApiModelProperty("璁㈠崟id") - private Integer quarterOrderId; - - @ApiModelProperty("鎶ュ憡id") - private String quarterReportId; - - @ApiModelProperty("绯荤粺鐢熸垚鎶ュ憡鍦板潃") - private String quarterUrl; - - @ApiModelProperty("鎵嬪姩涓婁紶鎶ュ憡鍦板潃") - private String quarterUrlS; - - private Integer orderState; - - @ApiModelProperty("涓嬪彂鏃堕棿") - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime sendTime; - - @ApiModelProperty("鏉愭枡鍘傚") - private String supplierName; - - @ApiModelProperty("濮旀墭浜�") - private String prepareUser; - - @ApiModelProperty("棰滆壊") - private String color; - - @ApiModelProperty("鏍囩鐘舵��") - private String labelStatus; - - @ApiModelProperty("鏍囩鏉″舰鐮�") - private String labelBarCode; - - @ApiModelProperty("鍒涘缓浜�") - private Integer createUser; - - @ApiModelProperty("妫�楠屼汉") - private String userName; -} diff --git a/basic-server/src/main/java/com/ruoyi/basic/dto/IfsInventoryQuantitySupplierDto.java b/basic-server/src/main/java/com/ruoyi/basic/dto/IfsInventoryQuantitySupplierDto.java deleted file mode 100644 index 71bfddb..0000000 --- a/basic-server/src/main/java/com/ruoyi/basic/dto/IfsInventoryQuantitySupplierDto.java +++ /dev/null @@ -1,124 +0,0 @@ -package com.ruoyi.basic.dto; - -import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; -import com.alibaba.excel.annotation.ExcelProperty; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.ruoyi.basic.pojo.IfsInventoryQuantity; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -import java.time.LocalDateTime; - -/** - * 鑳芥煡璇㈠埌渚涘簲鍟� - */ -@Data -@ExcelIgnoreUnannotated -public class IfsInventoryQuantitySupplierDto extends IfsInventoryQuantity { - - /** - * 濮旀墭缂栧彿 - */ - @ExcelProperty(index = 2, value = "濮旀墭缂栧彿") - @ApiModelProperty("濮旀墭缂栧彿") - private String entrustCode; - - @ApiModelProperty("鏍峰搧id") - private Integer sampleId; - - @ApiModelProperty("妫�楠屽璞�") - private String sampleType; - - @ExcelProperty(index = 7, value = "鏍峰搧鍚嶇О") - @ApiModelProperty("鏍峰搧鍚嶇О") - private String sampleName; - - @ExcelProperty(index = 8, value = "鏍峰搧鍨嬪彿") - @ApiModelProperty("鏍峰搧鍨嬪彿") - private String sampleModel; - - @ApiModelProperty("鏍峰搧缂栧彿") - private String sampleCode; - - // 杩涘巶 - @ApiModelProperty("杩涘巶璁㈠崟id") - private Integer enterOrderId; - - @ApiModelProperty("鎶ュ憡id") - private String enterReportId; - - @ApiModelProperty("绯荤粺鐢熸垚鎶ュ憡鍦板潃") - private String enterUrl; - - @ApiModelProperty("鎵嬪姩涓婁紶鎶ュ憡鍦板潃") - private String enterUrlS; - - // 瀛e害 - @ApiModelProperty("瀛e害璁㈠崟id") - private Integer quarterOrderId; - - @ApiModelProperty("鎶ュ憡id") - private String quarterReportId; - - @ApiModelProperty("绯荤粺鐢熸垚鎶ュ憡鍦板潃") - private String quarterUrl; - - @ApiModelProperty("鎵嬪姩涓婁紶鎶ュ憡鍦板潃") - private String quarterUrlS; - - private Integer orderState; - - @ApiModelProperty("涓嬪彂鏃堕棿") - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime sendTime; - - @ApiModelProperty("濮旀墭浜�") - private String prepareUser; - - @ApiModelProperty("棰滆壊") - private String color; - - @ApiModelProperty("鏍囩鐘舵��") - private String labelStatus; - - @ApiModelProperty("鏍囩鏉″舰鐮�") - private String labelBarCode; - - @ApiModelProperty("鍒涘缓浜�") - private Integer createUser; - - @ExcelProperty(index = 9, value = "妫�楠屼汉") - @ApiModelProperty("妫�楠屼汉") - private String userName; - - @ExcelProperty(index = 10, value = "涓嬪彂鏃堕棿") - private String sendTimeString; - - @ExcelProperty(index = 14, value = "鎺ユ敹鏃堕棿") - private String receiverDateString; - - @ExcelProperty(index = 15, value = "鎶ユ鏃堕棿") - private String declareDateString; - - // 鍚堟牸鐘舵��,: 0 妫�楠屼腑, 1鍚堟牸, 2涓嶅悎鏍�, 3鏈笅鍗�,4璁╂鏀捐 - @ExcelProperty(index = 6, value = "妫�楠岀姸鎬�") - private String inspectStatusString; - - @ApiModelProperty("鎶ユ寮�濮嬫椂闂�") - private String beginDeclareDate; - - @ApiModelProperty("鎶ユ缁撴潫鏃堕棿") - private String endDeclareDate; - - @ApiModelProperty("涓嶅悎鏍兼弿杩�") - @ExcelProperty(index = 16, value = "涓嶅悎鏍兼弿杩�") - private String unqualifiedDesc; - - - @ApiModelProperty("涓嶅悎鏍奸」") - @ExcelProperty(index = 17, value = "涓嶅悎鏍奸」") - private String unqualifiedItem; - - @ApiModelProperty("鍏嶆") - private Integer isExemption; -} diff --git a/basic-server/src/main/java/com/ruoyi/basic/dto/InsSampleReceiveDto.java b/basic-server/src/main/java/com/ruoyi/basic/dto/InsSampleReceiveDto.java deleted file mode 100644 index fbc2683..0000000 --- a/basic-server/src/main/java/com/ruoyi/basic/dto/InsSampleReceiveDto.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.ruoyi.basic.dto; - -import com.ruoyi.basic.pojo.InsSample1; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -/** - * @Author zhuo - * @Date 2024/10/29 - */ -@Data -public class InsSampleReceiveDto extends InsSample1 { - - @ApiModelProperty("闆朵欢鍙�") - private String partNo; - - @ApiModelProperty("鍘熸潗鏂檌d") - private Integer ifsInventoryId; - - @ApiModelProperty("鑺暟") - private String cores; - - @ApiModelProperty("鍨嬪彿鍙傛暟") - private String modelNum; - - @ApiModelProperty("瀵间綋鏉愯川") - private String conductorMaterial; - - @ApiModelProperty("瀵间綋绫诲瀷") - private String conductorType; - - @ApiModelProperty("鏄惁鏄數缂嗛厤缃�") - private String isCableTag; - -} diff --git a/basic-server/src/main/java/com/ruoyi/basic/dto/LaboratoryDto.java b/basic-server/src/main/java/com/ruoyi/basic/dto/LaboratoryDto.java deleted file mode 100644 index e3f000c..0000000 --- a/basic-server/src/main/java/com/ruoyi/basic/dto/LaboratoryDto.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.ruoyi.basic.dto; - -import lombok.Data; - -import java.util.List; - -@Data -public class LaboratoryDto { - - private String code = "[2]"; - - private String label; - - private String value; - - private List<SampleTypeDto> children; - -} diff --git a/basic-server/src/main/java/com/ruoyi/basic/dto/ModelDto.java b/basic-server/src/main/java/com/ruoyi/basic/dto/ModelDto.java deleted file mode 100644 index 5f8321e..0000000 --- a/basic-server/src/main/java/com/ruoyi/basic/dto/ModelDto.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.ruoyi.basic.dto; - -import lombok.Data; - -@Data -public class ModelDto { - - private String code = "[5]"; - - private String label; - - private String value; - - -} diff --git a/basic-server/src/main/java/com/ruoyi/basic/dto/PageTestObjectDto.java b/basic-server/src/main/java/com/ruoyi/basic/dto/PageTestObjectDto.java deleted file mode 100644 index 684cf46..0000000 --- a/basic-server/src/main/java/com/ruoyi/basic/dto/PageTestObjectDto.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.ruoyi.basic.dto; - -import com.ruoyi.basic.pojo.StructureTestObject; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -/** - * @Author 鎴村崜 - * @Date 2024/2/26 - */ -@Data -public class PageTestObjectDto extends StructureTestObject { - - @ApiModelProperty(value = "浜у搧") - private String product; - - @ApiModelProperty(value = "鍒涘缓浜�") - private String createUserName; - - @ApiModelProperty(value = "鏇存柊浜�") - private String updateUserName; - - @ApiModelProperty(value = "闆朵欢鍙�") - private String partNo; -} diff --git a/basic-server/src/main/java/com/ruoyi/basic/dto/ProductDTO1.java b/basic-server/src/main/java/com/ruoyi/basic/dto/ProductDTO1.java deleted file mode 100644 index 8ed7631..0000000 --- a/basic-server/src/main/java/com/ruoyi/basic/dto/ProductDTO1.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.ruoyi.basic.dto; - -import com.ruoyi.basic.pojo.Product; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -/** - * @Author zhuo - * @Date 2024/8/5 - */ -@Data -public class ProductDTO1 extends Product { - - @ApiModelProperty(value = "闆朵欢鍙�") - private String partNo; -} diff --git a/basic-server/src/main/java/com/ruoyi/basic/dto/ProductDto.java b/basic-server/src/main/java/com/ruoyi/basic/dto/ProductDto.java deleted file mode 100644 index efd5d2e..0000000 --- a/basic-server/src/main/java/com/ruoyi/basic/dto/ProductDto.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.ruoyi.basic.dto; - -import lombok.Data; - -@Data -public class ProductDto { - - private Integer id; - - private String name; -} diff --git a/basic-server/src/main/java/com/ruoyi/basic/dto/ResetTreeDragDTO.java b/basic-server/src/main/java/com/ruoyi/basic/dto/ResetTreeDragDTO.java deleted file mode 100644 index d875a91..0000000 --- a/basic-server/src/main/java/com/ruoyi/basic/dto/ResetTreeDragDTO.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.ruoyi.basic.dto; - -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -/** - * @Author zhuo - * @Date 2024/8/22 - */ -@Data -public class ResetTreeDragDTO { - @ApiModelProperty(value = "寮�濮嬬储寮�") - private String beginIndex; - - @ApiModelProperty(value = "缁撴潫绱㈠紩") - private String endIndex; - - @ApiModelProperty(value = "鏍囧噯缂栧彿id") - private String methodId; - - @ApiModelProperty(value = "鏁�") - private String tree; - - @ApiModelProperty(value = "妫�楠岄」琛宨d") - private String productionId; -} diff --git a/basic-server/src/main/java/com/ruoyi/basic/dto/SampleDto.java b/basic-server/src/main/java/com/ruoyi/basic/dto/SampleDto.java deleted file mode 100644 index 18fc086..0000000 --- a/basic-server/src/main/java/com/ruoyi/basic/dto/SampleDto.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.ruoyi.basic.dto; - -import lombok.Data; - -import java.util.List; - -@Data -public class SampleDto { - - private String code = "[4]"; - - private String label; - - private String value; - - private String partNo; - - // 鏍峰搧鑻辨枃 - private String sampleEn; - - private List<ModelDto> children; - -} diff --git a/basic-server/src/main/java/com/ruoyi/basic/dto/SampleTypeDto.java b/basic-server/src/main/java/com/ruoyi/basic/dto/SampleTypeDto.java deleted file mode 100644 index 0ae8087..0000000 --- a/basic-server/src/main/java/com/ruoyi/basic/dto/SampleTypeDto.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.ruoyi.basic.dto; - -import lombok.Data; - -import java.util.List; - -@Data -public class SampleTypeDto { - - private String code = "[3]"; - - // 妫�娴嬪璞d - private Integer sampleTypeId; - - // 妫�娴嬪璞℃帓搴� - private Integer sort; - - private String label; - - private String value; - - private String partNo; - - // 瀵硅薄鑻辨枃 - private String sampleTypeEn; - - private List<SampleDto> children; - -} diff --git a/basic-server/src/main/java/com/ruoyi/basic/dto/TestItemDto.java b/basic-server/src/main/java/com/ruoyi/basic/dto/TestItemDto.java deleted file mode 100644 index 4363a1a..0000000 --- a/basic-server/src/main/java/com/ruoyi/basic/dto/TestItemDto.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.ruoyi.basic.dto; - -import lombok.Data; - -import java.util.List; - -@Data -public class TestItemDto { - - private Integer id; - - private String name; - - private List<ProductDto> children; - -} diff --git a/basic-server/src/main/java/com/ruoyi/basic/excel/StructureTestObjectData.java b/basic-server/src/main/java/com/ruoyi/basic/excel/StructureTestObjectData.java deleted file mode 100644 index 4fc2fd2..0000000 --- a/basic-server/src/main/java/com/ruoyi/basic/excel/StructureTestObjectData.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.ruoyi.basic.excel; - -import com.alibaba.excel.annotation.ExcelProperty; -import lombok.Data; - -@Data -public class StructureTestObjectData { - @ExcelProperty(value = "鍦烘墍") - private String laboratory; - - @ExcelProperty(value = "妫�娴嬪璞�") - private String specimenName; - - @ExcelProperty(value = "妫�娴嬪璞�(EN)") - private String specimenNameEn; - - @ExcelProperty(value = "瀵硅薄浠e彿") - private String code; - - @ExcelProperty(value = "浜у搧鍚嶇О") - private String name; - - @ExcelProperty(value = "浜у搧鍚嶇О(EN)") - private String nameEn; -} diff --git a/basic-server/src/main/java/com/ruoyi/basic/excel/StructureTestObjectListener.java b/basic-server/src/main/java/com/ruoyi/basic/excel/StructureTestObjectListener.java deleted file mode 100644 index 04d3c2c..0000000 --- a/basic-server/src/main/java/com/ruoyi/basic/excel/StructureTestObjectListener.java +++ /dev/null @@ -1,38 +0,0 @@ -package com.ruoyi.basic.excel; - -import com.alibaba.excel.context.AnalysisContext; -import com.alibaba.excel.event.AnalysisEventListener; -import com.ruoyi.basic.service.ProductService; - -import java.util.ArrayList; -import java.util.List; - -public class StructureTestObjectListener extends AnalysisEventListener<StructureTestObjectData> { - private static final int BATCH_COUNT = 1000; - List<StructureTestObjectData> list = new ArrayList<>(); - - private ProductService productService; - - public StructureTestObjectListener(ProductService productService) { - this.productService = productService; - } - - @Override - public void invoke(StructureTestObjectData data, AnalysisContext analysisContext) { - list.add(data); - if (list.size() >= BATCH_COUNT) { - save(); - list.clear(); - } - } - - @Override - public void doAfterAllAnalysed(AnalysisContext analysisContext) { - save(); - } - - - private void save() { - productService.importPartExcel(list); - } -} diff --git a/basic-server/src/main/java/com/ruoyi/basic/mapper/CertificationMapper.java b/basic-server/src/main/java/com/ruoyi/basic/mapper/CertificationMapper.java deleted file mode 100644 index 2d50f3d..0000000 --- a/basic-server/src/main/java/com/ruoyi/basic/mapper/CertificationMapper.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.ruoyi.basic.mapper; - -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.ruoyi.basic.pojo.Certification; -import org.apache.ibatis.annotations.Param; - -public interface CertificationMapper extends BaseMapper<Certification> { - - //鏌ヨ璧勮川鏄庣粏鍒楄〃 - IPage<Certification> getCertificationDetail(Page page, @Param("ew") QueryWrapper<Certification> ew); -} diff --git a/basic-server/src/main/java/com/ruoyi/basic/mapper/IfsInventoryQuantityMapper.java b/basic-server/src/main/java/com/ruoyi/basic/mapper/IfsInventoryQuantityMapper.java deleted file mode 100644 index 1963bb9..0000000 --- a/basic-server/src/main/java/com/ruoyi/basic/mapper/IfsInventoryQuantityMapper.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.ruoyi.basic.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.ruoyi.basic.dto.IfsInventoryQuantityDto; -import com.ruoyi.basic.pojo.IfsInventoryQuantity; -import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Param; - -import java.time.LocalDateTime; -import java.util.List; - -@Mapper -public interface IfsInventoryQuantityMapper extends BaseMapper<IfsInventoryQuantity> { - - /** - * 鎵撳嵃鏍囩鏌ヨ - * @param ids - * @return - */ - List<IfsInventoryQuantityDto> printLabel(@Param("ids") List<Integer> ids); - - /** - * - * @param ifsInventoryId - * @return - */ - int selectReportCountById(@Param("ifsInventoryId") Integer ifsInventoryId); - - - /** - * 鏌ヨ褰撳墠瀛e害鏄惁鍑虹幇杩囪鏉愭枡 - * @param partDetail 鍨嬪彿 - * @param supplierName 渚涘簲鍟嗗悕绉� - * @param startOfNextQuarter 瀛e害寮�濮嬫椂闂� - * @param endOfQuarter 瀛e害缁撴潫鏃堕棿 - * @return - */ - Integer selectIsFirst(@Param("partDetail") String partDetail, - @Param("supplierName") String supplierName, - @Param("startOfNextQuarter") LocalDateTime startOfNextQuarter, - @Param("endOfQuarter") LocalDateTime endOfQuarter); -} diff --git a/basic-server/src/main/java/com/ruoyi/basic/mapper/LaboratoryMapper.java b/basic-server/src/main/java/com/ruoyi/basic/mapper/LaboratoryMapper.java deleted file mode 100644 index df6aab9..0000000 --- a/basic-server/src/main/java/com/ruoyi/basic/mapper/LaboratoryMapper.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.ruoyi.basic.mapper; - -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.ruoyi.basic.pojo.Laboratory; -import org.apache.ibatis.annotations.Param; - -/** - * 瀹為獙瀹ょ鐞�(Laboratory)琛ㄦ暟鎹簱璁块棶灞� - */ -public interface LaboratoryMapper extends BaseMapper<Laboratory> { - - IPage<Laboratory> selectItemParameter(Page page, @Param("ew") QueryWrapper<Laboratory> ew); - - Object obtainItemParameterList(@Param("page") Page page, @Param("ew") QueryWrapper<Laboratory> ew); - -} - diff --git a/basic-server/src/main/java/com/ruoyi/basic/mapper/ProductMapper.java b/basic-server/src/main/java/com/ruoyi/basic/mapper/ProductMapper.java deleted file mode 100644 index 8fdbc4a..0000000 --- a/basic-server/src/main/java/com/ruoyi/basic/mapper/ProductMapper.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.ruoyi.basic.mapper; - -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.ruoyi.basic.dto.ProductDTO1; -import com.ruoyi.basic.pojo.Product; -import org.apache.ibatis.annotations.Param; - -/** -* @author z1292 -* @description 閽堝琛ㄣ�恜roduct(浜у搧琛�)銆戠殑鏁版嵁搴撴搷浣淢apper -* @createDate 2024-04-26 01:11:02 -* @Entity com.ruoyi.basic.pojo.Product -*/ -public interface ProductMapper extends BaseMapper<Product> { - - IPage<Product> selectProductListByObjectId(Page page, @Param("ew") QueryWrapper<ProductDTO1> ew, @Param("partNo") String partNo); -} - - - - diff --git a/basic-server/src/main/java/com/ruoyi/basic/mapper/ProductPartMapper.java b/basic-server/src/main/java/com/ruoyi/basic/mapper/ProductPartMapper.java deleted file mode 100644 index 9d2943f..0000000 --- a/basic-server/src/main/java/com/ruoyi/basic/mapper/ProductPartMapper.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.ruoyi.basic.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.ruoyi.basic.pojo.ProductPart; -import org.apache.ibatis.annotations.Param; - -public interface ProductPartMapper extends BaseMapper<ProductPart> { - IPage<ProductPart> selectListByProductId(IPage<ProductPart> page, - @Param("ew") QueryWrapper<ProductPart> ew, - @Param("productId") Integer productId); -} diff --git a/basic-server/src/main/java/com/ruoyi/basic/mapper/ProductSupplierDensityMapper.java b/basic-server/src/main/java/com/ruoyi/basic/mapper/ProductSupplierDensityMapper.java deleted file mode 100644 index 80b387c..0000000 --- a/basic-server/src/main/java/com/ruoyi/basic/mapper/ProductSupplierDensityMapper.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.ruoyi.basic.mapper; - -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.ruoyi.basic.pojo.ProductSupplierDensity; -import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Param; - -/** - * 浜у搧鍘傚瀵嗗害缁戝畾琛� - * - * @author zhuo - * @since 2024-09-19 - */ -@Mapper -public interface ProductSupplierDensityMapper extends BaseMapper<ProductSupplierDensity> { - - IPage<ProductSupplierDensity> selectListByProductId(@Param("page") Page page, @Param("ew") QueryWrapper<ProductSupplierDensity> ew, @Param("productId") Integer productId); -} - diff --git a/basic-server/src/main/java/com/ruoyi/basic/mapper/SealMapper.java b/basic-server/src/main/java/com/ruoyi/basic/mapper/SealMapper.java deleted file mode 100644 index 9b96fc9..0000000 --- a/basic-server/src/main/java/com/ruoyi/basic/mapper/SealMapper.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.ruoyi.basic.mapper; - -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.ruoyi.basic.pojo.Laboratory; -import com.ruoyi.basic.pojo.Seal; -import org.apache.ibatis.annotations.Param; - -import java.util.List; - -public interface SealMapper extends BaseMapper<Seal> { - IPage<Seal>selectSeal(Page page, @Param("ew") QueryWrapper<Seal> ew); - List<Laboratory> selectLaboratory (Integer labId); - -} diff --git a/basic-server/src/main/java/com/ruoyi/basic/mapper/StandardMethodListMapper.java b/basic-server/src/main/java/com/ruoyi/basic/mapper/StandardMethodListMapper.java deleted file mode 100644 index a5e337b..0000000 --- a/basic-server/src/main/java/com/ruoyi/basic/mapper/StandardMethodListMapper.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.ruoyi.basic.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.ruoyi.basic.pojo.StandardMethodList; -import com.ruoyi.basic.pojo.StandardProductList; -import org.apache.ibatis.annotations.Param; - -import java.util.List; -import java.util.Map; - -/** -* @author Administrator -* @description 閽堝琛ㄣ�恠tandard_method_list(鏍囧噯鏍戜笅鐨勬爣鍑嗗垪琛�)銆戠殑鏁版嵁搴撴搷浣淢apper -* @createDate 2024-03-04 13:44:04 -* @Entity com.ruoyi.basic.pojo.StandardMethodList -*/ -public interface StandardMethodListMapper extends BaseMapper<StandardMethodList> { - - Map<String, String> selectStandardMethodById(Integer id); - - String selectUserById(Integer id); - - List<StandardMethodList> selectStandardMethodLists(String tree); - - List<StandardMethodList> selectStandardMethodListsByNull(String tree); - - List<StandardMethodList> selectStandardMethodLists3(String tree); - - List<StandardMethodList> selectStandardMethodLists2(@Param("data1") String data1, @Param("data2") String data2, @Param("data3") String data3, @Param("data4") String data4, @Param("data5") String data5); - - List<StandardProductList> selectParameterList(String code); - - List<StandardMethodList> selectListEnum(); - - Integer getStandardMethodId(String code); -} - - - - diff --git a/basic-server/src/main/java/com/ruoyi/basic/mapper/StandardMethodMapper.java b/basic-server/src/main/java/com/ruoyi/basic/mapper/StandardMethodMapper.java deleted file mode 100644 index fb88032..0000000 --- a/basic-server/src/main/java/com/ruoyi/basic/mapper/StandardMethodMapper.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.ruoyi.basic.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.ruoyi.framework.mybatis_config.MyBaseMapper; -import com.ruoyi.basic.pojo.StandardMethod; -import org.apache.ibatis.annotations.Param; - -/** -* @author Administrator -* @description 閽堝琛ㄣ�恠tandard_method(鏍囧噯鏂规硶)銆戠殑鏁版嵁搴撴搷浣淢apper -* @createDate 2024-03-03 19:21:41 -* @Entity com.ruoyi.basic.pojo.StandardMethod -*/ -public interface StandardMethodMapper extends MyBaseMapper<StandardMethod> { - - IPage<StandardMethod> selectStandardMethodList(Page page, @Param("ew") QueryWrapper<StandardMethod> ew); - - StandardMethod selectStandMethodById(Integer id); - -} - - - - diff --git a/basic-server/src/main/java/com/ruoyi/basic/mapper/StandardProductListMapper.java b/basic-server/src/main/java/com/ruoyi/basic/mapper/StandardProductListMapper.java deleted file mode 100644 index f25f673..0000000 --- a/basic-server/src/main/java/com/ruoyi/basic/mapper/StandardProductListMapper.java +++ /dev/null @@ -1,69 +0,0 @@ -package com.ruoyi.basic.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.ruoyi.basic.pojo.StandardProductList; -import org.apache.ibatis.annotations.Param; - -import java.util.List; -import java.util.Map; - -/** -* @author Administrator -* @description 閽堝琛ㄣ�恠tandard_product_list(鏍囧噯鏍戜笅鐨勬楠岄」鐩�)銆戠殑鏁版嵁搴撴搷浣淢apper -* @createDate 2024-03-05 10:33:29 -* @Entity com.ruoyi.basic.pojo.StandardProductList -*/ -public interface StandardProductListMapper extends BaseMapper<StandardProductList> { - - IPage<StandardProductList> standardProductListIPage(@Param("id") Integer id, @Param("tree") String tree, IPage<StandardProductList> page, @Param("laboratory") String laboratory, @Param("insItem") String insItem, @Param("insItems") String insItems); - - StandardProductList getOne(@Param("standardMethodListId") Integer standardMethodListId, @Param("inspectionItem") String inspectionItem, @Param("sample") String sample, @Param("inspectionItemSubclass") String inspectionItemSubclass, @Param("model") String model, @Param("inspectionItemClass") String inspectionItemClass); - - List<StandardProductList> selectDetail(@Param("standardMethodListId") Integer standardMethodListId, @Param("state") int state, @Param("model") String model, @Param("isCableTag") String isCableTag); - - List<StandardProductList> selectDetail2(@Param("standardMethodListId") Integer standardMethodListId, @Param("state") int state, @Param("tree") String tree, @Param("isCableTag") String isCableTag); - - /** - * 鏌ヨ闆朵欢棰滆壊 - * @param partNo - * @return - */ - Map<String, String> selectPartColor(@Param("partNo") String partNo); - - /** - * 鍖洪棿淇敼 - * @param productList - * @return - */ - void updateSection(@Param("productList") StandardProductList productList); - - - /** - * 浠庝笂寰�涓嬩慨鏀归『搴� - * @param beginIndex 寮�濮嬩綅缃� - * @param endIndex 缁撴潫浣嶇疆 - * @param methodId 鏍囧噯id - * @param tree 鏍� - */ - void updateSortUp(@Param("beginIndex") Integer beginIndex, - @Param("endIndex") Integer endIndex, - @Param("methodId") Integer methodId, - @Param("tree") String tree); - - /** - * 浠庝笅缃戜笂淇敼椤哄簭 - * @param beginIndex - * @param endIndex - * @param methodId - * @param tree - */ - void updateSortDown(@Param("beginIndex") Integer beginIndex, - @Param("endIndex") Integer endIndex, - @Param("methodId") Integer methodId, - @Param("tree") String tree); -} - - - - diff --git a/basic-server/src/main/java/com/ruoyi/basic/mapper/StandardProductListSupplierAskMapper.java b/basic-server/src/main/java/com/ruoyi/basic/mapper/StandardProductListSupplierAskMapper.java deleted file mode 100644 index ff3cdfb..0000000 --- a/basic-server/src/main/java/com/ruoyi/basic/mapper/StandardProductListSupplierAskMapper.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.ruoyi.basic.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.ruoyi.basic.pojo.StandardProductListSupplierAsk; -import org.apache.ibatis.annotations.Mapper; - -/** - * 妫�楠岄」鐩巶瀹跺瘑搴︾粦瀹氳〃 - * - * @author zhuo - * @since 2024-09-23 - */ -@Mapper -public interface StandardProductListSupplierAskMapper extends BaseMapper<StandardProductListSupplierAsk> { - - -} - diff --git a/basic-server/src/main/java/com/ruoyi/basic/mapper/StandardTemplateMapper.java b/basic-server/src/main/java/com/ruoyi/basic/mapper/StandardTemplateMapper.java deleted file mode 100644 index feb76f2..0000000 --- a/basic-server/src/main/java/com/ruoyi/basic/mapper/StandardTemplateMapper.java +++ /dev/null @@ -1,32 +0,0 @@ -package com.ruoyi.basic.mapper; - -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.ruoyi.basic.pojo.StandardTemplate; -import org.apache.ibatis.annotations.Param; - -/** -* @author Administrator -* @description 閽堝琛ㄣ�恠tandard_template(鏍囧噯妯℃澘)銆戠殑鏁版嵁搴撴搷浣淢apper -* @createDate 2024-03-11 13:47:52 -* @Entity com.ruoyi.basic.pojo.StandardTemplate -*/ -public interface StandardTemplateMapper extends BaseMapper<StandardTemplate> { - - IPage<StandardTemplate> selectStandardTemplatePageList(Page page, @Param("ew") QueryWrapper<StandardTemplate> ew); - - StandardTemplate getStandTempIdByName(String name); - - /** - * 鏌ヨ鍘嬬缉鍚庣殑鏁版嵁 - * @param templateId - * @return - */ - String selectCompressThing(Integer templateId); -} - - - - diff --git a/basic-server/src/main/java/com/ruoyi/basic/mapper/StandardTreeMapper.java b/basic-server/src/main/java/com/ruoyi/basic/mapper/StandardTreeMapper.java deleted file mode 100644 index 4deb5df..0000000 --- a/basic-server/src/main/java/com/ruoyi/basic/mapper/StandardTreeMapper.java +++ /dev/null @@ -1,92 +0,0 @@ -package com.ruoyi.basic.mapper; - -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.ruoyi.basic.dto.*; -import com.ruoyi.basic.pojo.IfsInventoryQuantity; -import com.ruoyi.basic.pojo.StandardMethodList; -import com.ruoyi.basic.pojo.StandardProductList; -import com.ruoyi.basic.pojo.StandardTree; -import org.apache.ibatis.annotations.Param; - -import java.util.List; - -/** - * @author Administrator - * @description 閽堝琛ㄣ�恠tandard_tree(鏍囧噯鏍�)銆戠殑鏁版嵁搴撴搷浣淢apper - * @createDate 2024-03-01 15:06:44 - * @Entity com.ruoyi.basic.pojo.StandardTree - */ -public interface StandardTreeMapper extends BaseMapper<StandardTree> { - - List<FactoryDto> selectStandardTreeList(); - - List<StandardTree> selectStandardTreeList2(String sampleType); - - StandardProductList selectStandardProductById(Integer id); - - List<StandardProductList> getStandardProductListBySample(String sampleType); - - List<StandardMethodList> getStandardMethodListBySample(String sampleType); - - List<StandardProductList> selectStandardProductListByTree(String tree, String sample, String model, String trees, String laboratory); - - List<StandardProductList> selectStandardProductListByTree2(String tree, String sample, String model, String trees, String laboratory); - - - List<SampleTypeDto> getStandardTree2(); - - List<SampleDto> getStandardTree3(String sampleType); - - - String getLaboratory(String str); - - Integer getStructureItemParameterId(String sampleType, String item, String itemChild, String inspectionItemClass); - - List<ProductDto> selectPList(String name); - - String selSample(String sample); - - List<FactoryDto> selectStandardTreeListByPartNo(@Param("partNo") String partNo); - - IPage<IfsInventoryQuantity> selectIfsPage(IPage<IfsInventoryQuantity> page, - @Param("ew") QueryWrapper<IfsInventoryQuantity> ew); - - IPage<IfsInventoryQuantityDto> getIfsByStateOne(IPage<IfsInventoryQuantityDto> page, - @Param("ew") QueryWrapper<IfsInventoryQuantityDto> ew); - - - IPage<IfsInventoryQuantityCheckDto> selectIfsInventoryQuantity(Page<IfsInventoryQuantityCheckDto> page, @Param("ew")QueryWrapper<IfsInventoryQuantityCheckDto> ew); - - /** - * 鍘熸潗鎶ユ鏌ヨ鍏ㄩ儴(鍒嗛〉) - * @param page - * @param ew - * @return - */ - IPage<IfsInventoryQuantitySupplierDto> getIfsByOver(Page<IfsInventoryQuantitySupplierDto> page, @Param("ew") QueryWrapper<IfsInventoryQuantitySupplierDto> ew, @Param("beginDeclareDate") String beginDeclareDate, @Param("endDeclareDate")String endDeclareDate); - - /** - * 鍘熸潗鎶ユ鏌ヨ鍏ㄩ儴(鏃犲垎椤�) - * @param ew - * @return - */ - List<IfsInventoryQuantitySupplierDto> getIfsByOverList(@Param("ew") QueryWrapper<IfsInventoryQuantitySupplierDto> ew, @Param("beginDeclareDate") String beginDeclareDate, @Param("endDeclareDate")String endDeclareDate); - - /** - * 鍘熸潗鏂欐煡璇㈠搴︽楠� - * @param page - * @param - * @param beginDeclareDate - * @param endDeclareDate - * @return - */ - IPage<IfsInventoryQuantitySupplierDto> getIfsByQuarter(Page<IfsInventoryQuantitySupplierDto> page, @Param("ew") QueryWrapper<IfsInventoryQuantitySupplierDto> ew, @Param("beginDeclareDate") String beginDeclareDate, @Param("endDeclareDate")String endDeclareDate); - -} - - - - diff --git a/basic-server/src/main/java/com/ruoyi/basic/mapper/StructureItemParameterMapper.java b/basic-server/src/main/java/com/ruoyi/basic/mapper/StructureItemParameterMapper.java deleted file mode 100644 index 654741a..0000000 --- a/basic-server/src/main/java/com/ruoyi/basic/mapper/StructureItemParameterMapper.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.ruoyi.basic.mapper; - -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.ruoyi.basic.dto.TestItemDto; -import com.ruoyi.basic.pojo.StructureItemParameter; -import org.apache.ibatis.annotations.Param; - -import java.util.List; -import java.util.Map; - -/** - * 妫�楠岄」鐩弬鏁�(StructureItemParameter)琛ㄦ暟鎹簱璁块棶灞� - * - * @author makejava - * @since 2024-02-26 16:21:17 - */ -public interface StructureItemParameterMapper extends BaseMapper<StructureItemParameter> { - - IPage<StructureItemParameter> selectItemParameterList(Page page, @Param("ew") QueryWrapper<StructureItemParameter> ew); - - List<Map<String, Object>> getInsProduction(); - - List<TestItemDto> getItemTree(); - - int removeNoSample(@Param("sample") String sample); -} - diff --git a/basic-server/src/main/java/com/ruoyi/basic/mapper/StructureTestObjectMapper.java b/basic-server/src/main/java/com/ruoyi/basic/mapper/StructureTestObjectMapper.java deleted file mode 100644 index 1ada57c..0000000 --- a/basic-server/src/main/java/com/ruoyi/basic/mapper/StructureTestObjectMapper.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.ruoyi.basic.mapper; - -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.ruoyi.basic.dto.PageTestObjectDto; -import com.ruoyi.basic.pojo.StructureTestObject; -import org.apache.ibatis.annotations.Param; - -/** - * 妫�娴嬪璞�(StructureTestObject)琛ㄦ暟鎹簱璁块棶灞� - * - * @author makejava - * @since 2024-02-26 17:36:41 - */ -public interface StructureTestObjectMapper extends BaseMapper<StructureTestObject> { - - IPage<PageTestObjectDto> selectTestObjectList(Page page, @Param("ew") QueryWrapper<PageTestObjectDto> ew, @Param("partNo") String partNo); - -} - diff --git a/basic-server/src/main/java/com/ruoyi/basic/mapper/StructureTestObjectPartMapper.java b/basic-server/src/main/java/com/ruoyi/basic/mapper/StructureTestObjectPartMapper.java deleted file mode 100644 index 33e54f7..0000000 --- a/basic-server/src/main/java/com/ruoyi/basic/mapper/StructureTestObjectPartMapper.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.ruoyi.basic.mapper; - -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.ruoyi.basic.pojo.StructureTestObjectPart; -import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Param; - -/** - * 妫�楠屽璞¢浂浠惰〃 - * - * @author zhuo - * @since 2024-08-07 - */ -@Mapper -public interface StructureTestObjectPartMapper extends BaseMapper<StructureTestObjectPart> { - IPage<StructureTestObjectPart> selectListByTestObjectId(Page page, @Param("ew") QueryWrapper<StructureTestObjectPart> structureTestObjectPartQueryWrapper, @Param("testObjectId") Integer testObjectId); -} - diff --git a/basic-server/src/main/java/com/ruoyi/basic/pojo/Certification.java b/basic-server/src/main/java/com/ruoyi/basic/pojo/Certification.java deleted file mode 100644 index 7eb1649..0000000 --- a/basic-server/src/main/java/com/ruoyi/basic/pojo/Certification.java +++ /dev/null @@ -1,72 +0,0 @@ -package com.ruoyi.basic.pojo; - -import com.baomidou.mybatisplus.annotation.*; -import com.fasterxml.jackson.annotation.JsonFormat; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -import java.io.Serializable; -import java.time.LocalDateTime; - -@TableName(value = "certification") -@Data -public class Certification implements Serializable { - - @ApiModelProperty(value = "涓婚敭") - @TableId(type = IdType.AUTO) - private Integer id; - - @ApiModelProperty(value = "璧勮川鍚嶇О") - private String name; - - @ApiModelProperty(value = "璧勮川缂栫爜") - private String code; - - @ApiModelProperty(value = "棰佸彂鏈烘瀯") - private String organization; - - @ApiModelProperty(value = "璧勮川璇存槑") - private String explanation; - - @ApiModelProperty(value = "棣栨棰佸彂鏃堕棿") - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime firstIssuanceDate; - - @ApiModelProperty(value = "鏈�杩戦鍙戞椂闂�") - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime latestIssuanceDate; - - - - @ApiModelProperty(value = "鍒版湡棰佸彂鏃堕棿") - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime expireTime; - - - @ApiModelProperty(value = "棰佸竷鏃ユ湡") - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime dateOfIssuance; - - @ApiModelProperty(value = "鍒涘缓浜�") - @TableField(fill = FieldFill.INSERT) - private Integer createUser; - - - @ApiModelProperty(value = "鏇存柊浜�") - private String createUserName; - - @ApiModelProperty(value = "淇敼浜篿d") - @TableField(fill = FieldFill.INSERT_UPDATE) - private Integer updateUser; - - - @TableField(fill = FieldFill.INSERT_UPDATE) - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime updateTime; - - @ApiModelProperty(value = "璧勮川鍥剧墖鍦板潃") - private String imageUrl; - - @ApiModelProperty(value = "璧勮川闄勪欢鍦板潃") - private String fileUrl; -} diff --git a/basic-server/src/main/java/com/ruoyi/basic/pojo/IfsInventoryQuantity.java b/basic-server/src/main/java/com/ruoyi/basic/pojo/IfsInventoryQuantity.java deleted file mode 100644 index 3984802..0000000 --- a/basic-server/src/main/java/com/ruoyi/basic/pojo/IfsInventoryQuantity.java +++ /dev/null @@ -1,210 +0,0 @@ -package com.ruoyi.basic.pojo; - -import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; -import com.alibaba.excel.annotation.ExcelProperty; -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.annotation.JsonFormat; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -import java.io.Serializable; -import java.math.BigDecimal; -import java.time.LocalDateTime; - -@Data -@TableName("ifs_inventory_quantity") -@ExcelIgnoreUnannotated -public class IfsInventoryQuantity implements Serializable { - @TableId(type = IdType.AUTO) - private Integer id; - - - @ApiModelProperty("鍩�") - private String contract; - - @ExcelProperty(index = 13, value = "璁㈠崟鍙�") - @ApiModelProperty("璁㈠崟鍙�") - private String orderNo; - - @ApiModelProperty("琛屽彿") - private String lineNo; - - @ApiModelProperty("涓嬭揪鍙�") - private String releaseNo; - - @ApiModelProperty("鎺ユ敹鍙�") - private Integer receiptNo; - - @ExcelProperty(index = 3, value = "闆朵欢鍙�") - @ApiModelProperty("闆朵欢鍙�") - private String partNo; - - @ExcelProperty(index = 4, value = "闆朵欢鎻忚堪") - @ApiModelProperty("闆朵欢鎻忚堪") - private String partDesc; - - @ApiModelProperty("鐘舵�佹弿杩�(IFS鍘熸湰鎷夊彇鐨勭姸鎬�)") - private String status; - - @ApiModelProperty("鐘舵��(IFS鍘熸湰鎷夊彇鐨勭姸鎬�)") - private String statusDb; - - @ExcelProperty(index = 11, value = "鎶佃揪鐨勯噰璐暟閲�") - @ApiModelProperty("鎶佃揪鐨勯噰璐暟閲�") - private BigDecimal qtyArrived; - - @ApiModelProperty("宸叉楠岀殑璐拱鏁伴噺") - private BigDecimal qtyInspected; - - @ApiModelProperty("瑕佹楠岀殑閲囪喘鏁伴噺") - private BigDecimal qtyToInspect; - - @ApiModelProperty("渚涘簲鍟嗙紪鍙�") - private String supplierId; - - @ExcelProperty(index = 5, value = "渚涘簲鍟嗗悕绉�") - @ApiModelProperty("渚涘簲鍟嗗悕绉�") - private String supplierName; - - @ApiModelProperty("鎶佃揪鐨勫簱瀛樻暟閲�") - private BigDecimal invQtyInStore; - - @ApiModelProperty("鎶佃揪鐨勯噰璐暟閲�") - private BigDecimal purQtyInStore; - - @ApiModelProperty("閰嶇疆鏍囪瘑") - private String configurationId; - - @ApiModelProperty("鎵瑰彿") - private String lotBatchNo; - - @ApiModelProperty("wdr鍙�") - private String waivDevRejNo; - - @ApiModelProperty("娲诲姩搴忓垪") - private Integer activitySeq; - - @ApiModelProperty("搴忓垪鍙�") - private String serialNo; - - @ApiModelProperty("搴撲綅鍙�") - private String locationNo; - - @ApiModelProperty("鐗堟湰鍙�") - private String engChgLevel; - - @ApiModelProperty("鎺ユ敹浜�") - private String receiver; - - @ApiModelProperty("鎺ユ敹浜哄鍚�") - private String receiverName; - - @ApiModelProperty("閲囪喘鍛�") - private String buyerCode; - - @ApiModelProperty("閲囪喘鍛樺鍚�") - private String buyerName; - - @ApiModelProperty("瀹為檯鍒拌揣鏃ユ湡") - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") - private LocalDateTime arriveDate; - - @ApiModelProperty("瀹為檯浜よ揣鏃ユ湡") - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") - private LocalDateTime deliveryDate; - - @ApiModelProperty("鐢熶骇鏃ユ湡") - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") - private LocalDateTime productDate; - - @ApiModelProperty("澶辨晥鏃ユ湡") - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") - private LocalDateTime invalidDate; - - - @ApiModelProperty("瀹℃壒鏃ユ湡") - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") - private LocalDateTime approvedDate; - - @ApiModelProperty("閲囪喘鐢宠鍒涘缓浜�") - private String reqCeater; - - @ApiModelProperty("閲囪喘鐢宠鍒涘缓浜哄鍚�") - private String reqCeaterName; - - @ApiModelProperty("閲囪喘璁㈠崟琛屽娉�") - private String lineRemarks; - - @ExcelProperty(index = 12, value = "鍗曚綅") - @ApiModelProperty("鍗曚綅") - private String buyUnitMeas; - - @ApiModelProperty("鏄惁涓篿fs鎷夊彇,0 鍚�, 1鏄�") - private Integer isSource; - - private Integer number; - - - @ApiModelProperty("鐘舵��: 0:寰呮姤妫�, 1:寰呮楠�, :宸插鏍�") - private Integer state; - - @ApiModelProperty("鎺ユ敹鏃堕棿") - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") - private LocalDateTime receiverDate; - - @ApiModelProperty("鏄惁涓洪娆″嚭鐜� 0 鍚� 1 鏄�") - private Integer isFirst; - - @ApiModelProperty("鐩爣搴撲綅鍙�") - private String toLocation; - - @ApiModelProperty("鏄惁鏄姤妫� 0 鍚� 1 鏄�") - private Integer isInspect; - - @ApiModelProperty("鎶ユ浜�") - private String declareUser; - - - @ApiModelProperty("鎶ユ浜篿d") - private Integer declareUserId; - - @ApiModelProperty("鍗曚綅") - private String partUnit; - - @ApiModelProperty("浜т笟閾炬娴嬫暟鎹�") - private String industryChain; - - @ApiModelProperty("鎶ユ鏃堕棿") - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") - private LocalDateTime declareDate; - - @ApiModelProperty("鏄惁鍗″彲浠ュ搴︽楠� 0 鍚� 1 鏄�") - private Integer isQuarter; - - // 淇敼鍚庣殑 - @ExcelProperty(index = 1, value = "鎵瑰彿") - @ApiModelProperty("鎵瑰彿") - private String updateBatchNo; - - @ApiModelProperty("鏄惁缁撴潫, 0鍚�, 1鏄�") - private Integer isFinish; - - @ApiModelProperty("鏄惁鏄摐鍗曚笣, 0鍚�, 1鏄�") - private Integer isCopper; - - // 鍚堟牸鐘舵��,: 0 妫�楠屼腑, 1鍚堟牸, 2涓嶅悎鏍�, 3鏈笅鍗�,4璁╂鏀捐 - @ApiModelProperty("妫�楠岀姸鎬�") - private Integer inspectStatus; - - @ApiModelProperty("鏄惁閲囪喘璁㈠崟鐧昏: 0鍚�, 1:鏄�") - private Integer isRegister; - - @ApiModelProperty("鏄惁淇敼杩囨壒鍙�: 0鍚�, 1:鏄�") - private Integer isUpdateBatch; - - // 鏄惁鏄繃鏈熸潗鏂�: 0鍚�, 1:鏄�" - @ApiModelProperty("鐗╂枡绫诲瀷") - private Integer isExpire; -} diff --git a/basic-server/src/main/java/com/ruoyi/basic/pojo/InsSample1.java b/basic-server/src/main/java/com/ruoyi/basic/pojo/InsSample1.java deleted file mode 100644 index 19d5cb9..0000000 --- a/basic-server/src/main/java/com/ruoyi/basic/pojo/InsSample1.java +++ /dev/null @@ -1,123 +0,0 @@ -package com.ruoyi.basic.pojo; - -import com.baomidou.mybatisplus.annotation.*; -import com.fasterxml.jackson.annotation.JsonFormat; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -import java.io.Serializable; -import java.time.LocalDateTime; - -/** - * 妫�楠屾牱鍝� - * @TableName ins_sample - */ -@TableName(value ="ins_sample") -@Data -public class InsSample1 implements Serializable { - /** - * - */ - @TableId(type = IdType.AUTO) - private Integer id; - - /** - * 1锛氬悎鏍� 0锛氫笉鍚堟牸 - */ - private Integer insResult; - - /** - * 澶栭敭锛歩ns_order琛╥d - */ - private Integer insOrderId; - - /** - * 閰嶅鏍峰搧鍨嬪彿 - */ - private String joinModel; - - /** - * 閰嶅鏍峰搧鍚嶇О - */ - private String joinName; - - /** - * 閰嶅鏍峰搧鏁伴噺 - */ - private Integer joinNum; - - /** - * 鏍峰搧缂栫爜 - */ - private String sampleCode; - - /** - * 妫�楠屽伐鍘� - */ - private String factory; - - /** - * 瀹為獙瀹ゅ悕绉� - */ - private String laboratory; - - /** - * 鏍峰搧绫诲瀷 - */ - private String sampleType; - - /** - * 鏍峰搧鍚嶇О - */ - private String sample; - - /** - * 瑙勬牸鍨嬪彿 - */ - private String model; - - /** - * 妫�楠岀姸鎬�(0锛氬緟妫�楠�1:妫�楠屼腑 2:宸叉楠�3锛氬緟澶嶆牳4锛氬鏍告湭閫氳繃5锛氬鏍搁�氳繃) - */ - private Integer insState; - - /** - * 澶囨敞 - */ - private String remark; - - private Integer standardMethodListId; - - @ApiModelProperty("鏍峰搧鍗曚綅") - private String unit; - - private Integer cellId; - - @TableField(fill = FieldFill.INSERT) - private Integer createUser; - - @ApiModelProperty("鍒涘缓鏃堕棿") - @TableField(fill = FieldFill.INSERT) - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime createTime; - - @TableField(fill = FieldFill.INSERT_UPDATE) - private Integer updateUser; - - @ApiModelProperty("淇敼鏃堕棿") - @TableField(fill = FieldFill.INSERT_UPDATE) - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime updateTime; - - private Integer parentId; - - @ApiModelProperty("鏁伴噺") - private Integer quantity; - - @ApiModelProperty("鐗规畩鏍囧噯鏂规硶") - private String specialStandardMethod; - - @TableField(select = false,exist = false) - private Integer num=1; - -} diff --git a/basic-server/src/main/java/com/ruoyi/basic/pojo/Laboratory.java b/basic-server/src/main/java/com/ruoyi/basic/pojo/Laboratory.java deleted file mode 100644 index a9343a1..0000000 --- a/basic-server/src/main/java/com/ruoyi/basic/pojo/Laboratory.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.ruoyi.basic.pojo; - -import com.baomidou.mybatisplus.annotation.*; -import com.fasterxml.jackson.annotation.JsonFormat; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.io.Serializable; -import java.time.LocalDateTime; - -/** - * 瀹為獙瀹ょ鐞�(Laboratory)琛ㄥ璞� - */ -@TableName(value = "laboratory") -@Data -@NoArgsConstructor -public class Laboratory implements Serializable { - @ApiModelProperty(value = "涓婚敭") - @TableId(type = IdType.AUTO) - private Integer id; - - @ApiModelProperty(value = "瀹為獙瀹ゅ悕绉�") - private String laboratoryName; - - @ApiModelProperty(value = "鍦烘墍缂栫爜") - private String laboratoryNumber; - - @ApiModelProperty(value = "瀹為獙瀹や唬鍙�") - private String laboratoryCode; - - @ApiModelProperty(value = "璐熻矗浜虹數璇�") - private String phoneNumber; - - @ApiModelProperty(value = "璐熻矗浜�") - @TableField(fill = FieldFill.INSERT) - private String head; - - @ApiModelProperty(value = "鍦板潃") - private String address; - - @ApiModelProperty(value = "鍒涘缓浜�") - @TableField(fill = FieldFill.INSERT) - private Integer createUser; - - @ApiModelProperty(value = "鍒涘缓浜�") - private String createUserName; - - @ApiModelProperty(value = "淇敼浜篿d") - @TableField(fill = FieldFill.INSERT_UPDATE) - private Integer updateUser; - - @ApiModelProperty(value = "鍒涘缓鏃堕棿") - @TableField(fill = FieldFill.INSERT) - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime createTime; - - @ApiModelProperty(value = "鏇存柊鏃堕棿") - @TableField(fill = FieldFill.INSERT_UPDATE) - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime updateTime; -} diff --git a/basic-server/src/main/java/com/ruoyi/basic/pojo/Product.java b/basic-server/src/main/java/com/ruoyi/basic/pojo/Product.java deleted file mode 100644 index 0847231..0000000 --- a/basic-server/src/main/java/com/ruoyi/basic/pojo/Product.java +++ /dev/null @@ -1,57 +0,0 @@ -package com.ruoyi.basic.pojo; - -import com.baomidou.mybatisplus.annotation.*; -import com.fasterxml.jackson.annotation.JsonFormat; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -import java.io.Serializable; -import java.time.LocalDateTime; - -/** - * 浜у搧琛� - * @TableName product - */ -@TableName(value ="product") -@Data -public class Product implements Serializable { - /** - * - */ - @TableId(type = IdType.AUTO) - private Integer id; - - /** - * 浜у搧鍚嶇О - */ - private String name; - - /** - * 浜у搧鍚嶇ОEN - */ - private String nameEn; - - @ApiModelProperty(value = "鍒涘缓浜篿d") - @TableField(fill = FieldFill.INSERT) - private Integer createUser; - - - @ApiModelProperty(value = "淇敼浜篿d") - @TableField(fill = FieldFill.INSERT_UPDATE) - private Integer updateUser; - - @ApiModelProperty(value = "鍒涘缓鏃堕棿") - @TableField(fill = FieldFill.INSERT) - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime createTime; - - @ApiModelProperty(value = "鏇存柊鏃堕棿") - @TableField(fill = FieldFill.INSERT_UPDATE) - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime updateTime; - - /** - * 澶栭敭锛歴tructure_test_object琛╥d - */ - private Integer objectId; -} diff --git a/basic-server/src/main/java/com/ruoyi/basic/pojo/ProductPart.java b/basic-server/src/main/java/com/ruoyi/basic/pojo/ProductPart.java deleted file mode 100644 index 0a29975..0000000 --- a/basic-server/src/main/java/com/ruoyi/basic/pojo/ProductPart.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.ruoyi.basic.pojo; - -import com.baomidou.mybatisplus.annotation.*; -import com.fasterxml.jackson.annotation.JsonFormat; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -import java.io.Serializable; -import java.time.LocalDateTime; - -@Data -@TableName("product_part") -public class ProductPart implements Serializable { - - @TableId(type = IdType.AUTO) - private Integer id; - - @ApiModelProperty("浜у搧id") - private Integer productId; - - @ApiModelProperty("闆朵欢鍙�") - private String partNo; - - @ApiModelProperty("棰滆壊") - private String color; - - @ApiModelProperty("鑹叉爣") - private String colorCode; - - @ApiModelProperty(value = "鍒涘缓浜篿d") - @TableField(fill = FieldFill.INSERT) - private Integer createUser; - - - @ApiModelProperty(value = "淇敼浜篿d") - @TableField(fill = FieldFill.INSERT_UPDATE) - private Integer updateUser; - - @ApiModelProperty(value = "鍒涘缓鏃堕棿") - @TableField(fill = FieldFill.INSERT) - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime createTime; - - @ApiModelProperty(value = "鏇存柊鏃堕棿") - @TableField(fill = FieldFill.INSERT_UPDATE) - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime updateTime; - -} diff --git a/basic-server/src/main/java/com/ruoyi/basic/pojo/ProductSupplierDensity.java b/basic-server/src/main/java/com/ruoyi/basic/pojo/ProductSupplierDensity.java deleted file mode 100644 index b953919..0000000 --- a/basic-server/src/main/java/com/ruoyi/basic/pojo/ProductSupplierDensity.java +++ /dev/null @@ -1,57 +0,0 @@ -package com.ruoyi.basic.pojo; - -import com.baomidou.mybatisplus.annotation.*; -import com.fasterxml.jackson.annotation.JsonFormat; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -import java.io.Serializable; -import java.time.LocalDateTime; - -/** - * 浜у搧鍘傚瀵嗗害缁戝畾琛� - * - * @author zhuo - * @since 2024-09-19 - */ -@Data -@TableName("product_supplier_density") -public class ProductSupplierDensity implements Serializable { - - @TableId(type = IdType.AUTO) - private Integer id; - - @ApiModelProperty("浜у搧id") - private Integer productId; - - @ApiModelProperty("鍨嬪彿") - private String model; - - @ApiModelProperty("鍘傚鍚嶇О") - private String supplierName; - - @ApiModelProperty("瀵嗗害鍊�") - private String densityValue; - - @ApiModelProperty(value = "鍒涘缓浜篿d") - @TableField(fill = FieldFill.INSERT) - private Integer createUser; - - - @ApiModelProperty(value = "淇敼浜篿d") - @TableField(fill = FieldFill.INSERT_UPDATE) - private Integer updateUser; - - @ApiModelProperty(value = "鍒涘缓鏃堕棿") - @TableField(fill = FieldFill.INSERT) - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime createTime; - - @ApiModelProperty(value = "鏇存柊鏃堕棿") - @TableField(fill = FieldFill.INSERT_UPDATE) - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime updateTime; - - -} - diff --git a/basic-server/src/main/java/com/ruoyi/basic/pojo/Seal.java b/basic-server/src/main/java/com/ruoyi/basic/pojo/Seal.java deleted file mode 100644 index 783703c..0000000 --- a/basic-server/src/main/java/com/ruoyi/basic/pojo/Seal.java +++ /dev/null @@ -1,43 +0,0 @@ -package com.ruoyi.basic.pojo; - -import com.baomidou.mybatisplus.annotation.*; -import com.fasterxml.jackson.annotation.JsonFormat; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -import java.io.Serializable; -import java.time.LocalDateTime; - -/** - * 鍗扮珷绠$悊(Laboratory)琛ㄥ璞� - */ - -@TableName(value = "seal") -@Data -public class Seal implements Serializable { - @ApiModelProperty(value = "涓婚敭") - @TableId(type = IdType.AUTO) - private Integer id; - - @ApiModelProperty(value = "瀹為獙瀹d") - private Integer labId; - - @TableField(exist=false) - @ApiModelProperty(value = "瀹為獙瀹ゅ悕绉�") - private String laboratoryName; - - @ApiModelProperty(value = "鍗扮珷鍥剧墖") - private String address; - - @ApiModelProperty(value = "鍗扮珷绫诲瀷") - private String type; - - @ApiModelProperty(value = "鍒涘缓浜篿d") - @TableField(fill = FieldFill.INSERT) - private Integer createUser; - - @TableField(fill = FieldFill.INSERT) - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime createTime; -} - diff --git a/basic-server/src/main/java/com/ruoyi/basic/pojo/StandardMethod.java b/basic-server/src/main/java/com/ruoyi/basic/pojo/StandardMethod.java deleted file mode 100644 index 6d5ec08..0000000 --- a/basic-server/src/main/java/com/ruoyi/basic/pojo/StandardMethod.java +++ /dev/null @@ -1,85 +0,0 @@ -package com.ruoyi.basic.pojo; - -import com.baomidou.mybatisplus.annotation.*; -import com.fasterxml.jackson.annotation.JsonFormat; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -import java.io.Serializable; -import java.time.LocalDateTime; - -/** - * 鏍囧噯鏂规硶 - * @TableName standard_method - */ -@TableName(value ="standard_method") -@Data -public class StandardMethod implements Serializable { - /** - * - */ - @TableId(type = IdType.AUTO) - private Integer id; - - private String field; - - @ApiModelProperty("妫�楠屽璞�") - private String structureTestObjectId; - - /** - * 鏍囧噯缂栧彿 - */ - @ApiModelProperty(value = "鏍囧噯缂栧彿") - private String code; - - /** - * 鏍囧噯鏂规硶 - */ - @ApiModelProperty(value = "鏍囧噯鎻忚堪") - private String name; - - @ApiModelProperty(value = "鏍囧噯鎻忚堪EN") - private String nameEn; - - /** - * 澶囨敞 - */ - @ApiModelProperty(value = "澶囨敞") - private String remark; - - @ApiModelProperty(value = "璧勮川") - private String qualificationId; - - @ApiModelProperty(value = "鏄惁浜у搧鏍囧噯") - private Integer isProduct; - - @ApiModelProperty(value = "鏄惁鍚敤") - private Integer isUse; - - @ApiModelProperty(value = "鍒涘缓浜篿d") - @TableField(fill = FieldFill.INSERT) - private Integer createUser; - - @ApiModelProperty(value = "淇敼浜篿d") - @TableField(fill = FieldFill.INSERT_UPDATE) - private Integer updateUser; - - @ApiModelProperty(value = "鍒涘缓浜�") - @TableField(exist = false,select = false) - private String createUserName; - - @ApiModelProperty(value = "鏇存柊浜�") - @TableField(exist = false,select = false) - private String updateUserName; - - @ApiModelProperty(value = "鍒涘缓鏃堕棿") - @TableField(fill = FieldFill.INSERT) - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime createTime; - - @ApiModelProperty(value = "鏇存柊鏃堕棿") - @TableField(fill = FieldFill.INSERT_UPDATE) - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime updateTime; - -} diff --git a/basic-server/src/main/java/com/ruoyi/basic/pojo/StandardMethodList.java b/basic-server/src/main/java/com/ruoyi/basic/pojo/StandardMethodList.java deleted file mode 100644 index 8161270..0000000 --- a/basic-server/src/main/java/com/ruoyi/basic/pojo/StandardMethodList.java +++ /dev/null @@ -1,83 +0,0 @@ -package com.ruoyi.basic.pojo; - -import com.baomidou.mybatisplus.annotation.*; -import com.fasterxml.jackson.annotation.JsonFormat; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -import java.io.Serializable; -import java.time.LocalDateTime; - -/** - * 鏍囧噯鏍戜笅鐨勬爣鍑嗗垪琛� - * @TableName standard_method_list - */ -@TableName(value ="standard_method_list") -@Data -public class StandardMethodList implements Serializable { - /** - * - */ - @TableId(type = IdType.AUTO) - private Integer id; - - /** - * 鏍囧噯缂栧彿 - */ - @ApiModelProperty("鏍囧噯缂栧彿") - private String code; - - /** - * 鏍囧噯鍚嶇О - */ - @ApiModelProperty("鏍囧噯绉板彿") - private String name; - - /** - * 澶囨敞 - */ - @ApiModelProperty("澶囨敞") - private String remark; - - @ApiModelProperty("宸ュ巶") - private String factory; - - @ApiModelProperty("瀹為獙瀹�") - private String laboratory; - - @ApiModelProperty("鏍峰搧鍒嗙被") - private String sampleType; - - @ApiModelProperty("鏍峰搧") - private String sample; - - @ApiModelProperty("鍨嬪彿") - private String model; - - @ApiModelProperty("") - @TableField(fill = FieldFill.INSERT) - private Integer createUser; - - @TableField(exist = false) - private String createUserName; - /** - * - */ - @ApiModelProperty("鍒涘缓鏃堕棿") - @TableField(fill = FieldFill.INSERT) - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime createTime; - /** - * - */ - @ApiModelProperty("") - @TableField(fill = FieldFill.INSERT_UPDATE) - private Integer updateUser; - /** - * - */ - @ApiModelProperty("淇敼鏃堕棿") - @TableField(fill = FieldFill.INSERT_UPDATE) - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime updateTime; -} diff --git a/basic-server/src/main/java/com/ruoyi/basic/pojo/StandardProductList.java b/basic-server/src/main/java/com/ruoyi/basic/pojo/StandardProductList.java deleted file mode 100644 index 1c1b79f..0000000 --- a/basic-server/src/main/java/com/ruoyi/basic/pojo/StandardProductList.java +++ /dev/null @@ -1,221 +0,0 @@ -package com.ruoyi.basic.pojo; - -import com.baomidou.mybatisplus.annotation.*; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -import java.io.Serializable; -import java.time.LocalDateTime; - -/** - * 鏍囧噯鏍戜笅鐨勬楠岄」鐩� - * @TableName standard_product_list - */ -@TableName(value ="standard_product_list") -@Data -public class StandardProductList implements Serializable { - /** - * 涓婚敭id - */ - @TableId(value = "id",type = IdType.ASSIGN_ID) - @JsonSerialize(using = ToStringSerializer.class) - private Long id; - - /** - * 妫�楠岄」 - */ - @ApiModelProperty("妫�楠岄」") - private String inspectionItem; - - @ApiModelProperty("妫�楠岄」EN") - private String inspectionItemEn; - - /** - * 妫�楠岄」灏忕被 - */ - @ApiModelProperty("妫�楠岄」灏忕被") - private String inspectionItemSubclass; - - @ApiModelProperty("妫�楠岄」灏忕被EN") - private String inspectionItemSubclassEn; - - /** - * 瀹為獙瀹� - */ - @ApiModelProperty("瀹為獙瀹�") - private String laboratory; - - @ApiModelProperty("瀛愬疄楠屽") - private String sonLaboratory; - - /** - * 璁¢噺鍗曚綅 - */ - @ApiModelProperty("璁¢噺鍗曚綅") - private String unit; - - /** - * 鍗曚环(鍏�) - */ - @ApiModelProperty("鍗曚环") - private String price; - - /** - * 宸ユ椂(H) - */ - @ApiModelProperty("宸ユ椂") - private String manHour; - - /** - * 宸ユ椂鍒嗙粍 - */ - @ApiModelProperty("宸ユ椂鍒嗙粍") - private String manHourGroup; - - /** - * 妫�楠岄」绫诲瀷 - */ - @ApiModelProperty("妫�楠岄」绫诲瀷") - private String inspectionItemType; - - /** - * 妫�楠屽�肩被鍨� - */ - @ApiModelProperty("妫�楠屽�肩被鍨�") - private String inspectionValueType; - - /** - * 妫�楠屾鏁� - */ - @ApiModelProperty("妫�楠屾鏁�") - private Integer checkoutNumber; - - /** - * 鍖洪棿 - */ - @ApiModelProperty("鍖洪棿") - private String section; - - /** - * 鍖洪棿 - */ - @ApiModelProperty("鑺暟鍖洪棿") - private String cores; - - /** - * 鏂规硶 - */ - @ApiModelProperty("鏂规硶鍒楄〃") - private String method; - - @ApiModelProperty("鏂规硶") - private String methodS; - - /** - * 棰勮鏃堕棿(澶�) - */ - @ApiModelProperty("棰勮鏃堕棿") - private Integer manDay; - - /** - * 鐗规畩鏍囪瘑 - */ - @ApiModelProperty("鐗规畩鏍囪瘑") - private String bsm; - - /** - * 瑕佹眰鍊� - */ - @ApiModelProperty("瑕佹眰鍊�") - private String ask; - - @ApiModelProperty("瑕佹眰鎻忚堪") - private String tell; - - /** - * 澶栭敭锛氭爣鍑嗘柟娉昳d - */ - @ApiModelProperty("鏍囧噯鏂规硶id") - private Integer standardMethodListId; - - @ApiModelProperty("宸ュ巶") - private String factory; - - @ApiModelProperty("鏍峰搧鍒嗙被") - private String sampleType; - - @ApiModelProperty("鏍峰搧") - private String sample; - - @ApiModelProperty("鍨嬪彿") - private String model; - - @ApiModelProperty("鍨嬪彿") - private Integer templateId; - - @ApiModelProperty("") - @TableField(fill = FieldFill.INSERT) - private Integer createUser; - /** - * - */ - @ApiModelProperty("鍒涘缓鏃堕棿") - @TableField(fill = FieldFill.INSERT) - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime createTime; - /** - * - */ - @ApiModelProperty("") - @TableField(fill = FieldFill.INSERT_UPDATE) - private Integer updateUser; - /** - * - */ - @ApiModelProperty("淇敼鏃堕棿") - @TableField(fill = FieldFill.INSERT_UPDATE) - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime updateTime; - - @ApiModelProperty("1锛氭湁鏁� 0锛氭棤鏁�") - private Integer state; - - private String dic; - - private String tree; - - private Integer structureItemParameterId; - - @ApiModelProperty(value = "妫�楠岄」鍒嗙被") - private String inspectionItemClass; - - @ApiModelProperty(value = "妫�楠岄」鍒嗙被EN") - private String inspectionItemClassEn; - - @ApiModelProperty(value = "鏉′欢") - private String radius; - - @ApiModelProperty(value = "鏉′欢鍒楄〃") - private String radiusList; - - @ApiModelProperty(value = "鏀惰垂鏍囧噯(鍏�/娆�)") - private String rates; - - @ApiModelProperty(value = "绱㈠紩椤哄簭") - private Integer sort; - - /** - * 瀵间綋鏉愯川 - */ - @ApiModelProperty("瀵间綋鏉愯川") - private String conductorMaterial; - - /** - * 瀵间綋绫诲瀷 - */ - @ApiModelProperty("瀵间綋绫诲瀷") - private String conductorType; -} diff --git a/basic-server/src/main/java/com/ruoyi/basic/pojo/StandardProductListSupplierAsk.java b/basic-server/src/main/java/com/ruoyi/basic/pojo/StandardProductListSupplierAsk.java deleted file mode 100644 index c857a6c..0000000 --- a/basic-server/src/main/java/com/ruoyi/basic/pojo/StandardProductListSupplierAsk.java +++ /dev/null @@ -1,58 +0,0 @@ -package com.ruoyi.basic.pojo; - -import com.baomidou.mybatisplus.annotation.*; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -import java.time.LocalDateTime; - -/** - * 妫�楠岄」鐩巶瀹跺瘑搴︾粦瀹氳〃 - * - * @author zhuo - * @since 2024-09-23 - */ -@TableName(value ="standard_product_list_supplier_ask") -@Data -public class StandardProductListSupplierAsk { - - @TableId(type = IdType.AUTO) - private Integer supplierAskId; - - @JsonSerialize(using = ToStringSerializer.class) - @ApiModelProperty("妫�楠岄」鐩甶d") - private Long productListId; - - @ApiModelProperty("鍘傚鍚嶇О") - private String supplierName; - - @ApiModelProperty("瑕佹眰鍊�") - private String ask; - - @ApiModelProperty("瑕佹眰鎻忚堪") - private String tell; - - @ApiModelProperty(value = "鍒涘缓浜篿d") - @TableField(fill = FieldFill.INSERT) - private Integer createUser; - - - @ApiModelProperty(value = "淇敼浜篿d") - @TableField(fill = FieldFill.INSERT_UPDATE) - private Integer updateUser; - - @ApiModelProperty(value = "鍒涘缓鏃堕棿") - @TableField(fill = FieldFill.INSERT) - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime createTime; - - @ApiModelProperty(value = "鏇存柊鏃堕棿") - @TableField(fill = FieldFill.INSERT_UPDATE) - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime updateTime; - -} - diff --git a/basic-server/src/main/java/com/ruoyi/basic/pojo/StandardTemplate.java b/basic-server/src/main/java/com/ruoyi/basic/pojo/StandardTemplate.java deleted file mode 100644 index e26971f..0000000 --- a/basic-server/src/main/java/com/ruoyi/basic/pojo/StandardTemplate.java +++ /dev/null @@ -1,76 +0,0 @@ -package com.ruoyi.basic.pojo; - -import com.baomidou.mybatisplus.annotation.*; -import com.fasterxml.jackson.annotation.JsonFormat; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -import java.io.Serializable; -import java.time.LocalDateTime; - -/** - * 鏍囧噯妯℃澘 - * @TableName standard_template - */ -@TableName(value ="standard_template") -@Data -public class StandardTemplate implements Serializable { - /** - * - */ - @TableId(type = IdType.AUTO) - private Integer id; - - /** - * 妯℃澘鍚嶇О - */ - @ApiModelProperty("妯℃澘鍚嶇О") - private String name; - - /** - * 澶囨敞 - */ - @ApiModelProperty("澶囨敞") - private String remark; - - /** - * 妯℃澘缁撴瀯 - */ - private String thing; - - @TableField(fill = FieldFill.INSERT) - private Integer createUser; - /** - * - */ - @ApiModelProperty("鍒涘缓鏃堕棿") - @TableField(fill = FieldFill.INSERT) - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime createTime; - /** - * - */ - @TableField(fill = FieldFill.INSERT_UPDATE) - private Integer updateUser; - /** - * - */ - @ApiModelProperty("淇敼鏃堕棿") - @TableField(fill = FieldFill.INSERT_UPDATE) - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime updateTime; - - @ApiModelProperty("鍒涘缓鐢ㄦ埛") - @TableField(exist = false) - private String createUserName; - - @ApiModelProperty("鏇存柊鐢ㄦ埛") - @TableField(exist = false) - private String updateUserName; - - /** - * 妯℃澘缂栧彿 - */ - @ApiModelProperty("妯℃澘缂栧彿") - private String number; -} diff --git a/basic-server/src/main/java/com/ruoyi/basic/pojo/StandardTree.java b/basic-server/src/main/java/com/ruoyi/basic/pojo/StandardTree.java deleted file mode 100644 index 8c2b6cf..0000000 --- a/basic-server/src/main/java/com/ruoyi/basic/pojo/StandardTree.java +++ /dev/null @@ -1,96 +0,0 @@ -package com.ruoyi.basic.pojo; - -import com.baomidou.mybatisplus.annotation.*; -import com.fasterxml.jackson.annotation.JsonFormat; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; -import org.hibernate.validator.constraints.Length; - -import javax.validation.constraints.NotNull; -import javax.validation.constraints.Size; -import java.io.Serializable; -import java.time.LocalDateTime; - -/** -* 鏍囧噯鏍� -* @TableName standard_tree -*/ -@TableName(value ="standard_tree") -@Data -public class StandardTree implements Serializable { - - /** - * - */ - @NotNull(message="[]涓嶈兘涓虹┖") - @ApiModelProperty("") - @TableId(type = IdType.AUTO) - private Integer id; - /** - * 宸ュ巶 - */ - @Size(max= 255,message="缂栫爜闀垮害涓嶈兘瓒呰繃255") - @ApiModelProperty("宸ュ巶") - @Length(max= 255,message="缂栫爜闀垮害涓嶈兘瓒呰繃255") - private String factory; - /** - * 瀹為獙瀹� - */ - @Size(max= 255,message="缂栫爜闀垮害涓嶈兘瓒呰繃255") - @ApiModelProperty("瀹為獙瀹�") - @Length(max= 255,message="缂栫爜闀垮害涓嶈兘瓒呰繃255") - private String laboratory; - /** - * 鏍峰搧澶х被 - */ - @Size(max= 255,message="缂栫爜闀垮害涓嶈兘瓒呰繃255") - @ApiModelProperty("鏍峰搧澶х被") - @Length(max= 255,message="缂栫爜闀垮害涓嶈兘瓒呰繃255") - private String sampleType; - /** - * 鏍峰搧 - */ - @Size(max= 255,message="缂栫爜闀垮害涓嶈兘瓒呰繃255") - @ApiModelProperty("鏍峰搧") - @Length(max= 255,message="缂栫爜闀垮害涓嶈兘瓒呰繃255") - private String sample; - /** - * 鍨嬪彿 - */ - @Size(max= 255,message="缂栫爜闀垮害涓嶈兘瓒呰繃255") - @ApiModelProperty("鍨嬪彿") - @Length(max= 255,message="缂栫爜闀垮害涓嶈兘瓒呰繃255") - private String model; - /** - * - */ - @ApiModelProperty("") - @TableField(fill = FieldFill.INSERT) - private Integer createUser; - /** - * - */ - @ApiModelProperty("鍒涘缓鏃堕棿") - @TableField(fill = FieldFill.INSERT) - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime createTime; - /** - * - */ - @ApiModelProperty("") - @TableField(fill = FieldFill.INSERT_UPDATE) - private Integer updateUser; - /** - * - */ - @ApiModelProperty("淇敼鏃堕棿") - @TableField(fill = FieldFill.INSERT_UPDATE) - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime updateTime; - - /** - * 淇敼鍓嶅悕绉� - */ - @TableField(exist = false,select = false) - private String oldModel; -} diff --git a/basic-server/src/main/java/com/ruoyi/basic/pojo/StructureItemParameter.java b/basic-server/src/main/java/com/ruoyi/basic/pojo/StructureItemParameter.java deleted file mode 100644 index 7faa8be..0000000 --- a/basic-server/src/main/java/com/ruoyi/basic/pojo/StructureItemParameter.java +++ /dev/null @@ -1,121 +0,0 @@ -package com.ruoyi.basic.pojo; - -import com.baomidou.mybatisplus.annotation.*; -import com.fasterxml.jackson.annotation.JsonFormat; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -import java.io.Serializable; -import java.time.LocalDateTime; - -/** - * 妫�楠岄」鐩弬鏁�(StructureItemParameter)琛ㄥ璞� - * - * @author makejava - * @since 2024-02-26 16:21:17 - */ -@TableName(value ="structure_item_parameter") -@Data -public class StructureItemParameter implements Serializable { - @ApiModelProperty(value = "涓婚敭") - @TableId(type = IdType.AUTO) - private Integer id; - - @ApiModelProperty(value = "妫�楠岄」") - private String inspectionItem; - - @ApiModelProperty(value = "妫�楠岄」EN") - private String inspectionItemEn; - - @ApiModelProperty(value = "妫�楠屽瓙椤�") - private String inspectionItemSubclass; - - @ApiModelProperty(value = "妫�楠屽瓙椤笶N") - private String inspectionItemSubclassEn; - - @ApiModelProperty(value = "妫�楠屽璞�") - private String sample; - - @ApiModelProperty(value = "鍗曚环(鍏�)") - private String price; - - @ApiModelProperty(value = "鍦烘墍") - private String laboratory; - - @ApiModelProperty(value = "璇曢獙瀹�") - private String sonLaboratory; - - @ApiModelProperty(value = "瑕佹眰鎻忚堪") - private String askTell; - - @ApiModelProperty(value = "瑕佹眰鍊�") - private String ask; - - @ApiModelProperty(value = "璁¢噺鍗曚綅") - private String unit; - - @ApiModelProperty(value = "璇曢獙鏂规硶") - private String method; - - @ApiModelProperty(value = "宸ユ椂(H)") - private Double manHour; - - @ApiModelProperty(value = "棰勮鏃堕棿(H)") - private Integer manDay; - - @ApiModelProperty(value = "宸ユ椂鍒嗙粍") - private String manHourGroup; - - @ApiModelProperty(value = "妫�楠岄」绫诲瀷") - private String inspectionItemType; - - @ApiModelProperty(value = "妫�楠屽�肩被鍨�") - private String inspectionValueType; - - @ApiModelProperty(value = "妫�楠屾鏁�") - private Integer checkoutNumber; - - @ApiModelProperty(value = "鍖洪棿") - private String section; - - @ApiModelProperty(value = "鐗规畩鏍囪瘑") - private String bsm; - - @ApiModelProperty(value = "鍘熷璁板綍妯℃澘") - private Integer templateId; - - @ApiModelProperty(value = "鍒涘缓浜篿d") - @TableField(fill = FieldFill.INSERT) - private Integer createUser; - - @ApiModelProperty(value = "淇敼浜篿d") - @TableField(fill = FieldFill.INSERT_UPDATE) - private Integer updateUser; - - @ApiModelProperty(value = "鍒涘缓鏃堕棿") - @TableField(fill = FieldFill.INSERT) - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime createTime; - - @ApiModelProperty(value = "淇敼鏃堕棿") - @TableField(fill = FieldFill.INSERT_UPDATE) - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime updateTime; - - @ApiModelProperty(value = "瀛楀吀绫诲瀷") - private String dic; - - @ApiModelProperty(value = "妫�楠岄」鍒嗙被") - private String inspectionItemClass; - - @ApiModelProperty(value = "妫�楠岄」鍒嗙被EN") - private String inspectionItemClassEn; - - @ApiModelProperty(value = "鏉′欢") - private String radiusList; - - @ApiModelProperty(value = "鏀惰垂鏍囧噯(鍏�/娆�)") - private String rates; - -} - diff --git a/basic-server/src/main/java/com/ruoyi/basic/pojo/StructureTestObject.java b/basic-server/src/main/java/com/ruoyi/basic/pojo/StructureTestObject.java deleted file mode 100644 index d5af3f2..0000000 --- a/basic-server/src/main/java/com/ruoyi/basic/pojo/StructureTestObject.java +++ /dev/null @@ -1,63 +0,0 @@ -package com.ruoyi.basic.pojo; - -import com.baomidou.mybatisplus.annotation.*; -import com.fasterxml.jackson.annotation.JsonFormat; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -import java.io.Serializable; -import java.time.LocalDateTime; - -/** - * 妫�娴嬪璞�(StructureTestObject)琛ㄥ璞� - * - * @author makejava - * @since 2024-02-26 17:36:41 - */ -@TableName(value ="structure_test_object") -@Data -public class StructureTestObject implements Serializable { - @ApiModelProperty(value = "涓婚敭") - @TableId(type = IdType.AUTO) - private Integer id; - - @ApiModelProperty(value = "鍦烘墍") - private Integer laboratoryId; - - @ApiModelProperty(value = "妫�楠屽璞�") - private String specimenName; - - @ApiModelProperty(value = "妫�楠屽璞N") - private String specimenNameEn; - - @ApiModelProperty(value = "瀵硅薄浠e彿") - private String code; - - @ApiModelProperty(value = "鍒涘缓浜篿d") - @TableField(fill = FieldFill.INSERT) - private Integer createUser; - - @ApiModelProperty(value = "淇敼浜篿d") - @TableField(fill = FieldFill.INSERT_UPDATE) - private Integer updateUser; - - @ApiModelProperty(value = "鍒涘缓鏃堕棿") - @TableField(fill = FieldFill.INSERT) - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime createTime; - - @ApiModelProperty(value = "鏇存柊鏃堕棿") - @TableField(fill = FieldFill.INSERT_UPDATE) - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime updateTime; - - @ApiModelProperty(value = "鎺掑簭") - private Integer sort; - - //"瀵硅薄绫诲瀷, 1:鍘熸潗鏂�, 2:鎴愬搧, 3:杈呮潗" - @ApiModelProperty(value = "瀵硅薄绫诲瀷") - private String objectType; - - -} - diff --git a/basic-server/src/main/java/com/ruoyi/basic/pojo/StructureTestObjectPart.java b/basic-server/src/main/java/com/ruoyi/basic/pojo/StructureTestObjectPart.java deleted file mode 100644 index a1e500c..0000000 --- a/basic-server/src/main/java/com/ruoyi/basic/pojo/StructureTestObjectPart.java +++ /dev/null @@ -1,56 +0,0 @@ -package com.ruoyi.basic.pojo; - -import com.baomidou.mybatisplus.annotation.*; -import com.fasterxml.jackson.annotation.JsonFormat; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -import java.io.Serializable; -import java.time.LocalDateTime; - -/** - * 妫�楠屽璞¢浂浠惰〃(StructureTestObjectPart)$desc - * - * @author makejava - * @since 2024-08-07 10:10:30 - */ -@TableName(value ="structure_test_object_part") -@Data -public class StructureTestObjectPart implements Serializable { - - @TableId(type = IdType.AUTO) - private Integer id; - - @ApiModelProperty("妫�楠屽璞d") - private Integer testObjectId; - - @ApiModelProperty("闆朵欢鍙�") - private String partNo; - - @ApiModelProperty("棰滆壊") - private String color; - - @ApiModelProperty("鑹叉爣") - private String colorCode; - - @ApiModelProperty(value = "鍒涘缓浜篿d") - @TableField(fill = FieldFill.INSERT) - private Integer createUser; - - - @ApiModelProperty(value = "淇敼浜篿d") - @TableField(fill = FieldFill.INSERT_UPDATE) - private Integer updateUser; - - @ApiModelProperty(value = "鍒涘缓鏃堕棿") - @TableField(fill = FieldFill.INSERT) - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime createTime; - - @ApiModelProperty(value = "鏇存柊鏃堕棿") - @TableField(fill = FieldFill.INSERT_UPDATE) - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime updateTime; - -} - diff --git a/basic-server/src/main/java/com/ruoyi/basic/service/CapacityScopeService.java b/basic-server/src/main/java/com/ruoyi/basic/service/CapacityScopeService.java deleted file mode 100644 index 6139cd1..0000000 --- a/basic-server/src/main/java/com/ruoyi/basic/service/CapacityScopeService.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.ruoyi.basic.service; - -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.baomidou.mybatisplus.extension.service.IService; -import com.ruoyi.basic.dto.PageTestObjectDto; -import com.ruoyi.basic.dto.TestItemDto; - -import com.ruoyi.basic.pojo.StructureItemParameter; -import com.ruoyi.basic.pojo.StructureTestObject; - -import java.util.List; -import java.util.Map; - -/** - * 妫�楠岄」鐩弬鏁�(StructureItemParameter)琛ㄦ湇鍔℃帴鍙� - * - * @author makejava - * @since 2024-02-26 16:21:17 - */ -public interface CapacityScopeService extends IService<StructureItemParameter> { - - IPage<StructureItemParameter> selectItemParameterList(Page page, StructureItemParameter itemParameter); - - int addItemParameter(StructureItemParameter itemParameter); - - int delItemParameter(Integer id); - - int upItemParameter(StructureItemParameter itemParameter); - - IPage<PageTestObjectDto> selectTestObjectList(Page page, PageTestObjectDto pageTestObjectDto); - - int addTestObject(StructureTestObject testObject); - - int delTestObject(Integer id); - - int upTestObject(StructureTestObject testObject); - - List<StructureTestObject> selectTestObjectByName(); - - //璁惧閲岄潰閫夋嫨妫�楠岄」鐩�(鏍戝舰缁撴瀯) - List<Map<String, Object>> getInsProduction(); - - List<TestItemDto> getItemTree(); -} - diff --git a/basic-server/src/main/java/com/ruoyi/basic/service/CertificationService.java b/basic-server/src/main/java/com/ruoyi/basic/service/CertificationService.java deleted file mode 100644 index 7ecac80..0000000 --- a/basic-server/src/main/java/com/ruoyi/basic/service/CertificationService.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.ruoyi.basic.service; - -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.baomidou.mybatisplus.extension.service.IService; -import com.ruoyi.basic.pojo.Certification; - -public interface CertificationService extends IService<Certification> { - //鏌ヨ璧勮川鏄庣粏鍒楄〃 - IPage<Certification> getCertificationDetail(Page page, Certification certification); - - //娣诲姞璧勮川鏄庣粏鍒楄〃 - int addCertificationDetail(Certification certification); - - //鍒犻櫎璧勮川鏄庣粏鍒楄〃 - int delCertificationDetail(String ids); -} diff --git a/basic-server/src/main/java/com/ruoyi/basic/service/LaboratoryService.java b/basic-server/src/main/java/com/ruoyi/basic/service/LaboratoryService.java deleted file mode 100644 index 4dc05a5..0000000 --- a/basic-server/src/main/java/com/ruoyi/basic/service/LaboratoryService.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.ruoyi.basic.service; - -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.baomidou.mybatisplus.extension.service.IService; -import com.ruoyi.basic.pojo.Laboratory; - -import java.util.List; - -/** - * 瀹為獙瀹ょ鐞�(Laboratory)琛ㄦ湇鍔℃帴鍙� - */ -public interface LaboratoryService extends IService<Laboratory> { - - IPage<Laboratory> selectItemParameter(Page page, Laboratory itemParameter); - - int addParameter(Laboratory itemParameter); - - int delParameter(Integer id); - - int upParameter(Laboratory itemParameter); - - List<Laboratory> obtainItemParameterList(); - - -} - diff --git a/basic-server/src/main/java/com/ruoyi/basic/service/ProductPartService.java b/basic-server/src/main/java/com/ruoyi/basic/service/ProductPartService.java deleted file mode 100644 index 3525752..0000000 --- a/basic-server/src/main/java/com/ruoyi/basic/service/ProductPartService.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.ruoyi.basic.service; - -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.service.IService; -import com.ruoyi.basic.pojo.ProductPart; - -public interface ProductPartService extends IService<ProductPart> { - - IPage<ProductPart> selectByProductId(IPage<ProductPart> page,ProductPart productPart); - - void addProductPart(ProductPart productPart); - - void updateProductPartById(ProductPart productPart); -} diff --git a/basic-server/src/main/java/com/ruoyi/basic/service/ProductService.java b/basic-server/src/main/java/com/ruoyi/basic/service/ProductService.java deleted file mode 100644 index 6fdc7c2..0000000 --- a/basic-server/src/main/java/com/ruoyi/basic/service/ProductService.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.ruoyi.basic.service; - -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.baomidou.mybatisplus.extension.service.IService; -import com.ruoyi.basic.dto.ProductDTO1; -import com.ruoyi.basic.excel.StructureTestObjectData; -import com.ruoyi.basic.pojo.Product; - -import java.util.List; - -/** -* @author z1292 -* @description 閽堝琛ㄣ�恜roduct(浜у搧琛�)銆戠殑鏁版嵁搴撴搷浣淪ervice -* @createDate 2024-04-26 01:11:02 -*/ -public interface ProductService extends IService<Product> { - - IPage<Product> selectProductListByObjectId(Page page, ProductDTO1 productDto); - - int addProduct(Product product); - - int upProduct(Product product); - - int delProduct(Integer id); - - void importPartExcel(List<StructureTestObjectData> list); -} diff --git a/basic-server/src/main/java/com/ruoyi/basic/service/ProductSupplierDensityService.java b/basic-server/src/main/java/com/ruoyi/basic/service/ProductSupplierDensityService.java deleted file mode 100644 index 13be167..0000000 --- a/basic-server/src/main/java/com/ruoyi/basic/service/ProductSupplierDensityService.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.ruoyi.basic.service; - -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.baomidou.mybatisplus.extension.service.IService; -import com.ruoyi.basic.pojo.ProductSupplierDensity; - -/** - * 浜у搧鍘傚瀵嗗害缁戝畾琛� - * - * @author zhuo - * @since 2024-09-19 - */ -public interface ProductSupplierDensityService extends IService<ProductSupplierDensity> { - - IPage<ProductSupplierDensity> selectByProductId(Page page, ProductSupplierDensity supplierDensity); - - void addProductSupplierDensity(ProductSupplierDensity supplierDensity); - - void updateProductSupplierDensity(ProductSupplierDensity supplierDensity); -} - diff --git a/basic-server/src/main/java/com/ruoyi/basic/service/SealService.java b/basic-server/src/main/java/com/ruoyi/basic/service/SealService.java deleted file mode 100644 index a31c595..0000000 --- a/basic-server/src/main/java/com/ruoyi/basic/service/SealService.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.ruoyi.basic.service; - - -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.baomidou.mybatisplus.extension.service.IService; -import com.ruoyi.basic.pojo.Laboratory; -import com.ruoyi.basic.pojo.Seal; - -import java.util.List; -import java.util.Map; - -public interface SealService extends IService<Seal> { - - //鏂板 - int addSeal(Seal seal); - - //鏌ヨ - IPage<Seal> selectSeal(Page page, Seal seal); - - List<Laboratory> Laboratory(Integer id); - - -} diff --git a/basic-server/src/main/java/com/ruoyi/basic/service/StandardMethodListService.java b/basic-server/src/main/java/com/ruoyi/basic/service/StandardMethodListService.java deleted file mode 100644 index 14ee117..0000000 --- a/basic-server/src/main/java/com/ruoyi/basic/service/StandardMethodListService.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.ruoyi.basic.service; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.ruoyi.basic.pojo.StandardMethodList; - -import java.util.List; -import java.util.Map; - -/** -* @author Administrator -* @description 閽堝琛ㄣ�恠tandard_method_list(鏍囧噯鏍戜笅鐨勬爣鍑嗗垪琛�)銆戠殑鏁版嵁搴撴搷浣淪ervice -* @createDate 2024-03-04 13:44:04 -*/ -public interface StandardMethodListService extends IService<StandardMethodList> { - - int addStandardMethodList(Integer standardId, String tree); - - Map<String, List<?>> selectsStandardMethodByFLSSM(String tree); - - Map<String, List<?>> selectsStandardMethodByFLSSM2(String tree); - - int delStandardMethodByFLSSM(Integer id); - - List<StandardMethodList> selectStandardMethodEnum(); - - Integer getStandardMethodId(String code); - -} diff --git a/basic-server/src/main/java/com/ruoyi/basic/service/StandardMethodService.java b/basic-server/src/main/java/com/ruoyi/basic/service/StandardMethodService.java deleted file mode 100644 index d9b3432..0000000 --- a/basic-server/src/main/java/com/ruoyi/basic/service/StandardMethodService.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.ruoyi.basic.service; - -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.baomidou.mybatisplus.extension.service.IService; -import com.ruoyi.basic.pojo.StandardMethod; -import org.springframework.web.multipart.MultipartFile; - -import java.io.IOException; -import java.util.List; - -/** -* @author Administrator -* @description 閽堝琛ㄣ�恠tandard_method(鏍囧噯鏂规硶)銆戠殑鏁版嵁搴撴搷浣淪ervice -* @createDate 2024-03-03 19:21:41 -*/ -public interface StandardMethodService extends IService<StandardMethod> { - - IPage<StandardMethod> selectStandardMethodList(Page page, StandardMethod standardMethod); - - List<StandardMethod> selectStandardMethods(); - - int addStandardMethod(StandardMethod standardMethod); - - int delStandardMethod(Integer id); - - int upStandardMethod(StandardMethod standardMethod); - - void inputExcel(MultipartFile file) throws IOException; -} diff --git a/basic-server/src/main/java/com/ruoyi/basic/service/StandardProductListService.java b/basic-server/src/main/java/com/ruoyi/basic/service/StandardProductListService.java deleted file mode 100644 index 39e0754..0000000 --- a/basic-server/src/main/java/com/ruoyi/basic/service/StandardProductListService.java +++ /dev/null @@ -1,67 +0,0 @@ -package com.ruoyi.basic.service; - -import com.alibaba.fastjson.JSONArray; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.service.IService; -import com.ruoyi.basic.dto.CopyStandardProductListDto; -import com.ruoyi.basic.dto.InsSampleReceiveDto; -import com.ruoyi.basic.dto.ResetTreeDragDTO; -import com.ruoyi.basic.pojo.StandardProductList; - -import java.util.List; -import java.util.Map; - -/** - * @author Administrator - * @description 閽堝琛ㄣ�恠tandard_product_list(鏍囧噯鏍戜笅鐨勬楠岄」鐩�)銆戠殑鏁版嵁搴撴搷浣淪ervice - * @createDate 2024-03-05 10:33:29 - */ -public interface StandardProductListService extends IService<StandardProductList> { - - int upStandardProductList(StandardProductList list); - - int delStandardProduct(JSONArray list); - - List<StandardProductList> selectStandardProductList(InsSampleReceiveDto insSample); - - Map<String, Object> selectStandardProductListByMethodId(Integer id, String tree, Integer page); - - IPage<StandardProductList> selectStandardProductByMethodId(Integer id, String tree, Integer page, String laboratory, String item, String items); - - Map<String, List<?>> selectStandardProductEnumByMethodId(Integer id, String tree, String item); - - boolean updateSection(StandardProductList list); - - /** - * 鏍囧噯搴撴嫋鎷� - * @param resetTreeDragDTO - */ - void resetTreeDrag(ResetTreeDragDTO resetTreeDragDTO); - - /** - * 鏍囧噯搴撴嫋鎷� - * @param standardProductLists - */ - void resetTreeDragBatch(List<StandardProductList> standardProductLists); - - /** - * 妫�楠岄」瑕佹眰鍊煎姣� - * @param copyStandardProductListDto - * @return - */ - List<StandardProductList> copyStandardProductList(CopyStandardProductListDto copyStandardProductListDto); - - /** - * 妫�楠岄」瑕佹眰鍊煎姣斾竴涓� - * @param copyStandardProductListDto - * @return - */ - List<StandardProductList> copyStandardProductOne(CopyStandardProductListDto copyStandardProductListDto); - - /** - * 妫�楠岄」澶嶅埗鎺掑簭 - * @param copyStandardProductListDto - * @return - */ - boolean copyStandardProductSort(CopyStandardProductListDto copyStandardProductListDto); -} diff --git a/basic-server/src/main/java/com/ruoyi/basic/service/StandardProductListService2.java b/basic-server/src/main/java/com/ruoyi/basic/service/StandardProductListService2.java deleted file mode 100644 index 4f54fe6..0000000 --- a/basic-server/src/main/java/com/ruoyi/basic/service/StandardProductListService2.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.ruoyi.basic.service; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.ruoyi.basic.pojo.StandardProductList; - -/** -* @author Administrator -* @description 閽堝琛ㄣ�恠tandard_product_list(鏍囧噯鏍戜笅鐨勬楠岄」鐩�)銆戠殑鏁版嵁搴撴搷浣淪ervice -* @createDate 2024-03-05 10:33:29 -*/ -public interface StandardProductListService2 extends IService<StandardProductList> { - -} diff --git a/basic-server/src/main/java/com/ruoyi/basic/service/StandardProductListSupplierAskService.java b/basic-server/src/main/java/com/ruoyi/basic/service/StandardProductListSupplierAskService.java deleted file mode 100644 index c32d0e4..0000000 --- a/basic-server/src/main/java/com/ruoyi/basic/service/StandardProductListSupplierAskService.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.ruoyi.basic.service; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.ruoyi.basic.pojo.StandardProductListSupplierAsk; - -import java.util.List; - -/** - * 妫�楠岄」鐩巶瀹跺瘑搴︾粦瀹氳〃 - * - * @author makejava - * @since 2024-09-23 - */ -public interface StandardProductListSupplierAskService extends IService<StandardProductListSupplierAsk> { - - List<StandardProductListSupplierAsk> selectByProductId(StandardProductListSupplierAsk supplierAsk); - - Integer addProductSupplierAsk(StandardProductListSupplierAsk supplierAsk); - - Integer updateProductSupplierAsk(StandardProductListSupplierAsk supplierAsk); - -} - diff --git a/basic-server/src/main/java/com/ruoyi/basic/service/StandardTemplateService.java b/basic-server/src/main/java/com/ruoyi/basic/service/StandardTemplateService.java deleted file mode 100644 index 050cce8..0000000 --- a/basic-server/src/main/java/com/ruoyi/basic/service/StandardTemplateService.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.ruoyi.basic.service; - -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.baomidou.mybatisplus.extension.service.IService; -import com.ruoyi.basic.pojo.StandardTemplate; - -import java.util.List; - -/** -* @author Administrator -* @description 閽堝琛ㄣ�恠tandard_template(鏍囧噯妯℃澘)銆戠殑鏁版嵁搴撴搷浣淪ervice -* @createDate 2024-03-11 13:47:52 -*/ -public interface StandardTemplateService extends IService<StandardTemplate> { - - IPage<StandardTemplate> selectStandardTemplatePageList(Page page, StandardTemplate standardTemplate); - - int addStandardTemplate(StandardTemplate standardTemplate); - - int upStandardTemplate(StandardTemplate standardTemplate); - - int delStandardTemplate(Integer id); - - List<StandardTemplate> getStandardTemplate(); - - String getStandTempThingById(Integer templateId); - - String getStandTempNameById(Integer templateId); - - StandardTemplate getStandTempIdByName(String name); - - int copyStandardTemplate(StandardTemplate newTemplate); -} diff --git a/basic-server/src/main/java/com/ruoyi/basic/service/StandardTreeService.java b/basic-server/src/main/java/com/ruoyi/basic/service/StandardTreeService.java deleted file mode 100644 index 39d08e7..0000000 --- a/basic-server/src/main/java/com/ruoyi/basic/service/StandardTreeService.java +++ /dev/null @@ -1,52 +0,0 @@ -package com.ruoyi.basic.service; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.ruoyi.basic.dto.FactoryDto; -import com.ruoyi.basic.dto.SampleTypeDto; -import com.ruoyi.basic.pojo.StandardTree; -import org.springframework.web.multipart.MultipartFile; - -import java.util.List; -import java.util.Map; - -/** -* @author Administrator -* @description 閽堝琛ㄣ�恠tandard_tree(鏍囧噯鏍�)銆戠殑鏁版嵁搴撴搷浣淪ervice -* @createDate 2024-03-01 15:06:44 -*/ -public interface StandardTreeService extends IService<StandardTree> { - - List<FactoryDto> selectStandardTreeList(); - - - int addStandardTree(StandardTree standardTree); - - int delStandardTree(String tree); - - int addStandardProduct(String ids, String tree); - - List<SampleTypeDto> getStandardTree2(); - - int upStandardProducts(Map<String, Object> product); - - List<StandardTree> getStandTreeBySampleType(String laboratory, String sampleType); - - void inExcelOfTree(MultipartFile file); - - void resetTreeOfPrice(String tree, Integer standardId); - - void resetTreeOfHour(String tree, Integer standardId); - - void resetTreeOfAsk(String tree, Integer standardId); - - void importWorkstationExcel(MultipartFile file); - - /** - * 鏍囧噯鏁版帓搴� - * @param list - * @return - */ - boolean updateTreeSort(List<FactoryDto> list); - - int updateStandardTree(StandardTree standardTree); -} diff --git a/basic-server/src/main/java/com/ruoyi/basic/service/StructureItemParameterService.java b/basic-server/src/main/java/com/ruoyi/basic/service/StructureItemParameterService.java deleted file mode 100644 index a697619..0000000 --- a/basic-server/src/main/java/com/ruoyi/basic/service/StructureItemParameterService.java +++ /dev/null @@ -1,8 +0,0 @@ -package com.ruoyi.basic.service; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.ruoyi.basic.pojo.StructureItemParameter; - -public interface StructureItemParameterService extends IService<StructureItemParameter> { - void removeNoSample(String sample); -} diff --git a/basic-server/src/main/java/com/ruoyi/basic/service/StructureTestObjectPartService.java b/basic-server/src/main/java/com/ruoyi/basic/service/StructureTestObjectPartService.java deleted file mode 100644 index de84817..0000000 --- a/basic-server/src/main/java/com/ruoyi/basic/service/StructureTestObjectPartService.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.ruoyi.basic.service; - -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.baomidou.mybatisplus.extension.service.IService; -import com.ruoyi.basic.pojo.StructureTestObjectPart; - -/** - * 妫�楠屽璞¢浂浠惰〃 - * - * @author zhuo - * @since 2024-08-07 - */ -public interface StructureTestObjectPartService extends IService<StructureTestObjectPart> { - - IPage<StructureTestObjectPart> selectByTestObjectId(Page page, StructureTestObjectPart structureTestObjectPart); - - void addTestObjectPart(StructureTestObjectPart structureTestObjectPart); - - void updateTestObjectPart(StructureTestObjectPart structureTestObjectPart); -} - diff --git a/basic-server/src/main/java/com/ruoyi/basic/service/StructureTestObjectService.java b/basic-server/src/main/java/com/ruoyi/basic/service/StructureTestObjectService.java deleted file mode 100644 index 200a51a..0000000 --- a/basic-server/src/main/java/com/ruoyi/basic/service/StructureTestObjectService.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.ruoyi.basic.service; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.ruoyi.basic.pojo.StructureTestObject; - -/** - * 妫�娴嬪璞�(StructureTestObject)$desc - * - * @author makejava - * @since 2024-09-13 09:45:55 - */ -public interface StructureTestObjectService extends IService<StructureTestObject> { - -} - diff --git a/basic-server/src/main/java/com/ruoyi/basic/service/impl/CapacityScopeServiceImpl.java b/basic-server/src/main/java/com/ruoyi/basic/service/impl/CapacityScopeServiceImpl.java deleted file mode 100644 index f63a161..0000000 --- a/basic-server/src/main/java/com/ruoyi/basic/service/impl/CapacityScopeServiceImpl.java +++ /dev/null @@ -1,185 +0,0 @@ -package com.ruoyi.basic.service.impl; - -import cn.hutool.core.collection.CollUtil; -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.Wrappers; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.ruoyi.common.exception.base.BaseException; -import com.ruoyi.common.utils.QueryWrappers; -import com.ruoyi.basic.dto.PageTestObjectDto; -import com.ruoyi.basic.dto.TestItemDto; -import com.ruoyi.basic.mapper.*; -import com.ruoyi.basic.pojo.*; -import com.ruoyi.basic.service.CapacityScopeService; -import com.ruoyi.basic.service.StandardProductListService; -import com.ruoyi.basic.service.StructureItemParameterService; -import lombok.AllArgsConstructor; -import org.springframework.stereotype.Service; - -import java.util.List; -import java.util.Map; -import java.util.stream.Collectors; - -/** - * 妫�楠岄」鐩弬鏁�(StructureItemParameter)琛ㄦ湇鍔″疄鐜扮被 - * - * @author makejava - * @since 2024-02-26 16:21:17 - */ -@Service -@AllArgsConstructor -public class CapacityScopeServiceImpl extends ServiceImpl<StructureItemParameterMapper, StructureItemParameter> implements CapacityScopeService { - - private LaboratoryMapper laboratoryMapper; - - private StructureItemParameterMapper structureItemParameterMapper; - - private StructureTestObjectMapper structureTestObjectMapper; - - private ProductMapper productMapper; - - private StructureTestObjectPartMapper structureTestObjectPartMapper; - - private ProductPartMapper productPartMapper; - - private StandardProductListService standardProductListService; - - private StandardTreeMapper standardTreeMapper; - - private StructureItemParameterService structureItemParameterService; - - @Override - public IPage<StructureItemParameter> selectItemParameterList(Page page, StructureItemParameter itemParameter) { - return structureItemParameterMapper.selectItemParameterList(page, QueryWrappers.queryWrappers(itemParameter)); - } - - @Override - public int addItemParameter(StructureItemParameter itemParameter) { - if (itemParameter.getBsm().equals("")||itemParameter.getBsm()==null){ - itemParameter.setBsm("0"); - } - int insert = structureItemParameterMapper.insert(itemParameter); - return insert; - } - - @Override - public int delItemParameter(Integer id) { - return structureItemParameterMapper.deleteById(id); - } - - @Override - public int upItemParameter(StructureItemParameter itemParameter) { - return structureItemParameterMapper.updateById(itemParameter); - } - - @Override - public IPage<PageTestObjectDto> selectTestObjectList(Page page, PageTestObjectDto pageTestObjectDto) { - String partNo = pageTestObjectDto.getPartNo(); - pageTestObjectDto.setPartNo(null); - return structureTestObjectMapper.selectTestObjectList(page, QueryWrappers.queryWrappers(pageTestObjectDto),partNo); - } - - @Override - public int addTestObject(StructureTestObject testObject) { - Long count = structureTestObjectMapper.selectCount(Wrappers.<StructureTestObject>lambdaQuery().eq(StructureTestObject::getSpecimenName, testObject.getSpecimenName())); - if(count.compareTo(0L) > 0){ - throw new BaseException("妫�楠屽璞′笉鑳介噸澶�"); - } - - return structureTestObjectMapper.insert(testObject); - } - - @Override - public int delTestObject(Integer id) { - // 浜у嚭妫�楠屽璞′骇鍝佺淮鎶� - structureTestObjectPartMapper.delete(Wrappers.<StructureTestObjectPart>lambdaQuery() - .eq(StructureTestObjectPart::getTestObjectId, id)); - - // 鍒犻櫎浜у搧缁存姢鐨勯浂浠剁粦瀹� - List<Product> products = productMapper.selectList(Wrappers.<Product>lambdaQuery() - .eq(Product::getObjectId, id)); - List<Integer> productIds = products.stream().map(Product::getId).collect(Collectors.toList()); - productPartMapper.delete(Wrappers.<ProductPart>lambdaQuery() - .in(ProductPart::getProductId, productIds)); - - // 鍒犻櫎浜у搧缁存姢 - productMapper.delete(Wrappers.<Product>lambdaQuery() - .in(Product::getId, productIds)); - - return structureTestObjectMapper.deleteById(id); - } - - @Override - public int upTestObject(StructureTestObject testObject) { - // 鏌ヨ鏃х殑妫�楠屽璞� - StructureTestObject oldTestObject = structureTestObjectMapper.selectById(testObject.getId()); - - if (!oldTestObject.getSpecimenName().equals(testObject.getSpecimenName())) { - // 鏌ヨ鎵�鏈夊璞′竴鏍风殑妫�楠岄」鐩� - List<StandardProductList> standardProductLists = standardProductListService.list(Wrappers.<StandardProductList>lambdaUpdate() - .eq(StandardProductList::getSampleType, oldTestObject.getSpecimenName())); - if (CollectionUtils.isNotEmpty(standardProductLists)){ - for (StandardProductList standardProductList : standardProductLists) { - // 淇敼鎵�鏈夌殑瀵硅薄鍚嶇О鍜屾暟鍨嬬粨鏋� - standardProductList.setSampleType(testObject.getSpecimenName()); - // 闇�瑕佹埅鍙栫涓夌骇, 閬垮厤涓夊洓绾у悕绉颁竴鏍蜂慨鏀归敊璇� - String[] trees = standardProductList.getTree().split(" - "); - trees[2] = testObject.getSpecimenName(); - List<String> list = CollUtil.newArrayList(trees); - String newName = CollUtil.join(list, " - "); - standardProductList.setTree(newName); - } - standardProductListService.updateBatchById(standardProductLists); - } - // 淇敼妫�楠岄」鐩弬鏁扮殑妫�楠屽璞� - // 鎷兼帴 ["object", 鏌ヨ妫�楠岄」鐩弬鏁颁慨鏀圭粦瀹氱殑妫�楠屽璞� - String format = "[\"{}\","; - String sampleOld = StrUtil.format(format, oldTestObject.getSpecimenName()); - List<StructureItemParameter> itemParameterList = structureItemParameterService.list(Wrappers.<StructureItemParameter>lambdaQuery() - .like(StructureItemParameter::getSample, sampleOld)); - if (CollectionUtils.isNotEmpty(itemParameterList)) { - for (StructureItemParameter structureItemParameter : itemParameterList) { - // 淇敼缁戝畾鐨勬牱鍝佸悕绉� - String sampleNew = StrUtil.format(format, testObject.getSpecimenName()); - String sampleUp = structureItemParameter.getSample().replace(sampleOld, sampleNew); - structureItemParameter.setSample(sampleUp); - } - structureItemParameterService.updateBatchById(itemParameterList); - } - - // 淇敼鏍戠殑鍨嬪彿 - standardTreeMapper.update(null, Wrappers.<StandardTree>lambdaUpdate() - .eq(StandardTree::getSampleType, oldTestObject.getSpecimenName()) - .set(StandardTree::getSampleType, testObject.getSpecimenName())); - } - - Long count = structureTestObjectMapper.selectCount(Wrappers.<StructureTestObject>lambdaQuery() - .eq(StructureTestObject::getSpecimenName, testObject.getSpecimenName()) - .ne(StructureTestObject::getId, testObject.getId())); - if(count.compareTo(0L) > 0){ - throw new BaseException("妫�楠屽璞′笉鑳介噸澶�"); - } - - return structureTestObjectMapper.updateById(testObject); - } - - @Override - public List<StructureTestObject> selectTestObjectByName() { - return structureTestObjectMapper.selectList(Wrappers.<StructureTestObject>lambdaQuery().select(StructureTestObject::getSpecimenName,StructureTestObject::getId)); - } - - //璁惧閲岄潰閫夋嫨妫�楠岄」鐩�(鏍戝舰缁撴瀯) - @Override - public List<Map<String, Object>> getInsProduction() { - return structureItemParameterMapper.getInsProduction(); - } - - @Override - public List<TestItemDto> getItemTree() { - return structureItemParameterMapper.getItemTree(); - } -} - diff --git a/basic-server/src/main/java/com/ruoyi/basic/service/impl/CertificationServiceImpl.java b/basic-server/src/main/java/com/ruoyi/basic/service/impl/CertificationServiceImpl.java deleted file mode 100644 index 11a6e61..0000000 --- a/basic-server/src/main/java/com/ruoyi/basic/service/impl/CertificationServiceImpl.java +++ /dev/null @@ -1,45 +0,0 @@ -package com.ruoyi.basic.service.impl; - -import com.alibaba.fastjson2.JSON; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.ruoyi.common.utils.QueryWrappers; -import com.ruoyi.basic.mapper.CertificationMapper; -import com.ruoyi.basic.pojo.Certification; -import com.ruoyi.basic.service.CertificationService; -import lombok.AllArgsConstructor; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.List; - -@Service -@AllArgsConstructor -@Transactional(rollbackFor = Exception.class) -public class CertificationServiceImpl extends ServiceImpl<CertificationMapper, Certification> implements CertificationService { - - - private CertificationMapper certificationMapper; - - - //鏌ヨ璧勮川鏄庣粏鍒楄〃 - @Override - public IPage<Certification> getCertificationDetail(Page page, Certification certification) { - return certificationMapper.getCertificationDetail(page, QueryWrappers.queryWrappers(certification)); - } - - //娣诲姞璧勮川鏄庣粏鍒楄〃 - @Override - public int addCertificationDetail(Certification certification) { - return certificationMapper.insert(certification); - } - - //鍒犻櫎璧勮川鏄庣粏鍒楄〃 - @Override - public int delCertificationDetail(String ids) { - List<Integer> list = JSON.parseArray(ids,Integer.class); - return certificationMapper.deleteBatchIds(list); - } - -} diff --git a/basic-server/src/main/java/com/ruoyi/basic/service/impl/LaboratoryServiceImpl.java b/basic-server/src/main/java/com/ruoyi/basic/service/impl/LaboratoryServiceImpl.java deleted file mode 100644 index a91a3c5..0000000 --- a/basic-server/src/main/java/com/ruoyi/basic/service/impl/LaboratoryServiceImpl.java +++ /dev/null @@ -1,53 +0,0 @@ -package com.ruoyi.basic.service.impl; - -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.ruoyi.common.utils.QueryWrappers; -import com.ruoyi.basic.mapper.LaboratoryMapper; -import com.ruoyi.basic.pojo.Laboratory; -import com.ruoyi.basic.service.LaboratoryService; -import lombok.AllArgsConstructor; -import org.springframework.stereotype.Service; - -import java.util.List; - -/** - * 瀹為獙瀹ょ鐞�(Laboratory)琛ㄦ湇鍔″疄鐜扮被 - */ -@Service -@AllArgsConstructor -public class LaboratoryServiceImpl extends ServiceImpl<LaboratoryMapper, Laboratory> implements LaboratoryService { - - - private LaboratoryMapper laboratoryMapper; - - @Override - public IPage<Laboratory> selectItemParameter(Page page, Laboratory itemParameter) { - return laboratoryMapper.selectItemParameter(page, QueryWrappers.queryWrappers(itemParameter)); - } - - @Override - public int addParameter(Laboratory itemParameter) { - return laboratoryMapper.insert(itemParameter); - } - - @Override - public int delParameter(Integer id) { - return laboratoryMapper.deleteById(id); - } - - @Override - public int upParameter(Laboratory itemParameter) { - return laboratoryMapper.updateById(itemParameter); - } - - @Override - public List<Laboratory> obtainItemParameterList() { - return laboratoryMapper.selectList(Wrappers.<Laboratory>lambdaQuery().select(Laboratory::getLaboratoryName, Laboratory::getId)); - } - - -} - diff --git a/basic-server/src/main/java/com/ruoyi/basic/service/impl/ProductPartServiceImpl.java b/basic-server/src/main/java/com/ruoyi/basic/service/impl/ProductPartServiceImpl.java deleted file mode 100644 index 5ecfb88..0000000 --- a/basic-server/src/main/java/com/ruoyi/basic/service/impl/ProductPartServiceImpl.java +++ /dev/null @@ -1,68 +0,0 @@ -package com.ruoyi.basic.service.impl; - -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -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.service.impl.ServiceImpl; -import com.ruoyi.common.exception.base.BaseException; -import com.ruoyi.common.utils.QueryWrappers; -import com.ruoyi.basic.mapper.ProductPartMapper; -import com.ruoyi.basic.mapper.StructureTestObjectPartMapper; -import com.ruoyi.basic.pojo.ProductPart; -import com.ruoyi.basic.pojo.StructureTestObjectPart; -import com.ruoyi.basic.service.ProductPartService; -import lombok.AllArgsConstructor; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -@Transactional -@Service -@AllArgsConstructor -public class ProductPartServiceImpl extends ServiceImpl<ProductPartMapper, ProductPart> implements ProductPartService { - - private ProductPartMapper productPartMapper; - private StructureTestObjectPartMapper structureTestObjectPartMapper; - - - @Override - public IPage<ProductPart> selectByProductId(IPage<ProductPart> page,ProductPart productPart) { - return productPartMapper.selectListByProductId(page, QueryWrappers.queryWrappers(productPart),productPart.getProductId()); - } - - @Override - public void addProductPart(ProductPart productPart) { - if (productPart.getProductId() == null) { - throw new BaseException("缂哄皯浜у搧瀵硅薄id"); - } - this.isPartNoExist(productPart.getPartNo(), productPart.getProductId(), null); - productPartMapper.insert(productPart); - } - - @Override - public void updateProductPartById(ProductPart productPart) { - this.isPartNoExist(productPart.getPartNo(), productPart.getProductId(), productPart.getId()); - if (productPart.getProductId() == null) { - throw new BaseException("缂哄皯浜у搧瀵硅薄id"); - } - productPartMapper.updateById(productPart); - } - - // 鍒ゆ柇闆朵欢鍙锋槸鍚﹀瓨鍦� - public void isPartNoExist(String partNo,Integer productId, Integer id) { - // 闆朵欢鍙峰敮涓� 浣嗕笉蹇呭~ - if (StringUtils.isNotBlank(partNo)) { - Long count = productPartMapper.selectCount(new LambdaQueryWrapper<ProductPart>() -// .eq(ProductPart::getProductId, productId) - .eq(ProductPart::getPartNo, partNo) - .ne(id != null, ProductPart::getId, id)); - Long selectCount = structureTestObjectPartMapper.selectCount(Wrappers.<StructureTestObjectPart>lambdaQuery() - .eq(StructureTestObjectPart::getPartNo, partNo)); - if (count > 0 || selectCount > 0) { - throw new BaseException("璇ラ浂浠跺彿宸茬粦瀹氳繃妫�楠屽璞�"); - } - } else { - throw new BaseException("璇疯緭鍏ラ浂浠跺彿"); - } - } -} diff --git a/basic-server/src/main/java/com/ruoyi/basic/service/impl/ProductServiceImpl.java b/basic-server/src/main/java/com/ruoyi/basic/service/impl/ProductServiceImpl.java deleted file mode 100644 index d1786cb..0000000 --- a/basic-server/src/main/java/com/ruoyi/basic/service/impl/ProductServiceImpl.java +++ /dev/null @@ -1,188 +0,0 @@ -package com.ruoyi.basic.service.impl; - -import cn.hutool.core.collection.CollUtil; -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.ObjectUtils; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.ruoyi.common.exception.base.BaseException; -import com.ruoyi.common.utils.QueryWrappers; -import com.ruoyi.basic.dto.ProductDTO1; -import com.ruoyi.basic.excel.StructureTestObjectData; -import com.ruoyi.basic.mapper.ProductMapper; -import com.ruoyi.basic.mapper.ProductPartMapper; -import com.ruoyi.basic.mapper.StandardTreeMapper; -import com.ruoyi.basic.mapper.StructureTestObjectMapper; -import com.ruoyi.basic.pojo.*; -import com.ruoyi.basic.service.LaboratoryService; -import com.ruoyi.basic.service.ProductService; -import com.ruoyi.basic.service.StandardProductListService; -import com.ruoyi.basic.service.StructureItemParameterService; -import lombok.AllArgsConstructor; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.List; - -/** -* @author z1292 -* @description 閽堝琛ㄣ�恜roduct(浜у搧琛�)銆戠殑鏁版嵁搴撴搷浣淪ervice瀹炵幇 -* @createDate 2024-04-26 01:11:02 -*/ -@Service -@AllArgsConstructor -public class ProductServiceImpl extends ServiceImpl<ProductMapper, Product> - implements ProductService{ - - private ProductMapper productMapper; - - private LaboratoryService laboratoryService; - - private StructureTestObjectMapper structureTestObjectMapper; - - private ProductPartMapper productPartMapper; - - private StandardProductListService standardProductListService; - - private StandardTreeMapper standardTreeMapper; - - private StructureItemParameterService structureItemParameterService; - - @Override - public IPage<Product> selectProductListByObjectId(Page page, ProductDTO1 product) { - String partNo = product.getPartNo(); - product.setPartNo(null); - return productMapper.selectProductListByObjectId(page, QueryWrappers.queryWrappers(product), partNo); - } - - @Override - public int addProduct(Product product) { - - return productMapper.insert(product); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public int upProduct(Product product) { - // 鏌ヨ鍘熸湰鐨勫悕绉� - Product oldProduct = productMapper.selectById(product.getId()); - - if (!oldProduct.getName().equals(product.getName())) { - // 淇敼鍚嶇О鍖归厤鐨勬爣鍑嗘爲涓嬬殑妫�楠岄」鐩� - // 鏌ヨ鎵�鏈夊璞�+鍚嶇О鐨勬爲 - StructureTestObject testObject = structureTestObjectMapper.selectById(oldProduct.getObjectId()); - - List<StandardProductList> standardProductLists = standardProductListService.list(Wrappers.<StandardProductList>lambdaUpdate() - .eq(StandardProductList::getSample, oldProduct.getName()) - .eq(StandardProductList::getSampleType, testObject.getSpecimenName())); - if (CollectionUtils.isNotEmpty(standardProductLists)) { - for (StandardProductList standardProductList : standardProductLists) { - // 淇敼鏍峰搧鍚嶇О - standardProductList.setSample(product.getName()); - // 淇敼鏍戝悕绉� - // 闇�瑕佹埅鍙栫鍥涚骇, 閬垮厤涓夊洓绾у悕绉颁竴鏍蜂慨鏀归敊璇� - String[] trees = standardProductList.getTree().split(" - "); - trees[3] = product.getName(); - List<String> list = CollUtil.newArrayList(trees); - String newName = CollUtil.join(list, " - "); - standardProductList.setTree(newName); - } - standardProductListService.updateBatchById(standardProductLists); - } - - // 淇敼妫�楠岄」鐩弬鏁扮殑妫�楠屽璞� - // 鎷兼帴["object","product"]鏌ヨ妫�楠岄」鐩弬鏁颁慨鏀圭粦瀹氱殑妫�楠屽璞� - String format = "[\"{}\",\"{}\"]"; - String sampleOld = StrUtil.format(format, testObject.getSpecimenName(), oldProduct.getName()); - List<StructureItemParameter> itemParameterList = structureItemParameterService.list(Wrappers.<StructureItemParameter>lambdaQuery() - .like(StructureItemParameter::getSample, sampleOld)); - if (CollectionUtils.isNotEmpty(itemParameterList)) { - for (StructureItemParameter structureItemParameter : itemParameterList) { - // 淇敼缁戝畾鐨勬牱鍝佸悕绉� - String sampleNew = StrUtil.format(format, testObject.getSpecimenName(), product.getName()); - String sampleUp = structureItemParameter.getSample().replace(sampleOld, sampleNew); - structureItemParameter.setSample(sampleUp); - } - structureItemParameterService.updateBatchById(itemParameterList); - } - - // 淇敼鏍戠殑鍨嬪彿 - standardTreeMapper.update(null, Wrappers.<StandardTree>lambdaUpdate() - .eq(StandardTree::getSampleType, testObject.getSpecimenName()) - .eq(StandardTree::getSample, oldProduct.getName()) - .set(StandardTree::getSample, product.getName())); - } - - return productMapper.updateById(product); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public int delProduct(Integer id) { - // 鍒犻櫎闆朵欢缁戝畾 - productPartMapper.delete(Wrappers.<ProductPart>lambdaQuery() - .eq(ProductPart::getProductId, id)); - - return productMapper.deleteById(id); - } - - @Transactional(rollbackFor = Exception.class) - @Override - public void importPartExcel(List<StructureTestObjectData> list) { - list.forEach(i -> { - // 妫�楠屽璞� - StructureTestObject structureTestObject1 = structureTestObjectMapper.selectOne(Wrappers.<StructureTestObject>lambdaQuery() - .eq(StructureTestObject::getSpecimenName, i.getSpecimenName()) - .eq(StructureTestObject::getSpecimenNameEn, i.getSpecimenNameEn())); - Laboratory laboratory = laboratoryService.getOne(Wrappers.<Laboratory>lambdaQuery() - .eq(Laboratory::getLaboratoryName, i.getLaboratory())); - if (ObjectUtils.isEmpty(laboratory)) { - throw new BaseException("鏈壘鍒拌鍦烘墍锛�" + i.getLaboratory() + "锛岃妫�鏌ユ槸鍚﹀瓨鍦ㄨ鍦烘墍锛�"); - } - // 濡傛灉涓虹┖杩涜鏂板 - if(ObjectUtils.isEmpty(structureTestObject1)) { - StructureTestObject structureTestObject = new StructureTestObject(); - structureTestObject.setLaboratoryId(laboratory.getId()); - structureTestObject.setSpecimenName(i.getSpecimenName()); - structureTestObject.setSpecimenNameEn(i.getSpecimenNameEn()); - structureTestObject.setCode(i.getCode()); - structureTestObjectMapper.insert(structureTestObject); - - // 浜у搧 - Product product = productMapper.selectOne(Wrappers.<Product>lambdaQuery() - .eq(Product::getName, i.getName()) - .eq(Product::getNameEn, i.getNameEn())); - if (ObjectUtils.isEmpty(product)){ - Product product1 = new Product(); - product1.setName(i.getName()); - product1.setNameEn(i.getNameEn()); - product1.setObjectId(structureTestObject.getId()); - baseMapper.insert(product1); - } - } else { - structureTestObject1.setCode(i.getCode()); - structureTestObject1.setLaboratoryId(laboratory.getId()); - structureTestObjectMapper.updateById(structureTestObject1); - // 浜у搧 - Product product = productMapper.selectOne(Wrappers.<Product>lambdaQuery() - .eq(Product::getName, i.getName()) - .eq(Product::getNameEn, i.getNameEn())); - if (ObjectUtils.isEmpty(product)){ - Product product1 = new Product(); - product1.setName(i.getName()); - product1.setNameEn(i.getNameEn()); - product1.setObjectId(structureTestObject1.getId()); - baseMapper.insert(product1); - } else { - product.setName(i.getName()); - product.setNameEn(i.getNameEn()); - product.setObjectId(structureTestObject1.getId()); - baseMapper.updateById(product); - } - } - }); - } -} diff --git a/basic-server/src/main/java/com/ruoyi/basic/service/impl/ProductSupplierDensityServiceImpl.java b/basic-server/src/main/java/com/ruoyi/basic/service/impl/ProductSupplierDensityServiceImpl.java deleted file mode 100644 index 54a92ab..0000000 --- a/basic-server/src/main/java/com/ruoyi/basic/service/impl/ProductSupplierDensityServiceImpl.java +++ /dev/null @@ -1,64 +0,0 @@ -package com.ruoyi.basic.service.impl; - -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.ruoyi.common.exception.base.BaseException; -import com.ruoyi.common.utils.QueryWrappers; -import com.ruoyi.basic.mapper.ProductSupplierDensityMapper; -import com.ruoyi.basic.pojo.ProductSupplierDensity; -import com.ruoyi.basic.service.ProductSupplierDensityService; -import org.springframework.stereotype.Service; - -/** - * 浜у搧鍘傚瀵嗗害缁戝畾琛� - * - * @author zhuo - * @since 2024-09-19 - */ -@Service -public class ProductSupplierDensityServiceImpl extends ServiceImpl<ProductSupplierDensityMapper, ProductSupplierDensity> implements ProductSupplierDensityService { - - @Override - public IPage<ProductSupplierDensity> selectByProductId(Page page, ProductSupplierDensity supplierDensity) { - if (supplierDensity.getProductId() == null) { - throw new BaseException("缂哄皯浜у搧瀵硅薄id"); - } - return baseMapper.selectListByProductId(page, QueryWrappers.queryWrappers(supplierDensity), supplierDensity.getProductId()); - } - - @Override - public void addProductSupplierDensity(ProductSupplierDensity supplierDensity) { - if (supplierDensity.getProductId() == null) { - throw new BaseException("缂哄皯浜у搧瀵硅薄id"); - } - // 鏌ヨ鏀瑰巶瀹舵槸鍚︾粦瀹氳繃 -// Long count = baseMapper.selectCount(Wrappers.<ProductSupplierDensity>lambdaQuery() -// .eq(ProductSupplierDensity::getProductId, supplierDensity.getProductId()) -// .eq(ProductSupplierDensity::getModel, supplierDensity) -// .eq(ProductSupplierDensity::getSupplierName, supplierDensity.getSupplierName())); -// if (count > 0){ -// throw new BaseException("璇ヤ骇鍝佸凡缁戝畾杩囪鍘傚"); -// } - - baseMapper.insert(supplierDensity); - } - - @Override - public void updateProductSupplierDensity(ProductSupplierDensity supplierDensity) { - if (supplierDensity.getProductId() == null) { - throw new BaseException("缂哄皯浜у搧瀵硅薄id"); - } - // 鏌ヨ鏀瑰巶瀹舵槸鍚︾粦瀹氳繃 -// Long count = baseMapper.selectCount(Wrappers.<ProductSupplierDensity>lambdaQuery() -// .ne(ProductSupplierDensity::getId, supplierDensity.getId()) -// .eq(ProductSupplierDensity::getProductId, supplierDensity.getProductId()) -// .eq(ProductSupplierDensity::getModel, supplierDensity) -// .eq(ProductSupplierDensity::getSupplierName, supplierDensity.getSupplierName())); -// if (count > 0){ -// throw new BaseException("璇ヤ骇鍝佸凡缁戝畾杩囪鍘傚"); -// } - baseMapper.updateById(supplierDensity); - } -} - diff --git a/basic-server/src/main/java/com/ruoyi/basic/service/impl/SealServiceImpl.java b/basic-server/src/main/java/com/ruoyi/basic/service/impl/SealServiceImpl.java deleted file mode 100644 index 8e86931..0000000 --- a/basic-server/src/main/java/com/ruoyi/basic/service/impl/SealServiceImpl.java +++ /dev/null @@ -1,39 +0,0 @@ -package com.ruoyi.basic.service.impl; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.ruoyi.basic.mapper.SealMapper; -import com.ruoyi.basic.pojo.Laboratory; -import com.ruoyi.basic.pojo.Seal; -import com.ruoyi.basic.service.SealService; -import com.ruoyi.common.utils.QueryWrappers; -import lombok.AllArgsConstructor; -import org.springframework.stereotype.Service; - -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -@Service -@AllArgsConstructor -public class SealServiceImpl extends ServiceImpl<SealMapper, Seal> implements SealService { - private SealMapper sealMapper; - - - @Override - public int addSeal(Seal seal) { - return sealMapper.insert(seal); - } - - - - - @Override - public IPage<Seal> selectSeal(Page page, Seal seal) { - return sealMapper.selectSeal(page, QueryWrappers.queryWrappers(seal)); - } - @Override - public List<Laboratory> Laboratory(Integer labId) { - return sealMapper.selectLaboratory(labId); - } -} diff --git a/basic-server/src/main/java/com/ruoyi/basic/service/impl/StandardMethodListServiceImpl.java b/basic-server/src/main/java/com/ruoyi/basic/service/impl/StandardMethodListServiceImpl.java deleted file mode 100644 index 5ab1ed5..0000000 --- a/basic-server/src/main/java/com/ruoyi/basic/service/impl/StandardMethodListServiceImpl.java +++ /dev/null @@ -1,150 +0,0 @@ -package com.ruoyi.basic.service.impl; - -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.ruoyi.basic.mapper.StandardMethodListMapper; -import com.ruoyi.basic.mapper.StandardProductListMapper; -import com.ruoyi.basic.pojo.StandardMethodList; -import com.ruoyi.basic.pojo.StandardProductList; -import com.ruoyi.basic.service.StandardMethodListService; -import lombok.AllArgsConstructor; -import org.springframework.stereotype.Service; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -/** -* @author Administrator -* @description 閽堝琛ㄣ�恠tandard_method_list(鏍囧噯鏍戜笅鐨勬爣鍑嗗垪琛�)銆戠殑鏁版嵁搴撴搷浣淪ervice瀹炵幇 -* @createDate 2024-03-04 13:44:04 -*/ -@Service -@AllArgsConstructor -public class StandardMethodListServiceImpl extends ServiceImpl<StandardMethodListMapper, StandardMethodList> - implements StandardMethodListService{ - - private StandardMethodListMapper standardMethodListMapper; - - private StandardProductListMapper standardProductListMapper; - - @Override - public int addStandardMethodList(Integer standardId, String tree) { - String[] trees = tree.split(" - "); - Map<String, String> map = standardMethodListMapper.selectStandardMethodById(standardId); - StandardMethodList list = new StandardMethodList(); - list.setCode(map.get("code")); - list.setName(map.get("name")); - list.setRemark(map.get("remark")); - list.setFactory(trees[0]); - try { - list.setLaboratory(trees[1]); - }catch (Exception e){} - try { - list.setSampleType(trees[2]); - }catch (Exception e){} - try { - list.setSample(trees[3]); - }catch (Exception e){} - try { - list.setModel(trees[4]); - }catch (Exception e){} - standardMethodListMapper.insert(list); - List<StandardProductList> standardProductLists = standardMethodListMapper.selectParameterList(list.getCode()); - for (StandardProductList standardProductList : standardProductLists) { - standardProductList.setStandardMethodListId(list.getId()); - standardProductList.setFactory(trees[0]); - try { - standardProductList.setLaboratory(trees[1]); - }catch (Exception e){} - try { - standardProductList.setSampleType(trees[2]); - }catch (Exception e){} - try { - standardProductList.setSample(trees[3]); - }catch (Exception e){} - try { - standardProductList.setModel(trees[4]); - }catch (Exception e){} - standardProductListMapper.insert(standardProductList); - } - return 1; - } - - @Override - public Map<String, List<?>> selectsStandardMethodByFLSSM(String tree) { - String[] trees = tree.split(" - "); - Map<String, List<?>> map = new HashMap<>(); - String str = ""; - List<StandardMethodList> standardMethodLists = new ArrayList<>(); - switch (trees.length){ - case 5: - str += "\"" + trees[2] + "\",\"" + trees[3] + "\",\"" + trees[4] + "\""; - standardMethodLists.addAll(standardMethodListMapper.selectStandardMethodLists(str)); - standardMethodLists.addAll(standardMethodListMapper.selectStandardMethodLists("\"" + trees[2] + "\",\"" + trees[3] + "\"")); - standardMethodLists.addAll(standardMethodListMapper.selectStandardMethodLists("\"" + trees[2] + "\"")); - break; - case 4: - str += "\"" + trees[2] + "\",\"" + trees[3] + "\""; - standardMethodLists.addAll(standardMethodListMapper.selectStandardMethodLists(str)); - standardMethodLists.addAll(standardMethodListMapper.selectStandardMethodLists("\"" + trees[2] + "\"")); - break; - case 3: - str += "\"" + trees[2] + "\""; - standardMethodLists.addAll(standardMethodListMapper.selectStandardMethodLists3(str)); - break; - default: - map.put("standardMethodList", null); - return map; - } - standardMethodLists.addAll(standardMethodListMapper.selectStandardMethodListsByNull(str)); - map.put("standardMethodList", standardMethodLists); - return map; - } - - @Override - public Map<String, List<?>> selectsStandardMethodByFLSSM2(String tree) { - String[] trees = tree.split(" - "); - List<StandardMethodList> standardMethodLists = null; - switch (trees.length){ - case 5: - standardMethodLists = standardMethodListMapper.selectStandardMethodLists2(trees[0],trees[1],trees[2],trees[3],trees[4]); - break; - case 4: - standardMethodLists = standardMethodListMapper.selectStandardMethodLists2(trees[0],trees[1],trees[2],trees[3],null); - break; - case 3: - standardMethodLists = standardMethodListMapper.selectStandardMethodLists2(trees[0],trees[1],trees[2],null,null); - break; - case 2: - standardMethodLists = standardMethodListMapper.selectStandardMethodLists2(trees[0],trees[1],null,null,null); - break; - case 1: - standardMethodLists = standardMethodListMapper.selectStandardMethodLists2(trees[0],null,null,null,null); - break; - } - Map<String, List<?>> map = new HashMap<>(); - map.put("standardMethodList", standardMethodLists); - return map; - } - - @Override - public int delStandardMethodByFLSSM(Integer id) { - standardProductListMapper.delete(Wrappers.<StandardProductList>lambdaUpdate().eq(StandardProductList::getStandardMethodListId, id)); - return standardMethodListMapper.deleteById(id); - } - @Override - public List<StandardMethodList> selectStandardMethodEnum() { - return standardMethodListMapper.selectListEnum(); - } - - @Override - public Integer getStandardMethodId(String code) { - return baseMapper.getStandardMethodId(code); - } -} - - - - diff --git a/basic-server/src/main/java/com/ruoyi/basic/service/impl/StandardMethodServiceImpl.java b/basic-server/src/main/java/com/ruoyi/basic/service/impl/StandardMethodServiceImpl.java deleted file mode 100644 index 44566bd..0000000 --- a/basic-server/src/main/java/com/ruoyi/basic/service/impl/StandardMethodServiceImpl.java +++ /dev/null @@ -1,260 +0,0 @@ -package com.ruoyi.basic.service.impl; - -import cn.hutool.json.JSONUtil; -import cn.hutool.poi.excel.ExcelUtil; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.ruoyi.common.utils.QueryWrappers; -import com.ruoyi.basic.mapper.StandardMethodMapper; -import com.ruoyi.basic.mapper.StandardProductListMapper; -import com.ruoyi.basic.mapper.StructureItemParameterMapper; -import com.ruoyi.basic.pojo.StandardMethod; -import com.ruoyi.basic.pojo.StandardProductList; -import com.ruoyi.basic.pojo.StructureItemParameter; -import com.ruoyi.basic.service.StandardMethodService; -import com.ruoyi.basic.service.StandardProductListService; -import com.ruoyi.basic.service.StructureItemParameterService; -import lombok.AllArgsConstructor; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; -import org.springframework.web.multipart.MultipartFile; - -import java.io.IOException; -import java.util.*; -import java.util.concurrent.CompletableFuture; - -/** - * @author Administrator - * @description 閽堝琛ㄣ�恠tandard_method(鏍囧噯鏂规硶)銆戠殑鏁版嵁搴撴搷浣淪ervice瀹炵幇 - * @createDate 2024-03-03 19:21:41 - */ -@Service -@AllArgsConstructor -public class StandardMethodServiceImpl extends ServiceImpl<StandardMethodMapper, StandardMethod> - implements StandardMethodService { - - - private StandardMethodMapper standardMethodMapper; - - StandardProductListMapper standardProductListMapper; - StandardProductListService standardProductListService; - - StructureItemParameterMapper structureItemParameterMapper; - StructureItemParameterService structureItemParameterService; - - @Override - public IPage<StandardMethod> selectStandardMethodList(Page page, StandardMethod standardMethod) { - return standardMethodMapper.selectStandardMethodList(page, QueryWrappers.queryWrappers(standardMethod)); - } - - @Override - public List<StandardMethod> selectStandardMethods() { - return standardMethodMapper.selectList(Wrappers.<StandardMethod>lambdaQuery().select(StandardMethod::getId, StandardMethod::getCode, StandardMethod::getName).ne(StandardMethod::getId, 0)); - } - - @Override - public int addStandardMethod(StandardMethod standardMethod) { - int insert = standardMethodMapper.insert(standardMethod); - return insert; - } - - @Override - public int delStandardMethod(Integer id) { - int i = standardMethodMapper.deleteById(id); - return i; - } - - @Override - public int upStandardMethod(StandardMethod standardMethod) { - StandardMethod oldStandardMethod = standardMethodMapper.selectById(standardMethod.getId()); - if (!oldStandardMethod.getCode().equals(standardMethod.getCode())) { - CompletableFuture.supplyAsync(() -> replaceMethod(oldStandardMethod.getCode(), standardMethod.getCode())); - } - int i = standardMethodMapper.updateById(standardMethod); - return i; - } - - //缂栬緫method鍚庡叏閮ㄦ浛鎹� - public String replaceMethod(String oldCode, String code) { - //鏌ヨStandardProductList涓墍鏈塎ethod濡傛灉鍖呭惈涔嬪墠鐨勫垯鏇挎崲 - List<StandardProductList> standardProductLists = standardProductListMapper.selectList(null); - for (StandardProductList standardProductList : standardProductLists) { - if (standardProductList.getMethod().contains(oldCode)) { - String[] split = standardProductList.getMethod().split(","); - String a = null; - for (int i = 0; i < split.length; i++) { - String methodName = split[i].substring(1, split[i].length() - 1); - if (i == 0) { - methodName = split[i].substring(2, split[i].length() - 1); - } else if (i == split.length - 1) { - methodName = split[i].substring(1, split[i].length() - 2); - } - if (methodName.equals(oldCode)) { - methodName = code; - } - a += "\"" + methodName + "\","; - } - String method = "[\"" + a.substring(0, a.length() - 1) + "\"]"; - standardProductList.setMethod(method); - } - } - standardProductListService.updateBatchById(standardProductLists); - //鏌ヨStructureItemParameter涓墍鏈塎ethod濡傛灉鍖呭惈涔嬪墠鐨勫垯鏇挎崲 - List<StructureItemParameter> structureItemParameters = structureItemParameterMapper.selectList(null); - for (StructureItemParameter structureItemParameter : structureItemParameters) { - if (structureItemParameter.getMethod().contains(oldCode)) { - String[] split = structureItemParameter.getMethod().split(","); - String a = null; - for (int i = 0; i < split.length; i++) { - String methodName = split[i].substring(1, split[i].length() - 1); - if (i == 0) { - methodName = split[i].substring(2, split[i].length() - 1); - } else if (i == split.length - 1) { - methodName = split[i].substring(1, split[i].length() - 2); - } - if (methodName.equals(oldCode)) { - methodName = code; - } - a += "\"" + methodName + "\","; - } - String method = "[\"" + a.substring(0, a.length() - 1) + "\"]"; - structureItemParameter.setMethod(method); - } - } - structureItemParameterService.updateBatchById(structureItemParameters); - return "鏇挎崲瀹屾瘯!"; - } - - @Transactional(rollbackFor = Exception.class) - @Override - public void inputExcel(MultipartFile file) throws IOException { - // 瀛樺偍妫�娴嬪璞ist - List<Object> structureTestObjectIdList = new ArrayList<>(); - List<StandardMethod> result = new ArrayList<>(); - ExcelUtil.readBySax(file.getInputStream(), 0, (i, l, list) -> { - // 鍘婚櫎绗竴琛岃〃澶� - if (l == 0) { - return; - } - // 瀛樺偍鍞竴妫�娴嬪璞� - if (!structureTestObjectIdList.contains(list.get(2))) { - structureTestObjectIdList.add(list.get(2)); - } - StandardMethod standardMethod = formatData(list); - result.add(standardMethod); - }); - addStructureTest(structureTestObjectIdList, result); - } - - // 鏍煎紡鍖栨暟鎹� - public StandardMethod formatData(List<Object> list) { - StandardMethod standardMethod = new StandardMethod(); - standardMethod.setField(list.get(1).toString()); - // 閫犳牸寮� - List<List<Object>> structureTestObjectId = new ArrayList<>(); - if (ObjectUtils.isEmpty(list.get(3))) { - structureTestObjectId.add(Arrays.asList(list.get(2))); - } else { - structureTestObjectId.add(Arrays.asList(list.get(2), list.get(3))); - } - standardMethod.setStructureTestObjectId(JSONUtil.toJsonStr(structureTestObjectId)); - standardMethod.setCode(list.get(4).toString()); - standardMethod.setName(list.get(5).toString()); - standardMethod.setNameEn(list.get(6).toString()); - if (!Objects.equals(list.get(7), null)) { - standardMethod.setRemark(list.get(7).toString()); - } - standardMethod.setQualificationId(list.get(8).toString()); - if (ObjectUtils.isNotEmpty(list.get(9))) { - if (list.get(9).equals("鏄�")) { - standardMethod.setIsProduct(1); - } else if (list.get(9).equals("鍚�")) { - standardMethod.setIsProduct(0); - } - } - if (ObjectUtils.isNotEmpty(list.get(10))) { - if (list.get(10).equals("鏄�")) { - standardMethod.setIsUse(1); - } else if (list.get(9).equals("鍚�")) { - standardMethod.setIsUse(0); - } - } - return standardMethod; - } - - // 鏂板鏁版嵁 - public void addStructureTest(List<Object> structureTestObjectIdList, List<StandardMethod> standardMethodList) { - List<StandardMethod> updateList = new ArrayList<>(); - List<Integer> deleteListId = new ArrayList<>(); - List<StandardMethod> addList = new ArrayList<>(); - if (!structureTestObjectIdList.isEmpty()) { - // 寰幆excel閲岄潰鐨勫垎缁� - structureTestObjectIdList.forEach(j -> { - // 浠xcel涓殑缁勫悕鏌ヨ鏁版嵁搴撲腑鐨勫垎缁� - List<StandardMethod> standardMethods = baseMapper.selectList(Wrappers.<StandardMethod>lambdaQuery() - .like(StandardMethod::getStructureTestObjectId, "\"" + j + "\"")); - // 灏嗙粨鏋滃惊鐜尮閰� - for (int i = 0; i < standardMethods.size(); i++) { - boolean isExistence = false; - for (int i1 = 0; i1 < standardMethodList.size(); i1++) { - // 鏇存柊 - if (standardMethods.get(i).getStructureTestObjectId().equals(standardMethodList.get(i1).getStructureTestObjectId()) - && standardMethods.get(i).getCode().equals(standardMethodList.get(i1).getCode()) - && standardMethods.get(i).getField().equals(standardMethodList.get(i1).getField())) { - // 缁檈xcel鏁版嵁璧嬪�糹d鍋氭洿鏂� - standardMethodList.get(i1).setId(standardMethods.get(i).getId()); - // 鏇存柊 - updateList.add(standardMethodList.get(i1)); - isExistence = true; - break; - } - } - // 鍒犻櫎 - if (!isExistence) { - deleteListId.add(standardMethods.get(i).getId()); - } - } - for (int i = 0; i < standardMethodList.size(); i++) { - if (standardMethodList.get(i).getStructureTestObjectId().contains("\"" + j + "\"")) { - boolean isExistence = false; - for (int i1 = 0; i1 < standardMethods.size(); i1++) { - if (standardMethods.get(i1).getStructureTestObjectId().equals(standardMethodList.get(i).getStructureTestObjectId()) - && standardMethods.get(i1).getCode().equals(standardMethodList.get(i).getCode()) - && standardMethods.get(i1).getField().equals(standardMethodList.get(i).getField())) { - isExistence = true; - break; - } - } - // 鏂板 - if (!isExistence) { - addList.add(standardMethodList.get(i)); - } - } - } - }); - } - if (!addList.isEmpty()) { - // 鏂板 - baseMapper.insertBatchSomeColumn(addList); - } - - if (!deleteListId.isEmpty()) { - // 鍒犻櫎 - baseMapper.deleteBatchIds(deleteListId); - } - - if (!updateList.isEmpty()) { - // 鏇存柊 - updateList.forEach(i -> { - baseMapper.updateById(i); - }); - } - } -} - - - - diff --git a/basic-server/src/main/java/com/ruoyi/basic/service/impl/StandardProductListService2Impl.java b/basic-server/src/main/java/com/ruoyi/basic/service/impl/StandardProductListService2Impl.java deleted file mode 100644 index eae1bc2..0000000 --- a/basic-server/src/main/java/com/ruoyi/basic/service/impl/StandardProductListService2Impl.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.ruoyi.basic.service.impl; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.ruoyi.basic.mapper.StandardProductListMapper; -import com.ruoyi.basic.pojo.StandardProductList; -import com.ruoyi.basic.service.StandardProductListService2; -import org.springframework.stereotype.Service; - -@Service -public class StandardProductListService2Impl extends ServiceImpl<StandardProductListMapper, StandardProductList> - implements StandardProductListService2 { -} diff --git a/basic-server/src/main/java/com/ruoyi/basic/service/impl/StandardProductListServiceImpl.java b/basic-server/src/main/java/com/ruoyi/basic/service/impl/StandardProductListServiceImpl.java deleted file mode 100644 index c5695ec..0000000 --- a/basic-server/src/main/java/com/ruoyi/basic/service/impl/StandardProductListServiceImpl.java +++ /dev/null @@ -1,701 +0,0 @@ -package com.ruoyi.basic.service.impl; - -import com.alibaba.fastjson.JSON; -import com.alibaba.fastjson.JSONArray; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.core.toolkit.*; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.ruoyi.common.exception.base.BaseException; -import com.ruoyi.common.utils.SecurityUtils; -import com.ruoyi.basic.dto.CopyStandardProductListDto; -import com.ruoyi.basic.dto.InsSampleReceiveDto; -import com.ruoyi.basic.dto.ProductDto; -import com.ruoyi.basic.dto.ResetTreeDragDTO; -import com.ruoyi.basic.mapper.IfsInventoryQuantityMapper; -import com.ruoyi.basic.mapper.StandardProductListMapper; -import com.ruoyi.basic.mapper.StandardProductListSupplierAskMapper; -import com.ruoyi.basic.mapper.StandardTreeMapper; -import com.ruoyi.basic.pojo.StandardProductList; -import com.ruoyi.basic.pojo.StandardProductListSupplierAsk; -import com.ruoyi.basic.pojo.StandardTree; -import com.ruoyi.basic.service.StandardProductListService; -import com.ruoyi.basic.service.StandardProductListService2; -import lombok.AllArgsConstructor; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.math.BigDecimal; -import java.util.*; -import java.util.regex.Matcher; -import java.util.regex.Pattern; -import java.util.stream.Collectors; - -/** - * @author Administrator - * @description 閽堝琛ㄣ�恠tandard_product_list(鏍囧噯鏍戜笅鐨勬楠岄」鐩�)銆戠殑鏁版嵁搴撴搷浣淪ervice瀹炵幇 - * @createDate 2024-03-05 10:33:29 - */ -@Service -@AllArgsConstructor -public class StandardProductListServiceImpl extends ServiceImpl<StandardProductListMapper, StandardProductList> - implements StandardProductListService { - - private StandardProductListMapper standardProductListMapper; - - private StandardTreeMapper standardTreeMapper; - - private StandardProductListService2 standardProductListService2; - - private IfsInventoryQuantityMapper ifsInventoryQuantityMapper; - - private StandardProductListSupplierAskMapper standardProductListSupplierAskMapper; - - - @Override - public int upStandardProductList(StandardProductList list) { - return standardProductListMapper.updateById(list); - } - - @Override - public int delStandardProduct(JSONArray list) { - return standardProductListMapper.deleteBatchIds(list); - } - - @Override - public List<StandardProductList> selectStandardProductList(InsSampleReceiveDto insSample) { - // 鏄惁娌℃湁浜у搧 - boolean isNoSample = false; -// String[] models = insSample.getModel().split("-(?=[^-]*$)");//鎷嗗垎鏈�鍚庝竴涓��-銆� - String model = insSample.getModel(); - String modelNum = insSample.getModelNum(); - List<StandardProductList> list = standardProductListMapper.selectDetail(insSample.getStandardMethodListId(), 1, model, insSample.getIsCableTag()); - if (list.size() == 0) { - if (Objects.equals(insSample.getFactory(), "") || insSample.getFactory() == null) { - return null; - } - String[] split = insSample.getFactory().split(" - "); - split[3] = split[3].replace("- ", ""); - String tree = split[0] + " - " + split[1] + " - " + split[2] + " - " + split[3] + " - null"; - list = standardProductListMapper.selectDetail2(insSample.getStandardMethodListId(), 1, tree, insSample.getIsCableTag()); - if (list.size() == 0) { - String tree1 = split[0] + " - " + split[1] + " - " + split[2] + " - null - " + split[3]; - list = standardProductListMapper.selectDetail2(insSample.getStandardMethodListId(), 1, tree1, insSample.getIsCableTag()); - - // 鍙湁瀵硅薄鐨勪竴灞� - if (list.size() == 0) { - String tree2 = split[0] + " - " + split[1] + " - " + split[2] + " - null - null"; - list = standardProductListMapper.selectDetail2(insSample.getStandardMethodListId(), 1, tree2, insSample.getIsCableTag()); - // 鏍峰搧鐩存帴璧嬪�兼牱鍝佸垎绫� - list.forEach(standardProductList -> standardProductList.setSample(standardProductList.getSampleType())); - isNoSample = true; - } - } - } - String[] split1 = insSample.getFactory().split(" - "); - if (!isNoSample) { - //鍒ゆ柇闀垮害 - if (split1.length > 4) { - if (ObjectUtils.isNotEmpty(split1[3])) { - list = list.stream().filter(list1 -> Objects.nonNull(list1.getSample()) && Objects.equals(list1.getSample(), split1[3])).collect(Collectors.toList()); - } else if (split1[3].equals("")) { - list = list.stream().filter(list1 -> Objects.nonNull(list1.getSampleType()) && Objects.equals(list1.getSampleType(), split1[2])).collect(Collectors.toList()); - } - } - } - list = list.stream().filter(a -> { - try { - if (a.getSection() != null && !Objects.equals(a.getSection(), "")) { - List<String> sections = JSON.parseArray(a.getSection(), String.class);// 鍖洪棿 - List<String> cores = JSON.parseArray(a.getCores(), String.class); // 鑺暟 - List<String> conductorMaterials = JSON.parseArray(a.getConductorMaterial(), String.class); // 瀵间綋鏉愯川 - List<String> conductorTypes = JSON.parseArray(a.getConductorType(), String.class); // 瀵间綋绫诲瀷 - List<String> asks = JSON.parseArray(a.getAsk(), String.class); - List<String> tells = JSON.parseArray(a.getTell(), String.class); - boolean isIf; - for (int i = 0; i < sections.size(); i++) { - if (Objects.equals(a.getBsm(), "1")) { - return true; - } else { - if (sections.get(i).contains("&")) { - String[] split = sections.get(i).split("&"); - isIf = getIsIf(split[0], modelNum, cores.get(i), conductorMaterials.get(i), conductorTypes.get(i), insSample) - && getIsIf(split[1], modelNum, cores.get(i), conductorMaterials.get(i), conductorTypes.get(i), insSample); - } else { - isIf = getIsIf(sections.get(i), modelNum, cores.get(i), conductorMaterials.get(i), conductorTypes.get(i), insSample); - } - if (isIf) { - a.setSection(sections.get(i)); - a.setAsk(asks.get(i)); - a.setTell(tells.get(i)); - return true; - } - } - } - return false; - } - } catch (Exception ignored) { - return false; - } - return true; - }).peek(standardProductList -> { - // todo: 鍒ゆ柇鏄惁鏄師鏉愪笅鍗�, 闇�瑕佸晩鎶婇鑹茬粦瀹氬埌璇曟牱棰滆壊鐨勮姹傚�间笂 - if (StringUtils.isNotBlank(insSample.getPartNo())) { - // 鍒ゆ柇鏄惁鏈夎繖涓瓧娈典笖鏄枃鏈被鍨� - if (StringUtils.isNotBlank(standardProductList.getInspectionItem()) - && standardProductList.getInspectionItem().contains("璇曟牱棰滆壊")) { - Map<String, String> partColor = baseMapper.selectPartColor(insSample.getPartNo()); - if (CollectionUtils.isNotEmpty(partColor)) { - if (StringUtils.isNotBlank(partColor.get("color"))) { - // 鍒ゆ柇妫�楠屽�兼槸鍚︿负绌哄拰涓嶇瓑浜� - 鍜� / - if (StringUtils.isBlank(standardProductList.getAsk()) || partColor.get("color").contains("鏈�")) { // 娌℃湁ask鐩存帴澶嶅埗 - // 鏌ヨ瀵硅薄缁戝畾琛ㄥ拰浜у搧缁戝畾琛� - standardProductList.setAsk("=" + partColor.get("color") - + (StringUtils.isBlank(partColor.get("color_code")) ? "" : "(" + partColor.get("color_code") + ")")); - standardProductList.setTell(partColor.get("color") - + (StringUtils.isBlank(partColor.get("color_code")) ? "" : "(" + partColor.get("color_code") + ")")); - standardProductList.setInspectionValueType("2"); - } else { // 鎷兼帴鍒拌姹傛弿杩板墠闈� - standardProductList.setTell(partColor.get("color") - + (StringUtils.isBlank(partColor.get("color_code")) ? "" : "(" + partColor.get("color_code") + ")") + "@" + standardProductList.getTell()); - } - } - } - } - } - }) - .collect(Collectors.toList()); - - // 鏌ヨ鍘傚鏄惁鏈夌壒娈婅姹傚�� - if (insSample.getIfsInventoryId() != null) { - // 鏌ヨ鍘熸潗鏂欏巶瀹跺悕绉� - String supplierName = ifsInventoryQuantityMapper.selectById(insSample.getIfsInventoryId()) - .getSupplierName(); - List<Long> collect = list.stream().map(StandardProductList::getId).collect(Collectors.toList()); - if (CollectionUtils.isNotEmpty(collect)) { - List<StandardProductListSupplierAsk> supplierAsks = standardProductListSupplierAskMapper.selectList(Wrappers.<StandardProductListSupplierAsk>lambdaQuery() - .in(StandardProductListSupplierAsk::getProductListId, collect) - .eq(StandardProductListSupplierAsk::getSupplierName, supplierName)); - - // 鍒ゆ柇鏈夋病鏈夌壒娈婂�肩粦瀹� - if (CollectionUtils.isNotEmpty(supplierAsks)) { - for (StandardProductList standardProductList : list) { - for (StandardProductListSupplierAsk supplierAsk : supplierAsks) { - if (standardProductList.getId().equals(supplierAsk.getProductListId())) { - // 閲嶆柊璧嬪�艰姹傚�煎拰瑕佹眰鎻忚堪 - standardProductList.setAsk(supplierAsk.getAsk()); - standardProductList.setTell(supplierAsk.getTell()); - } - } - } - } - } - } - - return list; - } - - /** - * - * @param str 鍒ゅ畾鍏紡 - * @param model 鍨嬪彿 - * @param standardCores 鑺暟 - * @param conductorMaterial 瀵间綋鏉愯川 - * @param conductorType 瀵间綋绫诲瀷 - * @param insSample - * @return - */ - private boolean getIsIf(String str, String model, String standardCores, String conductorMaterial, String conductorType,InsSampleReceiveDto insSample) { - Matcher matcher = Pattern.compile("\\d+(\\.\\d+)?").matcher(model); - String model2 = ""; - while (matcher.find()) { - model2 += matcher.group(); - break; - } - boolean flag = false; - if (str.contains("鈮�") || str.contains(">=")) { - String param = str.replace("鈮�", "").replace(">=", ""); - flag = new BigDecimal(model2).compareTo(new BigDecimal(param)) > -1; - } else if (str.contains("鈮�") || str.contains("<=")) { - String param = str.replace("鈮�", "").replace("<=", ""); - flag = new BigDecimal(model2).compareTo(new BigDecimal(param)) < 1; - } else if (str.contains(">") || str.contains("锛�")) { - String param = str.replace(">", "").replace("锛�", ""); - flag = new BigDecimal(model2).compareTo(new BigDecimal(param)) > 0; - } else if (str.contains("<") || str.contains("锛�")) { - String param = str.replace("<", "").replace("锛�", ""); - flag = new BigDecimal(model2).compareTo(new BigDecimal(param)) < 0; - } else if (str.contains("=")) { - String param = str.replace("=", ""); - flag = new BigDecimal(model2).compareTo(new BigDecimal(param)) == 0; - } - if (flag) { - boolean coresMatch = true; - boolean conductorMaterialMatch = true; - boolean conductorTypeMatch = true; - - // 鍒ゆ柇鏄惁鏈夌嚎鑺暟閲� - if (StringUtils.isNotBlank(standardCores)) { - if (StringUtils.isBlank(insSample.getCores()) || !standardCores.equals(insSample.getCores())) { - coresMatch = false; - } - } - - // 鍒ゆ柇鏄惁鏈夊浣撴潗璐� - if (StringUtils.isNotBlank(conductorMaterial)) { - if (StringUtils.isBlank(insSample.getConductorMaterial()) || !conductorMaterial.equals(insSample.getConductorMaterial())) { - conductorMaterialMatch = false; - } - } - - // 鍒ゆ柇鏄惁鏈夊浣撶被鍨� - if (StringUtils.isNotBlank(conductorType)) { - if (StringUtils.isBlank(insSample.getConductorType()) || !conductorType.equals(insSample.getConductorType())) { - conductorTypeMatch = false; - } - } - // 鏈�缁堝垽鏂� - flag = coresMatch && conductorMaterialMatch && conductorTypeMatch; - } - - return flag; - } - - @Override - @Transactional(rollbackFor = Exception.class) - public Map<String, Object> selectStandardProductListByMethodId(Integer id, String tree, Integer page) { - String[] trees = tree.split(" - "); - try { - String tree1 = trees[2]; - } catch (Exception e) { - throw new BaseException("鎿嶄綔澶揩,绯荤粺浼犲弬閿欒!!!!"); - } - boolean isDrag = false; - List<StandardProductList> list = new ArrayList<>(); - if (trees.length == 3) { - List<StandardTree> treeList = new ArrayList<>(); - StandardTree standardTree = new StandardTree(); - standardTree.setFactory(trees[0]); - standardTree.setLaboratory(trees[1]); - standardTree.setSampleType(trees[2]); - List<ProductDto> pList = standardTreeMapper.selectPList(trees[2]); - if (pList.size() == 0 || pList.get(0) == null) { - List<StandardTree> treeList1 = standardTreeMapper.selectList(Wrappers.<StandardTree>lambdaQuery().eq(StandardTree::getLaboratory, trees[1]).eq(StandardTree::getSampleType, trees[2])); - if (treeList1.size() == 0) { - treeList.add(standardTree); - } else { - treeList.addAll(treeList1); - } - } else { - for (ProductDto p : pList) { - standardTree.setSample(p.getName()); - List<StandardTree> treeList1 = standardTreeMapper.selectList(Wrappers.<StandardTree>lambdaQuery().eq(StandardTree::getLaboratory, trees[1]).eq(StandardTree::getSampleType, trees[2]).eq(StandardTree::getSample, p.getName())); - if (treeList1.size() == 0) { - treeList.add(JSON.parseObject(JSON.toJSONString(standardTree), StandardTree.class)); - } else { - treeList.addAll(treeList1); - } - } - } - for (StandardTree standardTree2 : treeList) { - String tree2 = trees[0] + " - " + trees[1] + " - " + trees[2] + " - " + standardTree2.getSample() + " - " + standardTree2.getModel(); - list.addAll(standardTreeMapper.selectStandardProductListByTree("\"" + trees[2] + "\"", standardTree2.getSample(), standardTree2.getModel(), tree2, trees[1])); - list.addAll(standardTreeMapper.selectStandardProductListByTree2("\"" + trees[2] + "\",\"" + standardTree2.getSample() + "\"", standardTree2.getSample(), standardTree2.getModel(), tree2, trees[1])); - } - } else if (trees.length == 4) { - // 鍒ゆ柇绗洓灞傛槸鍚︽湁鍨嬪彿 - Long count = standardProductListMapper.selectCount(Wrappers.<StandardProductList>lambdaQuery() - .eq(StandardProductList::getStandardMethodListId, id) - .isNull(StandardProductList::getModel) - .like(StandardProductList::getTree, tree)); - if (count == 0) { - isDrag = true; - } - - isDrag = true; - List<StandardTree> treeList = standardTreeMapper.selectList(Wrappers.<StandardTree>lambdaQuery().eq(StandardTree::getLaboratory, trees[1]).eq(StandardTree::getSampleType, trees[2]).eq(StandardTree::getSample, trees[3])); - if (treeList.size() == 0) { - StandardTree standardTree = new StandardTree(); - standardTree.setFactory(trees[0]); - standardTree.setLaboratory(trees[1]); - standardTree.setSampleType(trees[2]); - standardTree.setSample(trees[3]); - treeList.add(standardTree); - } - for (StandardTree standardTree : treeList) { - String str = tree + " - " + standardTree.getModel(); - list.addAll(standardTreeMapper.selectStandardProductListByTree("\"" + trees[2] + "\"", standardTree.getSample(), standardTree.getModel(), str, trees[1])); - list.addAll(standardTreeMapper.selectStandardProductListByTree2("\"" + trees[2] + "\",\"" + trees[3] + "\"", standardTree.getSample(), standardTree.getModel(), str, trees[1])); - } - } else { - isDrag = true; - list.addAll(standardTreeMapper.selectStandardProductListByTree("\"" + trees[2] + "\"", trees[3].equals("null") ? null : trees[3], trees[4], tree, trees[1])); - list.addAll(standardTreeMapper.selectStandardProductListByTree2("\"" + trees[2] + "\",\"" + trees[3] + "\"", trees[3].equals("null") ? null : trees[3], trees[4], tree, trees[1])); - } - for (StandardProductList productList : list) { - productList.setId(IdWorker.getId()); - } - List<StandardProductList> standardProductLists; - - if (isDrag) { - standardProductLists = standardProductListMapper.selectList(Wrappers.<StandardProductList>lambdaQuery() - .eq(StandardProductList::getStandardMethodListId, id) - .like(StandardProductList::getTree, tree) - .orderByAsc(StandardProductList::getSort)); - // 鍒ゆ柇鏄惁鏈夋病鏈夊簭鍙风殑, 娌℃湁搴忓彿閲嶇疆 - boolean b = standardProductLists.stream().anyMatch(standardProductList -> standardProductList.getSort() == null); - } else { - standardProductLists = standardProductListMapper.selectList(Wrappers.<StandardProductList>lambdaQuery() - .eq(StandardProductList::getStandardMethodListId, id) - .like(StandardProductList::getTree, tree)); - } - - for (StandardProductList sp : standardProductLists) { - for (StandardProductList pl : list) { - // 鍒ゆ柇鏉′欢鏄惁鍙湁涓�涓�, 鏈変竴涓殑璇濋粯璁ょ涓�涓� - String radiusList = pl.getRadiusList(); - if (StringUtils.isNotBlank(radiusList) && !radiusList.equals("null") && !radiusList.equals("\"\"")) { - JSONArray jsonArray = JSON.parseArray(radiusList); - List<String> radius = jsonArray.toJavaList(String.class); - if (CollectionUtils.isNotEmpty(radius) && radius.size() == 1) { - pl.setRadius(radius.get(0)); - } - } - if (Objects.equals(sp.getInspectionItem(), pl.getInspectionItem()) - && Objects.equals((sp.getInspectionItemSubclass() == null) ? "" : sp.getInspectionItemSubclass(), pl.getInspectionItemSubclass() == null ? "" : pl.getInspectionItemSubclass()) -// && Objects.equals(sp.getSample(), pl.getSample()) - && Objects.equals(sp.getModel(), pl.getModel()) - && sp.getTree().indexOf(pl.getSample() == null ? "null" : pl.getSample()) > -1 - && Objects.equals(sp.getStructureItemParameterId(), pl.getStructureItemParameterId())) { - pl.setId(sp.getId()); - // 娣诲姞鎺掑簭瀛楁 - pl.setSort(sp.getSort()); - if (sp.getState() != null && !sp.getState().equals("")) { - pl.setState(sp.getState()); - } else { - pl.setState(id == 0 ? 1 : 0); - } - if (sp.getMethodS() != null && !sp.getMethodS().equals("")) { - pl.setMethod(sp.getMethodS()); - } - if (sp.getRadius() != null && !sp.getRadius().equals("")) { - pl.setRadius(sp.getRadius()); - } - if (sp.getRates() != null && !sp.getRates().equals("")) { - pl.setRates(sp.getRates()); - } - if (sp.getAsk() != null && !sp.getAsk().equals("")) { - pl.setAsk(sp.getAsk()); - } - if (sp.getTell() != null && !sp.getTell().equals("")) { - pl.setTell(sp.getTell()); - } - if (sp.getPrice() != null && !sp.getPrice().equals("")) { - pl.setPrice(sp.getPrice()); - } - if (sp.getManHour() != null && !sp.getManHour().equals("")) { - pl.setManHour(sp.getManHour()); - } - if (sp.getSection() != null && !sp.getSection().equals("")) { - pl.setSection(sp.getSection()); - } - if (sp.getCores() != null && !sp.getCores().equals("")) { - pl.setCores(sp.getCores()); - } - if (sp.getConductorMaterial() != null && !sp.getConductorMaterial().equals("")) { - pl.setConductorMaterial(sp.getConductorMaterial()); - } - if (sp.getConductorType() != null && !sp.getConductorType().equals("")) { - pl.setConductorType(sp.getConductorType()); - } - if (sp.getTemplateId() != null && !sp.getTemplateId().equals("")) { - pl.setTemplateId(sp.getTemplateId()); - } - //鍥犱负杩樻湁涓骇鍝佸彨鑰愬紶绾垮す 鎺ョ画閲戝叿 ,杩欎袱涓」鐩殑鏁版嵁瀹屽叏涓�鏍�,鐗规畩澶勭悊 - if (sp.getTree() != null && !sp.getTree().equals("") && !pl.getTree().equals("涓ぉ绉戞妧妫�娴嬩腑蹇� - 鐢靛姏浜у搧瀹為獙瀹� - 閲戝叿 - 鑰愬紶绾垮す - null")) { - pl.setTree(sp.getTree()); - } - break; - } - } - } - if (page == 1) { - Integer userId = SecurityUtils.getUserId().intValue(); -// CompletableFuture.supplyAsync(() -> { - if (trees.length == 5) { - standardProductListMapper.delete(Wrappers.<StandardProductList>lambdaUpdate() - .eq(StandardProductList::getStandardMethodListId, id) - .eq(StandardProductList::getTree, tree)); - } else { - standardProductListMapper.delete(Wrappers.<StandardProductList>lambdaUpdate() - .eq(StandardProductList::getStandardMethodListId, id) - .like(StandardProductList::getTree, tree)); - } - - boolean success = false; - int retryCount = 0; - while (!success && retryCount < 100) { - try { - standardProductListService2.saveBatch(list.stream().map(a -> { - a.setFactory(trees[0]); - a.setLaboratory(trees[1]); - a.setSampleType(trees[2]); - a.setCreateUser(userId); - a.setUpdateUser(userId); - a.setStandardMethodListId(id); - return a; - }).collect(Collectors.toList())); - ; - success = true; - } catch (Exception e) { - // 澶勭悊閲嶅 ID 鐨勮褰曪紝閲嶆柊鐢熸垚 ID 骞剁户缁皾璇曟彃鍏� - for (StandardProductList productList : list) { - productList.setId(IdWorker.getId()); - } - } - } - if (!success) { - throw new RuntimeException("鎻掑叆澶辫触"); - } - - } - Map<String, Object> map = new HashMap<>(); - Collections.sort(list, (o1, o2) -> { - String field1 = o1.getManHourGroup(); - String field2 = o2.getManHourGroup(); - - boolean isEmpty1 = field1 == null || field1.isEmpty(); - boolean isEmpty2 = field2 == null || field2.isEmpty(); - - if (isEmpty1 && isEmpty2) { - return 0; - } else if (isEmpty1) { - return 1; - } else if (isEmpty2) { - return -1; - } else { - int num1 = extractNumber(field1); - int num2 = extractNumber(field2); - return Integer.compare(num1, num2); - } - }); - // 鎸夌収绱㈠紩鎺掑簭 - if (isDrag) { - list.sort((o1, o2) -> (o1.getSort() == null ? 0 : o1.getSort()) - - (o2.getSort() == null ? 0 : o2.getSort())); - } - try { - map.put("productList", list.subList((page - 1) * 300, page * 300)); - } catch (IndexOutOfBoundsException e) { - map.put("productList", list.subList((page - 1) * 300, list.size())); - } - map.put("total", list.size()); - return map; - } - - private int extractNumber(String s) { - // 浠庡瓧绗︿覆涓彁鍙栨暟瀛楃殑閫昏緫锛岃繖閲屽亣璁惧瓧娈电殑鏍煎紡鏄� "text<number>" - String number = s; - if (!s.matches("\\d+")) { - number = s.replaceAll("\\D", ""); - } - return Integer.parseInt(number); - } - - @Override - public IPage<StandardProductList> selectStandardProductByMethodId(Integer id, String tree, Integer page, String laboratory, String item, String items) { - IPage<StandardProductList> iPage = new Page<>(); - iPage.setSize(100); - iPage.setCurrent(page); - return standardProductListMapper.standardProductListIPage(id, tree, iPage, laboratory, item, items); - } - - @Override - public Map<String, List<?>> selectStandardProductEnumByMethodId(Integer id, String tree, String item) { - HashMap<String, List<?>> map = new HashMap<>(); - map.put("item", standardProductListMapper.selectList(Wrappers.<StandardProductList>lambdaQuery() - .eq(StandardProductList::getStandardMethodListId, id) - .like(StandardProductList::getTree, tree) - .select(StandardProductList::getInspectionItem) - .groupBy(StandardProductList::getInspectionItem))); - if (ObjectUtils.isNotEmpty(item)) { - map.put("items", standardProductListMapper.selectList(Wrappers.<StandardProductList>lambdaQuery() - .eq(StandardProductList::getStandardMethodListId, id) - .eq(StandardProductList::getInspectionItem, item) - .like(StandardProductList::getTree, tree) - .select(StandardProductList::getInspectionItemSubclass) - .groupBy(StandardProductList::getInspectionItemSubclass))); - } else { - map.put("items", standardProductListMapper.selectList(Wrappers.<StandardProductList>lambdaQuery() - .eq(StandardProductList::getStandardMethodListId, id) - .like(StandardProductList::getTree, tree) - .select(StandardProductList::getInspectionItemSubclass) - .groupBy(StandardProductList::getInspectionItemSubclass))); - } - return map; - } - - /** - * 淇敼鏍囧噯搴撳尯闂� - * @param list - * @return - */ - @Override - public boolean updateSection(StandardProductList list) { - standardProductListMapper.updateSection(list); - return true; - } - - - /** - * 鏍囧噯搴撴嫋鎷� - * @param resetTreeDragDTO - */ - @Override - @Transactional(rollbackFor = Exception.class) - public void resetTreeDrag(ResetTreeDragDTO resetTreeDragDTO) { - Integer beginIndex = Integer.parseInt(resetTreeDragDTO.getBeginIndex()); - Integer endIndex = Integer.parseInt(resetTreeDragDTO.getEndIndex()); - Integer methodId = Integer.parseInt(resetTreeDragDTO.getMethodId()); - Long productionId = Long.parseLong(resetTreeDragDTO.getProductionId()); - // 鍒ゆ柇鏄粠涓婂線涓嬫嫋鎷借繕鏄粠涓嬪線涓婃斁鎷栨嫿 - // 浠庝笂寰�涓� - if (beginIndex < endIndex) { - standardProductListMapper.updateSortUp(beginIndex, - endIndex, - methodId, - resetTreeDragDTO.getTree()); - - // 浠庝笅寰�涓� - } else if (beginIndex > endIndex){ - standardProductListMapper.updateSortDown(beginIndex, - endIndex, - methodId, - resetTreeDragDTO.getTree()); - } else { - return; - } - // 淇敼鏍囧噯搴撻」椤哄簭 - standardProductListMapper.update(null, Wrappers.<StandardProductList>lambdaUpdate() - .eq(StandardProductList::getId, productionId) - .set(StandardProductList::getSort, endIndex)); - } - - @Override - public void resetTreeDragBatch(List<StandardProductList> standardProductLists) { - standardProductListService2.updateBatchById(standardProductLists); - } - - /** - * 妫�楠岄」瑕佹眰鍊煎姣� - * @param copyDto - * @return - */ - @Override - public List<StandardProductList> copyStandardProductList(CopyStandardProductListDto copyDto) { - List<StandardProductList> productLists = new ArrayList<>(); - - // 瀵规瘮妫�楠岄」涓�鏍风殑濉厖瑕佹眰鍊艰姹傛弿杩� - for (StandardProductList oldProductList : copyDto.getOldStandardProductList()) { - String oldItemName = oldProductList.getInspectionItemClassEn() - + oldProductList.getInspectionItem() - + oldProductList.getInspectionItemSubclass(); - for (StandardProductList newProductList : copyDto.getNewStandardProductList()) { - String newItemName = newProductList.getInspectionItemClassEn() - + newProductList.getInspectionItem() - + newProductList.getInspectionItemSubclass(); - // 鍒ゆ柇鍚嶇О鏄惁涓�鏍� - if (oldItemName.equals(newItemName)) { - // 鍖洪棿 - oldProductList.setSection(newProductList.getSection()); - // 鑺暟 - oldProductList.setCores(newProductList.getCores()); - // 瑕佹眰鍊� - oldProductList.setAsk(newProductList.getAsk()); - // 瑕佹眰鎻忚堪 - oldProductList.setTell(newProductList.getTell()); - // 鍗曚环 - oldProductList.setPrice(newProductList.getPrice()); - // 宸ユ椂鍒嗙粍 - oldProductList.setManHour(newProductList.getManHour()); - // 瀵间綋鏉愯川 - oldProductList.setConductorMaterial(newProductList.getConductorMaterial()); - // 瀵间綋绫诲瀷 - oldProductList.setConductorType(newProductList.getConductorType()); - productLists.add(oldProductList); - } - } - } - return productLists; - } - - /** - * 妫�楠岄」澶嶅埗瀵规瘮涓�涓� - * @param dto - * @return - */ - @Override - public List<StandardProductList> copyStandardProductOne(CopyStandardProductListDto dto) { - if (CollectionUtils.isEmpty(dto.getNewStandardProductList()) && dto.getNewStandardProductList().size() == 1 && - CollectionUtils.isEmpty(dto.getOldStandardProductList()) && dto.getOldStandardProductList().size() == 1) { - throw new BaseException("闇�瑕佸姣旂殑妫�楠岄」璇烽�夋嫨涓�涓�"); - } - StandardProductList newProductList = dto.getNewStandardProductList().get(0); - StandardProductList oldProductList = dto.getOldStandardProductList().get(0); - // 鍖洪棿 - oldProductList.setSection(newProductList.getSection()); - // 鑺暟 - oldProductList.setCores(newProductList.getCores()); - // 瑕佹眰鍊� - oldProductList.setAsk(newProductList.getAsk()); - // 瑕佹眰鎻忚堪 - oldProductList.setTell(newProductList.getTell()); - // 鍗曚环 - oldProductList.setPrice(newProductList.getPrice()); - // 宸ユ椂鍒嗙粍 - oldProductList.setManHour(newProductList.getManHour()); - // 瀵间綋鏉愯川 - oldProductList.setConductorMaterial(newProductList.getConductorMaterial()); - // 瀵间綋绫诲瀷 - oldProductList.setConductorType(newProductList.getConductorType()); - List<StandardProductList> productLists = new ArrayList<>(); - productLists.add(oldProductList); - return productLists; - } - - /** - * 妫�楠岄」澶嶅埗鎺掑簭 - * @param copyDto - * @return - */ - @Override - public boolean copyStandardProductSort(CopyStandardProductListDto copyDto) { - List<StandardProductList> productLists = new ArrayList<>(); - - // 瀵规瘮妫�楠岄」涓�鏍风殑濉厖瑕佹眰鍊艰姹傛弿杩� - for (StandardProductList oldProductList : copyDto.getOldStandardProductList()) { - String oldItemName = oldProductList.getInspectionItemClassEn() - + oldProductList.getInspectionItem() - + oldProductList.getInspectionItemSubclass(); - for (StandardProductList newProductList : copyDto.getNewStandardProductList()) { - String newItemName = newProductList.getInspectionItemClassEn() - + newProductList.getInspectionItem() - + newProductList.getInspectionItemSubclass(); - // 鍒ゆ柇鍚嶇О鏄惁涓�鏍� - if (oldItemName.equals(newItemName)) { - StandardProductList standardProductList = new StandardProductList(); - standardProductList.setId(oldProductList.getId()); - // 澶嶅埗鎺掑簭 - standardProductList.setSort(newProductList.getSort()); - productLists.add(standardProductList); - } - } - } - this.updateBatchById(productLists); - return false; - } -} - - - - diff --git a/basic-server/src/main/java/com/ruoyi/basic/service/impl/StandardProductListSupplierAskServiceImpl.java b/basic-server/src/main/java/com/ruoyi/basic/service/impl/StandardProductListSupplierAskServiceImpl.java deleted file mode 100644 index 95ac78d..0000000 --- a/basic-server/src/main/java/com/ruoyi/basic/service/impl/StandardProductListSupplierAskServiceImpl.java +++ /dev/null @@ -1,79 +0,0 @@ -package com.ruoyi.basic.service.impl; - -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.ruoyi.common.exception.base.BaseException; -import com.ruoyi.basic.mapper.StandardProductListSupplierAskMapper; -import com.ruoyi.basic.pojo.StandardProductListSupplierAsk; -import com.ruoyi.basic.service.StandardProductListSupplierAskService; -import org.springframework.stereotype.Service; - -import java.util.List; - -/** - * 妫�楠岄」鐩巶瀹跺瘑搴︾粦瀹氳〃 - * - * @author zhuo - * @since 2024-09-23 - */ -@Service -public class StandardProductListSupplierAskServiceImpl extends ServiceImpl<StandardProductListSupplierAskMapper, StandardProductListSupplierAsk> implements StandardProductListSupplierAskService { - - /** - * 鏌ヨ鍘傚瑕佹眰鍊肩粦瀹� - * @param supplierAsk - * @return - */ - @Override - public List<StandardProductListSupplierAsk> selectByProductId(StandardProductListSupplierAsk supplierAsk) { - if (supplierAsk.getProductListId() == null) { - throw new BaseException("缂哄皯妫�楠岄」id"); - } - return baseMapper.selectList(Wrappers.<StandardProductListSupplierAsk>lambdaQuery() - .eq(StandardProductListSupplierAsk::getProductListId, supplierAsk.getProductListId())); - } - - /** - * 鏂板鍘傚瑕佹眰鍊肩粦瀹� - * @param supplierAsk - * @return - */ - @Override - public Integer addProductSupplierAsk(StandardProductListSupplierAsk supplierAsk) { - if (supplierAsk.getProductListId() == null) { - throw new BaseException("缂哄皯浜у搧瀵硅薄id"); - } - // 鏌ヨ鏀瑰巶瀹舵槸鍚︾粦瀹氳繃 - Long count = baseMapper.selectCount(Wrappers.<StandardProductListSupplierAsk>lambdaQuery() - .eq(StandardProductListSupplierAsk::getProductListId, supplierAsk.getProductListId()) - .eq(StandardProductListSupplierAsk::getSupplierName, supplierAsk.getSupplierName())); - if (count > 0){ - throw new BaseException("璇ヤ骇鍝佸凡缁戝畾杩囪鍘傚"); - } - baseMapper.insert(supplierAsk); - return supplierAsk.getSupplierAskId(); - } - - /** - * 淇敼鍘傚瑕佹眰鍊肩粦瀹� - * @param supplierAsk - * @return - */ - @Override - public Integer updateProductSupplierAsk(StandardProductListSupplierAsk supplierAsk) { - if (supplierAsk.getProductListId() == null) { - throw new BaseException("缂哄皯妫�楠岄」id"); - } - // 鏌ヨ鏀瑰巶瀹舵槸鍚︾粦瀹氳繃 - Long count = baseMapper.selectCount(Wrappers.<StandardProductListSupplierAsk>lambdaQuery() - .ne(StandardProductListSupplierAsk::getSupplierAskId, supplierAsk.getSupplierAskId()) - .eq(StandardProductListSupplierAsk::getProductListId, supplierAsk.getProductListId()) - .eq(StandardProductListSupplierAsk::getSupplierName, supplierAsk.getSupplierName())); - if (count > 0){ - throw new BaseException("璇ユ楠岄」宸茬粦瀹氳繃璇ュ巶瀹�"); - } - baseMapper.updateById(supplierAsk); - return supplierAsk.getSupplierAskId(); - } -} - diff --git a/basic-server/src/main/java/com/ruoyi/basic/service/impl/StandardTemplateServiceImpl.java b/basic-server/src/main/java/com/ruoyi/basic/service/impl/StandardTemplateServiceImpl.java deleted file mode 100644 index f1f3ba4..0000000 --- a/basic-server/src/main/java/com/ruoyi/basic/service/impl/StandardTemplateServiceImpl.java +++ /dev/null @@ -1,130 +0,0 @@ -package com.ruoyi.basic.service.impl; - -import cn.hutool.core.date.DateUtil; -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.ruoyi.common.numgen.NumberGenerator; -import com.ruoyi.common.utils.QueryWrappers; -import com.ruoyi.basic.mapper.StandardTemplateMapper; -import com.ruoyi.basic.pojo.StandardTemplate; -import com.ruoyi.basic.service.StandardTemplateService; -import lombok.AllArgsConstructor; -import org.springframework.stereotype.Service; - -import java.util.Date; -import java.util.List; - -/** -* @author Administrator -* @description 閽堝琛ㄣ�恠tandard_template(鏍囧噯妯℃澘)銆戠殑鏁版嵁搴撴搷浣淪ervice瀹炵幇 -* @createDate 2024-03-11 13:47:52 -*/ -@Service -@AllArgsConstructor -public class StandardTemplateServiceImpl extends ServiceImpl<StandardTemplateMapper, StandardTemplate> - implements StandardTemplateService{ - - private StandardTemplateMapper standardTemplateMapper; - - - private final NumberGenerator<StandardTemplate> numberGenerator; - - @Override - public IPage<StandardTemplate> selectStandardTemplatePageList(Page page, StandardTemplate standardTemplate) { - return standardTemplateMapper.selectStandardTemplatePageList(page, QueryWrappers.queryWrappers(standardTemplate)); - } - - @Override - public int addStandardTemplate(StandardTemplate standardTemplate) { - if (StringUtils.isBlank(standardTemplate.getNumber())) { - String giveCode = numberGenerator.generateNumberWithPrefix(5, - "MB" + DateUtil.format(new Date(), "yyMM"), - StandardTemplate::getNumber); - standardTemplate.setNumber(giveCode); - } - return standardTemplateMapper.insert(standardTemplate); - } - - @Override - public int upStandardTemplate(StandardTemplate standardTemplate) { - if(standardTemplate.getThing().equals("")){ - standardTemplate.setThing(null); - } - return standardTemplateMapper.updateById(standardTemplate); - } - - @Override - public int delStandardTemplate(Integer id) { - return standardTemplateMapper.deleteById(id); - } - - @Override - public List<StandardTemplate> getStandardTemplate() { - return standardTemplateMapper.selectList(Wrappers.<StandardTemplate>lambdaQuery().select(StandardTemplate::getId,StandardTemplate::getName)); - } - - @Override - public String getStandTempThingById(Integer templateId) { - StandardTemplate standardTemplate = standardTemplateMapper.selectOne(Wrappers.<StandardTemplate>lambdaQuery() - .eq(StandardTemplate::getId, templateId) - .select(StandardTemplate::getThing)); - if(standardTemplate==null){ - return null; - }else{ - return standardTemplate.getThing(); - } - // 鏌ヨ鍘嬬缉鍚庣殑鏁版嵁 -// String thing = standardTemplateMapper.selectCompressThing(templateId); -// if (StringUtils.isNotBlank(thing)) { -// try { -// return DecompressMySQLData.decompress(java.util.Base64.getDecoder().decode(thing)); -// } catch (Exception e) { -// throw new RuntimeException(e); -// } -// } else { -// return null; -// } - } - - @Override - public String getStandTempNameById(Integer templateId) { - StandardTemplate standardTemplate = standardTemplateMapper.selectOne(Wrappers.<StandardTemplate>lambdaQuery() - .eq(StandardTemplate::getId, templateId) - .select(StandardTemplate::getName)); - if(standardTemplate==null){ - return null; - }else{ - return standardTemplate.getName(); - } - } - - @Override - public StandardTemplate getStandTempIdByName(String name) { - return standardTemplateMapper.getStandTempIdByName(name); - } - - /** - * 澶嶅埗鍘熷璁板綍妯℃澘 - * @param newTemplate - * @return - */ - @Override - public int copyStandardTemplate(StandardTemplate newTemplate) { - // 鏌ヨ鏃фā鏉� - StandardTemplate standardTemplate = baseMapper.selectById(newTemplate.getId()); - newTemplate.setThing(standardTemplate.getThing()); - - if (StringUtils.isBlank(newTemplate.getNumber())) { - String giveCode = numberGenerator.generateNumberWithPrefix(5, - "MB" + DateUtil.format(new Date(), "yyMM"), - StandardTemplate::getNumber); - newTemplate.setNumber(giveCode); - } - newTemplate.setId(null); - - return standardTemplateMapper.insert(newTemplate); - } -} diff --git a/basic-server/src/main/java/com/ruoyi/basic/service/impl/StandardTreeServiceImpl.java b/basic-server/src/main/java/com/ruoyi/basic/service/impl/StandardTreeServiceImpl.java deleted file mode 100644 index b64ab41..0000000 --- a/basic-server/src/main/java/com/ruoyi/basic/service/impl/StandardTreeServiceImpl.java +++ /dev/null @@ -1,535 +0,0 @@ -package com.ruoyi.basic.service.impl; - -import cn.hutool.core.collection.CollUtil; -import cn.hutool.poi.excel.ExcelUtil; -import com.alibaba.fastjson.JSON; -import com.alibaba.fastjson.JSONArray; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; -import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; -import com.baomidou.mybatisplus.core.toolkit.StringUtils; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.ruoyi.common.exception.base.BaseException; -import com.ruoyi.basic.dto.FactoryDto; -import com.ruoyi.basic.dto.LaboratoryDto; -import com.ruoyi.basic.dto.SampleTypeDto; -import com.ruoyi.basic.mapper.StandardProductListMapper; -import com.ruoyi.basic.mapper.StandardTreeMapper; -import com.ruoyi.basic.pojo.StandardProductList; -import com.ruoyi.basic.pojo.StandardTemplate; -import com.ruoyi.basic.pojo.StandardTree; -import com.ruoyi.basic.pojo.StructureTestObject; -import com.ruoyi.basic.service.*; -import lombok.AllArgsConstructor; -import org.apache.commons.lang3.ObjectUtils; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; -import org.springframework.web.multipart.MultipartFile; - -import java.io.IOException; -import java.io.InputStream; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; -import java.util.concurrent.atomic.AtomicReference; - -/** - * @author Administrator - * @description 閽堝琛ㄣ�恠tandard_tree(鏍囧噯鏍�)銆戠殑鏁版嵁搴撴搷浣淪ervice瀹炵幇 - * @createDate 2024-03-01 15:06:44 - */ -@Service -@AllArgsConstructor -public class StandardTreeServiceImpl extends ServiceImpl<StandardTreeMapper, StandardTree> - implements StandardTreeService { - - - private StandardTreeMapper standardTreeMapper; - - private StandardMethodListService standardMethodListService; - - private StandardProductListMapper standardProductListMapper; - - private StandardProductListService standardProductListService; - - private StandardTemplateService standardTemplateService; - - private StructureTestObjectService structureTestObjectService; - - - @Override - public List<FactoryDto> selectStandardTreeList() { - List<FactoryDto> factoryDtos = standardTreeMapper.selectStandardTreeList(); - for (FactoryDto factoryDto : factoryDtos) { - for (LaboratoryDto laboratoryDto : factoryDto.getChildren()) { - laboratoryDto.getChildren().sort((o1, o2) -> (o1.getSort() == null ? 0 : o1.getSort()) - - (o2.getSort() == null ? 0 : o2.getSort())); - for (SampleTypeDto sampleTypeDto : laboratoryDto.getChildren()) { -// if (sampleTypeDto.getChildren().size() == 0) { - sampleTypeDto.getChildren().addAll(standardTreeMapper.getStandardTree3(sampleTypeDto.getValue())); -// } - } - } - } - return factoryDtos; - } - - - - @Override - @Transactional(rollbackFor = Exception.class) - public int addStandardTree(StandardTree standardTree) { - LambdaQueryWrapper<StandardTree> wrapper = Wrappers.<StandardTree>lambdaQuery() - .eq(StandardTree::getFactory, standardTree.getFactory()) - .eq(StandardTree::getLaboratory, standardTree.getLaboratory()) - .eq(StandardTree::getSampleType, standardTree.getSampleType()) - .eq(StandardTree::getSample, standardTree.getSample()) - .eq(StandardTree::getModel, standardTree.getModel()); - if (StringUtils.isNotBlank(standardTree.getSample())) { - wrapper.eq(StandardTree::getSample, standardTree.getSample()); - } - - StandardTree tree = standardTreeMapper.selectOne(wrapper); - if (tree != null) { - throw new BaseException("璇ュ瀷鍙峰凡瀛樺湪"); - } - return standardTreeMapper.insert(standardTree); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public int delStandardTree(String tree) { - String[] trees = tree.split(" - "); - switch (trees.length) { - case 5: - if (trees[3].equals("null")) { - standardTreeMapper.delete(Wrappers.<StandardTree>lambdaUpdate().eq(StandardTree::getFactory, trees[0]).eq(StandardTree::getLaboratory, trees[1]).eq(StandardTree::getSampleType, trees[2]).isNull(StandardTree::getSample).eq(StandardTree::getModel, trees[4])); - } else { - standardTreeMapper.delete(Wrappers.<StandardTree>lambdaUpdate().eq(StandardTree::getFactory, trees[0]).eq(StandardTree::getLaboratory, trees[1]).eq(StandardTree::getSampleType, trees[2]).eq(StandardTree::getSample, trees[3]).eq(StandardTree::getModel, trees[4])); - } - break; - /*case 4: - standardTreeMapper.delete(Wrappers.<StandardTree>lambdaUpdate().eq(StandardTree::getFactory, trees[0]).eq(StandardTree::getLaboratory, trees[1]).eq(StandardTree::getSampleType, trees[2]).eq(StandardTree::getSample, trees[3])); - break; - case 3: - standardTreeMapper.delete(Wrappers.<StandardTree>lambdaUpdate().eq(StandardTree::getFactory, trees[0]).eq(StandardTree::getLaboratory, trees[1]).eq(StandardTree::getSampleType, trees[2])); - break; - case 2: - standardTreeMapper.delete(Wrappers.<StandardTree>lambdaUpdate().eq(StandardTree::getFactory, trees[0]).eq(StandardTree::getLaboratory, trees[1])); - break; - case 1: - standardTreeMapper.delete(Wrappers.<StandardTree>lambdaUpdate().eq(StandardTree::getFactory, trees[0])); - break;*/ - } - return 1; - } - - @Override - @Transactional(rollbackFor = Exception.class) - public int addStandardProduct(String ids, String tree) { - String[] trees = tree.split(" - "); - JSONArray jsonArray = JSON.parseArray(ids); - for (Object o : jsonArray) { - StandardProductList standardProductList = standardTreeMapper.selectStandardProductById(Integer.parseInt("" + o)); - standardProductList.setFactory(trees[0]); - try { - standardProductList.setLaboratory(trees[1]); - } catch (Exception e) { - } - try { - standardProductList.setSampleType(trees[2]); - } catch (Exception e) { - } - try { - standardProductList.setSample(trees[3]); - } catch (Exception e) { - } - try { - standardProductList.setModel(trees[4]); - } catch (Exception e) { - } - standardProductListMapper.insert(standardProductList); - } - return 1; - } - - @Override - public List<SampleTypeDto> getStandardTree2() { - return standardTreeMapper.getStandardTree2(); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public int upStandardProducts(Map<String, Object> product) { - List<Integer> ids = JSON.parseArray(product.get("ids") + ""); - StandardProductList productList = JSON.parseObject(JSON.toJSONString(product.get("standardProductList")), StandardProductList.class); - if (productList.getMethodS() != null) { - standardProductListMapper.update(productList, Wrappers.<StandardProductList>lambdaUpdate().in(StandardProductList::getId, ids).like(StandardProductList::getMethod, productList.getMethodS())); - return 1; - } - if (productList.getRadiusList() != null) { - standardProductListMapper.update(productList, Wrappers.<StandardProductList>lambdaUpdate().in(StandardProductList::getId, ids).like(StandardProductList::getRadiusList, productList.getRadius())); - return 1; - } - standardProductListMapper.update(productList, Wrappers.<StandardProductList>lambdaUpdate().in(StandardProductList::getId, ids)); - return 1; - } - - @Override - public List<StandardTree> getStandTreeBySampleType(String laboratory, String sampleType) { - return standardTreeMapper.selectList(Wrappers.<StandardTree>lambdaQuery() - .eq(StandardTree::getLaboratory, laboratory) - .eq(StandardTree::getSampleType, sampleType) - .select(StandardTree::getModel, StandardTree::getSample)); - } - - /** - * 娌冲彛妫�娴嬩腑蹇冨鍏� - * @param file - */ - @Override - @Transactional(rollbackFor = Exception.class) - public void inExcelOfTree(MultipartFile file) { - InputStream inputStream; - try { - inputStream = file.getInputStream(); - } catch (IOException e) { - throw new RuntimeException(e); - } - List<StandardProductList> lists = new ArrayList<>(); - AtomicReference<String> laboratory = new AtomicReference<>(); - ExcelUtil.readBySax(inputStream, 0, (i, l, list) -> { - StandardProductList str = new StandardProductList(); - if (i == 0 && l == 1) { - laboratory.set(standardTreeMapper.getLaboratory(list.get(1) + "")); - if (laboratory.get() == null) { - throw new BaseException("妫�楠屽璞′笉瀛樺湪锛�" + list.get(1)); - } - } - if (i == 0 && l >= 1) { - Integer standardMethodId = standardMethodListService.getStandardMethodId(list.get(0) + ""); - if (standardMethodId == null) { - throw new BaseException("鏍囧噯缂栧彿涓嶅瓨鍦細" + list.get(0)); - } - str.setStandardMethodListId(standardMethodId); - str.setSampleType(list.get(1) + ""); - if (list.get(2) != null) { - String sample = baseMapper.selSample(list.get(2) + ""); - if (sample == null) { - throw new BaseException("鏍峰搧涓嶅瓨鍦細" + list.get(2)); - } - str.setSample(list.get(2) + ""); - } else { - str.setSample(null); - } - if (list.get(3) != null) { - str.setModel(list.get(3) + ""); - Long aLong = standardTreeMapper.selectCount(Wrappers.<StandardTree>lambdaQuery() - .eq(StandardTree::getModel, str.getModel()) - .eq(StandardTree::getSampleType, list.get(1) + "")); - if (aLong == 0) { - StandardTree standardTree = new StandardTree(); - standardTree.setFactory("涓ぉ绉戞妧妫�娴嬩腑蹇�"); - standardTree.setLaboratory(laboratory.get()); - standardTree.setSampleType(str.getSampleType()); - standardTree.setSample(str.getSample()); - standardTree.setModel(str.getModel()); - standardTreeMapper.insert(standardTree); - } - } else { - str.setModel(null); - } - str.setInspectionItem(list.get(4) + ""); - if (list.get(6) == null) { - str.setInspectionItemSubclass(""); - } else { - str.setInspectionItemSubclass(list.get(6).toString()); - } - StandardProductList db_str; - try { - db_str = standardProductListMapper.getOne(str.getStandardMethodListId(), str.getInspectionItem(), str.getSample(), str.getInspectionItemSubclass(), str.getModel(), str.getInspectionItemClass()); - } catch (Exception e) { - throw new BaseException("閲嶅鏌ヨ锛�" + str.getInspectionItem() + " " + str.getInspectionItemSubclass()); - } - if (ObjectUtils.isNotEmpty(db_str)) { - str.setId(db_str.getId()); - str.setStructureItemParameterId(db_str.getStructureItemParameterId()); - } - if (list.get(8) != null) { - str.setMethodS(list.get(8) + ""); - } - - if (list.get(11) == null) { - str.setTell(null); - } else { - str.setTell(list.get(11).toString()); - } - - if (list.get(12) == null) { - str.setAsk(null); - } else { - str.setAsk(list.get(12).toString()); - } - - if (list.get(13) == null) { - str.setPrice(null); - } else { - str.setPrice((list.get(13).toString())); - } - - if (list.get(14) == null) { - str.setManHour(null); - } else { - str.setManHour(list.get(14).toString()); - } - - StandardTemplate standTempIdByName = standardTemplateService.getStandTempIdByName(String.valueOf(list.get(21))); - if (standTempIdByName != null) { - str.setTemplateId(standTempIdByName.getId()); - } else { - throw new BaseException("妯℃澘涓嶅瓨鍦細" + list.get(21)); - } - str.setFactory("涓ぉ绉戞妧妫�娴嬩腑蹇�"); - str.setLaboratory(laboratory.get()); - str.setState(1); - str.setTree(str.getFactory() + " - " + str.getLaboratory() + " - " + str.getSampleType() + " - " + str.getSample() + " - " + (str.getModel() == null ? "" : str.getModel())); - try { - str.setStructureItemParameterId(standardTreeMapper.getStructureItemParameterId("\"" + str.getSampleType() + "\"", str.getInspectionItem(), str.getInspectionItemSubclass(), str.getInspectionItemClass())); - } catch (Exception e) { - str.setStructureItemParameterId(standardTreeMapper.getStructureItemParameterId("\"" + str.getSampleType() + "\",\"" + str.getSample() + "\"", str.getInspectionItem(), str.getInspectionItemSubclass(), str.getInspectionItemClass())); - } - if (str.getStructureItemParameterId() == null) { - throw new BaseException("妫�楠岄」鐩笉瀛樺湪锛�" + str.getInspectionItem() + " " + str.getInspectionItemSubclass()); - } - lists.add(str); - } - }); - lists.forEach(a -> { - if (a.getId() != null) { - standardProductListMapper.updateById(a); - } else { - standardProductListMapper.insert(a); - } - }); - } - - @Override - public void importWorkstationExcel(MultipartFile file) { - InputStream inputStream; - try { - inputStream = file.getInputStream(); - } catch (IOException e) { - throw new RuntimeException(e); - } - List<StandardProductList> lists = new ArrayList<>(); - AtomicReference<String> laboratory = new AtomicReference<>(); - ExcelUtil.readBySax(inputStream, 0, (i, l, list) -> { - StandardProductList str = new StandardProductList(); - if (i == 0 && l == 1) { - laboratory.set(standardTreeMapper.getLaboratory(list.get(1) + "")); - if (laboratory.get() == null) { - throw new BaseException("妫�楠屽璞′笉瀛樺湪锛�" + list.get(1)); - } - } - if (i == 0 && l >= 1) { - Integer standardMethodId = standardMethodListService.getStandardMethodId(list.get(0) + ""); - if (standardMethodId == null) { - throw new BaseException("鏍囧噯缂栧彿涓嶅瓨鍦細" + list.get(0)); - } - str.setStandardMethodListId(standardMethodId); - str.setSampleType(list.get(1) + ""); - if (list.get(2) != null) { - String sample = baseMapper.selSample(list.get(2) + ""); - if (sample == null) { - throw new BaseException("鏍峰搧涓嶅瓨鍦細" + list.get(2)); - } - str.setSample(list.get(2) + ""); - } else { - str.setSample(null); - } - if (list.get(3) != null) { - str.setModel(list.get(3) + ""); - Long aLong = standardTreeMapper.selectCount(Wrappers.<StandardTree>lambdaQuery() - .eq(StandardTree::getModel, str.getModel()) - .eq(StandardTree::getSampleType, list.get(1) + "")); - if (aLong == 0) { - StandardTree standardTree = new StandardTree(); - standardTree.setFactory("涓ぉ绉戞妧妫�娴嬩腑蹇�"); - standardTree.setLaboratory(laboratory.get()); - standardTree.setSampleType(str.getSampleType()); - standardTree.setSample(str.getSample()); - standardTree.setModel(str.getModel()); - standardTreeMapper.insert(standardTree); - } - } else { - str.setModel(null); - } - str.setInspectionItemClass(list.get(4).toString()); - str.setInspectionItemClassEn(list.get(5).toString()); - // 寮�濮嬪姞2 - str.setInspectionItem(list.get(6) + ""); - if (list.get(8) == null) { - str.setInspectionItemSubclass(""); - } else { - str.setInspectionItemSubclass(list.get(8).toString()); - } - StandardProductList db_str; - try { - db_str = standardProductListMapper.getOne(str.getStandardMethodListId(), str.getInspectionItem(), str.getSample(), str.getInspectionItemSubclass(), str.getModel(), str.getInspectionItemClass()); - } catch (Exception e) { - throw new BaseException("閲嶅鏌ヨ锛�" + str.getInspectionItem() + " " + str.getInspectionItemSubclass()); - } - if (ObjectUtils.isNotEmpty(db_str)) { - str.setId(db_str.getId()); - str.setStructureItemParameterId(db_str.getStructureItemParameterId()); - } - if (list.get(10) != null) { - str.setMethodS(list.get(10) + ""); - } - if (list.get(13) == null) { - str.setTell(null); - } else { - str.setTell(list.get(13).toString()); - } - - if (list.get(14) == null) { - str.setAsk(null); - } else { - str.setAsk(list.get(14).toString()); - } - - if (list.get(15) == null) { - str.setPrice(null); - } else { - str.setPrice((list.get(15).toString())); - } - - if (list.get(16) == null) { - str.setManHour(null); - } else { - str.setManHour(list.get(16).toString()); - } - - StandardTemplate standTempIdByName = standardTemplateService.getStandTempIdByName(String.valueOf(list.get(23))); - if (standTempIdByName != null) { - str.setTemplateId(standTempIdByName.getId()); - } else { - throw new BaseException("妯℃澘涓嶅瓨鍦細" + list.get(23)); - } - str.setFactory("涓ぉ绉戞妧妫�娴嬩腑蹇�"); - str.setLaboratory(laboratory.get()); - str.setState(1); - str.setTree(str.getFactory() + " - " + str.getLaboratory() + " - " + str.getSampleType() + " - " + str.getSample() + " - " + (str.getModel() == null ? "" : str.getModel())); - try { - str.setStructureItemParameterId(standardTreeMapper.getStructureItemParameterId("\"" + str.getSampleType() + "\"", str.getInspectionItem(), str.getInspectionItemSubclass(), str.getInspectionItemClass())); - } catch (Exception e) { - str.setStructureItemParameterId(standardTreeMapper.getStructureItemParameterId("\"" + str.getSampleType() + "\",\"" + str.getSample() + "\"", str.getInspectionItem(), str.getInspectionItemSubclass(), str.getInspectionItemClass())); - } - if (str.getStructureItemParameterId() == null) { - throw new BaseException("妫�楠岄」鐩笉瀛樺湪锛�" + str.getInspectionItem() + " " + str.getInspectionItemSubclass()); - } - lists.add(str); - } - }); - lists.forEach(a -> { - if (a.getId() != null) { - standardProductListMapper.updateById(a); - } else { - standardProductListMapper.insert(a); - } - }); - } - - @Override - public boolean updateTreeSort(List<FactoryDto> list) { - List<StructureTestObject> testObjects = new ArrayList<>(); - for (FactoryDto factoryDto : list) { - for (LaboratoryDto laboratoryDto : factoryDto.getChildren()) { - List<SampleTypeDto> children = laboratoryDto.getChildren(); - int sort = 0; - // 寰幆绗笁灞� - for (SampleTypeDto child : children) { - StructureTestObject structureTestObject = new StructureTestObject(); - structureTestObject.setSort(sort); - structureTestObject.setId(child.getSampleTypeId()); - testObjects.add(structureTestObject); - sort++; - } - } - } - structureTestObjectService.updateBatchById(testObjects); - - return true; - } - - /** - * 淇敼鏍囧噯鏁� - * @param standardTree - * @return - */ - @Override - public int updateStandardTree(StandardTree standardTree) { - // 淇敼鍚嶇О鍖归厤鐨勬爣鍑嗘爲涓嬬殑妫�楠岄」鐩� - // 鏌ヨ鎵�鏈夊璞�+鍚嶇О鐨勬爲 - - List<StandardProductList> standardProductLists = standardProductListService.list(Wrappers.<StandardProductList>lambdaUpdate() - .eq(StandardProductList::getSample, standardTree.getSample()) - .eq(StandardProductList::getSampleType, standardTree.getSampleType()) - .eq(StandardProductList::getModel, standardTree.getOldModel())); - if (CollectionUtils.isNotEmpty(standardProductLists)) { - for (StandardProductList standardProductList : standardProductLists) { - // 淇敼鏍峰搧鍚嶇О - standardProductList.setModel(standardTree.getModel()); - // 淇敼鏍戝悕绉� - // 闇�瑕佹埅鍙栫鍥涚骇, 閬垮厤涓夊洓绾у悕绉颁竴鏍蜂慨鏀归敊璇� - String[] trees = standardProductList.getTree().split(" - "); - trees[4] = standardTree.getModel(); - List<String> list = CollUtil.newArrayList(trees); - String newName = CollUtil.join(list, " - "); - standardProductList.setTree(newName); - } - standardProductListService.updateBatchById(standardProductLists); - } - - // 淇敼鏍囧噯鏁版楠岄」鐩� - LambdaUpdateWrapper<StandardTree> wrapper = Wrappers.<StandardTree>lambdaUpdate() - .eq(StandardTree::getFactory, standardTree.getFactory()) - .eq(StandardTree::getLaboratory, standardTree.getLaboratory()) - .eq(StandardTree::getSampleType, standardTree.getSampleType()) - .eq(StandardTree::getModel, standardTree.getOldModel()) - .set(StandardTree::getModel, standardTree.getModel()); - if (StringUtils.isNotBlank(standardTree.getSample())) { - wrapper.eq(StandardTree::getSample, standardTree.getSample()); - } - return standardTreeMapper.update(null, wrapper); - } - - @Override - public void resetTreeOfPrice(String tree, Integer standardId) { - standardProductListMapper.update(null, Wrappers.<StandardProductList>lambdaUpdate().like(StandardProductList::getTree, tree).eq(StandardProductList::getStandardMethodListId, standardId).set(StandardProductList::getPrice, null)); - } - - @Override - public void resetTreeOfHour(String tree, Integer standardId) { - standardProductListMapper.update(null, Wrappers.<StandardProductList>lambdaUpdate().like(StandardProductList::getTree, tree).eq(StandardProductList::getStandardMethodListId, standardId).set(StandardProductList::getManHour, null)); - } - - @Override - public void resetTreeOfAsk(String tree, Integer standardId) { - standardProductListMapper.update(null, Wrappers.<StandardProductList>lambdaUpdate().like(StandardProductList::getTree, tree).eq(StandardProductList::getStandardMethodListId, standardId) - .set(StandardProductList::getAsk, null) - .set(StandardProductList::getTell, null) - .set(StandardProductList::getSection, null) - .set(StandardProductList::getCores, null) - .set(StandardProductList::getConductorMaterial, null) - .set(StandardProductList::getConductorType, null) - .set(StandardProductList::getPrice, null) - .set(StandardProductList::getManHour, null)); - } - -} - - - - diff --git a/basic-server/src/main/java/com/ruoyi/basic/service/impl/StructureItemParameterServiceImpl.java b/basic-server/src/main/java/com/ruoyi/basic/service/impl/StructureItemParameterServiceImpl.java deleted file mode 100644 index 4009106..0000000 --- a/basic-server/src/main/java/com/ruoyi/basic/service/impl/StructureItemParameterServiceImpl.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.ruoyi.basic.service.impl; - - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.ruoyi.basic.mapper.StructureItemParameterMapper; -import com.ruoyi.basic.pojo.StructureItemParameter; -import com.ruoyi.basic.service.StructureItemParameterService; -import lombok.AllArgsConstructor; -import org.springframework.stereotype.Service; - -import javax.annotation.Resource; - -@Service -@AllArgsConstructor -public class StructureItemParameterServiceImpl extends ServiceImpl<StructureItemParameterMapper, StructureItemParameter> implements StructureItemParameterService { - - @Resource - private StructureItemParameterMapper structureItemParameterMapper; - - @Override - public void removeNoSample(String sample) { - structureItemParameterMapper.removeNoSample("\""+sample+"\""); - } -} diff --git a/basic-server/src/main/java/com/ruoyi/basic/service/impl/StructureTestObjectPartServiceImpl.java b/basic-server/src/main/java/com/ruoyi/basic/service/impl/StructureTestObjectPartServiceImpl.java deleted file mode 100644 index 819ef16..0000000 --- a/basic-server/src/main/java/com/ruoyi/basic/service/impl/StructureTestObjectPartServiceImpl.java +++ /dev/null @@ -1,75 +0,0 @@ -package com.ruoyi.basic.service.impl; - -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -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.ruoyi.common.exception.base.BaseException; -import com.ruoyi.common.utils.QueryWrappers; -import com.ruoyi.basic.mapper.ProductPartMapper; -import com.ruoyi.basic.mapper.StructureTestObjectPartMapper; -import com.ruoyi.basic.pojo.ProductPart; -import com.ruoyi.basic.pojo.StructureTestObjectPart; -import com.ruoyi.basic.service.StructureTestObjectPartService; - -import lombok.AllArgsConstructor; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -/** - * 妫�楠屽璞¢浂浠惰〃 - * - * @author zhuo - * @since 2024-08-07 - */ -@Transactional -@Service -@AllArgsConstructor -public class StructureTestObjectPartServiceImpl extends ServiceImpl<StructureTestObjectPartMapper, StructureTestObjectPart> implements StructureTestObjectPartService { - - private ProductPartMapper productPartMapper; - - @Override - public IPage<StructureTestObjectPart> selectByTestObjectId(Page page, StructureTestObjectPart structureTestObjectPart) { - return baseMapper.selectListByTestObjectId(page, QueryWrappers.queryWrappers(structureTestObjectPart),structureTestObjectPart.getTestObjectId()); - } - - @Override - public void addTestObjectPart(StructureTestObjectPart structureTestObjectPart) { - this.isPartNoExist(structureTestObjectPart.getPartNo(), null); - if (structureTestObjectPart.getTestObjectId() == null) { - throw new BaseException("缂哄皯浜у搧瀵硅薄id"); - } - baseMapper.insert(structureTestObjectPart); - } - - @Override - public void updateTestObjectPart(StructureTestObjectPart structureTestObjectPart) { - this.isPartNoExist(structureTestObjectPart.getPartNo(), structureTestObjectPart.getId()); - if (structureTestObjectPart.getTestObjectId() == null) { - throw new BaseException("缂哄皯浜у搧瀵硅薄id"); - } - baseMapper.updateById(structureTestObjectPart); - } - - // 鍒ゆ柇闆朵欢鍙锋槸鍚﹀瓨鍦� - public void isPartNoExist(String partNo, Integer id) { - // 闆朵欢鍙峰敮涓� 浣嗕笉蹇呭~ - if (StringUtils.isNotBlank(partNo)) { - Long count = productPartMapper.selectCount(new LambdaQueryWrapper<ProductPart>() - .eq(ProductPart::getPartNo, partNo)); - Long selectCount = baseMapper.selectCount(Wrappers.<StructureTestObjectPart>lambdaQuery() - .eq(StructureTestObjectPart::getPartNo, partNo) - .ne(id != null, StructureTestObjectPart::getId, id)); - if (count > 0 || selectCount > 0) { - throw new BaseException("璇ラ浂浠跺彿宸茬粦瀹氳繃妫�楠屽璞�"); - } - } else { - throw new BaseException("璇疯緭鍏ラ浂浠跺彿"); - } - } -} - diff --git a/basic-server/src/main/java/com/ruoyi/basic/service/impl/StructureTestObjectServiceImpl.java b/basic-server/src/main/java/com/ruoyi/basic/service/impl/StructureTestObjectServiceImpl.java deleted file mode 100644 index 60f0f40..0000000 --- a/basic-server/src/main/java/com/ruoyi/basic/service/impl/StructureTestObjectServiceImpl.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.ruoyi.basic.service.impl; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.ruoyi.basic.mapper.StructureTestObjectMapper; -import com.ruoyi.basic.pojo.StructureTestObject; -import com.ruoyi.basic.service.StructureTestObjectService; -import org.springframework.stereotype.Service; - -/** - * 妫�娴嬪璞� - * - * @author zhuo - * @since 2024-09-13 - */ -@Service -public class StructureTestObjectServiceImpl extends ServiceImpl<StructureTestObjectMapper, StructureTestObject> implements StructureTestObjectService { - -} - diff --git a/basic-server/src/main/java/com/ruoyi/inspect/controller/CapacityScopeController.java b/basic-server/src/main/java/com/ruoyi/inspect/controller/CapacityScopeController.java new file mode 100644 index 0000000..9c2a785 --- /dev/null +++ b/basic-server/src/main/java/com/ruoyi/inspect/controller/CapacityScopeController.java @@ -0,0 +1,393 @@ +package com.ruoyi.inspect.controller; + +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.poi.excel.ExcelUtil; +import com.alibaba.excel.EasyExcel; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.common.core.domain.Result; +import com.ruoyi.common.core.domain.entity.SysDictData; +import com.ruoyi.system.service.ISysDictTypeService; +import com.ruoyi.inspect.dto.PageTestObjectDto; +import com.ruoyi.inspect.dto.ProductDTO1; +import com.ruoyi.inspect.excel.StructureTestObjectData; +import com.ruoyi.inspect.excel.StructureTestObjectListener; +import com.ruoyi.inspect.pojo.Product; +import com.ruoyi.inspect.pojo.StandardTemplate; +import com.ruoyi.inspect.pojo.StructureItemParameter; +import com.ruoyi.inspect.pojo.StructureTestObject; +import com.ruoyi.inspect.service.CapacityScopeService; +import com.ruoyi.inspect.service.ProductService; +import com.ruoyi.inspect.service.StandardTemplateService; +import com.ruoyi.inspect.service.StructureItemParameterService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.AllArgsConstructor; +import org.apache.commons.lang3.ObjectUtils; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import java.io.IOException; +import java.io.InputStream; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.concurrent.atomic.AtomicReference; +import java.util.stream.Collectors; + +/** + * 妫�楠岄」鐩弬鏁�(StructureItemParameter)琛ㄦ帶鍒跺眰 + * + * @author makejava + * @since 2024-02-26 16:21:17 + */ +@Api(tags = "鑳藉姏鑼冨洿") +@AllArgsConstructor +@RestController +@RequestMapping("/capacityScope") +public class CapacityScopeController { + + private CapacityScopeService capacityScopeService; + + private ProductService productService; + + private StructureItemParameterService structureItemParameterService; + + private ISysDictTypeService dictTypeService; + + private StandardTemplateService standardTemplateService; + + @ApiOperation(value = "鑾峰彇椤圭洰妫�楠屽弬鏁板垪琛�") + @PostMapping("/selectItemParameterList") + public Result selectItemParameterList(Page page,StructureItemParameter itemParameter) throws Exception { + return Result.success(capacityScopeService.selectItemParameterList(page, itemParameter)); + } + + @ApiOperation(value = "娣诲姞椤圭洰妫�楠屽弬鏁�") + @PostMapping("/addItemParameter") + public Result addItemParameter(@RequestBody StructureItemParameter itemParameter) { + return Result.success(capacityScopeService.addItemParameter(itemParameter)); + } + + @ApiOperation(value = "鍒犻櫎椤圭洰妫�楠屽弬鏁�") + @PostMapping("/delItemParameter") + public Result<?> delItemParameter(Integer id) { + return Result.success(capacityScopeService.delItemParameter(id)); + } + + @ApiOperation(value = "淇敼椤圭洰妫�楠屽弬鏁�") + @PostMapping("/upItemParameter") + public Result<?> upItemParameter(@RequestBody StructureItemParameter itemParameter) { + return Result.success(capacityScopeService.upItemParameter(itemParameter)); + } + + @ApiOperation(value = "鑾峰彇妫�楠屽璞�") + @PostMapping("/selectTestObjectList") + public Result selectTestObjectList(Page page,PageTestObjectDto pageTestObjectDto) throws Exception { + return Result.success(capacityScopeService.selectTestObjectList(page, pageTestObjectDto)); + } + + @ApiOperation(value = "娣诲姞妫�楠屽璞�") + @PostMapping("/addTestObject") + public Result addTestObject(@RequestBody StructureTestObject testObject) { + return Result.success(capacityScopeService.addTestObject(testObject)); + } + + @ApiOperation(value = "鍒犻櫎妫�楠屽璞�") + @PostMapping("/delTestObject") + public Result<?> delTestObject(Integer id) { + return Result.success(capacityScopeService.delTestObject(id)); + } + + @ApiOperation(value = "淇敼妫�楠屽璞�") + @PostMapping("/upTestObject") + public Result upTestObject(@RequestBody StructureTestObject testObject) { + return Result.success(capacityScopeService.upTestObject(testObject)); + } + + @ApiOperation(value = "鑾峰彇妫�楠屽璞℃灇涓�") + @GetMapping("/selectTestObjectByName") + public Result selectTestObjectByName() { + return Result.success(capacityScopeService.selectTestObjectByName()); + } + + @ApiOperation(value = "璁惧閲岄潰閫夋嫨妫�楠岄」鐩�(鏍戝舰缁撴瀯)") + @PostMapping("/getInsProduction") + public Result getInsProduction() { + return Result.success(capacityScopeService.getInsProduction()); + } + + @ApiOperation(value = "缁存姢妫�楠屽璞$殑浜у搧") + @PostMapping("/selectProductListByObjectId") + public Result selectProductListByObjectId(Page page,ProductDTO1 productDTO) throws Exception { + return Result.success(productService.selectProductListByObjectId(page, productDTO)); + } + + @ApiOperation(value = "娣诲姞浜у搧") + @PostMapping("/addProduct") + public Result addProduct(@RequestBody Product product) { + return Result.success(productService.addProduct(product)); + } + + @ApiOperation(value = "淇敼浜у搧") + @PostMapping("/upProduct") + public Result upProduct(@RequestBody Product product) { + return Result.success(productService.upProduct(product)); + } + + @ApiOperation(value = "鍒犻櫎浜у搧") + @PostMapping("/delProduct") + public Result delProduct(Integer id) { + return Result.success(productService.delProduct(id)); + } + + @ApiOperation(value = "鑾峰彇妫�楠屽璞℃爲") + @GetMapping("/getItemTree") + public Result getItemTree() { + return Result.success(capacityScopeService.getItemTree()); + } + + + @ApiOperation(value = "瑁呭瀵煎叆妫�楠岄」鐩�") + @PostMapping("/importEquipData") + @Transactional + public Result importEquipData(@RequestParam("file") MultipartFile file) throws Exception { + InputStream inputStream = file.getInputStream(); + List<StructureItemParameter> lists = new ArrayList<>(); + AtomicReference<String> sample = new AtomicReference<>(); + ExcelUtil.readBySax(inputStream, -1, (i, l, list1) -> { + if (l == 1) { + sample.set(list1.get(1) + ""); + } + if (l >= 1) { + StructureItemParameter str = new StructureItemParameter(); + // 娴嬭瘯瀵硅薄 + if (list1.get(1) == null) { + str.setSample(null); + } else { + String brand = (String) list1.get(1); + StringBuilder builder = new StringBuilder(); + builder.append("["); + // 浜у搧 + if (ObjectUtil.isNotEmpty(list1.get(2))) { + String production = (String) list1.get(2); + if (!production.contains("锛�")) { + builder.append(String.format("[\"%s\",\"%s\"]", brand, production)); + } else { + Arrays.stream(production.split("锛�")).forEach(item -> { + builder.append(String.format("[\"%s\",\"%s\"],", brand, item)); + }); + builder.deleteCharAt(builder.length() - 1); + } + } else { + builder.append("["); + builder.append(String.format("\"%s\"", brand)); + builder.append("]"); + } + builder.append("]"); + str.setSample(builder.toString()); + } + // 妫�楠岄」 + str.setInspectionItem(list1.get(4).toString().trim()); + // 妫�楠岄」鑻辨枃 + if (list1.get(5) != null) { + str.setInspectionItemEn(list1.get(5).toString()); + } + // 妫�楠屽瓙椤� + if (list1.get(6) == null) { + str.setInspectionItemSubclass(null); + } else { + str.setInspectionItemSubclass(list1.get(6).toString().trim()); + } + // 妫�楠屽瓙椤硅嫳鏂� + if (list1.get(7) == null) { + str.setInspectionItemSubclassEn(null); + } else { + str.setInspectionItemSubclassEn(String.valueOf(list1.get(7).toString())); + } + // 妫�楠岄」鍒嗙被 + if (list1.get(22) != null && list1.get(22) != "") { + str.setInspectionItemClass(list1.get(22).toString().trim()); + } else { + str.setInspectionItemClass(null); + } + // 妫�楠岄」鍒嗙被鑻辨枃 + if (list1.get(23) != null && list1.get(23) != "") { + str.setInspectionItemClassEn(list1.get(23) + ""); + } else { + str.setInspectionItemClassEn(null); + } + + LambdaQueryWrapper<StructureItemParameter> wrapper = Wrappers.lambdaQuery(StructureItemParameter.class) + .eq(StructureItemParameter::getInspectionItem, str.getInspectionItem()) + .eq(StructureItemParameter::getSample, str.getSample()) + + .last("limit 1"); + // 鍒ゆ柇鏄惁鏈夋楠岄」绫诲瀷 + if (ObjectUtils.isNotEmpty(str.getInspectionItemClass())) { + wrapper.eq(StructureItemParameter::getInspectionItemClass, str.getInspectionItemClass()); + } + + // 鍒ゆ柇鏄惁鏈夋楠屽瓙椤� + if (ObjectUtils.isNotEmpty(str.getInspectionItemSubclass())) { + wrapper.eq(StructureItemParameter::getInspectionItemSubclass, str.getInspectionItemSubclass()); + } + StructureItemParameter db_str = structureItemParameterService.getOne(wrapper); + if (ObjectUtils.isNotEmpty(db_str)) { + str.setId(db_str.getId()); + } + // 鏂规硶鍚嶇О + if (list1.get(8) == null) { + str.setMethod(null); + } else { + StringBuffer buffer = new StringBuffer(); + String input = list1.get(8).toString(); + buffer.append("["); + String[] values = input.split("锛�"); + for (String value : values) { + buffer.append("\"").append(value.trim()).append("\","); + } + buffer.deleteCharAt(buffer.length() - 1); + buffer.append("]"); + str.setMethod(buffer.toString()); + } + // 璇曢獙瀹� + if (list1.get(9) == null) { + str.setSonLaboratory(null); + } else { + str.setSonLaboratory(list1.get(9).toString()); + } + // 璁¢噺鍗曚綅 + if (list1.get(10) == null) { + str.setUnit(null); + } else { + str.setUnit(list1.get(10).toString()); + } + // 瑕佹眰鍊� + if (list1.get(11) == null) { + str.setAskTell(null); + } else { + str.setAskTell(list1.get(11).toString()); + } + // 瑕佹眰鎻忚堪 + if (list1.get(12) == null) { + str.setAsk(null); + } else { + str.setAsk(list1.get(12).toString()); + } + // 鍗曚环 + if (list1.get(13) == null) { + str.setPrice(null); + } else { + str.setPrice(list1.get(13) + ""); + } + // 宸ユ椂绯绘暟 + if (list1.get(14) == null) { + str.setManHour(null); + } else { + str.setManHour(Double.valueOf(list1.get(14).toString())); + } + // 宸ユ椂鍒嗙粍 + if (list1.get(15) == null) { + str.setManHourGroup(null); + } else { + str.setManHourGroup(list1.get(15).toString()); + } + // 棰勮瀹屾垚鏃堕棿 + if (list1.get(16) == null) { + str.setManDay(null); + } else { + str.setManDay(Integer.valueOf(list1.get(16).toString())); + } + // 鏁版嵁绫诲瀷 + String jy; + if (list1.get(17).toString().equals("闈為噰闆嗙被鍨�")) { + jy = "0"; + } else { + jy = "1"; + } + str.setInspectionItemType(jy); + // 妫�楠岄」绫诲瀷 + String validateValueType = list1.get(18).toString(); + if (ObjectUtils.isNotEmpty(validateValueType)) { + List<SysDictData> enums = dictTypeService.selectDictDataByName("妫�楠屽�肩被鍨�") + .stream().filter(sysDictData -> sysDictData.getDictLabel().equals(validateValueType)).collect(Collectors.toList()); + str.setInspectionValueType(enums.get(0).getDictValue()); + } + int bsm; + //鐗规畩鏍囪瘑 + if (list1.get(19).toString().equals("鍚�")) { + bsm = 0; + } else { + bsm = 1; + } + str.setBsm(bsm + ""); + // 鏁板瓧瀛楀吀 + if (list1.get(20) != null) { + str.setDic(list1.get(20) + ""); + } else { + str.setDic(null); + } + // 鍘熷璁板綍妯℃澘 + StandardTemplate standTempIdByName = standardTemplateService.getStandTempIdByName(String.valueOf(list1.get(21))); + if (standTempIdByName != null) { + str.setTemplateId(standTempIdByName.getId()); + } else { + str.setTemplateId(null); + } + try { + if (list1.get(24) != null) { + str.setLaboratory(list1.get(24) + ""); + } + } catch (Exception e) { + } + + // 鏉′欢 + if (list1.get(25) == null) { + str.setRadiusList(null); + } else { + StringBuffer buffer = new StringBuffer(); + String input = list1.get(25).toString(); + buffer.append("["); + String[] values = input.split("锛�"); + for (String value : values) { + buffer.append("\"").append(value.trim()).append("\","); + } + buffer.deleteCharAt(buffer.length() - 1); + buffer.append("]"); + str.setRadiusList(buffer.toString()); + } + // 鏀惰垂鏍囧噯 + if (list1.get(26) == null) { + str.setRates(null); + } else { + str.setRates(list1.get(26) + ""); + } + + lists.add(str); + } + }); +// structureItemParameterService.removeNoSample(sample.get()); + // 濡傛灉鏁版嵁搴撻噷闈㈢殑鏁版嵁瀛樺湪閭d箞灏辨墽琛屾洿鏂版嫹璐濇搷浣� + try { + structureItemParameterService.saveOrUpdateBatch(lists); + } catch (Exception e) { + e.printStackTrace(); + throw new RuntimeException("鏈嶅姟绔姤閿�"); + } + return Result.success(); + } + + @ApiOperation(value = "瀵煎叆妫�楠屽璞�") + @PostMapping("/importExcel") + public Result importExcel(@RequestParam("file") MultipartFile file) { + try { + EasyExcel.read(file.getInputStream(), StructureTestObjectData.class, new StructureTestObjectListener(productService)).sheet().doRead(); + } catch (IOException e) { + e.printStackTrace(); + } + return Result.success(); + } +} diff --git a/basic-server/src/main/java/com/ruoyi/inspect/controller/CertificationController.java b/basic-server/src/main/java/com/ruoyi/inspect/controller/CertificationController.java new file mode 100644 index 0000000..51b8ff1 --- /dev/null +++ b/basic-server/src/main/java/com/ruoyi/inspect/controller/CertificationController.java @@ -0,0 +1,41 @@ +package com.ruoyi.inspect.controller; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.common.core.domain.Result; +import com.ruoyi.inspect.pojo.Certification; +import com.ruoyi.inspect.service.CertificationService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.AllArgsConstructor; +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; + +@Api(tags = "璧勮川璇存槑") +@AllArgsConstructor +@RestController +@RequestMapping("/certification") + +public class CertificationController { + + private CertificationService certificationService; + + + @ApiOperation(value = "鏌ヨ璧勮川鏄庣粏鍒楄〃") + @PostMapping("/getCertificationDetail") + public Result getCertificationDetail(Page page,Certification certification) { + return Result.success(certificationService.getCertificationDetail(page, certification)); + } + + @ApiOperation(value = "娣诲姞璧勮川鏄庣粏鍒楄〃") + @PostMapping("/addCertificationDetail") + public Result addCertificationDetail(@RequestBody Certification certification) { + return Result.success(certificationService.addCertificationDetail(certification)); + } + @ApiOperation(value = "鍒犻櫎璧勮川鏄庣粏鍒楄〃") + @PostMapping("/delCertificationDetail") + public Result<?> delCertificationDetail( String ids) { + return Result.success(certificationService.delCertificationDetail(ids)); + } +} diff --git a/basic-server/src/main/java/com/ruoyi/inspect/controller/LaboratoryController.java b/basic-server/src/main/java/com/ruoyi/inspect/controller/LaboratoryController.java new file mode 100644 index 0000000..5133178 --- /dev/null +++ b/basic-server/src/main/java/com/ruoyi/inspect/controller/LaboratoryController.java @@ -0,0 +1,62 @@ +package com.ruoyi.inspect.controller; + + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.common.core.domain.Result; +import com.ruoyi.inspect.pojo.Laboratory; +import com.ruoyi.inspect.service.LaboratoryService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + * 瀹為獙瀹ょ鐞�(LaboratoryController)琛ㄦ帶鍒跺眰 + */ +@Api(tags = "鍦烘墍鎴栬鏂�") + +@RestController +@RequestMapping("/laboratoryScope") +public class LaboratoryController { + + @Resource + private LaboratoryService laboratoryService; + + @ApiOperation(value = "鏌ヨ瀹為獙瀹ょ鐞嗗垪琛�") + @PostMapping("/selectItemParameter") + public Result selectItemParameter(Page page ,Laboratory itemParameter) { + return Result.success(laboratoryService.selectItemParameter(page, itemParameter)); + } + + @ApiOperation(value = "娣诲姞瀹為獙瀹ゅ弬鏁�") + @PostMapping("/addParameter") + public Result addParameter(@RequestBody Laboratory itemParameter) { + return Result.success(laboratoryService.addParameter(itemParameter)); + } + + @ApiOperation(value = "鍒犻櫎瀹為獙瀹ゅ弬鏁�") + @PostMapping("/delParameter") + public Result<?> delParameter(Integer id) { + return Result.success(laboratoryService.delParameter(id)); + } + + @ApiOperation(value = "淇敼瀹為獙瀹ゅ弬鏁�") + @PostMapping("/upParameter") + public Result<?> upParameter(@RequestBody Laboratory itemParameter) { + return Result.success(laboratoryService.upParameter(itemParameter)); + } + + @ApiOperation(value = "鑾峰彇瀹為獙瀹ゅ悕绉�") + @GetMapping("/obtainItemParameterList") + public Result obtainItemParameterList() { + return Result.success(laboratoryService.obtainItemParameterList()); + } +} + + + + + + + diff --git a/basic-server/src/main/java/com/ruoyi/inspect/controller/ProductPartController.java b/basic-server/src/main/java/com/ruoyi/inspect/controller/ProductPartController.java new file mode 100644 index 0000000..49ff94f --- /dev/null +++ b/basic-server/src/main/java/com/ruoyi/inspect/controller/ProductPartController.java @@ -0,0 +1,50 @@ +package com.ruoyi.inspect.controller; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.common.core.domain.Result; +import com.ruoyi.inspect.pojo.ProductPart; +import com.ruoyi.inspect.service.ProductPartService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.AllArgsConstructor; +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; + +@RestController +@AllArgsConstructor +@RequestMapping("/productPart") +@Api(tags = "浜у搧闆朵欢缁戝畾") +public class ProductPartController { + + private ProductPartService productPartService; + + @ApiOperation(value = "鏍规嵁浜у搧id鏌ヨ闆朵欢") + @PostMapping("/selectByProductId") + public Result selectByProductId(Page page,ProductPart productPart){ + return Result.success(productPartService.selectByProductId(page,productPart)); + } + + @ApiOperation(value = "鏂板浜у搧闆朵欢") + @PostMapping("/addProductPart") + public Result addProductPart(@RequestBody ProductPart productPart) { + productPartService.addProductPart(productPart); + return Result.success(); + } + + @ApiOperation(value = "鏇存柊浜у搧闆朵欢") + @PostMapping("/updateProductPart") + public Result updateProductPart(@RequestBody ProductPart productPart) { + productPartService.updateProductPartById(productPart); + return Result.success(); + } + + @ApiOperation(value = "鍒犻櫎浜у搧闆朵欢") + @PostMapping("/deleteProductPart") + public Result deleteProductPart(Integer id) { + productPartService.removeById(id); + return Result.success(); + } + +} diff --git a/basic-server/src/main/java/com/ruoyi/inspect/controller/ProductSupplierDensityController.java b/basic-server/src/main/java/com/ruoyi/inspect/controller/ProductSupplierDensityController.java new file mode 100644 index 0000000..be25f08 --- /dev/null +++ b/basic-server/src/main/java/com/ruoyi/inspect/controller/ProductSupplierDensityController.java @@ -0,0 +1,59 @@ +package com.ruoyi.inspect.controller; + + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.common.core.domain.Result; +import com.ruoyi.inspect.pojo.ProductSupplierDensity; +import com.ruoyi.inspect.service.ProductSupplierDensityService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.AllArgsConstructor; +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; + + +/** + * 浜у搧鍘傚瀵嗗害缁戝畾琛� + * + * @author zhuo + * @since 2024-09-19 + */ +@RestController +@RequestMapping("/productSupplierDensity") +@AllArgsConstructor +@Api(tags = "浜у搧鍘傚瀵嗗害缁戝畾") +public class ProductSupplierDensityController { + + private ProductSupplierDensityService productSupplierDensityService; + + @ApiOperation(value = "鏍规嵁浜у搧id鏌ヨ鍘傚瀵嗗害缁戝畾") + @PostMapping("/selectSupplierDensityByProductId") + public Result selectSupplierDensityByProductId(Page page,ProductSupplierDensity supplierDensity) { + return Result.success(productSupplierDensityService.selectByProductId(page, supplierDensity)); + } + + @ApiOperation(value = "鏂板鍘傚瀵嗗害缁戝畾") + @PostMapping("/addProductSupplierDensity") + public Result addProductSupplierDensity(@RequestBody ProductSupplierDensity supplierDensity) { + productSupplierDensityService.addProductSupplierDensity(supplierDensity); + return Result.success(); + } + + @ApiOperation(value = "鏇存柊鍘傚瀵嗗害缁戝畾") + @PostMapping("/updateProductSupplierDensity") + public Result updateProductSupplierDensity(@RequestBody ProductSupplierDensity supplierDensity) { + productSupplierDensityService.updateProductSupplierDensity(supplierDensity); + return Result.success(); + } + + @ApiOperation(value = "鍒犻櫎鍘傚瀵嗗害缁戝畾") + @PostMapping("/deleteProductSupplierDensity") + public Result deleteProductSupplierDensity(Integer id) { + productSupplierDensityService.removeById(id); + return Result.success(); + } + +} + diff --git a/basic-server/src/main/java/com/ruoyi/inspect/controller/SealController.java b/basic-server/src/main/java/com/ruoyi/inspect/controller/SealController.java new file mode 100644 index 0000000..6822a8a --- /dev/null +++ b/basic-server/src/main/java/com/ruoyi/inspect/controller/SealController.java @@ -0,0 +1,48 @@ +package com.ruoyi.inspect.controller; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.inspect.pojo.Laboratory; +import com.ruoyi.inspect.pojo.Seal; +import com.ruoyi.inspect.service.SealService; +import com.ruoyi.common.core.domain.Result; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; +import java.util.List; + +/** + * 鍗扮珷绠$悊(SealController)琛ㄦ帶鍒跺眰 + */ +@Api(tags = "鍗扮珷绠$悊") + +@RestController +@RequestMapping("/sealScope") +public class SealController { + + @Resource + private SealService sealService; + + @ApiOperation(value = "娣诲姞鍗扮珷鍙傛暟") + @PostMapping("/addSeal") + public Result addSeal(@RequestBody Seal seal) { + int i = sealService.addSeal(seal); + if(i>0){ + Integer labId = seal.getLabId(); + List<Laboratory> laboratory = sealService.Laboratory(labId); + return Result.success(laboratory); + }else{ + return Result.fail(); + } + + } + @ApiOperation(value="鏌ヨ鍗扮珷鍒楄〃") + @PostMapping("/selectSeal") + public Result selectSeal(Page page,Seal seal) { + return Result.success(sealService.selectSeal(page,seal)); + } +} diff --git a/basic-server/src/main/java/com/ruoyi/inspect/controller/StandardMethodController.java b/basic-server/src/main/java/com/ruoyi/inspect/controller/StandardMethodController.java new file mode 100644 index 0000000..038f092 --- /dev/null +++ b/basic-server/src/main/java/com/ruoyi/inspect/controller/StandardMethodController.java @@ -0,0 +1,59 @@ +package com.ruoyi.inspect.controller; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.common.core.domain.Result; +import com.ruoyi.inspect.pojo.StandardMethod; +import com.ruoyi.inspect.service.StandardMethodService; +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 java.io.IOException; + +@Api(tags = "鏍囧噯鏂规硶") +@RestController +@RequestMapping("/standardMethod") +@AllArgsConstructor +public class StandardMethodController { + + private StandardMethodService standardMethodService; + + @ApiOperation(value = "鑾峰彇鏍囧噯鏂规硶鍒楄〃") + @PostMapping("/selectStandardMethodList") + public Result selectStandardMethodList(Page page,StandardMethod standardMethod) throws Exception { + return Result.success(standardMethodService.selectStandardMethodList(page, standardMethod)); + } + + @ApiOperation(value = "鑾峰彇鏍囧噯鏂规硶鏋氫妇") + @GetMapping("/selectStandardMethods") + public Result selectStandardMethods(){ + return Result.success(standardMethodService.selectStandardMethods()); + } + + @ApiOperation(value = "娣诲姞鏍囧噯鏂规硶") + @PostMapping("/addStandardMethod") + public Result addStandardMethod(@RequestBody StandardMethod standardMethod) { + return Result.success(standardMethodService.addStandardMethod(standardMethod)); + } + + @ApiOperation(value = "鍒犻櫎鏍囧噯鏂规硶") + @PostMapping("/delStandardMethod") + public Result<?> delStandardMethod(Integer id) { + return Result.success(standardMethodService.delStandardMethod(id)); + } + + @ApiOperation(value = "淇敼鏍囧噯鏂规硶") + @PostMapping("/upStandardMethod") + public Result<?> upStandardMethod(@RequestBody StandardMethod standardMethod) { + return Result.success(standardMethodService.upStandardMethod(standardMethod)); + } + + @ApiOperation(value = "瀵煎叆鏍囧噯鏄庣粏") + @PostMapping("/importStandardDetails") + public Result<?> importStandardDetails(@RequestPart("file") MultipartFile file) throws IOException { + standardMethodService.inputExcel(file); + return Result.success(); + } +} diff --git a/basic-server/src/main/java/com/ruoyi/inspect/controller/StandardTemplateController.java b/basic-server/src/main/java/com/ruoyi/inspect/controller/StandardTemplateController.java new file mode 100644 index 0000000..b2a82e9 --- /dev/null +++ b/basic-server/src/main/java/com/ruoyi/inspect/controller/StandardTemplateController.java @@ -0,0 +1,68 @@ +package com.ruoyi.inspect.controller; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.common.core.domain.Result; +import com.ruoyi.inspect.pojo.StandardTemplate; +import com.ruoyi.inspect.service.StandardTemplateService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.AllArgsConstructor; +import org.springframework.web.bind.annotation.*; + +@RequestMapping("/StandardTemplate") +@RestController +@AllArgsConstructor +@Api(tags = "鍘熷璁板綍妯℃澘") +public class StandardTemplateController { + + private StandardTemplateService standardTemplateService; + + @ApiOperation(value = "鑾峰彇鍘熷璁板綍妯℃澘鍒楄〃") + @PostMapping("/selectStandardTemplatePageList") + public Result selectStandardTemplatePageList(Page page,StandardTemplate standardTemplate) throws Exception { + return Result.success(standardTemplateService.selectStandardTemplatePageList(page, standardTemplate)); + } + + @ApiOperation(value = "娣诲姞鍘熷璁板綍妯℃澘") + @PostMapping("/addStandardTemplate") + public Result addStandardTemplate(@RequestBody StandardTemplate standardTemplate) { + return Result.success(standardTemplateService.addStandardTemplate(standardTemplate)); + } + + @ApiOperation(value = "淇敼鍘熷璁板綍妯℃澘") + @PostMapping("/upStandardTemplate") + public Result<?> upStandardTemplate(@RequestBody StandardTemplate standardTemplate) { + return Result.success(standardTemplateService.upStandardTemplate(standardTemplate)); + } + + @ApiOperation(value = "鍒犻櫎鍘熷璁板綍妯℃澘") + @PostMapping("/delStandardTemplate") + public Result<?> delStandardTemplate(Integer id) { + return Result.success(standardTemplateService.delStandardTemplate(id)); + } + + @ApiOperation(value = "鏌ヨ鍘熷璁板綍妯℃澘鏋氫妇") + @GetMapping("/getStandardTemplate") + public Result<?> getStandardTemplate() { + return Result.success(standardTemplateService.getStandardTemplate()); + } + + @ApiOperation(value = "閫氳繃妯℃澘id鑾峰彇妫�楠岄」妯℃澘鍐呭") + @PostMapping("/getStandTempThingById") + public Result<?> getStandTempThingById(Integer id) { + return Result.success(standardTemplateService.getStandTempThingById(id)); + } + + @ApiOperation(value = "缂栬緫妯℃澘缂栧埗") + @GetMapping("/getEditTemplatePreparation") + public Result<?> getEditTemplatePreparation(@RequestParam("id") Integer id) { + StandardTemplate byId = standardTemplateService.getById(id); + return Result.success("OK", byId.getThing()); + } + + @ApiOperation(value = "澶嶅埗鍘熷璁板綍妯℃澘") + @PostMapping("/copyStandardTemplate") + public Result copyStandardTemplate(@RequestBody StandardTemplate newTemplate) { + return Result.success(standardTemplateService.copyStandardTemplate(newTemplate)); + } +} diff --git a/basic-server/src/main/java/com/ruoyi/inspect/controller/StandardTreeController.java b/basic-server/src/main/java/com/ruoyi/inspect/controller/StandardTreeController.java new file mode 100644 index 0000000..a92e4d1 --- /dev/null +++ b/basic-server/src/main/java/com/ruoyi/inspect/controller/StandardTreeController.java @@ -0,0 +1,276 @@ +package com.ruoyi.inspect.controller; + +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONArray; +import com.ruoyi.common.core.domain.Result; +import com.ruoyi.inspect.dto.CopyStandardProductListDto; +import com.ruoyi.inspect.dto.FactoryDto; +import com.ruoyi.inspect.dto.InsSampleReceiveDto; +import com.ruoyi.inspect.dto.ResetTreeDragDTO; +import com.ruoyi.inspect.pojo.StandardProductList; +import com.ruoyi.inspect.pojo.StandardProductListSupplierAsk; +import com.ruoyi.inspect.pojo.StandardTree; +import com.ruoyi.inspect.service.StandardMethodListService; +import com.ruoyi.inspect.service.StandardProductListService; +import com.ruoyi.inspect.service.StandardProductListSupplierAskService; +import com.ruoyi.inspect.service.StandardTreeService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import lombok.AllArgsConstructor; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import java.util.List; +import java.util.Map; + +@RestController +@AllArgsConstructor +@RequestMapping("/standardTree") +@Api(tags = "鏍囧噯搴�") +public class StandardTreeController { + + private StandardTreeService standardTreeService; + + private StandardMethodListService standardMethodListService; + + private StandardProductListService standardProductListService; + + private StandardProductListSupplierAskService standardProductListSupplierAskService; + + @ApiOperation(value = "鑾峰彇鏍囧噯鏍�") + @GetMapping("/selectStandardTreeList") + public Result selectStandardTreeList() { + return Result.success(standardTreeService.selectStandardTreeList()); + } + + @ApiOperation(value = "鑾峰彇鏍囧噯鏍�(妫�楠屼笅鍗�)") + @GetMapping("/selectStandardTreeList2") + public Result selectStandardTreeList2() { + return Result.success(standardTreeService.selectStandardTreeList()); + } + + @ApiOperation(value = "娣诲姞鏍囧噯鏍�") + @PostMapping("/addStandardTree") + public Result addStandardTree(@RequestBody StandardTree standardTree) { + return Result.success(standardTreeService.addStandardTree(standardTree)); + } + + @ApiOperation(value = "缁欐爣鍑嗘爲娣诲姞妫�楠屾爣鍑�") + @PostMapping("/addStandardMethodList") + public Result addStandardMethodList(String tree, Integer standardId) { + return Result.success(standardMethodListService.addStandardMethodList(standardId, tree)); + } + + @ApiOperation(value = "鏍规嵁鏍囧噯鏍戣繘琛屾爣鍑嗘煡璇�") + @PostMapping("/selectsStandardMethodByFLSSM") + public Result selectsStandardMethodByFLSSM(String tree) { + return Result.success(standardMethodListService.selectsStandardMethodByFLSSM(tree)); + } + + @ApiOperation(value = "淇敼鏍囧噯搴撲腑鐨勫唴瀹�") + @PostMapping("/upStandardProductList") + public Result upStandardProductList(String str) { + StandardProductList list = JSON.parseObject(str, StandardProductList.class); + return Result.success(standardProductListService.upStandardProductList(list)); + } + + @ApiOperation(value = "淇敼鏍囧噯搴撳尯闂�") + @PostMapping("/updateSection") + public Result updateSection(String str) { + StandardProductList list = JSON.parseObject(str, StandardProductList.class); + return Result.success(standardProductListService.updateSection(list)); + } + + @ApiOperation(value = "鍒犻櫎鏍囧噯鏍戜笅鐨勬楠屾爣鍑�") + @PostMapping("/delStandardMethodByFLSSM") + public Result delStandardMethodByFLSSM(Integer id) { + return Result.success(standardMethodListService.delStandardMethodByFLSSM(id)); + } + + @ApiOperation(value = "鍒犻櫎鏍囧噯鏍戜笅鐨勬楠岄」鐩�") + @PostMapping("/delStandardProductByIds") + public Result delStandardProductByIds(String ids) { + JSONArray lists = JSON.parseArray(ids); + return Result.success(standardProductListService.delStandardProduct(lists)); + } + + @ApiOperation(value = "鏂板鏍囧噯鏍戜笅鐨勬楠岄」鐩�") + @PostMapping("/addStandardProduct") + public Result addStandardProduct(String ids, String tree) { + return Result.success(standardTreeService.addStandardProduct(ids, tree)); + } + + @ApiOperation(value = "鍒犻櫎鏍囧噯鏍戠殑灞傜骇") + @PostMapping("/delStandardTree") + public Result delStandardTree(String tree) { + return Result.success(standardTreeService.delStandardTree(tree)); + } + + @ApiOperation(value = "閫氳繃鏍囧噯鏍戞煡璇㈠搴旂殑妫�楠岄」鐩�") + @PostMapping("/selectStandardProductList") + public Result selectStandardProductList(@RequestBody InsSampleReceiveDto insSample) { + return Result.success(standardProductListService.selectStandardProductList(insSample)); + } + + @ApiOperation(value = "閫氳繃妫�楠屾爣鍑嗘煡璇㈡楠岄」鐩�") + @PostMapping("/selectStandardProductListByMethodId") + public Result selectStandardProductListByMethodId(Integer id, String tree, Integer page) { + return Result.success(standardProductListService.selectStandardProductListByMethodId(id, tree, page)); + } + + @ApiOperation(value = "鎵归噺缂栬緫鏌ヨ妫�楠岄」鐩�") + @PostMapping("/selectStandardProductByMethodId") + public Result selectStandardProductByMethodId(Integer id, String tree, Integer page, String laboratory, String item, String items) { + return Result.success(standardProductListService.selectStandardProductByMethodId(id, tree, page, laboratory, item, items)); + } + + @ApiOperation(value = "鎵归噺缂栬緫鏌ヨ鎵�鏈夋楠岄」鐩拰妫�楠屽瓙椤规灇涓�") + @PostMapping("/selectStandardProductEnumByMethodId") + public Result selectStandardProductEnumByMethodId(Integer id, String tree, String item) { + return Result.success(standardProductListService.selectStandardProductEnumByMethodId(id, tree, item)); + } + + @ApiOperation(value = "鑾峰彇鏍囧噯鏍戜笅鏍囧噯鏂规硶鏋氫妇") + @GetMapping("/selectStandardMethodEnum") + public Result selectStandardMethodEnum() { + return Result.success(standardMethodListService.selectStandardMethodEnum()); + } + + @ApiOperation(value = "鑾峰彇浜у搧鏋舵瀯") + @GetMapping("/getStandardTree2") + public Result getStandardTree2() { + return Result.success(standardTreeService.getStandardTree2()); + } + + @ApiOperation(value = "鎵归噺淇敼椤圭洰鍐呭") + @PostMapping("/upStandardProducts") + @ApiImplicitParams({ + @ApiImplicitParam(name = "standardProductList", dataTypeClass = StandardProductList.class), + @ApiImplicitParam(name = "ids", dataTypeClass = Integer.class) + }) + public Result upStandardProducts(@RequestBody Map<String, Object> product) { + return Result.success(standardTreeService.upStandardProducts(product)); + } + + @PostMapping("/getStandTreeBySampleType") + @ApiOperation("浠呰幏鍙栧厜绾ょ殑鍨嬪彿") + public Result<?> getStandTreeBySampleType(String laboratory, String sampleType) { + return Result.success(standardTreeService.getStandTreeBySampleType(laboratory, sampleType)); + } + + @ApiOperation("瀵煎叆鏍囧噯搴�") + @PostMapping("/inExcelOfTree/{isEquipment}") + public Result inExcelOfTree(@RequestParam("file") MultipartFile file, @PathVariable("isEquipment") Boolean isEquipment) { + if (!isEquipment) { + standardTreeService.inExcelOfTree(file); + } else { + standardTreeService.importWorkstationExcel(file); + } + return Result.success(); + } + + @ApiOperation("閲嶇疆鏍囧噯搴撳崟浠�") + @PostMapping("/resetTreeOfPrice") + public Result resetTreeOfPrice(String tree, Integer standardId) { + standardTreeService.resetTreeOfPrice(tree, standardId); + return Result.success(); + } + + @ApiOperation("閲嶇疆鏍囧噯搴撳伐鏃剁郴鏁�") + @PostMapping("/resetTreeOfHour") + public Result resetTreeOfHour(String tree, Integer standardId) { + standardTreeService.resetTreeOfHour(tree, standardId); + return Result.success(); + } + + @ApiOperation("閲嶇疆鏍囧噯搴撹姹傛弿杩板拰瑕佹眰鍊�") + @PostMapping("/resetTreeOfAsk") + public Result resetTreeOfAsk(String tree, Integer standardId) { + standardTreeService.resetTreeOfAsk(tree, standardId); + return Result.success(); + } + + @ApiOperation("鏍囧噯搴撴嫋鎷�") + @PostMapping("/resetTreeDrag") + public Result resetTreeDrag(@RequestBody ResetTreeDragDTO resetTreeDragDTO) { + standardProductListService.resetTreeDrag(resetTreeDragDTO); + return Result.success(); + } + + @ApiOperation("鏍囧噯搴撴嫋鎷藉叏閮�") + @PostMapping("/resetTreeDragBatch") + public Result resetTreeDragBatch(@RequestBody Map<String, Object> params) { + List<StandardProductList> standardProductLists = (List<StandardProductList>) params.get("params"); + standardProductListService.resetTreeDragBatch(standardProductLists); + return Result.success(); + } + + @ApiOperation(value = "鏍囧噯鏍戞帓搴�") + @PostMapping("/updateTreeSort") + public Result updateTreeSort(@RequestBody List<FactoryDto> list) { + return Result.success(standardTreeService.updateTreeSort(list)); + } + + /*************************************************** 鍘傚鐗规畩瑕佹眰鍊煎鐞� ************************************************************/ + + @ApiOperation(value = "鏍规嵁浜у搧id鏌ヨ鍘傚瑕佹眰鍊肩粦瀹�") + @PostMapping("/selectSupplierAsk") + public Result selectSupplierAsk(StandardProductListSupplierAsk supplierAsk) throws Exception { + return Result.success(standardProductListSupplierAskService.selectByProductId(supplierAsk)); + } + + @ApiOperation(value = "鏂板鍘傚瑕佹眰鍊肩粦瀹�") + @PostMapping("/addProductSupplierAsk") + public Result addProductSupplierAsk(String str) { + StandardProductListSupplierAsk supplierAsk = JSON.parseObject(str, StandardProductListSupplierAsk.class); + return Result.success(standardProductListSupplierAskService.addProductSupplierAsk(supplierAsk)); + } + + @ApiOperation(value = "鏇存柊鍘傚瑕佹眰鍊肩粦瀹�") + @PostMapping("/updateProductSupplierAsk") + public Result updateProductSupplierAsk(String str) { + StandardProductListSupplierAsk supplierAsk = JSON.parseObject(str, StandardProductListSupplierAsk.class); + standardProductListSupplierAskService.updateProductSupplierAsk(supplierAsk); + return Result.success(); + } + + @ApiOperation(value = "鍒犻櫎鍘傚瑕佹眰鍊肩粦瀹�") + @PostMapping("/deleteProductSupplierAsk") + public Result deleteProductSupplierAsk(Integer supplierAskId) { + standardProductListSupplierAskService.removeById(supplierAskId); + return Result.success(); + } + + @ApiOperation(value = "淇敼鏍囧噯鏍�") + @PostMapping("/updateStandardTree") + public Result updateStandardTree(@RequestBody StandardTree standardTree) { + return Result.success(standardTreeService.updateStandardTree(standardTree)); + } + + @ApiOperation(value = "妫�楠岄」瑕佹眰鍊煎鍒跺姣�") + @PostMapping("/copyStandardProductList") + public Result copyStandardProductList(@RequestBody CopyStandardProductListDto copyStandardProductListDto) { + return Result.success(standardProductListService.copyStandardProductList(copyStandardProductListDto)); + } + + @ApiOperation(value = "妫�楠岄」瑕佹眰鍊煎崟鐙姣�") + @PostMapping("/copyStandardProductOne") + public Result copyStandardProductOne(@RequestBody CopyStandardProductListDto copyStandardProductListDto) { + return Result.success(standardProductListService.copyStandardProductOne(copyStandardProductListDto)); + } + + @ApiOperation(value = "妫�楠岄」鎵归噺淇敼瑕佹眰鍊艰姹傛弿杩�") + @PostMapping("/updateStandardProductListBatch") + public Result updateStandardProductListBatch(@RequestBody Map<String, Object> param) { + List<StandardProductList> standardProductList = (List<StandardProductList>) param.get("standardProductList"); + return Result.success(standardProductListService.updateBatchById(standardProductList)); + } + + @ApiOperation(value = "妫�楠岄」澶嶅埗鎺掑簭") + @PostMapping("/copyStandardProductSort") + public Result copyStandardProductSort(@RequestBody CopyStandardProductListDto copyStandardProductListDto) { + return Result.success(standardProductListService.copyStandardProductSort(copyStandardProductListDto)); + } +} diff --git a/basic-server/src/main/java/com/ruoyi/inspect/controller/StructureTestObjectPartController.java b/basic-server/src/main/java/com/ruoyi/inspect/controller/StructureTestObjectPartController.java new file mode 100644 index 0000000..e6aca05 --- /dev/null +++ b/basic-server/src/main/java/com/ruoyi/inspect/controller/StructureTestObjectPartController.java @@ -0,0 +1,59 @@ +package com.ruoyi.inspect.controller; + + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.common.core.domain.Result; +import com.ruoyi.inspect.pojo.StructureTestObjectPart; +import com.ruoyi.inspect.service.StructureTestObjectPartService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.AllArgsConstructor; +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; + + +/** + * 妫�楠屽璞¢浂浠惰〃 + * + * @author zhuo + * @since 2024-08-07 + */ +@RestController +@RequestMapping("/structureTestObjectPart") +@AllArgsConstructor +@Api(tags = "妫�楠屽璞¢浂浠惰〃") +public class StructureTestObjectPartController { + + private StructureTestObjectPartService structureTestObjectPartService; + + @ApiOperation(value = "鏍规嵁妫�楠屽璞d鏌ヨ闆朵欢") + @PostMapping("/selectByTestObjectId") + public Result selectByTestObjectId(Page page,StructureTestObjectPart structureTestObjectPart){ + return Result.success(structureTestObjectPartService.selectByTestObjectId(page,structureTestObjectPart)); + } + + @ApiOperation(value = "鏂板妫�楠屽璞¢浂浠�") + @PostMapping("/addTestObjectPart") + public Result addTestObjectPart(@RequestBody StructureTestObjectPart structureTestObjectPart) { + structureTestObjectPartService.addTestObjectPart(structureTestObjectPart); + return Result.success(); + } + + @ApiOperation(value = "鏇存柊妫�楠屽璞¢浂浠�") + @PostMapping("/updateTestObjectPart") + public Result updateTestObjectPart(@RequestBody StructureTestObjectPart structureTestObjectPart) { + structureTestObjectPartService.updateTestObjectPart(structureTestObjectPart); + return Result.success(); + } + + @ApiOperation(value = "鍒犻櫎妫�楠屽璞¢浂浠�") + @PostMapping("/deleteTestObjectPart") + public Result deleteTestObjectPart(Integer id) { + structureTestObjectPartService.removeById(id); + return Result.success(); + } + +} + diff --git a/basic-server/src/main/java/com/ruoyi/inspect/dto/CopyStandardProductListDto.java b/basic-server/src/main/java/com/ruoyi/inspect/dto/CopyStandardProductListDto.java new file mode 100644 index 0000000..08f9bfc --- /dev/null +++ b/basic-server/src/main/java/com/ruoyi/inspect/dto/CopyStandardProductListDto.java @@ -0,0 +1,23 @@ +package com.ruoyi.inspect.dto; + +import com.ruoyi.inspect.pojo.StandardProductList; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * 鏍囧噯妫�楠岄」澶嶅埗 + * + * @Author zhuo + * @Date 2024/10/31 + */ +@Data +public class CopyStandardProductListDto { + + @ApiModelProperty("鍘熸湰妫�楠岄」淇℃伅") + private List<StandardProductList> oldStandardProductList; + + @ApiModelProperty("闇�瑕佸姣旂殑妫�楠岄」淇℃伅") + private List<StandardProductList> newStandardProductList; +} diff --git a/basic-server/src/main/java/com/ruoyi/inspect/dto/FactoryDto.java b/basic-server/src/main/java/com/ruoyi/inspect/dto/FactoryDto.java new file mode 100644 index 0000000..a5b36d9 --- /dev/null +++ b/basic-server/src/main/java/com/ruoyi/inspect/dto/FactoryDto.java @@ -0,0 +1,18 @@ +package com.ruoyi.inspect.dto; + +import lombok.Data; + +import java.util.List; + +@Data +public class FactoryDto { + + private String code = "[1]"; + + private String label; + + private String value; + + private List<LaboratoryDto> children; + +} diff --git a/basic-server/src/main/java/com/ruoyi/inspect/dto/IfsInventoryQuantityCheckDto.java b/basic-server/src/main/java/com/ruoyi/inspect/dto/IfsInventoryQuantityCheckDto.java new file mode 100644 index 0000000..e7df599 --- /dev/null +++ b/basic-server/src/main/java/com/ruoyi/inspect/dto/IfsInventoryQuantityCheckDto.java @@ -0,0 +1,182 @@ +package com.ruoyi.inspect.dto; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.time.LocalDateTime; + +/** + * 鍘熸潗鏂欐煡璇�, 鎺掗櫎浜嗕緵搴斿晢 + * @Author zhuo + * @Date 2024/8/28 + */ +@Data +public class IfsInventoryQuantityCheckDto implements Serializable { + + private Integer id; + + @ApiModelProperty("鍩�") + private String contract; + + @ApiModelProperty("璁㈠崟鍙�") + private String orderNo; + + + @ApiModelProperty("琛屽彿") + private String lineNo; + + @ApiModelProperty("涓嬭揪鍙�") + private String releaseNo; + + @ApiModelProperty("鎺ユ敹鍙�") + private Integer receiptNo; + + @ApiModelProperty("闆朵欢鍙�") + private String partNo; + + @ApiModelProperty("闆朵欢鎻忚堪") + private String partDesc; + + @ApiModelProperty("鐘舵�佹弿杩�") + private String status; + + @ApiModelProperty("鐘舵��") + private String statusDb; + + @ApiModelProperty("鎶佃揪鐨勯噰璐暟閲�") + private BigDecimal qtyArrived; + + @ApiModelProperty("宸叉楠岀殑璐拱鏁伴噺") + private BigDecimal qtyInspected; + + @ApiModelProperty("瑕佹楠岀殑閲囪喘鏁伴噺") + private BigDecimal qtyToInspect; + + @ApiModelProperty("鎶佃揪鐨勫簱瀛樻暟閲�") + private BigDecimal invQtyInStore; + + @ApiModelProperty("鎶佃揪鐨勯噰璐暟閲�") + private BigDecimal purQtyInStore; + + @ApiModelProperty("閰嶇疆鏍囪瘑") + private String configurationId; + + @ApiModelProperty("鎵瑰彿") + private String lotBatchNo; + + @ApiModelProperty("wdr鍙�") + private String waivDevRejNo; + + @ApiModelProperty("娲诲姩搴忓垪") + private Integer activitySeq; + + + @ApiModelProperty("搴忓垪鍙�") + private String serialNo; + + @ApiModelProperty("搴撲綅鍙�") + private String locationNo; + + @ApiModelProperty("鐗堟湰鍙�") + private String engChgLevel; + + @ApiModelProperty("鎺ユ敹浜�") + private String receiver; + + @ApiModelProperty("鎺ユ敹浜哄鍚�") + private String receiverName; + + @ApiModelProperty("閲囪喘鍛�") + private String buyerCode; + + @ApiModelProperty("閲囪喘鍛樺鍚�") + private String buyerName; + + @ApiModelProperty("瀹為檯鍒拌揣鏃ユ湡") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + private LocalDateTime arriveDate; + + @ApiModelProperty("瀹為檯浜よ揣鏃ユ湡") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + private LocalDateTime deliveryDate; + + @ApiModelProperty("鐢熶骇鏃ユ湡") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + private LocalDateTime productDate; + + @ApiModelProperty("澶辨晥鏃ユ湡") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + private LocalDateTime invalidDate; + + + @ApiModelProperty("瀹℃壒鏃ユ湡") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + private LocalDateTime approvedDate; + + @ApiModelProperty("閲囪喘鐢宠鍒涘缓浜�") + private String reqCeater; + + @ApiModelProperty("閲囪喘鐢宠鍒涘缓浜哄鍚�") + private String reqCeaterName; + + @ApiModelProperty("閲囪喘璁㈠崟琛屽娉�") + private String lineRemarks; + + @ApiModelProperty("鍗曚綅") + private String buyUnitMeas; + + + private Integer isSource; + + private Integer number; + + + private Integer state; + + @ApiModelProperty("鎺ユ敹鏃堕棿") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + private LocalDateTime receiverDate; + + @ApiModelProperty("鏄惁涓洪娆″嚭鐜� 0 鍚� 1 鏄�") + private Integer isFirst; + + @ApiModelProperty("鐩爣搴撲綅鍙�") + private String toLocation; + + @ApiModelProperty("鏄惁鏄姤妫� 0 鍚� 1 鏄�") + private Integer isInspect; + + @ApiModelProperty("鎶ユ浜�") + private String declareUser; + + + @ApiModelProperty("鎶ユ浜篿d") + private Integer declareUserId; + + @ApiModelProperty("鍗曚綅") + private String partUnit; + + @ApiModelProperty("浜т笟閾炬娴嬫暟鎹�") + private String industryChain; + + @ApiModelProperty("鎶ユ鏃堕棿") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + private LocalDateTime declareDate; + + @ApiModelProperty("鏄惁鍗″彲浠ュ搴︽楠� 0 鍚� 1 鏄�") + private Integer isQuarter; + + // 淇敼鍚庣殑 + @ApiModelProperty("鎵瑰彿") + private String updateBatchNo; + + @ApiModelProperty("鏄惁鏄摐鍗曚笣, 0鍚�, 1鏄�") + private Integer isCopper; + + @ApiModelProperty("鐗╂枡绫诲瀷") + private Integer isExpire; + +} diff --git a/basic-server/src/main/java/com/ruoyi/inspect/dto/IfsInventoryQuantityDto.java b/basic-server/src/main/java/com/ruoyi/inspect/dto/IfsInventoryQuantityDto.java new file mode 100644 index 0000000..b52057a --- /dev/null +++ b/basic-server/src/main/java/com/ruoyi/inspect/dto/IfsInventoryQuantityDto.java @@ -0,0 +1,82 @@ +package com.ruoyi.inspect.dto; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.time.LocalDateTime; + +@Data +public class IfsInventoryQuantityDto extends IfsInventoryQuantityCheckDto { + + /** + * 濮旀墭缂栧彿 + */ + @ApiModelProperty("濮旀墭缂栧彿") + private String entrustCode; + + @ApiModelProperty("妫�楠屽璞�") + private String sampleType; + + @ApiModelProperty("鏍峰搧鍚嶇О") + private String sampleName; + + @ApiModelProperty("鏍峰搧鍨嬪彿") + private String sampleModel; + + @ApiModelProperty("鏍峰搧缂栧彿") + private String sampleCode; + + // 杩涘巶 + @ApiModelProperty("璁㈠崟id") + private Integer enterOrderId; + + @ApiModelProperty("鎶ュ憡id") + private String enterReportId; + + @ApiModelProperty("绯荤粺鐢熸垚鎶ュ憡鍦板潃") + private String enterUrl; + + @ApiModelProperty("鎵嬪姩涓婁紶鎶ュ憡鍦板潃") + private String enterUrlS; + + // 瀛e害 + @ApiModelProperty("璁㈠崟id") + private Integer quarterOrderId; + + @ApiModelProperty("鎶ュ憡id") + private String quarterReportId; + + @ApiModelProperty("绯荤粺鐢熸垚鎶ュ憡鍦板潃") + private String quarterUrl; + + @ApiModelProperty("鎵嬪姩涓婁紶鎶ュ憡鍦板潃") + private String quarterUrlS; + + private Integer orderState; + + @ApiModelProperty("涓嬪彂鏃堕棿") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime sendTime; + + @ApiModelProperty("鏉愭枡鍘傚") + private String supplierName; + + @ApiModelProperty("濮旀墭浜�") + private String prepareUser; + + @ApiModelProperty("棰滆壊") + private String color; + + @ApiModelProperty("鏍囩鐘舵��") + private String labelStatus; + + @ApiModelProperty("鏍囩鏉″舰鐮�") + private String labelBarCode; + + @ApiModelProperty("鍒涘缓浜�") + private Integer createUser; + + @ApiModelProperty("妫�楠屼汉") + private String userName; +} diff --git a/basic-server/src/main/java/com/ruoyi/inspect/dto/IfsInventoryQuantitySupplierDto.java b/basic-server/src/main/java/com/ruoyi/inspect/dto/IfsInventoryQuantitySupplierDto.java new file mode 100644 index 0000000..f829043 --- /dev/null +++ b/basic-server/src/main/java/com/ruoyi/inspect/dto/IfsInventoryQuantitySupplierDto.java @@ -0,0 +1,124 @@ +package com.ruoyi.inspect.dto; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.ruoyi.inspect.pojo.IfsInventoryQuantity; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.time.LocalDateTime; + +/** + * 鑳芥煡璇㈠埌渚涘簲鍟� + */ +@Data +@ExcelIgnoreUnannotated +public class IfsInventoryQuantitySupplierDto extends IfsInventoryQuantity { + + /** + * 濮旀墭缂栧彿 + */ + @ExcelProperty(index = 2, value = "濮旀墭缂栧彿") + @ApiModelProperty("濮旀墭缂栧彿") + private String entrustCode; + + @ApiModelProperty("鏍峰搧id") + private Integer sampleId; + + @ApiModelProperty("妫�楠屽璞�") + private String sampleType; + + @ExcelProperty(index = 7, value = "鏍峰搧鍚嶇О") + @ApiModelProperty("鏍峰搧鍚嶇О") + private String sampleName; + + @ExcelProperty(index = 8, value = "鏍峰搧鍨嬪彿") + @ApiModelProperty("鏍峰搧鍨嬪彿") + private String sampleModel; + + @ApiModelProperty("鏍峰搧缂栧彿") + private String sampleCode; + + // 杩涘巶 + @ApiModelProperty("杩涘巶璁㈠崟id") + private Integer enterOrderId; + + @ApiModelProperty("鎶ュ憡id") + private String enterReportId; + + @ApiModelProperty("绯荤粺鐢熸垚鎶ュ憡鍦板潃") + private String enterUrl; + + @ApiModelProperty("鎵嬪姩涓婁紶鎶ュ憡鍦板潃") + private String enterUrlS; + + // 瀛e害 + @ApiModelProperty("瀛e害璁㈠崟id") + private Integer quarterOrderId; + + @ApiModelProperty("鎶ュ憡id") + private String quarterReportId; + + @ApiModelProperty("绯荤粺鐢熸垚鎶ュ憡鍦板潃") + private String quarterUrl; + + @ApiModelProperty("鎵嬪姩涓婁紶鎶ュ憡鍦板潃") + private String quarterUrlS; + + private Integer orderState; + + @ApiModelProperty("涓嬪彂鏃堕棿") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime sendTime; + + @ApiModelProperty("濮旀墭浜�") + private String prepareUser; + + @ApiModelProperty("棰滆壊") + private String color; + + @ApiModelProperty("鏍囩鐘舵��") + private String labelStatus; + + @ApiModelProperty("鏍囩鏉″舰鐮�") + private String labelBarCode; + + @ApiModelProperty("鍒涘缓浜�") + private Integer createUser; + + @ExcelProperty(index = 9, value = "妫�楠屼汉") + @ApiModelProperty("妫�楠屼汉") + private String userName; + + @ExcelProperty(index = 10, value = "涓嬪彂鏃堕棿") + private String sendTimeString; + + @ExcelProperty(index = 14, value = "鎺ユ敹鏃堕棿") + private String receiverDateString; + + @ExcelProperty(index = 15, value = "鎶ユ鏃堕棿") + private String declareDateString; + + // 鍚堟牸鐘舵��,: 0 妫�楠屼腑, 1鍚堟牸, 2涓嶅悎鏍�, 3鏈笅鍗�,4璁╂鏀捐 + @ExcelProperty(index = 6, value = "妫�楠岀姸鎬�") + private String inspectStatusString; + + @ApiModelProperty("鎶ユ寮�濮嬫椂闂�") + private String beginDeclareDate; + + @ApiModelProperty("鎶ユ缁撴潫鏃堕棿") + private String endDeclareDate; + + @ApiModelProperty("涓嶅悎鏍兼弿杩�") + @ExcelProperty(index = 16, value = "涓嶅悎鏍兼弿杩�") + private String unqualifiedDesc; + + + @ApiModelProperty("涓嶅悎鏍奸」") + @ExcelProperty(index = 17, value = "涓嶅悎鏍奸」") + private String unqualifiedItem; + + @ApiModelProperty("鍏嶆") + private Integer isExemption; +} diff --git a/basic-server/src/main/java/com/ruoyi/inspect/dto/InsSampleReceiveDto.java b/basic-server/src/main/java/com/ruoyi/inspect/dto/InsSampleReceiveDto.java new file mode 100644 index 0000000..98b716d --- /dev/null +++ b/basic-server/src/main/java/com/ruoyi/inspect/dto/InsSampleReceiveDto.java @@ -0,0 +1,35 @@ +package com.ruoyi.inspect.dto; + +import com.ruoyi.inspect.pojo.InsSample1; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Author zhuo + * @Date 2024/10/29 + */ +@Data +public class InsSampleReceiveDto extends InsSample1 { + + @ApiModelProperty("闆朵欢鍙�") + private String partNo; + + @ApiModelProperty("鍘熸潗鏂檌d") + private Integer ifsInventoryId; + + @ApiModelProperty("鑺暟") + private String cores; + + @ApiModelProperty("鍨嬪彿鍙傛暟") + private String modelNum; + + @ApiModelProperty("瀵间綋鏉愯川") + private String conductorMaterial; + + @ApiModelProperty("瀵间綋绫诲瀷") + private String conductorType; + + @ApiModelProperty("鏄惁鏄數缂嗛厤缃�") + private String isCableTag; + +} diff --git a/basic-server/src/main/java/com/ruoyi/inspect/dto/LaboratoryDto.java b/basic-server/src/main/java/com/ruoyi/inspect/dto/LaboratoryDto.java new file mode 100644 index 0000000..59d088d --- /dev/null +++ b/basic-server/src/main/java/com/ruoyi/inspect/dto/LaboratoryDto.java @@ -0,0 +1,18 @@ +package com.ruoyi.inspect.dto; + +import lombok.Data; + +import java.util.List; + +@Data +public class LaboratoryDto { + + private String code = "[2]"; + + private String label; + + private String value; + + private List<SampleTypeDto> children; + +} diff --git a/basic-server/src/main/java/com/ruoyi/inspect/dto/ModelDto.java b/basic-server/src/main/java/com/ruoyi/inspect/dto/ModelDto.java new file mode 100644 index 0000000..5ed39bf --- /dev/null +++ b/basic-server/src/main/java/com/ruoyi/inspect/dto/ModelDto.java @@ -0,0 +1,15 @@ +package com.ruoyi.inspect.dto; + +import lombok.Data; + +@Data +public class ModelDto { + + private String code = "[5]"; + + private String label; + + private String value; + + +} diff --git a/basic-server/src/main/java/com/ruoyi/inspect/dto/PageTestObjectDto.java b/basic-server/src/main/java/com/ruoyi/inspect/dto/PageTestObjectDto.java new file mode 100644 index 0000000..f4736d5 --- /dev/null +++ b/basic-server/src/main/java/com/ruoyi/inspect/dto/PageTestObjectDto.java @@ -0,0 +1,25 @@ +package com.ruoyi.inspect.dto; + +import com.ruoyi.inspect.pojo.StructureTestObject; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Author 鎴村崜 + * @Date 2024/2/26 + */ +@Data +public class PageTestObjectDto extends StructureTestObject { + + @ApiModelProperty(value = "浜у搧") + private String product; + + @ApiModelProperty(value = "鍒涘缓浜�") + private String createUserName; + + @ApiModelProperty(value = "鏇存柊浜�") + private String updateUserName; + + @ApiModelProperty(value = "闆朵欢鍙�") + private String partNo; +} diff --git a/basic-server/src/main/java/com/ruoyi/inspect/dto/ProductDTO1.java b/basic-server/src/main/java/com/ruoyi/inspect/dto/ProductDTO1.java new file mode 100644 index 0000000..f9fa558 --- /dev/null +++ b/basic-server/src/main/java/com/ruoyi/inspect/dto/ProductDTO1.java @@ -0,0 +1,16 @@ +package com.ruoyi.inspect.dto; + +import com.ruoyi.inspect.pojo.Product; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Author zhuo + * @Date 2024/8/5 + */ +@Data +public class ProductDTO1 extends Product { + + @ApiModelProperty(value = "闆朵欢鍙�") + private String partNo; +} diff --git a/basic-server/src/main/java/com/ruoyi/inspect/dto/ProductDto.java b/basic-server/src/main/java/com/ruoyi/inspect/dto/ProductDto.java new file mode 100644 index 0000000..a1502e6 --- /dev/null +++ b/basic-server/src/main/java/com/ruoyi/inspect/dto/ProductDto.java @@ -0,0 +1,11 @@ +package com.ruoyi.inspect.dto; + +import lombok.Data; + +@Data +public class ProductDto { + + private Integer id; + + private String name; +} diff --git a/basic-server/src/main/java/com/ruoyi/inspect/dto/ResetTreeDragDTO.java b/basic-server/src/main/java/com/ruoyi/inspect/dto/ResetTreeDragDTO.java new file mode 100644 index 0000000..1fee4c7 --- /dev/null +++ b/basic-server/src/main/java/com/ruoyi/inspect/dto/ResetTreeDragDTO.java @@ -0,0 +1,26 @@ +package com.ruoyi.inspect.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Author zhuo + * @Date 2024/8/22 + */ +@Data +public class ResetTreeDragDTO { + @ApiModelProperty(value = "寮�濮嬬储寮�") + private String beginIndex; + + @ApiModelProperty(value = "缁撴潫绱㈠紩") + private String endIndex; + + @ApiModelProperty(value = "鏍囧噯缂栧彿id") + private String methodId; + + @ApiModelProperty(value = "鏁�") + private String tree; + + @ApiModelProperty(value = "妫�楠岄」琛宨d") + private String productionId; +} diff --git a/basic-server/src/main/java/com/ruoyi/inspect/dto/SampleDto.java b/basic-server/src/main/java/com/ruoyi/inspect/dto/SampleDto.java new file mode 100644 index 0000000..3db9c2f --- /dev/null +++ b/basic-server/src/main/java/com/ruoyi/inspect/dto/SampleDto.java @@ -0,0 +1,23 @@ +package com.ruoyi.inspect.dto; + +import lombok.Data; + +import java.util.List; + +@Data +public class SampleDto { + + private String code = "[4]"; + + private String label; + + private String value; + + private String partNo; + + // 鏍峰搧鑻辨枃 + private String sampleEn; + + private List<ModelDto> children; + +} diff --git a/basic-server/src/main/java/com/ruoyi/inspect/dto/SampleTypeDto.java b/basic-server/src/main/java/com/ruoyi/inspect/dto/SampleTypeDto.java new file mode 100644 index 0000000..4744706 --- /dev/null +++ b/basic-server/src/main/java/com/ruoyi/inspect/dto/SampleTypeDto.java @@ -0,0 +1,29 @@ +package com.ruoyi.inspect.dto; + +import lombok.Data; + +import java.util.List; + +@Data +public class SampleTypeDto { + + private String code = "[3]"; + + // 妫�娴嬪璞d + private Integer sampleTypeId; + + // 妫�娴嬪璞℃帓搴� + private Integer sort; + + private String label; + + private String value; + + private String partNo; + + // 瀵硅薄鑻辨枃 + private String sampleTypeEn; + + private List<SampleDto> children; + +} diff --git a/basic-server/src/main/java/com/ruoyi/inspect/dto/TestItemDto.java b/basic-server/src/main/java/com/ruoyi/inspect/dto/TestItemDto.java new file mode 100644 index 0000000..627fc66 --- /dev/null +++ b/basic-server/src/main/java/com/ruoyi/inspect/dto/TestItemDto.java @@ -0,0 +1,16 @@ +package com.ruoyi.inspect.dto; + +import lombok.Data; + +import java.util.List; + +@Data +public class TestItemDto { + + private Integer id; + + private String name; + + private List<ProductDto> children; + +} diff --git a/basic-server/src/main/java/com/ruoyi/inspect/excel/StructureTestObjectData.java b/basic-server/src/main/java/com/ruoyi/inspect/excel/StructureTestObjectData.java new file mode 100644 index 0000000..8242910 --- /dev/null +++ b/basic-server/src/main/java/com/ruoyi/inspect/excel/StructureTestObjectData.java @@ -0,0 +1,25 @@ +package com.ruoyi.inspect.excel; + +import com.alibaba.excel.annotation.ExcelProperty; +import lombok.Data; + +@Data +public class StructureTestObjectData { + @ExcelProperty(value = "鍦烘墍") + private String laboratory; + + @ExcelProperty(value = "妫�娴嬪璞�") + private String specimenName; + + @ExcelProperty(value = "妫�娴嬪璞�(EN)") + private String specimenNameEn; + + @ExcelProperty(value = "瀵硅薄浠e彿") + private String code; + + @ExcelProperty(value = "浜у搧鍚嶇О") + private String name; + + @ExcelProperty(value = "浜у搧鍚嶇О(EN)") + private String nameEn; +} diff --git a/basic-server/src/main/java/com/ruoyi/inspect/excel/StructureTestObjectListener.java b/basic-server/src/main/java/com/ruoyi/inspect/excel/StructureTestObjectListener.java new file mode 100644 index 0000000..9c3810b --- /dev/null +++ b/basic-server/src/main/java/com/ruoyi/inspect/excel/StructureTestObjectListener.java @@ -0,0 +1,38 @@ +package com.ruoyi.inspect.excel; + +import com.alibaba.excel.context.AnalysisContext; +import com.alibaba.excel.event.AnalysisEventListener; +import com.ruoyi.inspect.service.ProductService; + +import java.util.ArrayList; +import java.util.List; + +public class StructureTestObjectListener extends AnalysisEventListener<StructureTestObjectData> { + private static final int BATCH_COUNT = 1000; + List<StructureTestObjectData> list = new ArrayList<>(); + + private ProductService productService; + + public StructureTestObjectListener(ProductService productService) { + this.productService = productService; + } + + @Override + public void invoke(StructureTestObjectData data, AnalysisContext analysisContext) { + list.add(data); + if (list.size() >= BATCH_COUNT) { + save(); + list.clear(); + } + } + + @Override + public void doAfterAllAnalysed(AnalysisContext analysisContext) { + save(); + } + + + private void save() { + productService.importPartExcel(list); + } +} diff --git a/basic-server/src/main/java/com/ruoyi/inspect/mapper/CertificationMapper.java b/basic-server/src/main/java/com/ruoyi/inspect/mapper/CertificationMapper.java new file mode 100644 index 0000000..86153df --- /dev/null +++ b/basic-server/src/main/java/com/ruoyi/inspect/mapper/CertificationMapper.java @@ -0,0 +1,14 @@ +package com.ruoyi.inspect.mapper; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.inspect.pojo.Certification; +import org.apache.ibatis.annotations.Param; + +public interface CertificationMapper extends BaseMapper<Certification> { + + //鏌ヨ璧勮川鏄庣粏鍒楄〃 + IPage<Certification> getCertificationDetail(Page page, @Param("ew") QueryWrapper<Certification> ew); +} diff --git a/basic-server/src/main/java/com/ruoyi/inspect/mapper/IfsInventoryQuantityMapper.java b/basic-server/src/main/java/com/ruoyi/inspect/mapper/IfsInventoryQuantityMapper.java new file mode 100644 index 0000000..8ca353a --- /dev/null +++ b/basic-server/src/main/java/com/ruoyi/inspect/mapper/IfsInventoryQuantityMapper.java @@ -0,0 +1,42 @@ +package com.ruoyi.inspect.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.ruoyi.inspect.dto.IfsInventoryQuantityDto; +import com.ruoyi.inspect.pojo.IfsInventoryQuantity; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.time.LocalDateTime; +import java.util.List; + +@Mapper +public interface IfsInventoryQuantityMapper extends BaseMapper<IfsInventoryQuantity> { + + /** + * 鎵撳嵃鏍囩鏌ヨ + * @param ids + * @return + */ + List<IfsInventoryQuantityDto> printLabel(@Param("ids") List<Integer> ids); + + /** + * + * @param ifsInventoryId + * @return + */ + int selectReportCountById(@Param("ifsInventoryId") Integer ifsInventoryId); + + + /** + * 鏌ヨ褰撳墠瀛e害鏄惁鍑虹幇杩囪鏉愭枡 + * @param partDetail 鍨嬪彿 + * @param supplierName 渚涘簲鍟嗗悕绉� + * @param startOfNextQuarter 瀛e害寮�濮嬫椂闂� + * @param endOfQuarter 瀛e害缁撴潫鏃堕棿 + * @return + */ + Integer selectIsFirst(@Param("partDetail") String partDetail, + @Param("supplierName") String supplierName, + @Param("startOfNextQuarter") LocalDateTime startOfNextQuarter, + @Param("endOfQuarter") LocalDateTime endOfQuarter); +} diff --git a/basic-server/src/main/java/com/ruoyi/inspect/mapper/LaboratoryMapper.java b/basic-server/src/main/java/com/ruoyi/inspect/mapper/LaboratoryMapper.java new file mode 100644 index 0000000..6be3f72 --- /dev/null +++ b/basic-server/src/main/java/com/ruoyi/inspect/mapper/LaboratoryMapper.java @@ -0,0 +1,20 @@ +package com.ruoyi.inspect.mapper; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.inspect.pojo.Laboratory; +import org.apache.ibatis.annotations.Param; + +/** + * 瀹為獙瀹ょ鐞�(Laboratory)琛ㄦ暟鎹簱璁块棶灞� + */ +public interface LaboratoryMapper extends BaseMapper<Laboratory> { + + IPage<Laboratory> selectItemParameter(Page page, @Param("ew") QueryWrapper<Laboratory> ew); + + Object obtainItemParameterList(@Param("page") Page page, @Param("ew") QueryWrapper<Laboratory> ew); + +} + diff --git a/basic-server/src/main/java/com/ruoyi/inspect/mapper/ProductMapper.java b/basic-server/src/main/java/com/ruoyi/inspect/mapper/ProductMapper.java new file mode 100644 index 0000000..d6e9def --- /dev/null +++ b/basic-server/src/main/java/com/ruoyi/inspect/mapper/ProductMapper.java @@ -0,0 +1,24 @@ +package com.ruoyi.inspect.mapper; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.inspect.dto.ProductDTO1; +import com.ruoyi.inspect.pojo.Product; +import org.apache.ibatis.annotations.Param; + +/** +* @author z1292 +* @description 閽堝琛ㄣ�恜roduct(浜у搧琛�)銆戠殑鏁版嵁搴撴搷浣淢apper +* @createDate 2024-04-26 01:11:02 +* @Entity com.ruoyi.basic.pojo.Product +*/ +public interface ProductMapper extends BaseMapper<Product> { + + IPage<Product> selectProductListByObjectId(Page page, @Param("ew") QueryWrapper<ProductDTO1> ew, @Param("partNo") String partNo); +} + + + + diff --git a/basic-server/src/main/java/com/ruoyi/inspect/mapper/ProductPartMapper.java b/basic-server/src/main/java/com/ruoyi/inspect/mapper/ProductPartMapper.java new file mode 100644 index 0000000..e45e3f5 --- /dev/null +++ b/basic-server/src/main/java/com/ruoyi/inspect/mapper/ProductPartMapper.java @@ -0,0 +1,13 @@ +package com.ruoyi.inspect.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.ruoyi.inspect.pojo.ProductPart; +import org.apache.ibatis.annotations.Param; + +public interface ProductPartMapper extends BaseMapper<ProductPart> { + IPage<ProductPart> selectListByProductId(IPage<ProductPart> page, + @Param("ew") QueryWrapper<ProductPart> ew, + @Param("productId") Integer productId); +} diff --git a/basic-server/src/main/java/com/ruoyi/inspect/mapper/ProductSupplierDensityMapper.java b/basic-server/src/main/java/com/ruoyi/inspect/mapper/ProductSupplierDensityMapper.java new file mode 100644 index 0000000..391f77d --- /dev/null +++ b/basic-server/src/main/java/com/ruoyi/inspect/mapper/ProductSupplierDensityMapper.java @@ -0,0 +1,22 @@ +package com.ruoyi.inspect.mapper; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.inspect.pojo.ProductSupplierDensity; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +/** + * 浜у搧鍘傚瀵嗗害缁戝畾琛� + * + * @author zhuo + * @since 2024-09-19 + */ +@Mapper +public interface ProductSupplierDensityMapper extends BaseMapper<ProductSupplierDensity> { + + IPage<ProductSupplierDensity> selectListByProductId(@Param("page") Page page, @Param("ew") QueryWrapper<ProductSupplierDensity> ew, @Param("productId") Integer productId); +} + diff --git a/basic-server/src/main/java/com/ruoyi/inspect/mapper/SealMapper.java b/basic-server/src/main/java/com/ruoyi/inspect/mapper/SealMapper.java new file mode 100644 index 0000000..1ebdeb0 --- /dev/null +++ b/basic-server/src/main/java/com/ruoyi/inspect/mapper/SealMapper.java @@ -0,0 +1,17 @@ +package com.ruoyi.inspect.mapper; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.inspect.pojo.Laboratory; +import com.ruoyi.inspect.pojo.Seal; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +public interface SealMapper extends BaseMapper<Seal> { + IPage<Seal>selectSeal(Page page, @Param("ew") QueryWrapper<Seal> ew); + List<Laboratory> selectLaboratory (Integer labId); + +} diff --git a/basic-server/src/main/java/com/ruoyi/inspect/mapper/StandardMethodListMapper.java b/basic-server/src/main/java/com/ruoyi/inspect/mapper/StandardMethodListMapper.java new file mode 100644 index 0000000..540c4ab --- /dev/null +++ b/basic-server/src/main/java/com/ruoyi/inspect/mapper/StandardMethodListMapper.java @@ -0,0 +1,40 @@ +package com.ruoyi.inspect.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.ruoyi.inspect.pojo.StandardMethodList; +import com.ruoyi.inspect.pojo.StandardProductList; +import org.apache.ibatis.annotations.Param; + +import java.util.List; +import java.util.Map; + +/** +* @author Administrator +* @description 閽堝琛ㄣ�恠tandard_method_list(鏍囧噯鏍戜笅鐨勬爣鍑嗗垪琛�)銆戠殑鏁版嵁搴撴搷浣淢apper +* @createDate 2024-03-04 13:44:04 +* @Entity com.ruoyi.basic.pojo.StandardMethodList +*/ +public interface StandardMethodListMapper extends BaseMapper<StandardMethodList> { + + Map<String, String> selectStandardMethodById(Integer id); + + String selectUserById(Integer id); + + List<StandardMethodList> selectStandardMethodLists(String tree); + + List<StandardMethodList> selectStandardMethodListsByNull(String tree); + + List<StandardMethodList> selectStandardMethodLists3(String tree); + + List<StandardMethodList> selectStandardMethodLists2(@Param("data1") String data1, @Param("data2") String data2, @Param("data3") String data3, @Param("data4") String data4, @Param("data5") String data5); + + List<StandardProductList> selectParameterList(String code); + + List<StandardMethodList> selectListEnum(); + + Integer getStandardMethodId(String code); +} + + + + diff --git a/basic-server/src/main/java/com/ruoyi/inspect/mapper/StandardMethodMapper.java b/basic-server/src/main/java/com/ruoyi/inspect/mapper/StandardMethodMapper.java new file mode 100644 index 0000000..93795d4 --- /dev/null +++ b/basic-server/src/main/java/com/ruoyi/inspect/mapper/StandardMethodMapper.java @@ -0,0 +1,26 @@ +package com.ruoyi.inspect.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.ruoyi.framework.mybatis_config.MyBaseMapper; +import com.ruoyi.inspect.pojo.StandardMethod; +import org.apache.ibatis.annotations.Param; + +/** +* @author Administrator +* @description 閽堝琛ㄣ�恠tandard_method(鏍囧噯鏂规硶)銆戠殑鏁版嵁搴撴搷浣淢apper +* @createDate 2024-03-03 19:21:41 +* @Entity com.ruoyi.basic.pojo.StandardMethod +*/ +public interface StandardMethodMapper extends MyBaseMapper<StandardMethod> { + + IPage<StandardMethod> selectStandardMethodList(Page page, @Param("ew") QueryWrapper<StandardMethod> ew); + + StandardMethod selectStandMethodById(Integer id); + +} + + + + diff --git a/basic-server/src/main/java/com/ruoyi/inspect/mapper/StandardProductListMapper.java b/basic-server/src/main/java/com/ruoyi/inspect/mapper/StandardProductListMapper.java new file mode 100644 index 0000000..1b0e867 --- /dev/null +++ b/basic-server/src/main/java/com/ruoyi/inspect/mapper/StandardProductListMapper.java @@ -0,0 +1,69 @@ +package com.ruoyi.inspect.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.ruoyi.inspect.pojo.StandardProductList; +import org.apache.ibatis.annotations.Param; + +import java.util.List; +import java.util.Map; + +/** +* @author Administrator +* @description 閽堝琛ㄣ�恠tandard_product_list(鏍囧噯鏍戜笅鐨勬楠岄」鐩�)銆戠殑鏁版嵁搴撴搷浣淢apper +* @createDate 2024-03-05 10:33:29 +* @Entity com.ruoyi.basic.pojo.StandardProductList +*/ +public interface StandardProductListMapper extends BaseMapper<StandardProductList> { + + IPage<StandardProductList> standardProductListIPage(@Param("id") Integer id, @Param("tree") String tree, IPage<StandardProductList> page, @Param("laboratory") String laboratory, @Param("insItem") String insItem, @Param("insItems") String insItems); + + StandardProductList getOne(@Param("standardMethodListId") Integer standardMethodListId, @Param("inspectionItem") String inspectionItem, @Param("sample") String sample, @Param("inspectionItemSubclass") String inspectionItemSubclass, @Param("model") String model, @Param("inspectionItemClass") String inspectionItemClass); + + List<StandardProductList> selectDetail(@Param("standardMethodListId") Integer standardMethodListId, @Param("state") int state, @Param("model") String model, @Param("isCableTag") String isCableTag); + + List<StandardProductList> selectDetail2(@Param("standardMethodListId") Integer standardMethodListId, @Param("state") int state, @Param("tree") String tree, @Param("isCableTag") String isCableTag); + + /** + * 鏌ヨ闆朵欢棰滆壊 + * @param partNo + * @return + */ + Map<String, String> selectPartColor(@Param("partNo") String partNo); + + /** + * 鍖洪棿淇敼 + * @param productList + * @return + */ + void updateSection(@Param("productList") StandardProductList productList); + + + /** + * 浠庝笂寰�涓嬩慨鏀归『搴� + * @param beginIndex 寮�濮嬩綅缃� + * @param endIndex 缁撴潫浣嶇疆 + * @param methodId 鏍囧噯id + * @param tree 鏍� + */ + void updateSortUp(@Param("beginIndex") Integer beginIndex, + @Param("endIndex") Integer endIndex, + @Param("methodId") Integer methodId, + @Param("tree") String tree); + + /** + * 浠庝笅缃戜笂淇敼椤哄簭 + * @param beginIndex + * @param endIndex + * @param methodId + * @param tree + */ + void updateSortDown(@Param("beginIndex") Integer beginIndex, + @Param("endIndex") Integer endIndex, + @Param("methodId") Integer methodId, + @Param("tree") String tree); +} + + + + diff --git a/basic-server/src/main/java/com/ruoyi/inspect/mapper/StandardProductListSupplierAskMapper.java b/basic-server/src/main/java/com/ruoyi/inspect/mapper/StandardProductListSupplierAskMapper.java new file mode 100644 index 0000000..23ffae9 --- /dev/null +++ b/basic-server/src/main/java/com/ruoyi/inspect/mapper/StandardProductListSupplierAskMapper.java @@ -0,0 +1,18 @@ +package com.ruoyi.inspect.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.ruoyi.inspect.pojo.StandardProductListSupplierAsk; +import org.apache.ibatis.annotations.Mapper; + +/** + * 妫�楠岄」鐩巶瀹跺瘑搴︾粦瀹氳〃 + * + * @author zhuo + * @since 2024-09-23 + */ +@Mapper +public interface StandardProductListSupplierAskMapper extends BaseMapper<StandardProductListSupplierAsk> { + + +} + diff --git a/basic-server/src/main/java/com/ruoyi/inspect/mapper/StandardTemplateMapper.java b/basic-server/src/main/java/com/ruoyi/inspect/mapper/StandardTemplateMapper.java new file mode 100644 index 0000000..0f39a84 --- /dev/null +++ b/basic-server/src/main/java/com/ruoyi/inspect/mapper/StandardTemplateMapper.java @@ -0,0 +1,32 @@ +package com.ruoyi.inspect.mapper; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.inspect.pojo.StandardTemplate; +import org.apache.ibatis.annotations.Param; + +/** +* @author Administrator +* @description 閽堝琛ㄣ�恠tandard_template(鏍囧噯妯℃澘)銆戠殑鏁版嵁搴撴搷浣淢apper +* @createDate 2024-03-11 13:47:52 +* @Entity com.ruoyi.basic.pojo.StandardTemplate +*/ +public interface StandardTemplateMapper extends BaseMapper<StandardTemplate> { + + IPage<StandardTemplate> selectStandardTemplatePageList(Page page, @Param("ew") QueryWrapper<StandardTemplate> ew); + + StandardTemplate getStandTempIdByName(String name); + + /** + * 鏌ヨ鍘嬬缉鍚庣殑鏁版嵁 + * @param templateId + * @return + */ + String selectCompressThing(Integer templateId); +} + + + + diff --git a/basic-server/src/main/java/com/ruoyi/inspect/mapper/StandardTreeMapper.java b/basic-server/src/main/java/com/ruoyi/inspect/mapper/StandardTreeMapper.java new file mode 100644 index 0000000..6a91a68 --- /dev/null +++ b/basic-server/src/main/java/com/ruoyi/inspect/mapper/StandardTreeMapper.java @@ -0,0 +1,92 @@ +package com.ruoyi.inspect.mapper; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.inspect.dto.*; +import com.ruoyi.inspect.pojo.IfsInventoryQuantity; +import com.ruoyi.inspect.pojo.StandardMethodList; +import com.ruoyi.inspect.pojo.StandardProductList; +import com.ruoyi.inspect.pojo.StandardTree; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * @author Administrator + * @description 閽堝琛ㄣ�恠tandard_tree(鏍囧噯鏍�)銆戠殑鏁版嵁搴撴搷浣淢apper + * @createDate 2024-03-01 15:06:44 + * @Entity com.ruoyi.basic.pojo.StandardTree + */ +public interface StandardTreeMapper extends BaseMapper<StandardTree> { + + List<FactoryDto> selectStandardTreeList(); + + List<StandardTree> selectStandardTreeList2(String sampleType); + + StandardProductList selectStandardProductById(Integer id); + + List<StandardProductList> getStandardProductListBySample(String sampleType); + + List<StandardMethodList> getStandardMethodListBySample(String sampleType); + + List<StandardProductList> selectStandardProductListByTree(String tree, String sample, String model, String trees, String laboratory); + + List<StandardProductList> selectStandardProductListByTree2(String tree, String sample, String model, String trees, String laboratory); + + + List<SampleTypeDto> getStandardTree2(); + + List<SampleDto> getStandardTree3(String sampleType); + + + String getLaboratory(String str); + + Integer getStructureItemParameterId(String sampleType, String item, String itemChild, String inspectionItemClass); + + List<ProductDto> selectPList(String name); + + String selSample(String sample); + + List<FactoryDto> selectStandardTreeListByPartNo(@Param("partNo") String partNo); + + IPage<IfsInventoryQuantity> selectIfsPage(IPage<IfsInventoryQuantity> page, + @Param("ew") QueryWrapper<IfsInventoryQuantity> ew); + + IPage<IfsInventoryQuantityDto> getIfsByStateOne(IPage<IfsInventoryQuantityDto> page, + @Param("ew") QueryWrapper<IfsInventoryQuantityDto> ew); + + + IPage<IfsInventoryQuantityCheckDto> selectIfsInventoryQuantity(Page<IfsInventoryQuantityCheckDto> page, @Param("ew")QueryWrapper<IfsInventoryQuantityCheckDto> ew); + + /** + * 鍘熸潗鎶ユ鏌ヨ鍏ㄩ儴(鍒嗛〉) + * @param page + * @param ew + * @return + */ + IPage<IfsInventoryQuantitySupplierDto> getIfsByOver(Page<IfsInventoryQuantitySupplierDto> page, @Param("ew") QueryWrapper<IfsInventoryQuantitySupplierDto> ew, @Param("beginDeclareDate") String beginDeclareDate, @Param("endDeclareDate")String endDeclareDate); + + /** + * 鍘熸潗鎶ユ鏌ヨ鍏ㄩ儴(鏃犲垎椤�) + * @param ew + * @return + */ + List<IfsInventoryQuantitySupplierDto> getIfsByOverList(@Param("ew") QueryWrapper<IfsInventoryQuantitySupplierDto> ew, @Param("beginDeclareDate") String beginDeclareDate, @Param("endDeclareDate")String endDeclareDate); + + /** + * 鍘熸潗鏂欐煡璇㈠搴︽楠� + * @param page + * @param + * @param beginDeclareDate + * @param endDeclareDate + * @return + */ + IPage<IfsInventoryQuantitySupplierDto> getIfsByQuarter(Page<IfsInventoryQuantitySupplierDto> page, @Param("ew") QueryWrapper<IfsInventoryQuantitySupplierDto> ew, @Param("beginDeclareDate") String beginDeclareDate, @Param("endDeclareDate")String endDeclareDate); + +} + + + + diff --git a/basic-server/src/main/java/com/ruoyi/inspect/mapper/StructureItemParameterMapper.java b/basic-server/src/main/java/com/ruoyi/inspect/mapper/StructureItemParameterMapper.java new file mode 100644 index 0000000..d32b7c4 --- /dev/null +++ b/basic-server/src/main/java/com/ruoyi/inspect/mapper/StructureItemParameterMapper.java @@ -0,0 +1,30 @@ +package com.ruoyi.inspect.mapper; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.inspect.dto.TestItemDto; +import com.ruoyi.inspect.pojo.StructureItemParameter; +import org.apache.ibatis.annotations.Param; + +import java.util.List; +import java.util.Map; + +/** + * 妫�楠岄」鐩弬鏁�(StructureItemParameter)琛ㄦ暟鎹簱璁块棶灞� + * + * @author makejava + * @since 2024-02-26 16:21:17 + */ +public interface StructureItemParameterMapper extends BaseMapper<StructureItemParameter> { + + IPage<StructureItemParameter> selectItemParameterList(Page page, @Param("ew") QueryWrapper<StructureItemParameter> ew); + + List<Map<String, Object>> getInsProduction(); + + List<TestItemDto> getItemTree(); + + int removeNoSample(@Param("sample") String sample); +} + diff --git a/basic-server/src/main/java/com/ruoyi/inspect/mapper/StructureTestObjectMapper.java b/basic-server/src/main/java/com/ruoyi/inspect/mapper/StructureTestObjectMapper.java new file mode 100644 index 0000000..84bf87a --- /dev/null +++ b/basic-server/src/main/java/com/ruoyi/inspect/mapper/StructureTestObjectMapper.java @@ -0,0 +1,22 @@ +package com.ruoyi.inspect.mapper; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.inspect.dto.PageTestObjectDto; +import com.ruoyi.inspect.pojo.StructureTestObject; +import org.apache.ibatis.annotations.Param; + +/** + * 妫�娴嬪璞�(StructureTestObject)琛ㄦ暟鎹簱璁块棶灞� + * + * @author makejava + * @since 2024-02-26 17:36:41 + */ +public interface StructureTestObjectMapper extends BaseMapper<StructureTestObject> { + + IPage<PageTestObjectDto> selectTestObjectList(Page page, @Param("ew") QueryWrapper<PageTestObjectDto> ew, @Param("partNo") String partNo); + +} + diff --git a/basic-server/src/main/java/com/ruoyi/inspect/mapper/StructureTestObjectPartMapper.java b/basic-server/src/main/java/com/ruoyi/inspect/mapper/StructureTestObjectPartMapper.java new file mode 100644 index 0000000..29a4fc3 --- /dev/null +++ b/basic-server/src/main/java/com/ruoyi/inspect/mapper/StructureTestObjectPartMapper.java @@ -0,0 +1,21 @@ +package com.ruoyi.inspect.mapper; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.inspect.pojo.StructureTestObjectPart; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +/** + * 妫�楠屽璞¢浂浠惰〃 + * + * @author zhuo + * @since 2024-08-07 + */ +@Mapper +public interface StructureTestObjectPartMapper extends BaseMapper<StructureTestObjectPart> { + IPage<StructureTestObjectPart> selectListByTestObjectId(Page page, @Param("ew") QueryWrapper<StructureTestObjectPart> structureTestObjectPartQueryWrapper, @Param("testObjectId") Integer testObjectId); +} + diff --git a/basic-server/src/main/java/com/ruoyi/inspect/pojo/Certification.java b/basic-server/src/main/java/com/ruoyi/inspect/pojo/Certification.java new file mode 100644 index 0000000..b20050e --- /dev/null +++ b/basic-server/src/main/java/com/ruoyi/inspect/pojo/Certification.java @@ -0,0 +1,72 @@ +package com.ruoyi.inspect.pojo; + +import com.baomidou.mybatisplus.annotation.*; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.time.LocalDateTime; + +@TableName(value = "certification") +@Data +public class Certification implements Serializable { + + @ApiModelProperty(value = "涓婚敭") + @TableId(type = IdType.AUTO) + private Integer id; + + @ApiModelProperty(value = "璧勮川鍚嶇О") + private String name; + + @ApiModelProperty(value = "璧勮川缂栫爜") + private String code; + + @ApiModelProperty(value = "棰佸彂鏈烘瀯") + private String organization; + + @ApiModelProperty(value = "璧勮川璇存槑") + private String explanation; + + @ApiModelProperty(value = "棣栨棰佸彂鏃堕棿") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime firstIssuanceDate; + + @ApiModelProperty(value = "鏈�杩戦鍙戞椂闂�") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime latestIssuanceDate; + + + + @ApiModelProperty(value = "鍒版湡棰佸彂鏃堕棿") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime expireTime; + + + @ApiModelProperty(value = "棰佸竷鏃ユ湡") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime dateOfIssuance; + + @ApiModelProperty(value = "鍒涘缓浜�") + @TableField(fill = FieldFill.INSERT) + private Integer createUser; + + + @ApiModelProperty(value = "鏇存柊浜�") + private String createUserName; + + @ApiModelProperty(value = "淇敼浜篿d") + @TableField(fill = FieldFill.INSERT_UPDATE) + private Integer updateUser; + + + @TableField(fill = FieldFill.INSERT_UPDATE) + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime updateTime; + + @ApiModelProperty(value = "璧勮川鍥剧墖鍦板潃") + private String imageUrl; + + @ApiModelProperty(value = "璧勮川闄勪欢鍦板潃") + private String fileUrl; +} diff --git a/basic-server/src/main/java/com/ruoyi/inspect/pojo/IfsInventoryQuantity.java b/basic-server/src/main/java/com/ruoyi/inspect/pojo/IfsInventoryQuantity.java new file mode 100644 index 0000000..d84b299 --- /dev/null +++ b/basic-server/src/main/java/com/ruoyi/inspect/pojo/IfsInventoryQuantity.java @@ -0,0 +1,210 @@ +package com.ruoyi.inspect.pojo; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.time.LocalDateTime; + +@Data +@TableName("ifs_inventory_quantity") +@ExcelIgnoreUnannotated +public class IfsInventoryQuantity implements Serializable { + @TableId(type = IdType.AUTO) + private Integer id; + + + @ApiModelProperty("鍩�") + private String contract; + + @ExcelProperty(index = 13, value = "璁㈠崟鍙�") + @ApiModelProperty("璁㈠崟鍙�") + private String orderNo; + + @ApiModelProperty("琛屽彿") + private String lineNo; + + @ApiModelProperty("涓嬭揪鍙�") + private String releaseNo; + + @ApiModelProperty("鎺ユ敹鍙�") + private Integer receiptNo; + + @ExcelProperty(index = 3, value = "闆朵欢鍙�") + @ApiModelProperty("闆朵欢鍙�") + private String partNo; + + @ExcelProperty(index = 4, value = "闆朵欢鎻忚堪") + @ApiModelProperty("闆朵欢鎻忚堪") + private String partDesc; + + @ApiModelProperty("鐘舵�佹弿杩�(IFS鍘熸湰鎷夊彇鐨勭姸鎬�)") + private String status; + + @ApiModelProperty("鐘舵��(IFS鍘熸湰鎷夊彇鐨勭姸鎬�)") + private String statusDb; + + @ExcelProperty(index = 11, value = "鎶佃揪鐨勯噰璐暟閲�") + @ApiModelProperty("鎶佃揪鐨勯噰璐暟閲�") + private BigDecimal qtyArrived; + + @ApiModelProperty("宸叉楠岀殑璐拱鏁伴噺") + private BigDecimal qtyInspected; + + @ApiModelProperty("瑕佹楠岀殑閲囪喘鏁伴噺") + private BigDecimal qtyToInspect; + + @ApiModelProperty("渚涘簲鍟嗙紪鍙�") + private String supplierId; + + @ExcelProperty(index = 5, value = "渚涘簲鍟嗗悕绉�") + @ApiModelProperty("渚涘簲鍟嗗悕绉�") + private String supplierName; + + @ApiModelProperty("鎶佃揪鐨勫簱瀛樻暟閲�") + private BigDecimal invQtyInStore; + + @ApiModelProperty("鎶佃揪鐨勯噰璐暟閲�") + private BigDecimal purQtyInStore; + + @ApiModelProperty("閰嶇疆鏍囪瘑") + private String configurationId; + + @ApiModelProperty("鎵瑰彿") + private String lotBatchNo; + + @ApiModelProperty("wdr鍙�") + private String waivDevRejNo; + + @ApiModelProperty("娲诲姩搴忓垪") + private Integer activitySeq; + + @ApiModelProperty("搴忓垪鍙�") + private String serialNo; + + @ApiModelProperty("搴撲綅鍙�") + private String locationNo; + + @ApiModelProperty("鐗堟湰鍙�") + private String engChgLevel; + + @ApiModelProperty("鎺ユ敹浜�") + private String receiver; + + @ApiModelProperty("鎺ユ敹浜哄鍚�") + private String receiverName; + + @ApiModelProperty("閲囪喘鍛�") + private String buyerCode; + + @ApiModelProperty("閲囪喘鍛樺鍚�") + private String buyerName; + + @ApiModelProperty("瀹為檯鍒拌揣鏃ユ湡") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + private LocalDateTime arriveDate; + + @ApiModelProperty("瀹為檯浜よ揣鏃ユ湡") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + private LocalDateTime deliveryDate; + + @ApiModelProperty("鐢熶骇鏃ユ湡") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + private LocalDateTime productDate; + + @ApiModelProperty("澶辨晥鏃ユ湡") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + private LocalDateTime invalidDate; + + + @ApiModelProperty("瀹℃壒鏃ユ湡") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + private LocalDateTime approvedDate; + + @ApiModelProperty("閲囪喘鐢宠鍒涘缓浜�") + private String reqCeater; + + @ApiModelProperty("閲囪喘鐢宠鍒涘缓浜哄鍚�") + private String reqCeaterName; + + @ApiModelProperty("閲囪喘璁㈠崟琛屽娉�") + private String lineRemarks; + + @ExcelProperty(index = 12, value = "鍗曚綅") + @ApiModelProperty("鍗曚綅") + private String buyUnitMeas; + + @ApiModelProperty("鏄惁涓篿fs鎷夊彇,0 鍚�, 1鏄�") + private Integer isSource; + + private Integer number; + + + @ApiModelProperty("鐘舵��: 0:寰呮姤妫�, 1:寰呮楠�, :宸插鏍�") + private Integer state; + + @ApiModelProperty("鎺ユ敹鏃堕棿") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + private LocalDateTime receiverDate; + + @ApiModelProperty("鏄惁涓洪娆″嚭鐜� 0 鍚� 1 鏄�") + private Integer isFirst; + + @ApiModelProperty("鐩爣搴撲綅鍙�") + private String toLocation; + + @ApiModelProperty("鏄惁鏄姤妫� 0 鍚� 1 鏄�") + private Integer isInspect; + + @ApiModelProperty("鎶ユ浜�") + private String declareUser; + + + @ApiModelProperty("鎶ユ浜篿d") + private Integer declareUserId; + + @ApiModelProperty("鍗曚綅") + private String partUnit; + + @ApiModelProperty("浜т笟閾炬娴嬫暟鎹�") + private String industryChain; + + @ApiModelProperty("鎶ユ鏃堕棿") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + private LocalDateTime declareDate; + + @ApiModelProperty("鏄惁鍗″彲浠ュ搴︽楠� 0 鍚� 1 鏄�") + private Integer isQuarter; + + // 淇敼鍚庣殑 + @ExcelProperty(index = 1, value = "鎵瑰彿") + @ApiModelProperty("鎵瑰彿") + private String updateBatchNo; + + @ApiModelProperty("鏄惁缁撴潫, 0鍚�, 1鏄�") + private Integer isFinish; + + @ApiModelProperty("鏄惁鏄摐鍗曚笣, 0鍚�, 1鏄�") + private Integer isCopper; + + // 鍚堟牸鐘舵��,: 0 妫�楠屼腑, 1鍚堟牸, 2涓嶅悎鏍�, 3鏈笅鍗�,4璁╂鏀捐 + @ApiModelProperty("妫�楠岀姸鎬�") + private Integer inspectStatus; + + @ApiModelProperty("鏄惁閲囪喘璁㈠崟鐧昏: 0鍚�, 1:鏄�") + private Integer isRegister; + + @ApiModelProperty("鏄惁淇敼杩囨壒鍙�: 0鍚�, 1:鏄�") + private Integer isUpdateBatch; + + // 鏄惁鏄繃鏈熸潗鏂�: 0鍚�, 1:鏄�" + @ApiModelProperty("鐗╂枡绫诲瀷") + private Integer isExpire; +} diff --git a/basic-server/src/main/java/com/ruoyi/inspect/pojo/InsSample1.java b/basic-server/src/main/java/com/ruoyi/inspect/pojo/InsSample1.java new file mode 100644 index 0000000..79b048f --- /dev/null +++ b/basic-server/src/main/java/com/ruoyi/inspect/pojo/InsSample1.java @@ -0,0 +1,123 @@ +package com.ruoyi.inspect.pojo; + +import com.baomidou.mybatisplus.annotation.*; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + * 妫�楠屾牱鍝� + * @TableName ins_sample + */ +@TableName(value ="ins_sample") +@Data +public class InsSample1 implements Serializable { + /** + * + */ + @TableId(type = IdType.AUTO) + private Integer id; + + /** + * 1锛氬悎鏍� 0锛氫笉鍚堟牸 + */ + private Integer insResult; + + /** + * 澶栭敭锛歩ns_order琛╥d + */ + private Integer insOrderId; + + /** + * 閰嶅鏍峰搧鍨嬪彿 + */ + private String joinModel; + + /** + * 閰嶅鏍峰搧鍚嶇О + */ + private String joinName; + + /** + * 閰嶅鏍峰搧鏁伴噺 + */ + private Integer joinNum; + + /** + * 鏍峰搧缂栫爜 + */ + private String sampleCode; + + /** + * 妫�楠屽伐鍘� + */ + private String factory; + + /** + * 瀹為獙瀹ゅ悕绉� + */ + private String laboratory; + + /** + * 鏍峰搧绫诲瀷 + */ + private String sampleType; + + /** + * 鏍峰搧鍚嶇О + */ + private String sample; + + /** + * 瑙勬牸鍨嬪彿 + */ + private String model; + + /** + * 妫�楠岀姸鎬�(0锛氬緟妫�楠�1:妫�楠屼腑 2:宸叉楠�3锛氬緟澶嶆牳4锛氬鏍告湭閫氳繃5锛氬鏍搁�氳繃) + */ + private Integer insState; + + /** + * 澶囨敞 + */ + private String remark; + + private Integer standardMethodListId; + + @ApiModelProperty("鏍峰搧鍗曚綅") + private String unit; + + private Integer cellId; + + @TableField(fill = FieldFill.INSERT) + private Integer createUser; + + @ApiModelProperty("鍒涘缓鏃堕棿") + @TableField(fill = FieldFill.INSERT) + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime createTime; + + @TableField(fill = FieldFill.INSERT_UPDATE) + private Integer updateUser; + + @ApiModelProperty("淇敼鏃堕棿") + @TableField(fill = FieldFill.INSERT_UPDATE) + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime updateTime; + + private Integer parentId; + + @ApiModelProperty("鏁伴噺") + private Integer quantity; + + @ApiModelProperty("鐗规畩鏍囧噯鏂规硶") + private String specialStandardMethod; + + @TableField(select = false,exist = false) + private Integer num=1; + +} diff --git a/basic-server/src/main/java/com/ruoyi/inspect/pojo/Laboratory.java b/basic-server/src/main/java/com/ruoyi/inspect/pojo/Laboratory.java new file mode 100644 index 0000000..ac72303 --- /dev/null +++ b/basic-server/src/main/java/com/ruoyi/inspect/pojo/Laboratory.java @@ -0,0 +1,62 @@ +package com.ruoyi.inspect.pojo; + +import com.baomidou.mybatisplus.annotation.*; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + * 瀹為獙瀹ょ鐞�(Laboratory)琛ㄥ璞� + */ +@TableName(value = "laboratory") +@Data +@NoArgsConstructor +public class Laboratory implements Serializable { + @ApiModelProperty(value = "涓婚敭") + @TableId(type = IdType.AUTO) + private Integer id; + + @ApiModelProperty(value = "瀹為獙瀹ゅ悕绉�") + private String laboratoryName; + + @ApiModelProperty(value = "鍦烘墍缂栫爜") + private String laboratoryNumber; + + @ApiModelProperty(value = "瀹為獙瀹や唬鍙�") + private String laboratoryCode; + + @ApiModelProperty(value = "璐熻矗浜虹數璇�") + private String phoneNumber; + + @ApiModelProperty(value = "璐熻矗浜�") + @TableField(fill = FieldFill.INSERT) + private String head; + + @ApiModelProperty(value = "鍦板潃") + private String address; + + @ApiModelProperty(value = "鍒涘缓浜�") + @TableField(fill = FieldFill.INSERT) + private Integer createUser; + + @ApiModelProperty(value = "鍒涘缓浜�") + private String createUserName; + + @ApiModelProperty(value = "淇敼浜篿d") + @TableField(fill = FieldFill.INSERT_UPDATE) + private Integer updateUser; + + @ApiModelProperty(value = "鍒涘缓鏃堕棿") + @TableField(fill = FieldFill.INSERT) + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime createTime; + + @ApiModelProperty(value = "鏇存柊鏃堕棿") + @TableField(fill = FieldFill.INSERT_UPDATE) + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime updateTime; +} diff --git a/basic-server/src/main/java/com/ruoyi/inspect/pojo/Product.java b/basic-server/src/main/java/com/ruoyi/inspect/pojo/Product.java new file mode 100644 index 0000000..1d8f47f --- /dev/null +++ b/basic-server/src/main/java/com/ruoyi/inspect/pojo/Product.java @@ -0,0 +1,57 @@ +package com.ruoyi.inspect.pojo; + +import com.baomidou.mybatisplus.annotation.*; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + * 浜у搧琛� + * @TableName product + */ +@TableName(value ="product") +@Data +public class Product implements Serializable { + /** + * + */ + @TableId(type = IdType.AUTO) + private Integer id; + + /** + * 浜у搧鍚嶇О + */ + private String name; + + /** + * 浜у搧鍚嶇ОEN + */ + private String nameEn; + + @ApiModelProperty(value = "鍒涘缓浜篿d") + @TableField(fill = FieldFill.INSERT) + private Integer createUser; + + + @ApiModelProperty(value = "淇敼浜篿d") + @TableField(fill = FieldFill.INSERT_UPDATE) + private Integer updateUser; + + @ApiModelProperty(value = "鍒涘缓鏃堕棿") + @TableField(fill = FieldFill.INSERT) + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime createTime; + + @ApiModelProperty(value = "鏇存柊鏃堕棿") + @TableField(fill = FieldFill.INSERT_UPDATE) + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime updateTime; + + /** + * 澶栭敭锛歴tructure_test_object琛╥d + */ + private Integer objectId; +} diff --git a/basic-server/src/main/java/com/ruoyi/inspect/pojo/ProductPart.java b/basic-server/src/main/java/com/ruoyi/inspect/pojo/ProductPart.java new file mode 100644 index 0000000..f7eef84 --- /dev/null +++ b/basic-server/src/main/java/com/ruoyi/inspect/pojo/ProductPart.java @@ -0,0 +1,49 @@ +package com.ruoyi.inspect.pojo; + +import com.baomidou.mybatisplus.annotation.*; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.time.LocalDateTime; + +@Data +@TableName("product_part") +public class ProductPart implements Serializable { + + @TableId(type = IdType.AUTO) + private Integer id; + + @ApiModelProperty("浜у搧id") + private Integer productId; + + @ApiModelProperty("闆朵欢鍙�") + private String partNo; + + @ApiModelProperty("棰滆壊") + private String color; + + @ApiModelProperty("鑹叉爣") + private String colorCode; + + @ApiModelProperty(value = "鍒涘缓浜篿d") + @TableField(fill = FieldFill.INSERT) + private Integer createUser; + + + @ApiModelProperty(value = "淇敼浜篿d") + @TableField(fill = FieldFill.INSERT_UPDATE) + private Integer updateUser; + + @ApiModelProperty(value = "鍒涘缓鏃堕棿") + @TableField(fill = FieldFill.INSERT) + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime createTime; + + @ApiModelProperty(value = "鏇存柊鏃堕棿") + @TableField(fill = FieldFill.INSERT_UPDATE) + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime updateTime; + +} diff --git a/basic-server/src/main/java/com/ruoyi/inspect/pojo/ProductSupplierDensity.java b/basic-server/src/main/java/com/ruoyi/inspect/pojo/ProductSupplierDensity.java new file mode 100644 index 0000000..e0a13a9 --- /dev/null +++ b/basic-server/src/main/java/com/ruoyi/inspect/pojo/ProductSupplierDensity.java @@ -0,0 +1,57 @@ +package com.ruoyi.inspect.pojo; + +import com.baomidou.mybatisplus.annotation.*; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + * 浜у搧鍘傚瀵嗗害缁戝畾琛� + * + * @author zhuo + * @since 2024-09-19 + */ +@Data +@TableName("product_supplier_density") +public class ProductSupplierDensity implements Serializable { + + @TableId(type = IdType.AUTO) + private Integer id; + + @ApiModelProperty("浜у搧id") + private Integer productId; + + @ApiModelProperty("鍨嬪彿") + private String model; + + @ApiModelProperty("鍘傚鍚嶇О") + private String supplierName; + + @ApiModelProperty("瀵嗗害鍊�") + private String densityValue; + + @ApiModelProperty(value = "鍒涘缓浜篿d") + @TableField(fill = FieldFill.INSERT) + private Integer createUser; + + + @ApiModelProperty(value = "淇敼浜篿d") + @TableField(fill = FieldFill.INSERT_UPDATE) + private Integer updateUser; + + @ApiModelProperty(value = "鍒涘缓鏃堕棿") + @TableField(fill = FieldFill.INSERT) + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime createTime; + + @ApiModelProperty(value = "鏇存柊鏃堕棿") + @TableField(fill = FieldFill.INSERT_UPDATE) + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime updateTime; + + +} + diff --git a/basic-server/src/main/java/com/ruoyi/inspect/pojo/Seal.java b/basic-server/src/main/java/com/ruoyi/inspect/pojo/Seal.java new file mode 100644 index 0000000..9008197 --- /dev/null +++ b/basic-server/src/main/java/com/ruoyi/inspect/pojo/Seal.java @@ -0,0 +1,43 @@ +package com.ruoyi.inspect.pojo; + +import com.baomidou.mybatisplus.annotation.*; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + * 鍗扮珷绠$悊(Laboratory)琛ㄥ璞� + */ + +@TableName(value = "seal") +@Data +public class Seal implements Serializable { + @ApiModelProperty(value = "涓婚敭") + @TableId(type = IdType.AUTO) + private Integer id; + + @ApiModelProperty(value = "瀹為獙瀹d") + private Integer labId; + + @TableField(exist=false) + @ApiModelProperty(value = "瀹為獙瀹ゅ悕绉�") + private String laboratoryName; + + @ApiModelProperty(value = "鍗扮珷鍥剧墖") + private String address; + + @ApiModelProperty(value = "鍗扮珷绫诲瀷") + private String type; + + @ApiModelProperty(value = "鍒涘缓浜篿d") + @TableField(fill = FieldFill.INSERT) + private Integer createUser; + + @TableField(fill = FieldFill.INSERT) + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime createTime; +} + diff --git a/basic-server/src/main/java/com/ruoyi/inspect/pojo/StandardMethod.java b/basic-server/src/main/java/com/ruoyi/inspect/pojo/StandardMethod.java new file mode 100644 index 0000000..1c31147 --- /dev/null +++ b/basic-server/src/main/java/com/ruoyi/inspect/pojo/StandardMethod.java @@ -0,0 +1,85 @@ +package com.ruoyi.inspect.pojo; + +import com.baomidou.mybatisplus.annotation.*; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + * 鏍囧噯鏂规硶 + * @TableName standard_method + */ +@TableName(value ="standard_method") +@Data +public class StandardMethod implements Serializable { + /** + * + */ + @TableId(type = IdType.AUTO) + private Integer id; + + private String field; + + @ApiModelProperty("妫�楠屽璞�") + private String structureTestObjectId; + + /** + * 鏍囧噯缂栧彿 + */ + @ApiModelProperty(value = "鏍囧噯缂栧彿") + private String code; + + /** + * 鏍囧噯鏂规硶 + */ + @ApiModelProperty(value = "鏍囧噯鎻忚堪") + private String name; + + @ApiModelProperty(value = "鏍囧噯鎻忚堪EN") + private String nameEn; + + /** + * 澶囨敞 + */ + @ApiModelProperty(value = "澶囨敞") + private String remark; + + @ApiModelProperty(value = "璧勮川") + private String qualificationId; + + @ApiModelProperty(value = "鏄惁浜у搧鏍囧噯") + private Integer isProduct; + + @ApiModelProperty(value = "鏄惁鍚敤") + private Integer isUse; + + @ApiModelProperty(value = "鍒涘缓浜篿d") + @TableField(fill = FieldFill.INSERT) + private Integer createUser; + + @ApiModelProperty(value = "淇敼浜篿d") + @TableField(fill = FieldFill.INSERT_UPDATE) + private Integer updateUser; + + @ApiModelProperty(value = "鍒涘缓浜�") + @TableField(exist = false,select = false) + private String createUserName; + + @ApiModelProperty(value = "鏇存柊浜�") + @TableField(exist = false,select = false) + private String updateUserName; + + @ApiModelProperty(value = "鍒涘缓鏃堕棿") + @TableField(fill = FieldFill.INSERT) + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime createTime; + + @ApiModelProperty(value = "鏇存柊鏃堕棿") + @TableField(fill = FieldFill.INSERT_UPDATE) + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime updateTime; + +} diff --git a/basic-server/src/main/java/com/ruoyi/inspect/pojo/StandardMethodList.java b/basic-server/src/main/java/com/ruoyi/inspect/pojo/StandardMethodList.java new file mode 100644 index 0000000..bbc0cc4 --- /dev/null +++ b/basic-server/src/main/java/com/ruoyi/inspect/pojo/StandardMethodList.java @@ -0,0 +1,83 @@ +package com.ruoyi.inspect.pojo; + +import com.baomidou.mybatisplus.annotation.*; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + * 鏍囧噯鏍戜笅鐨勬爣鍑嗗垪琛� + * @TableName standard_method_list + */ +@TableName(value ="standard_method_list") +@Data +public class StandardMethodList implements Serializable { + /** + * + */ + @TableId(type = IdType.AUTO) + private Integer id; + + /** + * 鏍囧噯缂栧彿 + */ + @ApiModelProperty("鏍囧噯缂栧彿") + private String code; + + /** + * 鏍囧噯鍚嶇О + */ + @ApiModelProperty("鏍囧噯绉板彿") + private String name; + + /** + * 澶囨敞 + */ + @ApiModelProperty("澶囨敞") + private String remark; + + @ApiModelProperty("宸ュ巶") + private String factory; + + @ApiModelProperty("瀹為獙瀹�") + private String laboratory; + + @ApiModelProperty("鏍峰搧鍒嗙被") + private String sampleType; + + @ApiModelProperty("鏍峰搧") + private String sample; + + @ApiModelProperty("鍨嬪彿") + private String model; + + @ApiModelProperty("") + @TableField(fill = FieldFill.INSERT) + private Integer createUser; + + @TableField(exist = false) + private String createUserName; + /** + * + */ + @ApiModelProperty("鍒涘缓鏃堕棿") + @TableField(fill = FieldFill.INSERT) + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime createTime; + /** + * + */ + @ApiModelProperty("") + @TableField(fill = FieldFill.INSERT_UPDATE) + private Integer updateUser; + /** + * + */ + @ApiModelProperty("淇敼鏃堕棿") + @TableField(fill = FieldFill.INSERT_UPDATE) + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime updateTime; +} diff --git a/basic-server/src/main/java/com/ruoyi/inspect/pojo/StandardProductList.java b/basic-server/src/main/java/com/ruoyi/inspect/pojo/StandardProductList.java new file mode 100644 index 0000000..b10c2ae --- /dev/null +++ b/basic-server/src/main/java/com/ruoyi/inspect/pojo/StandardProductList.java @@ -0,0 +1,221 @@ +package com.ruoyi.inspect.pojo; + +import com.baomidou.mybatisplus.annotation.*; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + * 鏍囧噯鏍戜笅鐨勬楠岄」鐩� + * @TableName standard_product_list + */ +@TableName(value ="standard_product_list") +@Data +public class StandardProductList implements Serializable { + /** + * 涓婚敭id + */ + @TableId(value = "id",type = IdType.ASSIGN_ID) + @JsonSerialize(using = ToStringSerializer.class) + private Long id; + + /** + * 妫�楠岄」 + */ + @ApiModelProperty("妫�楠岄」") + private String inspectionItem; + + @ApiModelProperty("妫�楠岄」EN") + private String inspectionItemEn; + + /** + * 妫�楠岄」灏忕被 + */ + @ApiModelProperty("妫�楠岄」灏忕被") + private String inspectionItemSubclass; + + @ApiModelProperty("妫�楠岄」灏忕被EN") + private String inspectionItemSubclassEn; + + /** + * 瀹為獙瀹� + */ + @ApiModelProperty("瀹為獙瀹�") + private String laboratory; + + @ApiModelProperty("瀛愬疄楠屽") + private String sonLaboratory; + + /** + * 璁¢噺鍗曚綅 + */ + @ApiModelProperty("璁¢噺鍗曚綅") + private String unit; + + /** + * 鍗曚环(鍏�) + */ + @ApiModelProperty("鍗曚环") + private String price; + + /** + * 宸ユ椂(H) + */ + @ApiModelProperty("宸ユ椂") + private String manHour; + + /** + * 宸ユ椂鍒嗙粍 + */ + @ApiModelProperty("宸ユ椂鍒嗙粍") + private String manHourGroup; + + /** + * 妫�楠岄」绫诲瀷 + */ + @ApiModelProperty("妫�楠岄」绫诲瀷") + private String inspectionItemType; + + /** + * 妫�楠屽�肩被鍨� + */ + @ApiModelProperty("妫�楠屽�肩被鍨�") + private String inspectionValueType; + + /** + * 妫�楠屾鏁� + */ + @ApiModelProperty("妫�楠屾鏁�") + private Integer checkoutNumber; + + /** + * 鍖洪棿 + */ + @ApiModelProperty("鍖洪棿") + private String section; + + /** + * 鍖洪棿 + */ + @ApiModelProperty("鑺暟鍖洪棿") + private String cores; + + /** + * 鏂规硶 + */ + @ApiModelProperty("鏂规硶鍒楄〃") + private String method; + + @ApiModelProperty("鏂规硶") + private String methodS; + + /** + * 棰勮鏃堕棿(澶�) + */ + @ApiModelProperty("棰勮鏃堕棿") + private Integer manDay; + + /** + * 鐗规畩鏍囪瘑 + */ + @ApiModelProperty("鐗规畩鏍囪瘑") + private String bsm; + + /** + * 瑕佹眰鍊� + */ + @ApiModelProperty("瑕佹眰鍊�") + private String ask; + + @ApiModelProperty("瑕佹眰鎻忚堪") + private String tell; + + /** + * 澶栭敭锛氭爣鍑嗘柟娉昳d + */ + @ApiModelProperty("鏍囧噯鏂规硶id") + private Integer standardMethodListId; + + @ApiModelProperty("宸ュ巶") + private String factory; + + @ApiModelProperty("鏍峰搧鍒嗙被") + private String sampleType; + + @ApiModelProperty("鏍峰搧") + private String sample; + + @ApiModelProperty("鍨嬪彿") + private String model; + + @ApiModelProperty("鍨嬪彿") + private Integer templateId; + + @ApiModelProperty("") + @TableField(fill = FieldFill.INSERT) + private Integer createUser; + /** + * + */ + @ApiModelProperty("鍒涘缓鏃堕棿") + @TableField(fill = FieldFill.INSERT) + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime createTime; + /** + * + */ + @ApiModelProperty("") + @TableField(fill = FieldFill.INSERT_UPDATE) + private Integer updateUser; + /** + * + */ + @ApiModelProperty("淇敼鏃堕棿") + @TableField(fill = FieldFill.INSERT_UPDATE) + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime updateTime; + + @ApiModelProperty("1锛氭湁鏁� 0锛氭棤鏁�") + private Integer state; + + private String dic; + + private String tree; + + private Integer structureItemParameterId; + + @ApiModelProperty(value = "妫�楠岄」鍒嗙被") + private String inspectionItemClass; + + @ApiModelProperty(value = "妫�楠岄」鍒嗙被EN") + private String inspectionItemClassEn; + + @ApiModelProperty(value = "鏉′欢") + private String radius; + + @ApiModelProperty(value = "鏉′欢鍒楄〃") + private String radiusList; + + @ApiModelProperty(value = "鏀惰垂鏍囧噯(鍏�/娆�)") + private String rates; + + @ApiModelProperty(value = "绱㈠紩椤哄簭") + private Integer sort; + + /** + * 瀵间綋鏉愯川 + */ + @ApiModelProperty("瀵间綋鏉愯川") + private String conductorMaterial; + + /** + * 瀵间綋绫诲瀷 + */ + @ApiModelProperty("瀵间綋绫诲瀷") + private String conductorType; +} diff --git a/basic-server/src/main/java/com/ruoyi/inspect/pojo/StandardProductListSupplierAsk.java b/basic-server/src/main/java/com/ruoyi/inspect/pojo/StandardProductListSupplierAsk.java new file mode 100644 index 0000000..ad0b683 --- /dev/null +++ b/basic-server/src/main/java/com/ruoyi/inspect/pojo/StandardProductListSupplierAsk.java @@ -0,0 +1,58 @@ +package com.ruoyi.inspect.pojo; + +import com.baomidou.mybatisplus.annotation.*; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.time.LocalDateTime; + +/** + * 妫�楠岄」鐩巶瀹跺瘑搴︾粦瀹氳〃 + * + * @author zhuo + * @since 2024-09-23 + */ +@TableName(value ="standard_product_list_supplier_ask") +@Data +public class StandardProductListSupplierAsk { + + @TableId(type = IdType.AUTO) + private Integer supplierAskId; + + @JsonSerialize(using = ToStringSerializer.class) + @ApiModelProperty("妫�楠岄」鐩甶d") + private Long productListId; + + @ApiModelProperty("鍘傚鍚嶇О") + private String supplierName; + + @ApiModelProperty("瑕佹眰鍊�") + private String ask; + + @ApiModelProperty("瑕佹眰鎻忚堪") + private String tell; + + @ApiModelProperty(value = "鍒涘缓浜篿d") + @TableField(fill = FieldFill.INSERT) + private Integer createUser; + + + @ApiModelProperty(value = "淇敼浜篿d") + @TableField(fill = FieldFill.INSERT_UPDATE) + private Integer updateUser; + + @ApiModelProperty(value = "鍒涘缓鏃堕棿") + @TableField(fill = FieldFill.INSERT) + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime createTime; + + @ApiModelProperty(value = "鏇存柊鏃堕棿") + @TableField(fill = FieldFill.INSERT_UPDATE) + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime updateTime; + +} + diff --git a/basic-server/src/main/java/com/ruoyi/inspect/pojo/StandardTemplate.java b/basic-server/src/main/java/com/ruoyi/inspect/pojo/StandardTemplate.java new file mode 100644 index 0000000..04b5c0b --- /dev/null +++ b/basic-server/src/main/java/com/ruoyi/inspect/pojo/StandardTemplate.java @@ -0,0 +1,76 @@ +package com.ruoyi.inspect.pojo; + +import com.baomidou.mybatisplus.annotation.*; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + * 鏍囧噯妯℃澘 + * @TableName standard_template + */ +@TableName(value ="standard_template") +@Data +public class StandardTemplate implements Serializable { + /** + * + */ + @TableId(type = IdType.AUTO) + private Integer id; + + /** + * 妯℃澘鍚嶇О + */ + @ApiModelProperty("妯℃澘鍚嶇О") + private String name; + + /** + * 澶囨敞 + */ + @ApiModelProperty("澶囨敞") + private String remark; + + /** + * 妯℃澘缁撴瀯 + */ + private String thing; + + @TableField(fill = FieldFill.INSERT) + private Integer createUser; + /** + * + */ + @ApiModelProperty("鍒涘缓鏃堕棿") + @TableField(fill = FieldFill.INSERT) + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime createTime; + /** + * + */ + @TableField(fill = FieldFill.INSERT_UPDATE) + private Integer updateUser; + /** + * + */ + @ApiModelProperty("淇敼鏃堕棿") + @TableField(fill = FieldFill.INSERT_UPDATE) + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime updateTime; + + @ApiModelProperty("鍒涘缓鐢ㄦ埛") + @TableField(exist = false) + private String createUserName; + + @ApiModelProperty("鏇存柊鐢ㄦ埛") + @TableField(exist = false) + private String updateUserName; + + /** + * 妯℃澘缂栧彿 + */ + @ApiModelProperty("妯℃澘缂栧彿") + private String number; +} diff --git a/basic-server/src/main/java/com/ruoyi/inspect/pojo/StandardTree.java b/basic-server/src/main/java/com/ruoyi/inspect/pojo/StandardTree.java new file mode 100644 index 0000000..fe40352 --- /dev/null +++ b/basic-server/src/main/java/com/ruoyi/inspect/pojo/StandardTree.java @@ -0,0 +1,96 @@ +package com.ruoyi.inspect.pojo; + +import com.baomidou.mybatisplus.annotation.*; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.hibernate.validator.constraints.Length; + +import javax.validation.constraints.NotNull; +import javax.validation.constraints.Size; +import java.io.Serializable; +import java.time.LocalDateTime; + +/** +* 鏍囧噯鏍� +* @TableName standard_tree +*/ +@TableName(value ="standard_tree") +@Data +public class StandardTree implements Serializable { + + /** + * + */ + @NotNull(message="[]涓嶈兘涓虹┖") + @ApiModelProperty("") + @TableId(type = IdType.AUTO) + private Integer id; + /** + * 宸ュ巶 + */ + @Size(max= 255,message="缂栫爜闀垮害涓嶈兘瓒呰繃255") + @ApiModelProperty("宸ュ巶") + @Length(max= 255,message="缂栫爜闀垮害涓嶈兘瓒呰繃255") + private String factory; + /** + * 瀹為獙瀹� + */ + @Size(max= 255,message="缂栫爜闀垮害涓嶈兘瓒呰繃255") + @ApiModelProperty("瀹為獙瀹�") + @Length(max= 255,message="缂栫爜闀垮害涓嶈兘瓒呰繃255") + private String laboratory; + /** + * 鏍峰搧澶х被 + */ + @Size(max= 255,message="缂栫爜闀垮害涓嶈兘瓒呰繃255") + @ApiModelProperty("鏍峰搧澶х被") + @Length(max= 255,message="缂栫爜闀垮害涓嶈兘瓒呰繃255") + private String sampleType; + /** + * 鏍峰搧 + */ + @Size(max= 255,message="缂栫爜闀垮害涓嶈兘瓒呰繃255") + @ApiModelProperty("鏍峰搧") + @Length(max= 255,message="缂栫爜闀垮害涓嶈兘瓒呰繃255") + private String sample; + /** + * 鍨嬪彿 + */ + @Size(max= 255,message="缂栫爜闀垮害涓嶈兘瓒呰繃255") + @ApiModelProperty("鍨嬪彿") + @Length(max= 255,message="缂栫爜闀垮害涓嶈兘瓒呰繃255") + private String model; + /** + * + */ + @ApiModelProperty("") + @TableField(fill = FieldFill.INSERT) + private Integer createUser; + /** + * + */ + @ApiModelProperty("鍒涘缓鏃堕棿") + @TableField(fill = FieldFill.INSERT) + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime createTime; + /** + * + */ + @ApiModelProperty("") + @TableField(fill = FieldFill.INSERT_UPDATE) + private Integer updateUser; + /** + * + */ + @ApiModelProperty("淇敼鏃堕棿") + @TableField(fill = FieldFill.INSERT_UPDATE) + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime updateTime; + + /** + * 淇敼鍓嶅悕绉� + */ + @TableField(exist = false,select = false) + private String oldModel; +} diff --git a/basic-server/src/main/java/com/ruoyi/inspect/pojo/StructureItemParameter.java b/basic-server/src/main/java/com/ruoyi/inspect/pojo/StructureItemParameter.java new file mode 100644 index 0000000..6325cc8 --- /dev/null +++ b/basic-server/src/main/java/com/ruoyi/inspect/pojo/StructureItemParameter.java @@ -0,0 +1,121 @@ +package com.ruoyi.inspect.pojo; + +import com.baomidou.mybatisplus.annotation.*; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + * 妫�楠岄」鐩弬鏁�(StructureItemParameter)琛ㄥ璞� + * + * @author makejava + * @since 2024-02-26 16:21:17 + */ +@TableName(value ="structure_item_parameter") +@Data +public class StructureItemParameter implements Serializable { + @ApiModelProperty(value = "涓婚敭") + @TableId(type = IdType.AUTO) + private Integer id; + + @ApiModelProperty(value = "妫�楠岄」") + private String inspectionItem; + + @ApiModelProperty(value = "妫�楠岄」EN") + private String inspectionItemEn; + + @ApiModelProperty(value = "妫�楠屽瓙椤�") + private String inspectionItemSubclass; + + @ApiModelProperty(value = "妫�楠屽瓙椤笶N") + private String inspectionItemSubclassEn; + + @ApiModelProperty(value = "妫�楠屽璞�") + private String sample; + + @ApiModelProperty(value = "鍗曚环(鍏�)") + private String price; + + @ApiModelProperty(value = "鍦烘墍") + private String laboratory; + + @ApiModelProperty(value = "璇曢獙瀹�") + private String sonLaboratory; + + @ApiModelProperty(value = "瑕佹眰鎻忚堪") + private String askTell; + + @ApiModelProperty(value = "瑕佹眰鍊�") + private String ask; + + @ApiModelProperty(value = "璁¢噺鍗曚綅") + private String unit; + + @ApiModelProperty(value = "璇曢獙鏂规硶") + private String method; + + @ApiModelProperty(value = "宸ユ椂(H)") + private Double manHour; + + @ApiModelProperty(value = "棰勮鏃堕棿(H)") + private Integer manDay; + + @ApiModelProperty(value = "宸ユ椂鍒嗙粍") + private String manHourGroup; + + @ApiModelProperty(value = "妫�楠岄」绫诲瀷") + private String inspectionItemType; + + @ApiModelProperty(value = "妫�楠屽�肩被鍨�") + private String inspectionValueType; + + @ApiModelProperty(value = "妫�楠屾鏁�") + private Integer checkoutNumber; + + @ApiModelProperty(value = "鍖洪棿") + private String section; + + @ApiModelProperty(value = "鐗规畩鏍囪瘑") + private String bsm; + + @ApiModelProperty(value = "鍘熷璁板綍妯℃澘") + private Integer templateId; + + @ApiModelProperty(value = "鍒涘缓浜篿d") + @TableField(fill = FieldFill.INSERT) + private Integer createUser; + + @ApiModelProperty(value = "淇敼浜篿d") + @TableField(fill = FieldFill.INSERT_UPDATE) + private Integer updateUser; + + @ApiModelProperty(value = "鍒涘缓鏃堕棿") + @TableField(fill = FieldFill.INSERT) + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime createTime; + + @ApiModelProperty(value = "淇敼鏃堕棿") + @TableField(fill = FieldFill.INSERT_UPDATE) + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime updateTime; + + @ApiModelProperty(value = "瀛楀吀绫诲瀷") + private String dic; + + @ApiModelProperty(value = "妫�楠岄」鍒嗙被") + private String inspectionItemClass; + + @ApiModelProperty(value = "妫�楠岄」鍒嗙被EN") + private String inspectionItemClassEn; + + @ApiModelProperty(value = "鏉′欢") + private String radiusList; + + @ApiModelProperty(value = "鏀惰垂鏍囧噯(鍏�/娆�)") + private String rates; + +} + diff --git a/basic-server/src/main/java/com/ruoyi/inspect/pojo/StructureTestObject.java b/basic-server/src/main/java/com/ruoyi/inspect/pojo/StructureTestObject.java new file mode 100644 index 0000000..4403363 --- /dev/null +++ b/basic-server/src/main/java/com/ruoyi/inspect/pojo/StructureTestObject.java @@ -0,0 +1,63 @@ +package com.ruoyi.inspect.pojo; + +import com.baomidou.mybatisplus.annotation.*; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + * 妫�娴嬪璞�(StructureTestObject)琛ㄥ璞� + * + * @author makejava + * @since 2024-02-26 17:36:41 + */ +@TableName(value ="structure_test_object") +@Data +public class StructureTestObject implements Serializable { + @ApiModelProperty(value = "涓婚敭") + @TableId(type = IdType.AUTO) + private Integer id; + + @ApiModelProperty(value = "鍦烘墍") + private Integer laboratoryId; + + @ApiModelProperty(value = "妫�楠屽璞�") + private String specimenName; + + @ApiModelProperty(value = "妫�楠屽璞N") + private String specimenNameEn; + + @ApiModelProperty(value = "瀵硅薄浠e彿") + private String code; + + @ApiModelProperty(value = "鍒涘缓浜篿d") + @TableField(fill = FieldFill.INSERT) + private Integer createUser; + + @ApiModelProperty(value = "淇敼浜篿d") + @TableField(fill = FieldFill.INSERT_UPDATE) + private Integer updateUser; + + @ApiModelProperty(value = "鍒涘缓鏃堕棿") + @TableField(fill = FieldFill.INSERT) + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime createTime; + + @ApiModelProperty(value = "鏇存柊鏃堕棿") + @TableField(fill = FieldFill.INSERT_UPDATE) + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime updateTime; + + @ApiModelProperty(value = "鎺掑簭") + private Integer sort; + + //"瀵硅薄绫诲瀷, 1:鍘熸潗鏂�, 2:鎴愬搧, 3:杈呮潗" + @ApiModelProperty(value = "瀵硅薄绫诲瀷") + private String objectType; + + +} + diff --git a/basic-server/src/main/java/com/ruoyi/inspect/pojo/StructureTestObjectPart.java b/basic-server/src/main/java/com/ruoyi/inspect/pojo/StructureTestObjectPart.java new file mode 100644 index 0000000..7a6aa14 --- /dev/null +++ b/basic-server/src/main/java/com/ruoyi/inspect/pojo/StructureTestObjectPart.java @@ -0,0 +1,56 @@ +package com.ruoyi.inspect.pojo; + +import com.baomidou.mybatisplus.annotation.*; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + * 妫�楠屽璞¢浂浠惰〃(StructureTestObjectPart)$desc + * + * @author makejava + * @since 2024-08-07 10:10:30 + */ +@TableName(value ="structure_test_object_part") +@Data +public class StructureTestObjectPart implements Serializable { + + @TableId(type = IdType.AUTO) + private Integer id; + + @ApiModelProperty("妫�楠屽璞d") + private Integer testObjectId; + + @ApiModelProperty("闆朵欢鍙�") + private String partNo; + + @ApiModelProperty("棰滆壊") + private String color; + + @ApiModelProperty("鑹叉爣") + private String colorCode; + + @ApiModelProperty(value = "鍒涘缓浜篿d") + @TableField(fill = FieldFill.INSERT) + private Integer createUser; + + + @ApiModelProperty(value = "淇敼浜篿d") + @TableField(fill = FieldFill.INSERT_UPDATE) + private Integer updateUser; + + @ApiModelProperty(value = "鍒涘缓鏃堕棿") + @TableField(fill = FieldFill.INSERT) + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime createTime; + + @ApiModelProperty(value = "鏇存柊鏃堕棿") + @TableField(fill = FieldFill.INSERT_UPDATE) + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime updateTime; + +} + diff --git a/basic-server/src/main/java/com/ruoyi/inspect/service/CapacityScopeService.java b/basic-server/src/main/java/com/ruoyi/inspect/service/CapacityScopeService.java new file mode 100644 index 0000000..f988c0f --- /dev/null +++ b/basic-server/src/main/java/com/ruoyi/inspect/service/CapacityScopeService.java @@ -0,0 +1,46 @@ +package com.ruoyi.inspect.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.inspect.dto.PageTestObjectDto; +import com.ruoyi.inspect.dto.TestItemDto; + +import com.ruoyi.inspect.pojo.StructureItemParameter; +import com.ruoyi.inspect.pojo.StructureTestObject; + +import java.util.List; +import java.util.Map; + +/** + * 妫�楠岄」鐩弬鏁�(StructureItemParameter)琛ㄦ湇鍔℃帴鍙� + * + * @author makejava + * @since 2024-02-26 16:21:17 + */ +public interface CapacityScopeService extends IService<StructureItemParameter> { + + IPage<StructureItemParameter> selectItemParameterList(Page page, StructureItemParameter itemParameter); + + int addItemParameter(StructureItemParameter itemParameter); + + int delItemParameter(Integer id); + + int upItemParameter(StructureItemParameter itemParameter); + + IPage<PageTestObjectDto> selectTestObjectList(Page page, PageTestObjectDto pageTestObjectDto); + + int addTestObject(StructureTestObject testObject); + + int delTestObject(Integer id); + + int upTestObject(StructureTestObject testObject); + + List<StructureTestObject> selectTestObjectByName(); + + //璁惧閲岄潰閫夋嫨妫�楠岄」鐩�(鏍戝舰缁撴瀯) + List<Map<String, Object>> getInsProduction(); + + List<TestItemDto> getItemTree(); +} + diff --git a/basic-server/src/main/java/com/ruoyi/inspect/service/CertificationService.java b/basic-server/src/main/java/com/ruoyi/inspect/service/CertificationService.java new file mode 100644 index 0000000..78398ed --- /dev/null +++ b/basic-server/src/main/java/com/ruoyi/inspect/service/CertificationService.java @@ -0,0 +1,17 @@ +package com.ruoyi.inspect.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.inspect.pojo.Certification; + +public interface CertificationService extends IService<Certification> { + //鏌ヨ璧勮川鏄庣粏鍒楄〃 + IPage<Certification> getCertificationDetail(Page page, Certification certification); + + //娣诲姞璧勮川鏄庣粏鍒楄〃 + int addCertificationDetail(Certification certification); + + //鍒犻櫎璧勮川鏄庣粏鍒楄〃 + int delCertificationDetail(String ids); +} diff --git a/basic-server/src/main/java/com/ruoyi/inspect/service/LaboratoryService.java b/basic-server/src/main/java/com/ruoyi/inspect/service/LaboratoryService.java new file mode 100644 index 0000000..e86f89b --- /dev/null +++ b/basic-server/src/main/java/com/ruoyi/inspect/service/LaboratoryService.java @@ -0,0 +1,27 @@ +package com.ruoyi.inspect.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.inspect.pojo.Laboratory; + +import java.util.List; + +/** + * 瀹為獙瀹ょ鐞�(Laboratory)琛ㄦ湇鍔℃帴鍙� + */ +public interface LaboratoryService extends IService<Laboratory> { + + IPage<Laboratory> selectItemParameter(Page page, Laboratory itemParameter); + + int addParameter(Laboratory itemParameter); + + int delParameter(Integer id); + + int upParameter(Laboratory itemParameter); + + List<Laboratory> obtainItemParameterList(); + + +} + diff --git a/basic-server/src/main/java/com/ruoyi/inspect/service/ProductPartService.java b/basic-server/src/main/java/com/ruoyi/inspect/service/ProductPartService.java new file mode 100644 index 0000000..b1127b8 --- /dev/null +++ b/basic-server/src/main/java/com/ruoyi/inspect/service/ProductPartService.java @@ -0,0 +1,14 @@ +package com.ruoyi.inspect.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.inspect.pojo.ProductPart; + +public interface ProductPartService extends IService<ProductPart> { + + IPage<ProductPart> selectByProductId(IPage<ProductPart> page,ProductPart productPart); + + void addProductPart(ProductPart productPart); + + void updateProductPartById(ProductPart productPart); +} diff --git a/basic-server/src/main/java/com/ruoyi/inspect/service/ProductService.java b/basic-server/src/main/java/com/ruoyi/inspect/service/ProductService.java new file mode 100644 index 0000000..c55af4f --- /dev/null +++ b/basic-server/src/main/java/com/ruoyi/inspect/service/ProductService.java @@ -0,0 +1,28 @@ +package com.ruoyi.inspect.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.inspect.dto.ProductDTO1; +import com.ruoyi.inspect.excel.StructureTestObjectData; +import com.ruoyi.inspect.pojo.Product; + +import java.util.List; + +/** +* @author z1292 +* @description 閽堝琛ㄣ�恜roduct(浜у搧琛�)銆戠殑鏁版嵁搴撴搷浣淪ervice +* @createDate 2024-04-26 01:11:02 +*/ +public interface ProductService extends IService<Product> { + + IPage<Product> selectProductListByObjectId(Page page, ProductDTO1 productDto); + + int addProduct(Product product); + + int upProduct(Product product); + + int delProduct(Integer id); + + void importPartExcel(List<StructureTestObjectData> list); +} diff --git a/basic-server/src/main/java/com/ruoyi/inspect/service/ProductSupplierDensityService.java b/basic-server/src/main/java/com/ruoyi/inspect/service/ProductSupplierDensityService.java new file mode 100644 index 0000000..d8b8e83 --- /dev/null +++ b/basic-server/src/main/java/com/ruoyi/inspect/service/ProductSupplierDensityService.java @@ -0,0 +1,22 @@ +package com.ruoyi.inspect.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.inspect.pojo.ProductSupplierDensity; + +/** + * 浜у搧鍘傚瀵嗗害缁戝畾琛� + * + * @author zhuo + * @since 2024-09-19 + */ +public interface ProductSupplierDensityService extends IService<ProductSupplierDensity> { + + IPage<ProductSupplierDensity> selectByProductId(Page page, ProductSupplierDensity supplierDensity); + + void addProductSupplierDensity(ProductSupplierDensity supplierDensity); + + void updateProductSupplierDensity(ProductSupplierDensity supplierDensity); +} + diff --git a/basic-server/src/main/java/com/ruoyi/inspect/service/SealService.java b/basic-server/src/main/java/com/ruoyi/inspect/service/SealService.java new file mode 100644 index 0000000..00d5ada --- /dev/null +++ b/basic-server/src/main/java/com/ruoyi/inspect/service/SealService.java @@ -0,0 +1,23 @@ +package com.ruoyi.inspect.service; + + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.inspect.pojo.Laboratory; +import com.ruoyi.inspect.pojo.Seal; + +import java.util.List; + +public interface SealService extends IService<Seal> { + + //鏂板 + int addSeal(Seal seal); + + //鏌ヨ + IPage<Seal> selectSeal(Page page, Seal seal); + + List<Laboratory> Laboratory(Integer id); + + +} diff --git a/basic-server/src/main/java/com/ruoyi/inspect/service/StandardMethodListService.java b/basic-server/src/main/java/com/ruoyi/inspect/service/StandardMethodListService.java new file mode 100644 index 0000000..2c0c066 --- /dev/null +++ b/basic-server/src/main/java/com/ruoyi/inspect/service/StandardMethodListService.java @@ -0,0 +1,28 @@ +package com.ruoyi.inspect.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.inspect.pojo.StandardMethodList; + +import java.util.List; +import java.util.Map; + +/** +* @author Administrator +* @description 閽堝琛ㄣ�恠tandard_method_list(鏍囧噯鏍戜笅鐨勬爣鍑嗗垪琛�)銆戠殑鏁版嵁搴撴搷浣淪ervice +* @createDate 2024-03-04 13:44:04 +*/ +public interface StandardMethodListService extends IService<StandardMethodList> { + + int addStandardMethodList(Integer standardId, String tree); + + Map<String, List<?>> selectsStandardMethodByFLSSM(String tree); + + Map<String, List<?>> selectsStandardMethodByFLSSM2(String tree); + + int delStandardMethodByFLSSM(Integer id); + + List<StandardMethodList> selectStandardMethodEnum(); + + Integer getStandardMethodId(String code); + +} diff --git a/basic-server/src/main/java/com/ruoyi/inspect/service/StandardMethodService.java b/basic-server/src/main/java/com/ruoyi/inspect/service/StandardMethodService.java new file mode 100644 index 0000000..a2e7678 --- /dev/null +++ b/basic-server/src/main/java/com/ruoyi/inspect/service/StandardMethodService.java @@ -0,0 +1,30 @@ +package com.ruoyi.inspect.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.inspect.pojo.StandardMethod; +import org.springframework.web.multipart.MultipartFile; + +import java.io.IOException; +import java.util.List; + +/** +* @author Administrator +* @description 閽堝琛ㄣ�恠tandard_method(鏍囧噯鏂规硶)銆戠殑鏁版嵁搴撴搷浣淪ervice +* @createDate 2024-03-03 19:21:41 +*/ +public interface StandardMethodService extends IService<StandardMethod> { + + IPage<StandardMethod> selectStandardMethodList(Page page, StandardMethod standardMethod); + + List<StandardMethod> selectStandardMethods(); + + int addStandardMethod(StandardMethod standardMethod); + + int delStandardMethod(Integer id); + + int upStandardMethod(StandardMethod standardMethod); + + void inputExcel(MultipartFile file) throws IOException; +} diff --git a/basic-server/src/main/java/com/ruoyi/inspect/service/StandardProductListService.java b/basic-server/src/main/java/com/ruoyi/inspect/service/StandardProductListService.java new file mode 100644 index 0000000..e7fcbae --- /dev/null +++ b/basic-server/src/main/java/com/ruoyi/inspect/service/StandardProductListService.java @@ -0,0 +1,67 @@ +package com.ruoyi.inspect.service; + +import com.alibaba.fastjson.JSONArray; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.inspect.dto.CopyStandardProductListDto; +import com.ruoyi.inspect.dto.InsSampleReceiveDto; +import com.ruoyi.inspect.dto.ResetTreeDragDTO; +import com.ruoyi.inspect.pojo.StandardProductList; + +import java.util.List; +import java.util.Map; + +/** + * @author Administrator + * @description 閽堝琛ㄣ�恠tandard_product_list(鏍囧噯鏍戜笅鐨勬楠岄」鐩�)銆戠殑鏁版嵁搴撴搷浣淪ervice + * @createDate 2024-03-05 10:33:29 + */ +public interface StandardProductListService extends IService<StandardProductList> { + + int upStandardProductList(StandardProductList list); + + int delStandardProduct(JSONArray list); + + List<StandardProductList> selectStandardProductList(InsSampleReceiveDto insSample); + + Map<String, Object> selectStandardProductListByMethodId(Integer id, String tree, Integer page); + + IPage<StandardProductList> selectStandardProductByMethodId(Integer id, String tree, Integer page, String laboratory, String item, String items); + + Map<String, List<?>> selectStandardProductEnumByMethodId(Integer id, String tree, String item); + + boolean updateSection(StandardProductList list); + + /** + * 鏍囧噯搴撴嫋鎷� + * @param resetTreeDragDTO + */ + void resetTreeDrag(ResetTreeDragDTO resetTreeDragDTO); + + /** + * 鏍囧噯搴撴嫋鎷� + * @param standardProductLists + */ + void resetTreeDragBatch(List<StandardProductList> standardProductLists); + + /** + * 妫�楠岄」瑕佹眰鍊煎姣� + * @param copyStandardProductListDto + * @return + */ + List<StandardProductList> copyStandardProductList(CopyStandardProductListDto copyStandardProductListDto); + + /** + * 妫�楠岄」瑕佹眰鍊煎姣斾竴涓� + * @param copyStandardProductListDto + * @return + */ + List<StandardProductList> copyStandardProductOne(CopyStandardProductListDto copyStandardProductListDto); + + /** + * 妫�楠岄」澶嶅埗鎺掑簭 + * @param copyStandardProductListDto + * @return + */ + boolean copyStandardProductSort(CopyStandardProductListDto copyStandardProductListDto); +} diff --git a/basic-server/src/main/java/com/ruoyi/inspect/service/StandardProductListService2.java b/basic-server/src/main/java/com/ruoyi/inspect/service/StandardProductListService2.java new file mode 100644 index 0000000..1f64bae --- /dev/null +++ b/basic-server/src/main/java/com/ruoyi/inspect/service/StandardProductListService2.java @@ -0,0 +1,13 @@ +package com.ruoyi.inspect.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.inspect.pojo.StandardProductList; + +/** +* @author Administrator +* @description 閽堝琛ㄣ�恠tandard_product_list(鏍囧噯鏍戜笅鐨勬楠岄」鐩�)銆戠殑鏁版嵁搴撴搷浣淪ervice +* @createDate 2024-03-05 10:33:29 +*/ +public interface StandardProductListService2 extends IService<StandardProductList> { + +} diff --git a/basic-server/src/main/java/com/ruoyi/inspect/service/StandardProductListSupplierAskService.java b/basic-server/src/main/java/com/ruoyi/inspect/service/StandardProductListSupplierAskService.java new file mode 100644 index 0000000..40267e9 --- /dev/null +++ b/basic-server/src/main/java/com/ruoyi/inspect/service/StandardProductListSupplierAskService.java @@ -0,0 +1,23 @@ +package com.ruoyi.inspect.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.inspect.pojo.StandardProductListSupplierAsk; + +import java.util.List; + +/** + * 妫�楠岄」鐩巶瀹跺瘑搴︾粦瀹氳〃 + * + * @author makejava + * @since 2024-09-23 + */ +public interface StandardProductListSupplierAskService extends IService<StandardProductListSupplierAsk> { + + List<StandardProductListSupplierAsk> selectByProductId(StandardProductListSupplierAsk supplierAsk); + + Integer addProductSupplierAsk(StandardProductListSupplierAsk supplierAsk); + + Integer updateProductSupplierAsk(StandardProductListSupplierAsk supplierAsk); + +} + diff --git a/basic-server/src/main/java/com/ruoyi/inspect/service/StandardTemplateService.java b/basic-server/src/main/java/com/ruoyi/inspect/service/StandardTemplateService.java new file mode 100644 index 0000000..1240e66 --- /dev/null +++ b/basic-server/src/main/java/com/ruoyi/inspect/service/StandardTemplateService.java @@ -0,0 +1,34 @@ +package com.ruoyi.inspect.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.inspect.pojo.StandardTemplate; + +import java.util.List; + +/** +* @author Administrator +* @description 閽堝琛ㄣ�恠tandard_template(鏍囧噯妯℃澘)銆戠殑鏁版嵁搴撴搷浣淪ervice +* @createDate 2024-03-11 13:47:52 +*/ +public interface StandardTemplateService extends IService<StandardTemplate> { + + IPage<StandardTemplate> selectStandardTemplatePageList(Page page, StandardTemplate standardTemplate); + + int addStandardTemplate(StandardTemplate standardTemplate); + + int upStandardTemplate(StandardTemplate standardTemplate); + + int delStandardTemplate(Integer id); + + List<StandardTemplate> getStandardTemplate(); + + String getStandTempThingById(Integer templateId); + + String getStandTempNameById(Integer templateId); + + StandardTemplate getStandTempIdByName(String name); + + int copyStandardTemplate(StandardTemplate newTemplate); +} diff --git a/basic-server/src/main/java/com/ruoyi/inspect/service/StandardTreeService.java b/basic-server/src/main/java/com/ruoyi/inspect/service/StandardTreeService.java new file mode 100644 index 0000000..62da5e3 --- /dev/null +++ b/basic-server/src/main/java/com/ruoyi/inspect/service/StandardTreeService.java @@ -0,0 +1,52 @@ +package com.ruoyi.inspect.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.inspect.dto.FactoryDto; +import com.ruoyi.inspect.dto.SampleTypeDto; +import com.ruoyi.inspect.pojo.StandardTree; +import org.springframework.web.multipart.MultipartFile; + +import java.util.List; +import java.util.Map; + +/** +* @author Administrator +* @description 閽堝琛ㄣ�恠tandard_tree(鏍囧噯鏍�)銆戠殑鏁版嵁搴撴搷浣淪ervice +* @createDate 2024-03-01 15:06:44 +*/ +public interface StandardTreeService extends IService<StandardTree> { + + List<FactoryDto> selectStandardTreeList(); + + + int addStandardTree(StandardTree standardTree); + + int delStandardTree(String tree); + + int addStandardProduct(String ids, String tree); + + List<SampleTypeDto> getStandardTree2(); + + int upStandardProducts(Map<String, Object> product); + + List<StandardTree> getStandTreeBySampleType(String laboratory, String sampleType); + + void inExcelOfTree(MultipartFile file); + + void resetTreeOfPrice(String tree, Integer standardId); + + void resetTreeOfHour(String tree, Integer standardId); + + void resetTreeOfAsk(String tree, Integer standardId); + + void importWorkstationExcel(MultipartFile file); + + /** + * 鏍囧噯鏁版帓搴� + * @param list + * @return + */ + boolean updateTreeSort(List<FactoryDto> list); + + int updateStandardTree(StandardTree standardTree); +} diff --git a/basic-server/src/main/java/com/ruoyi/inspect/service/StructureItemParameterService.java b/basic-server/src/main/java/com/ruoyi/inspect/service/StructureItemParameterService.java new file mode 100644 index 0000000..8d2cedf --- /dev/null +++ b/basic-server/src/main/java/com/ruoyi/inspect/service/StructureItemParameterService.java @@ -0,0 +1,8 @@ +package com.ruoyi.inspect.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.inspect.pojo.StructureItemParameter; + +public interface StructureItemParameterService extends IService<StructureItemParameter> { + void removeNoSample(String sample); +} diff --git a/basic-server/src/main/java/com/ruoyi/inspect/service/StructureTestObjectPartService.java b/basic-server/src/main/java/com/ruoyi/inspect/service/StructureTestObjectPartService.java new file mode 100644 index 0000000..420d1ed --- /dev/null +++ b/basic-server/src/main/java/com/ruoyi/inspect/service/StructureTestObjectPartService.java @@ -0,0 +1,22 @@ +package com.ruoyi.inspect.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.inspect.pojo.StructureTestObjectPart; + +/** + * 妫�楠屽璞¢浂浠惰〃 + * + * @author zhuo + * @since 2024-08-07 + */ +public interface StructureTestObjectPartService extends IService<StructureTestObjectPart> { + + IPage<StructureTestObjectPart> selectByTestObjectId(Page page, StructureTestObjectPart structureTestObjectPart); + + void addTestObjectPart(StructureTestObjectPart structureTestObjectPart); + + void updateTestObjectPart(StructureTestObjectPart structureTestObjectPart); +} + diff --git a/basic-server/src/main/java/com/ruoyi/inspect/service/StructureTestObjectService.java b/basic-server/src/main/java/com/ruoyi/inspect/service/StructureTestObjectService.java new file mode 100644 index 0000000..74c115b --- /dev/null +++ b/basic-server/src/main/java/com/ruoyi/inspect/service/StructureTestObjectService.java @@ -0,0 +1,15 @@ +package com.ruoyi.inspect.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.inspect.pojo.StructureTestObject; + +/** + * 妫�娴嬪璞�(StructureTestObject)$desc + * + * @author makejava + * @since 2024-09-13 09:45:55 + */ +public interface StructureTestObjectService extends IService<StructureTestObject> { + +} + diff --git a/basic-server/src/main/java/com/ruoyi/inspect/service/impl/CapacityScopeServiceImpl.java b/basic-server/src/main/java/com/ruoyi/inspect/service/impl/CapacityScopeServiceImpl.java new file mode 100644 index 0000000..bf763cf --- /dev/null +++ b/basic-server/src/main/java/com/ruoyi/inspect/service/impl/CapacityScopeServiceImpl.java @@ -0,0 +1,185 @@ +package com.ruoyi.inspect.service.impl; + +import cn.hutool.core.collection.CollUtil; +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.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.common.exception.base.BaseException; +import com.ruoyi.common.utils.QueryWrappers; +import com.ruoyi.inspect.dto.PageTestObjectDto; +import com.ruoyi.inspect.dto.TestItemDto; +import com.ruoyi.inspect.mapper.*; +import com.ruoyi.inspect.pojo.*; +import com.ruoyi.inspect.service.CapacityScopeService; +import com.ruoyi.inspect.service.StandardProductListService; +import com.ruoyi.inspect.service.StructureItemParameterService; +import lombok.AllArgsConstructor; +import org.springframework.stereotype.Service; + +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** + * 妫�楠岄」鐩弬鏁�(StructureItemParameter)琛ㄦ湇鍔″疄鐜扮被 + * + * @author makejava + * @since 2024-02-26 16:21:17 + */ +@Service +@AllArgsConstructor +public class CapacityScopeServiceImpl extends ServiceImpl<StructureItemParameterMapper, StructureItemParameter> implements CapacityScopeService { + + private LaboratoryMapper laboratoryMapper; + + private StructureItemParameterMapper structureItemParameterMapper; + + private StructureTestObjectMapper structureTestObjectMapper; + + private ProductMapper productMapper; + + private StructureTestObjectPartMapper structureTestObjectPartMapper; + + private ProductPartMapper productPartMapper; + + private StandardProductListService standardProductListService; + + private StandardTreeMapper standardTreeMapper; + + private StructureItemParameterService structureItemParameterService; + + @Override + public IPage<StructureItemParameter> selectItemParameterList(Page page, StructureItemParameter itemParameter) { + return structureItemParameterMapper.selectItemParameterList(page, QueryWrappers.queryWrappers(itemParameter)); + } + + @Override + public int addItemParameter(StructureItemParameter itemParameter) { + if (itemParameter.getBsm().equals("")||itemParameter.getBsm()==null){ + itemParameter.setBsm("0"); + } + int insert = structureItemParameterMapper.insert(itemParameter); + return insert; + } + + @Override + public int delItemParameter(Integer id) { + return structureItemParameterMapper.deleteById(id); + } + + @Override + public int upItemParameter(StructureItemParameter itemParameter) { + return structureItemParameterMapper.updateById(itemParameter); + } + + @Override + public IPage<PageTestObjectDto> selectTestObjectList(Page page, PageTestObjectDto pageTestObjectDto) { + String partNo = pageTestObjectDto.getPartNo(); + pageTestObjectDto.setPartNo(null); + return structureTestObjectMapper.selectTestObjectList(page, QueryWrappers.queryWrappers(pageTestObjectDto),partNo); + } + + @Override + public int addTestObject(StructureTestObject testObject) { + Long count = structureTestObjectMapper.selectCount(Wrappers.<StructureTestObject>lambdaQuery().eq(StructureTestObject::getSpecimenName, testObject.getSpecimenName())); + if(count.compareTo(0L) > 0){ + throw new BaseException("妫�楠屽璞′笉鑳介噸澶�"); + } + + return structureTestObjectMapper.insert(testObject); + } + + @Override + public int delTestObject(Integer id) { + // 浜у嚭妫�楠屽璞′骇鍝佺淮鎶� + structureTestObjectPartMapper.delete(Wrappers.<StructureTestObjectPart>lambdaQuery() + .eq(StructureTestObjectPart::getTestObjectId, id)); + + // 鍒犻櫎浜у搧缁存姢鐨勯浂浠剁粦瀹� + List<Product> products = productMapper.selectList(Wrappers.<Product>lambdaQuery() + .eq(Product::getObjectId, id)); + List<Integer> productIds = products.stream().map(Product::getId).collect(Collectors.toList()); + productPartMapper.delete(Wrappers.<ProductPart>lambdaQuery() + .in(ProductPart::getProductId, productIds)); + + // 鍒犻櫎浜у搧缁存姢 + productMapper.delete(Wrappers.<Product>lambdaQuery() + .in(Product::getId, productIds)); + + return structureTestObjectMapper.deleteById(id); + } + + @Override + public int upTestObject(StructureTestObject testObject) { + // 鏌ヨ鏃х殑妫�楠屽璞� + StructureTestObject oldTestObject = structureTestObjectMapper.selectById(testObject.getId()); + + if (!oldTestObject.getSpecimenName().equals(testObject.getSpecimenName())) { + // 鏌ヨ鎵�鏈夊璞′竴鏍风殑妫�楠岄」鐩� + List<StandardProductList> standardProductLists = standardProductListService.list(Wrappers.<StandardProductList>lambdaUpdate() + .eq(StandardProductList::getSampleType, oldTestObject.getSpecimenName())); + if (CollectionUtils.isNotEmpty(standardProductLists)){ + for (StandardProductList standardProductList : standardProductLists) { + // 淇敼鎵�鏈夌殑瀵硅薄鍚嶇О鍜屾暟鍨嬬粨鏋� + standardProductList.setSampleType(testObject.getSpecimenName()); + // 闇�瑕佹埅鍙栫涓夌骇, 閬垮厤涓夊洓绾у悕绉颁竴鏍蜂慨鏀归敊璇� + String[] trees = standardProductList.getTree().split(" - "); + trees[2] = testObject.getSpecimenName(); + List<String> list = CollUtil.newArrayList(trees); + String newName = CollUtil.join(list, " - "); + standardProductList.setTree(newName); + } + standardProductListService.updateBatchById(standardProductLists); + } + // 淇敼妫�楠岄」鐩弬鏁扮殑妫�楠屽璞� + // 鎷兼帴 ["object", 鏌ヨ妫�楠岄」鐩弬鏁颁慨鏀圭粦瀹氱殑妫�楠屽璞� + String format = "[\"{}\","; + String sampleOld = StrUtil.format(format, oldTestObject.getSpecimenName()); + List<StructureItemParameter> itemParameterList = structureItemParameterService.list(Wrappers.<StructureItemParameter>lambdaQuery() + .like(StructureItemParameter::getSample, sampleOld)); + if (CollectionUtils.isNotEmpty(itemParameterList)) { + for (StructureItemParameter structureItemParameter : itemParameterList) { + // 淇敼缁戝畾鐨勬牱鍝佸悕绉� + String sampleNew = StrUtil.format(format, testObject.getSpecimenName()); + String sampleUp = structureItemParameter.getSample().replace(sampleOld, sampleNew); + structureItemParameter.setSample(sampleUp); + } + structureItemParameterService.updateBatchById(itemParameterList); + } + + // 淇敼鏍戠殑鍨嬪彿 + standardTreeMapper.update(null, Wrappers.<StandardTree>lambdaUpdate() + .eq(StandardTree::getSampleType, oldTestObject.getSpecimenName()) + .set(StandardTree::getSampleType, testObject.getSpecimenName())); + } + + Long count = structureTestObjectMapper.selectCount(Wrappers.<StructureTestObject>lambdaQuery() + .eq(StructureTestObject::getSpecimenName, testObject.getSpecimenName()) + .ne(StructureTestObject::getId, testObject.getId())); + if(count.compareTo(0L) > 0){ + throw new BaseException("妫�楠屽璞′笉鑳介噸澶�"); + } + + return structureTestObjectMapper.updateById(testObject); + } + + @Override + public List<StructureTestObject> selectTestObjectByName() { + return structureTestObjectMapper.selectList(Wrappers.<StructureTestObject>lambdaQuery().select(StructureTestObject::getSpecimenName,StructureTestObject::getId)); + } + + //璁惧閲岄潰閫夋嫨妫�楠岄」鐩�(鏍戝舰缁撴瀯) + @Override + public List<Map<String, Object>> getInsProduction() { + return structureItemParameterMapper.getInsProduction(); + } + + @Override + public List<TestItemDto> getItemTree() { + return structureItemParameterMapper.getItemTree(); + } +} + diff --git a/basic-server/src/main/java/com/ruoyi/inspect/service/impl/CertificationServiceImpl.java b/basic-server/src/main/java/com/ruoyi/inspect/service/impl/CertificationServiceImpl.java new file mode 100644 index 0000000..4eb722a --- /dev/null +++ b/basic-server/src/main/java/com/ruoyi/inspect/service/impl/CertificationServiceImpl.java @@ -0,0 +1,45 @@ +package com.ruoyi.inspect.service.impl; + +import com.alibaba.fastjson2.JSON; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.common.utils.QueryWrappers; +import com.ruoyi.inspect.mapper.CertificationMapper; +import com.ruoyi.inspect.pojo.Certification; +import com.ruoyi.inspect.service.CertificationService; +import lombok.AllArgsConstructor; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; + +@Service +@AllArgsConstructor +@Transactional(rollbackFor = Exception.class) +public class CertificationServiceImpl extends ServiceImpl<CertificationMapper, Certification> implements CertificationService { + + + private CertificationMapper certificationMapper; + + + //鏌ヨ璧勮川鏄庣粏鍒楄〃 + @Override + public IPage<Certification> getCertificationDetail(Page page, Certification certification) { + return certificationMapper.getCertificationDetail(page, QueryWrappers.queryWrappers(certification)); + } + + //娣诲姞璧勮川鏄庣粏鍒楄〃 + @Override + public int addCertificationDetail(Certification certification) { + return certificationMapper.insert(certification); + } + + //鍒犻櫎璧勮川鏄庣粏鍒楄〃 + @Override + public int delCertificationDetail(String ids) { + List<Integer> list = JSON.parseArray(ids,Integer.class); + return certificationMapper.deleteBatchIds(list); + } + +} diff --git a/basic-server/src/main/java/com/ruoyi/inspect/service/impl/LaboratoryServiceImpl.java b/basic-server/src/main/java/com/ruoyi/inspect/service/impl/LaboratoryServiceImpl.java new file mode 100644 index 0000000..18c4318 --- /dev/null +++ b/basic-server/src/main/java/com/ruoyi/inspect/service/impl/LaboratoryServiceImpl.java @@ -0,0 +1,53 @@ +package com.ruoyi.inspect.service.impl; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.common.utils.QueryWrappers; +import com.ruoyi.inspect.mapper.LaboratoryMapper; +import com.ruoyi.inspect.pojo.Laboratory; +import com.ruoyi.inspect.service.LaboratoryService; +import lombok.AllArgsConstructor; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * 瀹為獙瀹ょ鐞�(Laboratory)琛ㄦ湇鍔″疄鐜扮被 + */ +@Service +@AllArgsConstructor +public class LaboratoryServiceImpl extends ServiceImpl<LaboratoryMapper, Laboratory> implements LaboratoryService { + + + private LaboratoryMapper laboratoryMapper; + + @Override + public IPage<Laboratory> selectItemParameter(Page page, Laboratory itemParameter) { + return laboratoryMapper.selectItemParameter(page, QueryWrappers.queryWrappers(itemParameter)); + } + + @Override + public int addParameter(Laboratory itemParameter) { + return laboratoryMapper.insert(itemParameter); + } + + @Override + public int delParameter(Integer id) { + return laboratoryMapper.deleteById(id); + } + + @Override + public int upParameter(Laboratory itemParameter) { + return laboratoryMapper.updateById(itemParameter); + } + + @Override + public List<Laboratory> obtainItemParameterList() { + return laboratoryMapper.selectList(Wrappers.<Laboratory>lambdaQuery().select(Laboratory::getLaboratoryName, Laboratory::getId)); + } + + +} + diff --git a/basic-server/src/main/java/com/ruoyi/inspect/service/impl/ProductPartServiceImpl.java b/basic-server/src/main/java/com/ruoyi/inspect/service/impl/ProductPartServiceImpl.java new file mode 100644 index 0000000..009b279 --- /dev/null +++ b/basic-server/src/main/java/com/ruoyi/inspect/service/impl/ProductPartServiceImpl.java @@ -0,0 +1,68 @@ +package com.ruoyi.inspect.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +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.service.impl.ServiceImpl; +import com.ruoyi.common.exception.base.BaseException; +import com.ruoyi.common.utils.QueryWrappers; +import com.ruoyi.inspect.mapper.ProductPartMapper; +import com.ruoyi.inspect.mapper.StructureTestObjectPartMapper; +import com.ruoyi.inspect.pojo.ProductPart; +import com.ruoyi.inspect.pojo.StructureTestObjectPart; +import com.ruoyi.inspect.service.ProductPartService; +import lombok.AllArgsConstructor; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +@Transactional +@Service +@AllArgsConstructor +public class ProductPartServiceImpl extends ServiceImpl<ProductPartMapper, ProductPart> implements ProductPartService { + + private ProductPartMapper productPartMapper; + private StructureTestObjectPartMapper structureTestObjectPartMapper; + + + @Override + public IPage<ProductPart> selectByProductId(IPage<ProductPart> page,ProductPart productPart) { + return productPartMapper.selectListByProductId(page, QueryWrappers.queryWrappers(productPart),productPart.getProductId()); + } + + @Override + public void addProductPart(ProductPart productPart) { + if (productPart.getProductId() == null) { + throw new BaseException("缂哄皯浜у搧瀵硅薄id"); + } + this.isPartNoExist(productPart.getPartNo(), productPart.getProductId(), null); + productPartMapper.insert(productPart); + } + + @Override + public void updateProductPartById(ProductPart productPart) { + this.isPartNoExist(productPart.getPartNo(), productPart.getProductId(), productPart.getId()); + if (productPart.getProductId() == null) { + throw new BaseException("缂哄皯浜у搧瀵硅薄id"); + } + productPartMapper.updateById(productPart); + } + + // 鍒ゆ柇闆朵欢鍙锋槸鍚﹀瓨鍦� + public void isPartNoExist(String partNo,Integer productId, Integer id) { + // 闆朵欢鍙峰敮涓� 浣嗕笉蹇呭~ + if (StringUtils.isNotBlank(partNo)) { + Long count = productPartMapper.selectCount(new LambdaQueryWrapper<ProductPart>() +// .eq(ProductPart::getProductId, productId) + .eq(ProductPart::getPartNo, partNo) + .ne(id != null, ProductPart::getId, id)); + Long selectCount = structureTestObjectPartMapper.selectCount(Wrappers.<StructureTestObjectPart>lambdaQuery() + .eq(StructureTestObjectPart::getPartNo, partNo)); + if (count > 0 || selectCount > 0) { + throw new BaseException("璇ラ浂浠跺彿宸茬粦瀹氳繃妫�楠屽璞�"); + } + } else { + throw new BaseException("璇疯緭鍏ラ浂浠跺彿"); + } + } +} diff --git a/basic-server/src/main/java/com/ruoyi/inspect/service/impl/ProductServiceImpl.java b/basic-server/src/main/java/com/ruoyi/inspect/service/impl/ProductServiceImpl.java new file mode 100644 index 0000000..41b12b6 --- /dev/null +++ b/basic-server/src/main/java/com/ruoyi/inspect/service/impl/ProductServiceImpl.java @@ -0,0 +1,188 @@ +package com.ruoyi.inspect.service.impl; + +import cn.hutool.core.collection.CollUtil; +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.ObjectUtils; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.common.exception.base.BaseException; +import com.ruoyi.common.utils.QueryWrappers; +import com.ruoyi.inspect.dto.ProductDTO1; +import com.ruoyi.inspect.excel.StructureTestObjectData; +import com.ruoyi.inspect.mapper.ProductMapper; +import com.ruoyi.inspect.mapper.ProductPartMapper; +import com.ruoyi.inspect.mapper.StandardTreeMapper; +import com.ruoyi.inspect.mapper.StructureTestObjectMapper; +import com.ruoyi.inspect.pojo.*; +import com.ruoyi.inspect.service.LaboratoryService; +import com.ruoyi.inspect.service.ProductService; +import com.ruoyi.inspect.service.StandardProductListService; +import com.ruoyi.inspect.service.StructureItemParameterService; +import lombok.AllArgsConstructor; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; + +/** +* @author z1292 +* @description 閽堝琛ㄣ�恜roduct(浜у搧琛�)銆戠殑鏁版嵁搴撴搷浣淪ervice瀹炵幇 +* @createDate 2024-04-26 01:11:02 +*/ +@Service +@AllArgsConstructor +public class ProductServiceImpl extends ServiceImpl<ProductMapper, Product> + implements ProductService{ + + private ProductMapper productMapper; + + private LaboratoryService laboratoryService; + + private StructureTestObjectMapper structureTestObjectMapper; + + private ProductPartMapper productPartMapper; + + private StandardProductListService standardProductListService; + + private StandardTreeMapper standardTreeMapper; + + private StructureItemParameterService structureItemParameterService; + + @Override + public IPage<Product> selectProductListByObjectId(Page page, ProductDTO1 product) { + String partNo = product.getPartNo(); + product.setPartNo(null); + return productMapper.selectProductListByObjectId(page, QueryWrappers.queryWrappers(product), partNo); + } + + @Override + public int addProduct(Product product) { + + return productMapper.insert(product); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public int upProduct(Product product) { + // 鏌ヨ鍘熸湰鐨勫悕绉� + Product oldProduct = productMapper.selectById(product.getId()); + + if (!oldProduct.getName().equals(product.getName())) { + // 淇敼鍚嶇О鍖归厤鐨勬爣鍑嗘爲涓嬬殑妫�楠岄」鐩� + // 鏌ヨ鎵�鏈夊璞�+鍚嶇О鐨勬爲 + StructureTestObject testObject = structureTestObjectMapper.selectById(oldProduct.getObjectId()); + + List<StandardProductList> standardProductLists = standardProductListService.list(Wrappers.<StandardProductList>lambdaUpdate() + .eq(StandardProductList::getSample, oldProduct.getName()) + .eq(StandardProductList::getSampleType, testObject.getSpecimenName())); + if (CollectionUtils.isNotEmpty(standardProductLists)) { + for (StandardProductList standardProductList : standardProductLists) { + // 淇敼鏍峰搧鍚嶇О + standardProductList.setSample(product.getName()); + // 淇敼鏍戝悕绉� + // 闇�瑕佹埅鍙栫鍥涚骇, 閬垮厤涓夊洓绾у悕绉颁竴鏍蜂慨鏀归敊璇� + String[] trees = standardProductList.getTree().split(" - "); + trees[3] = product.getName(); + List<String> list = CollUtil.newArrayList(trees); + String newName = CollUtil.join(list, " - "); + standardProductList.setTree(newName); + } + standardProductListService.updateBatchById(standardProductLists); + } + + // 淇敼妫�楠岄」鐩弬鏁扮殑妫�楠屽璞� + // 鎷兼帴["object","product"]鏌ヨ妫�楠岄」鐩弬鏁颁慨鏀圭粦瀹氱殑妫�楠屽璞� + String format = "[\"{}\",\"{}\"]"; + String sampleOld = StrUtil.format(format, testObject.getSpecimenName(), oldProduct.getName()); + List<StructureItemParameter> itemParameterList = structureItemParameterService.list(Wrappers.<StructureItemParameter>lambdaQuery() + .like(StructureItemParameter::getSample, sampleOld)); + if (CollectionUtils.isNotEmpty(itemParameterList)) { + for (StructureItemParameter structureItemParameter : itemParameterList) { + // 淇敼缁戝畾鐨勬牱鍝佸悕绉� + String sampleNew = StrUtil.format(format, testObject.getSpecimenName(), product.getName()); + String sampleUp = structureItemParameter.getSample().replace(sampleOld, sampleNew); + structureItemParameter.setSample(sampleUp); + } + structureItemParameterService.updateBatchById(itemParameterList); + } + + // 淇敼鏍戠殑鍨嬪彿 + standardTreeMapper.update(null, Wrappers.<StandardTree>lambdaUpdate() + .eq(StandardTree::getSampleType, testObject.getSpecimenName()) + .eq(StandardTree::getSample, oldProduct.getName()) + .set(StandardTree::getSample, product.getName())); + } + + return productMapper.updateById(product); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public int delProduct(Integer id) { + // 鍒犻櫎闆朵欢缁戝畾 + productPartMapper.delete(Wrappers.<ProductPart>lambdaQuery() + .eq(ProductPart::getProductId, id)); + + return productMapper.deleteById(id); + } + + @Transactional(rollbackFor = Exception.class) + @Override + public void importPartExcel(List<StructureTestObjectData> list) { + list.forEach(i -> { + // 妫�楠屽璞� + StructureTestObject structureTestObject1 = structureTestObjectMapper.selectOne(Wrappers.<StructureTestObject>lambdaQuery() + .eq(StructureTestObject::getSpecimenName, i.getSpecimenName()) + .eq(StructureTestObject::getSpecimenNameEn, i.getSpecimenNameEn())); + Laboratory laboratory = laboratoryService.getOne(Wrappers.<Laboratory>lambdaQuery() + .eq(Laboratory::getLaboratoryName, i.getLaboratory())); + if (ObjectUtils.isEmpty(laboratory)) { + throw new BaseException("鏈壘鍒拌鍦烘墍锛�" + i.getLaboratory() + "锛岃妫�鏌ユ槸鍚﹀瓨鍦ㄨ鍦烘墍锛�"); + } + // 濡傛灉涓虹┖杩涜鏂板 + if(ObjectUtils.isEmpty(structureTestObject1)) { + StructureTestObject structureTestObject = new StructureTestObject(); + structureTestObject.setLaboratoryId(laboratory.getId()); + structureTestObject.setSpecimenName(i.getSpecimenName()); + structureTestObject.setSpecimenNameEn(i.getSpecimenNameEn()); + structureTestObject.setCode(i.getCode()); + structureTestObjectMapper.insert(structureTestObject); + + // 浜у搧 + Product product = productMapper.selectOne(Wrappers.<Product>lambdaQuery() + .eq(Product::getName, i.getName()) + .eq(Product::getNameEn, i.getNameEn())); + if (ObjectUtils.isEmpty(product)){ + Product product1 = new Product(); + product1.setName(i.getName()); + product1.setNameEn(i.getNameEn()); + product1.setObjectId(structureTestObject.getId()); + baseMapper.insert(product1); + } + } else { + structureTestObject1.setCode(i.getCode()); + structureTestObject1.setLaboratoryId(laboratory.getId()); + structureTestObjectMapper.updateById(structureTestObject1); + // 浜у搧 + Product product = productMapper.selectOne(Wrappers.<Product>lambdaQuery() + .eq(Product::getName, i.getName()) + .eq(Product::getNameEn, i.getNameEn())); + if (ObjectUtils.isEmpty(product)){ + Product product1 = new Product(); + product1.setName(i.getName()); + product1.setNameEn(i.getNameEn()); + product1.setObjectId(structureTestObject1.getId()); + baseMapper.insert(product1); + } else { + product.setName(i.getName()); + product.setNameEn(i.getNameEn()); + product.setObjectId(structureTestObject1.getId()); + baseMapper.updateById(product); + } + } + }); + } +} diff --git a/basic-server/src/main/java/com/ruoyi/inspect/service/impl/ProductSupplierDensityServiceImpl.java b/basic-server/src/main/java/com/ruoyi/inspect/service/impl/ProductSupplierDensityServiceImpl.java new file mode 100644 index 0000000..069498c --- /dev/null +++ b/basic-server/src/main/java/com/ruoyi/inspect/service/impl/ProductSupplierDensityServiceImpl.java @@ -0,0 +1,64 @@ +package com.ruoyi.inspect.service.impl; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.common.exception.base.BaseException; +import com.ruoyi.common.utils.QueryWrappers; +import com.ruoyi.inspect.mapper.ProductSupplierDensityMapper; +import com.ruoyi.inspect.pojo.ProductSupplierDensity; +import com.ruoyi.inspect.service.ProductSupplierDensityService; +import org.springframework.stereotype.Service; + +/** + * 浜у搧鍘傚瀵嗗害缁戝畾琛� + * + * @author zhuo + * @since 2024-09-19 + */ +@Service +public class ProductSupplierDensityServiceImpl extends ServiceImpl<ProductSupplierDensityMapper, ProductSupplierDensity> implements ProductSupplierDensityService { + + @Override + public IPage<ProductSupplierDensity> selectByProductId(Page page, ProductSupplierDensity supplierDensity) { + if (supplierDensity.getProductId() == null) { + throw new BaseException("缂哄皯浜у搧瀵硅薄id"); + } + return baseMapper.selectListByProductId(page, QueryWrappers.queryWrappers(supplierDensity), supplierDensity.getProductId()); + } + + @Override + public void addProductSupplierDensity(ProductSupplierDensity supplierDensity) { + if (supplierDensity.getProductId() == null) { + throw new BaseException("缂哄皯浜у搧瀵硅薄id"); + } + // 鏌ヨ鏀瑰巶瀹舵槸鍚︾粦瀹氳繃 +// Long count = baseMapper.selectCount(Wrappers.<ProductSupplierDensity>lambdaQuery() +// .eq(ProductSupplierDensity::getProductId, supplierDensity.getProductId()) +// .eq(ProductSupplierDensity::getModel, supplierDensity) +// .eq(ProductSupplierDensity::getSupplierName, supplierDensity.getSupplierName())); +// if (count > 0){ +// throw new BaseException("璇ヤ骇鍝佸凡缁戝畾杩囪鍘傚"); +// } + + baseMapper.insert(supplierDensity); + } + + @Override + public void updateProductSupplierDensity(ProductSupplierDensity supplierDensity) { + if (supplierDensity.getProductId() == null) { + throw new BaseException("缂哄皯浜у搧瀵硅薄id"); + } + // 鏌ヨ鏀瑰巶瀹舵槸鍚︾粦瀹氳繃 +// Long count = baseMapper.selectCount(Wrappers.<ProductSupplierDensity>lambdaQuery() +// .ne(ProductSupplierDensity::getId, supplierDensity.getId()) +// .eq(ProductSupplierDensity::getProductId, supplierDensity.getProductId()) +// .eq(ProductSupplierDensity::getModel, supplierDensity) +// .eq(ProductSupplierDensity::getSupplierName, supplierDensity.getSupplierName())); +// if (count > 0){ +// throw new BaseException("璇ヤ骇鍝佸凡缁戝畾杩囪鍘傚"); +// } + baseMapper.updateById(supplierDensity); + } +} + diff --git a/basic-server/src/main/java/com/ruoyi/inspect/service/impl/SealServiceImpl.java b/basic-server/src/main/java/com/ruoyi/inspect/service/impl/SealServiceImpl.java new file mode 100644 index 0000000..ee9b06e --- /dev/null +++ b/basic-server/src/main/java/com/ruoyi/inspect/service/impl/SealServiceImpl.java @@ -0,0 +1,37 @@ +package com.ruoyi.inspect.service.impl; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.inspect.mapper.SealMapper; +import com.ruoyi.inspect.pojo.Laboratory; +import com.ruoyi.inspect.pojo.Seal; +import com.ruoyi.inspect.service.SealService; +import com.ruoyi.common.utils.QueryWrappers; +import lombok.AllArgsConstructor; +import org.springframework.stereotype.Service; + +import java.util.List; + +@Service +@AllArgsConstructor +public class SealServiceImpl extends ServiceImpl<SealMapper, Seal> implements SealService { + private SealMapper sealMapper; + + + @Override + public int addSeal(Seal seal) { + return sealMapper.insert(seal); + } + + + + + @Override + public IPage<Seal> selectSeal(Page page, Seal seal) { + return sealMapper.selectSeal(page, QueryWrappers.queryWrappers(seal)); + } + @Override + public List<Laboratory> Laboratory(Integer labId) { + return sealMapper.selectLaboratory(labId); + } +} diff --git a/basic-server/src/main/java/com/ruoyi/inspect/service/impl/StandardMethodListServiceImpl.java b/basic-server/src/main/java/com/ruoyi/inspect/service/impl/StandardMethodListServiceImpl.java new file mode 100644 index 0000000..784790b --- /dev/null +++ b/basic-server/src/main/java/com/ruoyi/inspect/service/impl/StandardMethodListServiceImpl.java @@ -0,0 +1,150 @@ +package com.ruoyi.inspect.service.impl; + +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.inspect.mapper.StandardMethodListMapper; +import com.ruoyi.inspect.mapper.StandardProductListMapper; +import com.ruoyi.inspect.pojo.StandardMethodList; +import com.ruoyi.inspect.pojo.StandardProductList; +import com.ruoyi.inspect.service.StandardMethodListService; +import lombok.AllArgsConstructor; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** +* @author Administrator +* @description 閽堝琛ㄣ�恠tandard_method_list(鏍囧噯鏍戜笅鐨勬爣鍑嗗垪琛�)銆戠殑鏁版嵁搴撴搷浣淪ervice瀹炵幇 +* @createDate 2024-03-04 13:44:04 +*/ +@Service +@AllArgsConstructor +public class StandardMethodListServiceImpl extends ServiceImpl<StandardMethodListMapper, StandardMethodList> + implements StandardMethodListService{ + + private StandardMethodListMapper standardMethodListMapper; + + private StandardProductListMapper standardProductListMapper; + + @Override + public int addStandardMethodList(Integer standardId, String tree) { + String[] trees = tree.split(" - "); + Map<String, String> map = standardMethodListMapper.selectStandardMethodById(standardId); + StandardMethodList list = new StandardMethodList(); + list.setCode(map.get("code")); + list.setName(map.get("name")); + list.setRemark(map.get("remark")); + list.setFactory(trees[0]); + try { + list.setLaboratory(trees[1]); + }catch (Exception e){} + try { + list.setSampleType(trees[2]); + }catch (Exception e){} + try { + list.setSample(trees[3]); + }catch (Exception e){} + try { + list.setModel(trees[4]); + }catch (Exception e){} + standardMethodListMapper.insert(list); + List<StandardProductList> standardProductLists = standardMethodListMapper.selectParameterList(list.getCode()); + for (StandardProductList standardProductList : standardProductLists) { + standardProductList.setStandardMethodListId(list.getId()); + standardProductList.setFactory(trees[0]); + try { + standardProductList.setLaboratory(trees[1]); + }catch (Exception e){} + try { + standardProductList.setSampleType(trees[2]); + }catch (Exception e){} + try { + standardProductList.setSample(trees[3]); + }catch (Exception e){} + try { + standardProductList.setModel(trees[4]); + }catch (Exception e){} + standardProductListMapper.insert(standardProductList); + } + return 1; + } + + @Override + public Map<String, List<?>> selectsStandardMethodByFLSSM(String tree) { + String[] trees = tree.split(" - "); + Map<String, List<?>> map = new HashMap<>(); + String str = ""; + List<StandardMethodList> standardMethodLists = new ArrayList<>(); + switch (trees.length){ + case 5: + str += "\"" + trees[2] + "\",\"" + trees[3] + "\",\"" + trees[4] + "\""; + standardMethodLists.addAll(standardMethodListMapper.selectStandardMethodLists(str)); + standardMethodLists.addAll(standardMethodListMapper.selectStandardMethodLists("\"" + trees[2] + "\",\"" + trees[3] + "\"")); + standardMethodLists.addAll(standardMethodListMapper.selectStandardMethodLists("\"" + trees[2] + "\"")); + break; + case 4: + str += "\"" + trees[2] + "\",\"" + trees[3] + "\""; + standardMethodLists.addAll(standardMethodListMapper.selectStandardMethodLists(str)); + standardMethodLists.addAll(standardMethodListMapper.selectStandardMethodLists("\"" + trees[2] + "\"")); + break; + case 3: + str += "\"" + trees[2] + "\""; + standardMethodLists.addAll(standardMethodListMapper.selectStandardMethodLists3(str)); + break; + default: + map.put("standardMethodList", null); + return map; + } + standardMethodLists.addAll(standardMethodListMapper.selectStandardMethodListsByNull(str)); + map.put("standardMethodList", standardMethodLists); + return map; + } + + @Override + public Map<String, List<?>> selectsStandardMethodByFLSSM2(String tree) { + String[] trees = tree.split(" - "); + List<StandardMethodList> standardMethodLists = null; + switch (trees.length){ + case 5: + standardMethodLists = standardMethodListMapper.selectStandardMethodLists2(trees[0],trees[1],trees[2],trees[3],trees[4]); + break; + case 4: + standardMethodLists = standardMethodListMapper.selectStandardMethodLists2(trees[0],trees[1],trees[2],trees[3],null); + break; + case 3: + standardMethodLists = standardMethodListMapper.selectStandardMethodLists2(trees[0],trees[1],trees[2],null,null); + break; + case 2: + standardMethodLists = standardMethodListMapper.selectStandardMethodLists2(trees[0],trees[1],null,null,null); + break; + case 1: + standardMethodLists = standardMethodListMapper.selectStandardMethodLists2(trees[0],null,null,null,null); + break; + } + Map<String, List<?>> map = new HashMap<>(); + map.put("standardMethodList", standardMethodLists); + return map; + } + + @Override + public int delStandardMethodByFLSSM(Integer id) { + standardProductListMapper.delete(Wrappers.<StandardProductList>lambdaUpdate().eq(StandardProductList::getStandardMethodListId, id)); + return standardMethodListMapper.deleteById(id); + } + @Override + public List<StandardMethodList> selectStandardMethodEnum() { + return standardMethodListMapper.selectListEnum(); + } + + @Override + public Integer getStandardMethodId(String code) { + return baseMapper.getStandardMethodId(code); + } +} + + + + diff --git a/basic-server/src/main/java/com/ruoyi/inspect/service/impl/StandardMethodServiceImpl.java b/basic-server/src/main/java/com/ruoyi/inspect/service/impl/StandardMethodServiceImpl.java new file mode 100644 index 0000000..e4df479 --- /dev/null +++ b/basic-server/src/main/java/com/ruoyi/inspect/service/impl/StandardMethodServiceImpl.java @@ -0,0 +1,260 @@ +package com.ruoyi.inspect.service.impl; + +import cn.hutool.json.JSONUtil; +import cn.hutool.poi.excel.ExcelUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.common.utils.QueryWrappers; +import com.ruoyi.inspect.mapper.StandardMethodMapper; +import com.ruoyi.inspect.mapper.StandardProductListMapper; +import com.ruoyi.inspect.mapper.StructureItemParameterMapper; +import com.ruoyi.inspect.pojo.StandardMethod; +import com.ruoyi.inspect.pojo.StandardProductList; +import com.ruoyi.inspect.pojo.StructureItemParameter; +import com.ruoyi.inspect.service.StandardMethodService; +import com.ruoyi.inspect.service.StandardProductListService; +import com.ruoyi.inspect.service.StructureItemParameterService; +import lombok.AllArgsConstructor; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.multipart.MultipartFile; + +import java.io.IOException; +import java.util.*; +import java.util.concurrent.CompletableFuture; + +/** + * @author Administrator + * @description 閽堝琛ㄣ�恠tandard_method(鏍囧噯鏂规硶)銆戠殑鏁版嵁搴撴搷浣淪ervice瀹炵幇 + * @createDate 2024-03-03 19:21:41 + */ +@Service +@AllArgsConstructor +public class StandardMethodServiceImpl extends ServiceImpl<StandardMethodMapper, StandardMethod> + implements StandardMethodService { + + + private StandardMethodMapper standardMethodMapper; + + StandardProductListMapper standardProductListMapper; + StandardProductListService standardProductListService; + + StructureItemParameterMapper structureItemParameterMapper; + StructureItemParameterService structureItemParameterService; + + @Override + public IPage<StandardMethod> selectStandardMethodList(Page page, StandardMethod standardMethod) { + return standardMethodMapper.selectStandardMethodList(page, QueryWrappers.queryWrappers(standardMethod)); + } + + @Override + public List<StandardMethod> selectStandardMethods() { + return standardMethodMapper.selectList(Wrappers.<StandardMethod>lambdaQuery().select(StandardMethod::getId, StandardMethod::getCode, StandardMethod::getName).ne(StandardMethod::getId, 0)); + } + + @Override + public int addStandardMethod(StandardMethod standardMethod) { + int insert = standardMethodMapper.insert(standardMethod); + return insert; + } + + @Override + public int delStandardMethod(Integer id) { + int i = standardMethodMapper.deleteById(id); + return i; + } + + @Override + public int upStandardMethod(StandardMethod standardMethod) { + StandardMethod oldStandardMethod = standardMethodMapper.selectById(standardMethod.getId()); + if (!oldStandardMethod.getCode().equals(standardMethod.getCode())) { + CompletableFuture.supplyAsync(() -> replaceMethod(oldStandardMethod.getCode(), standardMethod.getCode())); + } + int i = standardMethodMapper.updateById(standardMethod); + return i; + } + + //缂栬緫method鍚庡叏閮ㄦ浛鎹� + public String replaceMethod(String oldCode, String code) { + //鏌ヨStandardProductList涓墍鏈塎ethod濡傛灉鍖呭惈涔嬪墠鐨勫垯鏇挎崲 + List<StandardProductList> standardProductLists = standardProductListMapper.selectList(null); + for (StandardProductList standardProductList : standardProductLists) { + if (standardProductList.getMethod().contains(oldCode)) { + String[] split = standardProductList.getMethod().split(","); + String a = null; + for (int i = 0; i < split.length; i++) { + String methodName = split[i].substring(1, split[i].length() - 1); + if (i == 0) { + methodName = split[i].substring(2, split[i].length() - 1); + } else if (i == split.length - 1) { + methodName = split[i].substring(1, split[i].length() - 2); + } + if (methodName.equals(oldCode)) { + methodName = code; + } + a += "\"" + methodName + "\","; + } + String method = "[\"" + a.substring(0, a.length() - 1) + "\"]"; + standardProductList.setMethod(method); + } + } + standardProductListService.updateBatchById(standardProductLists); + //鏌ヨStructureItemParameter涓墍鏈塎ethod濡傛灉鍖呭惈涔嬪墠鐨勫垯鏇挎崲 + List<StructureItemParameter> structureItemParameters = structureItemParameterMapper.selectList(null); + for (StructureItemParameter structureItemParameter : structureItemParameters) { + if (structureItemParameter.getMethod().contains(oldCode)) { + String[] split = structureItemParameter.getMethod().split(","); + String a = null; + for (int i = 0; i < split.length; i++) { + String methodName = split[i].substring(1, split[i].length() - 1); + if (i == 0) { + methodName = split[i].substring(2, split[i].length() - 1); + } else if (i == split.length - 1) { + methodName = split[i].substring(1, split[i].length() - 2); + } + if (methodName.equals(oldCode)) { + methodName = code; + } + a += "\"" + methodName + "\","; + } + String method = "[\"" + a.substring(0, a.length() - 1) + "\"]"; + structureItemParameter.setMethod(method); + } + } + structureItemParameterService.updateBatchById(structureItemParameters); + return "鏇挎崲瀹屾瘯!"; + } + + @Transactional(rollbackFor = Exception.class) + @Override + public void inputExcel(MultipartFile file) throws IOException { + // 瀛樺偍妫�娴嬪璞ist + List<Object> structureTestObjectIdList = new ArrayList<>(); + List<StandardMethod> result = new ArrayList<>(); + ExcelUtil.readBySax(file.getInputStream(), 0, (i, l, list) -> { + // 鍘婚櫎绗竴琛岃〃澶� + if (l == 0) { + return; + } + // 瀛樺偍鍞竴妫�娴嬪璞� + if (!structureTestObjectIdList.contains(list.get(2))) { + structureTestObjectIdList.add(list.get(2)); + } + StandardMethod standardMethod = formatData(list); + result.add(standardMethod); + }); + addStructureTest(structureTestObjectIdList, result); + } + + // 鏍煎紡鍖栨暟鎹� + public StandardMethod formatData(List<Object> list) { + StandardMethod standardMethod = new StandardMethod(); + standardMethod.setField(list.get(1).toString()); + // 閫犳牸寮� + List<List<Object>> structureTestObjectId = new ArrayList<>(); + if (ObjectUtils.isEmpty(list.get(3))) { + structureTestObjectId.add(Arrays.asList(list.get(2))); + } else { + structureTestObjectId.add(Arrays.asList(list.get(2), list.get(3))); + } + standardMethod.setStructureTestObjectId(JSONUtil.toJsonStr(structureTestObjectId)); + standardMethod.setCode(list.get(4).toString()); + standardMethod.setName(list.get(5).toString()); + standardMethod.setNameEn(list.get(6).toString()); + if (!Objects.equals(list.get(7), null)) { + standardMethod.setRemark(list.get(7).toString()); + } + standardMethod.setQualificationId(list.get(8).toString()); + if (ObjectUtils.isNotEmpty(list.get(9))) { + if (list.get(9).equals("鏄�")) { + standardMethod.setIsProduct(1); + } else if (list.get(9).equals("鍚�")) { + standardMethod.setIsProduct(0); + } + } + if (ObjectUtils.isNotEmpty(list.get(10))) { + if (list.get(10).equals("鏄�")) { + standardMethod.setIsUse(1); + } else if (list.get(9).equals("鍚�")) { + standardMethod.setIsUse(0); + } + } + return standardMethod; + } + + // 鏂板鏁版嵁 + public void addStructureTest(List<Object> structureTestObjectIdList, List<StandardMethod> standardMethodList) { + List<StandardMethod> updateList = new ArrayList<>(); + List<Integer> deleteListId = new ArrayList<>(); + List<StandardMethod> addList = new ArrayList<>(); + if (!structureTestObjectIdList.isEmpty()) { + // 寰幆excel閲岄潰鐨勫垎缁� + structureTestObjectIdList.forEach(j -> { + // 浠xcel涓殑缁勫悕鏌ヨ鏁版嵁搴撲腑鐨勫垎缁� + List<StandardMethod> standardMethods = baseMapper.selectList(Wrappers.<StandardMethod>lambdaQuery() + .like(StandardMethod::getStructureTestObjectId, "\"" + j + "\"")); + // 灏嗙粨鏋滃惊鐜尮閰� + for (int i = 0; i < standardMethods.size(); i++) { + boolean isExistence = false; + for (int i1 = 0; i1 < standardMethodList.size(); i1++) { + // 鏇存柊 + if (standardMethods.get(i).getStructureTestObjectId().equals(standardMethodList.get(i1).getStructureTestObjectId()) + && standardMethods.get(i).getCode().equals(standardMethodList.get(i1).getCode()) + && standardMethods.get(i).getField().equals(standardMethodList.get(i1).getField())) { + // 缁檈xcel鏁版嵁璧嬪�糹d鍋氭洿鏂� + standardMethodList.get(i1).setId(standardMethods.get(i).getId()); + // 鏇存柊 + updateList.add(standardMethodList.get(i1)); + isExistence = true; + break; + } + } + // 鍒犻櫎 + if (!isExistence) { + deleteListId.add(standardMethods.get(i).getId()); + } + } + for (int i = 0; i < standardMethodList.size(); i++) { + if (standardMethodList.get(i).getStructureTestObjectId().contains("\"" + j + "\"")) { + boolean isExistence = false; + for (int i1 = 0; i1 < standardMethods.size(); i1++) { + if (standardMethods.get(i1).getStructureTestObjectId().equals(standardMethodList.get(i).getStructureTestObjectId()) + && standardMethods.get(i1).getCode().equals(standardMethodList.get(i).getCode()) + && standardMethods.get(i1).getField().equals(standardMethodList.get(i).getField())) { + isExistence = true; + break; + } + } + // 鏂板 + if (!isExistence) { + addList.add(standardMethodList.get(i)); + } + } + } + }); + } + if (!addList.isEmpty()) { + // 鏂板 + baseMapper.insertBatchSomeColumn(addList); + } + + if (!deleteListId.isEmpty()) { + // 鍒犻櫎 + baseMapper.deleteBatchIds(deleteListId); + } + + if (!updateList.isEmpty()) { + // 鏇存柊 + updateList.forEach(i -> { + baseMapper.updateById(i); + }); + } + } +} + + + + diff --git a/basic-server/src/main/java/com/ruoyi/inspect/service/impl/StandardProductListService2Impl.java b/basic-server/src/main/java/com/ruoyi/inspect/service/impl/StandardProductListService2Impl.java new file mode 100644 index 0000000..c766bb3 --- /dev/null +++ b/basic-server/src/main/java/com/ruoyi/inspect/service/impl/StandardProductListService2Impl.java @@ -0,0 +1,12 @@ +package com.ruoyi.inspect.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.inspect.mapper.StandardProductListMapper; +import com.ruoyi.inspect.pojo.StandardProductList; +import com.ruoyi.inspect.service.StandardProductListService2; +import org.springframework.stereotype.Service; + +@Service +public class StandardProductListService2Impl extends ServiceImpl<StandardProductListMapper, StandardProductList> + implements StandardProductListService2 { +} diff --git a/basic-server/src/main/java/com/ruoyi/inspect/service/impl/StandardProductListServiceImpl.java b/basic-server/src/main/java/com/ruoyi/inspect/service/impl/StandardProductListServiceImpl.java new file mode 100644 index 0000000..648d57b --- /dev/null +++ b/basic-server/src/main/java/com/ruoyi/inspect/service/impl/StandardProductListServiceImpl.java @@ -0,0 +1,701 @@ +package com.ruoyi.inspect.service.impl; + +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONArray; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.*; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.common.exception.base.BaseException; +import com.ruoyi.common.utils.SecurityUtils; +import com.ruoyi.inspect.dto.CopyStandardProductListDto; +import com.ruoyi.inspect.dto.InsSampleReceiveDto; +import com.ruoyi.inspect.dto.ProductDto; +import com.ruoyi.inspect.dto.ResetTreeDragDTO; +import com.ruoyi.inspect.mapper.IfsInventoryQuantityMapper; +import com.ruoyi.inspect.mapper.StandardProductListMapper; +import com.ruoyi.inspect.mapper.StandardProductListSupplierAskMapper; +import com.ruoyi.inspect.mapper.StandardTreeMapper; +import com.ruoyi.inspect.pojo.StandardProductList; +import com.ruoyi.inspect.pojo.StandardProductListSupplierAsk; +import com.ruoyi.inspect.pojo.StandardTree; +import com.ruoyi.inspect.service.StandardProductListService; +import com.ruoyi.inspect.service.StandardProductListService2; +import lombok.AllArgsConstructor; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.math.BigDecimal; +import java.util.*; +import java.util.regex.Matcher; +import java.util.regex.Pattern; +import java.util.stream.Collectors; + +/** + * @author Administrator + * @description 閽堝琛ㄣ�恠tandard_product_list(鏍囧噯鏍戜笅鐨勬楠岄」鐩�)銆戠殑鏁版嵁搴撴搷浣淪ervice瀹炵幇 + * @createDate 2024-03-05 10:33:29 + */ +@Service +@AllArgsConstructor +public class StandardProductListServiceImpl extends ServiceImpl<StandardProductListMapper, StandardProductList> + implements StandardProductListService { + + private StandardProductListMapper standardProductListMapper; + + private StandardTreeMapper standardTreeMapper; + + private StandardProductListService2 standardProductListService2; + + private IfsInventoryQuantityMapper ifsInventoryQuantityMapper; + + private StandardProductListSupplierAskMapper standardProductListSupplierAskMapper; + + + @Override + public int upStandardProductList(StandardProductList list) { + return standardProductListMapper.updateById(list); + } + + @Override + public int delStandardProduct(JSONArray list) { + return standardProductListMapper.deleteBatchIds(list); + } + + @Override + public List<StandardProductList> selectStandardProductList(InsSampleReceiveDto insSample) { + // 鏄惁娌℃湁浜у搧 + boolean isNoSample = false; +// String[] models = insSample.getModel().split("-(?=[^-]*$)");//鎷嗗垎鏈�鍚庝竴涓��-銆� + String model = insSample.getModel(); + String modelNum = insSample.getModelNum(); + List<StandardProductList> list = standardProductListMapper.selectDetail(insSample.getStandardMethodListId(), 1, model, insSample.getIsCableTag()); + if (list.size() == 0) { + if (Objects.equals(insSample.getFactory(), "") || insSample.getFactory() == null) { + return null; + } + String[] split = insSample.getFactory().split(" - "); + split[3] = split[3].replace("- ", ""); + String tree = split[0] + " - " + split[1] + " - " + split[2] + " - " + split[3] + " - null"; + list = standardProductListMapper.selectDetail2(insSample.getStandardMethodListId(), 1, tree, insSample.getIsCableTag()); + if (list.size() == 0) { + String tree1 = split[0] + " - " + split[1] + " - " + split[2] + " - null - " + split[3]; + list = standardProductListMapper.selectDetail2(insSample.getStandardMethodListId(), 1, tree1, insSample.getIsCableTag()); + + // 鍙湁瀵硅薄鐨勪竴灞� + if (list.size() == 0) { + String tree2 = split[0] + " - " + split[1] + " - " + split[2] + " - null - null"; + list = standardProductListMapper.selectDetail2(insSample.getStandardMethodListId(), 1, tree2, insSample.getIsCableTag()); + // 鏍峰搧鐩存帴璧嬪�兼牱鍝佸垎绫� + list.forEach(standardProductList -> standardProductList.setSample(standardProductList.getSampleType())); + isNoSample = true; + } + } + } + String[] split1 = insSample.getFactory().split(" - "); + if (!isNoSample) { + //鍒ゆ柇闀垮害 + if (split1.length > 4) { + if (ObjectUtils.isNotEmpty(split1[3])) { + list = list.stream().filter(list1 -> Objects.nonNull(list1.getSample()) && Objects.equals(list1.getSample(), split1[3])).collect(Collectors.toList()); + } else if (split1[3].equals("")) { + list = list.stream().filter(list1 -> Objects.nonNull(list1.getSampleType()) && Objects.equals(list1.getSampleType(), split1[2])).collect(Collectors.toList()); + } + } + } + list = list.stream().filter(a -> { + try { + if (a.getSection() != null && !Objects.equals(a.getSection(), "")) { + List<String> sections = JSON.parseArray(a.getSection(), String.class);// 鍖洪棿 + List<String> cores = JSON.parseArray(a.getCores(), String.class); // 鑺暟 + List<String> conductorMaterials = JSON.parseArray(a.getConductorMaterial(), String.class); // 瀵间綋鏉愯川 + List<String> conductorTypes = JSON.parseArray(a.getConductorType(), String.class); // 瀵间綋绫诲瀷 + List<String> asks = JSON.parseArray(a.getAsk(), String.class); + List<String> tells = JSON.parseArray(a.getTell(), String.class); + boolean isIf; + for (int i = 0; i < sections.size(); i++) { + if (Objects.equals(a.getBsm(), "1")) { + return true; + } else { + if (sections.get(i).contains("&")) { + String[] split = sections.get(i).split("&"); + isIf = getIsIf(split[0], modelNum, cores.get(i), conductorMaterials.get(i), conductorTypes.get(i), insSample) + && getIsIf(split[1], modelNum, cores.get(i), conductorMaterials.get(i), conductorTypes.get(i), insSample); + } else { + isIf = getIsIf(sections.get(i), modelNum, cores.get(i), conductorMaterials.get(i), conductorTypes.get(i), insSample); + } + if (isIf) { + a.setSection(sections.get(i)); + a.setAsk(asks.get(i)); + a.setTell(tells.get(i)); + return true; + } + } + } + return false; + } + } catch (Exception ignored) { + return false; + } + return true; + }).peek(standardProductList -> { + // todo: 鍒ゆ柇鏄惁鏄師鏉愪笅鍗�, 闇�瑕佸晩鎶婇鑹茬粦瀹氬埌璇曟牱棰滆壊鐨勮姹傚�间笂 + if (StringUtils.isNotBlank(insSample.getPartNo())) { + // 鍒ゆ柇鏄惁鏈夎繖涓瓧娈典笖鏄枃鏈被鍨� + if (StringUtils.isNotBlank(standardProductList.getInspectionItem()) + && standardProductList.getInspectionItem().contains("璇曟牱棰滆壊")) { + Map<String, String> partColor = baseMapper.selectPartColor(insSample.getPartNo()); + if (CollectionUtils.isNotEmpty(partColor)) { + if (StringUtils.isNotBlank(partColor.get("color"))) { + // 鍒ゆ柇妫�楠屽�兼槸鍚︿负绌哄拰涓嶇瓑浜� - 鍜� / + if (StringUtils.isBlank(standardProductList.getAsk()) || partColor.get("color").contains("鏈�")) { // 娌℃湁ask鐩存帴澶嶅埗 + // 鏌ヨ瀵硅薄缁戝畾琛ㄥ拰浜у搧缁戝畾琛� + standardProductList.setAsk("=" + partColor.get("color") + + (StringUtils.isBlank(partColor.get("color_code")) ? "" : "(" + partColor.get("color_code") + ")")); + standardProductList.setTell(partColor.get("color") + + (StringUtils.isBlank(partColor.get("color_code")) ? "" : "(" + partColor.get("color_code") + ")")); + standardProductList.setInspectionValueType("2"); + } else { // 鎷兼帴鍒拌姹傛弿杩板墠闈� + standardProductList.setTell(partColor.get("color") + + (StringUtils.isBlank(partColor.get("color_code")) ? "" : "(" + partColor.get("color_code") + ")") + "@" + standardProductList.getTell()); + } + } + } + } + } + }) + .collect(Collectors.toList()); + + // 鏌ヨ鍘傚鏄惁鏈夌壒娈婅姹傚�� + if (insSample.getIfsInventoryId() != null) { + // 鏌ヨ鍘熸潗鏂欏巶瀹跺悕绉� + String supplierName = ifsInventoryQuantityMapper.selectById(insSample.getIfsInventoryId()) + .getSupplierName(); + List<Long> collect = list.stream().map(StandardProductList::getId).collect(Collectors.toList()); + if (CollectionUtils.isNotEmpty(collect)) { + List<StandardProductListSupplierAsk> supplierAsks = standardProductListSupplierAskMapper.selectList(Wrappers.<StandardProductListSupplierAsk>lambdaQuery() + .in(StandardProductListSupplierAsk::getProductListId, collect) + .eq(StandardProductListSupplierAsk::getSupplierName, supplierName)); + + // 鍒ゆ柇鏈夋病鏈夌壒娈婂�肩粦瀹� + if (CollectionUtils.isNotEmpty(supplierAsks)) { + for (StandardProductList standardProductList : list) { + for (StandardProductListSupplierAsk supplierAsk : supplierAsks) { + if (standardProductList.getId().equals(supplierAsk.getProductListId())) { + // 閲嶆柊璧嬪�艰姹傚�煎拰瑕佹眰鎻忚堪 + standardProductList.setAsk(supplierAsk.getAsk()); + standardProductList.setTell(supplierAsk.getTell()); + } + } + } + } + } + } + + return list; + } + + /** + * + * @param str 鍒ゅ畾鍏紡 + * @param model 鍨嬪彿 + * @param standardCores 鑺暟 + * @param conductorMaterial 瀵间綋鏉愯川 + * @param conductorType 瀵间綋绫诲瀷 + * @param insSample + * @return + */ + private boolean getIsIf(String str, String model, String standardCores, String conductorMaterial, String conductorType,InsSampleReceiveDto insSample) { + Matcher matcher = Pattern.compile("\\d+(\\.\\d+)?").matcher(model); + String model2 = ""; + while (matcher.find()) { + model2 += matcher.group(); + break; + } + boolean flag = false; + if (str.contains("鈮�") || str.contains(">=")) { + String param = str.replace("鈮�", "").replace(">=", ""); + flag = new BigDecimal(model2).compareTo(new BigDecimal(param)) > -1; + } else if (str.contains("鈮�") || str.contains("<=")) { + String param = str.replace("鈮�", "").replace("<=", ""); + flag = new BigDecimal(model2).compareTo(new BigDecimal(param)) < 1; + } else if (str.contains(">") || str.contains("锛�")) { + String param = str.replace(">", "").replace("锛�", ""); + flag = new BigDecimal(model2).compareTo(new BigDecimal(param)) > 0; + } else if (str.contains("<") || str.contains("锛�")) { + String param = str.replace("<", "").replace("锛�", ""); + flag = new BigDecimal(model2).compareTo(new BigDecimal(param)) < 0; + } else if (str.contains("=")) { + String param = str.replace("=", ""); + flag = new BigDecimal(model2).compareTo(new BigDecimal(param)) == 0; + } + if (flag) { + boolean coresMatch = true; + boolean conductorMaterialMatch = true; + boolean conductorTypeMatch = true; + + // 鍒ゆ柇鏄惁鏈夌嚎鑺暟閲� + if (StringUtils.isNotBlank(standardCores)) { + if (StringUtils.isBlank(insSample.getCores()) || !standardCores.equals(insSample.getCores())) { + coresMatch = false; + } + } + + // 鍒ゆ柇鏄惁鏈夊浣撴潗璐� + if (StringUtils.isNotBlank(conductorMaterial)) { + if (StringUtils.isBlank(insSample.getConductorMaterial()) || !conductorMaterial.equals(insSample.getConductorMaterial())) { + conductorMaterialMatch = false; + } + } + + // 鍒ゆ柇鏄惁鏈夊浣撶被鍨� + if (StringUtils.isNotBlank(conductorType)) { + if (StringUtils.isBlank(insSample.getConductorType()) || !conductorType.equals(insSample.getConductorType())) { + conductorTypeMatch = false; + } + } + // 鏈�缁堝垽鏂� + flag = coresMatch && conductorMaterialMatch && conductorTypeMatch; + } + + return flag; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public Map<String, Object> selectStandardProductListByMethodId(Integer id, String tree, Integer page) { + String[] trees = tree.split(" - "); + try { + String tree1 = trees[2]; + } catch (Exception e) { + throw new BaseException("鎿嶄綔澶揩,绯荤粺浼犲弬閿欒!!!!"); + } + boolean isDrag = false; + List<StandardProductList> list = new ArrayList<>(); + if (trees.length == 3) { + List<StandardTree> treeList = new ArrayList<>(); + StandardTree standardTree = new StandardTree(); + standardTree.setFactory(trees[0]); + standardTree.setLaboratory(trees[1]); + standardTree.setSampleType(trees[2]); + List<ProductDto> pList = standardTreeMapper.selectPList(trees[2]); + if (pList.size() == 0 || pList.get(0) == null) { + List<StandardTree> treeList1 = standardTreeMapper.selectList(Wrappers.<StandardTree>lambdaQuery().eq(StandardTree::getLaboratory, trees[1]).eq(StandardTree::getSampleType, trees[2])); + if (treeList1.size() == 0) { + treeList.add(standardTree); + } else { + treeList.addAll(treeList1); + } + } else { + for (ProductDto p : pList) { + standardTree.setSample(p.getName()); + List<StandardTree> treeList1 = standardTreeMapper.selectList(Wrappers.<StandardTree>lambdaQuery().eq(StandardTree::getLaboratory, trees[1]).eq(StandardTree::getSampleType, trees[2]).eq(StandardTree::getSample, p.getName())); + if (treeList1.size() == 0) { + treeList.add(JSON.parseObject(JSON.toJSONString(standardTree), StandardTree.class)); + } else { + treeList.addAll(treeList1); + } + } + } + for (StandardTree standardTree2 : treeList) { + String tree2 = trees[0] + " - " + trees[1] + " - " + trees[2] + " - " + standardTree2.getSample() + " - " + standardTree2.getModel(); + list.addAll(standardTreeMapper.selectStandardProductListByTree("\"" + trees[2] + "\"", standardTree2.getSample(), standardTree2.getModel(), tree2, trees[1])); + list.addAll(standardTreeMapper.selectStandardProductListByTree2("\"" + trees[2] + "\",\"" + standardTree2.getSample() + "\"", standardTree2.getSample(), standardTree2.getModel(), tree2, trees[1])); + } + } else if (trees.length == 4) { + // 鍒ゆ柇绗洓灞傛槸鍚︽湁鍨嬪彿 + Long count = standardProductListMapper.selectCount(Wrappers.<StandardProductList>lambdaQuery() + .eq(StandardProductList::getStandardMethodListId, id) + .isNull(StandardProductList::getModel) + .like(StandardProductList::getTree, tree)); + if (count == 0) { + isDrag = true; + } + + isDrag = true; + List<StandardTree> treeList = standardTreeMapper.selectList(Wrappers.<StandardTree>lambdaQuery().eq(StandardTree::getLaboratory, trees[1]).eq(StandardTree::getSampleType, trees[2]).eq(StandardTree::getSample, trees[3])); + if (treeList.size() == 0) { + StandardTree standardTree = new StandardTree(); + standardTree.setFactory(trees[0]); + standardTree.setLaboratory(trees[1]); + standardTree.setSampleType(trees[2]); + standardTree.setSample(trees[3]); + treeList.add(standardTree); + } + for (StandardTree standardTree : treeList) { + String str = tree + " - " + standardTree.getModel(); + list.addAll(standardTreeMapper.selectStandardProductListByTree("\"" + trees[2] + "\"", standardTree.getSample(), standardTree.getModel(), str, trees[1])); + list.addAll(standardTreeMapper.selectStandardProductListByTree2("\"" + trees[2] + "\",\"" + trees[3] + "\"", standardTree.getSample(), standardTree.getModel(), str, trees[1])); + } + } else { + isDrag = true; + list.addAll(standardTreeMapper.selectStandardProductListByTree("\"" + trees[2] + "\"", trees[3].equals("null") ? null : trees[3], trees[4], tree, trees[1])); + list.addAll(standardTreeMapper.selectStandardProductListByTree2("\"" + trees[2] + "\",\"" + trees[3] + "\"", trees[3].equals("null") ? null : trees[3], trees[4], tree, trees[1])); + } + for (StandardProductList productList : list) { + productList.setId(IdWorker.getId()); + } + List<StandardProductList> standardProductLists; + + if (isDrag) { + standardProductLists = standardProductListMapper.selectList(Wrappers.<StandardProductList>lambdaQuery() + .eq(StandardProductList::getStandardMethodListId, id) + .like(StandardProductList::getTree, tree) + .orderByAsc(StandardProductList::getSort)); + // 鍒ゆ柇鏄惁鏈夋病鏈夊簭鍙风殑, 娌℃湁搴忓彿閲嶇疆 + boolean b = standardProductLists.stream().anyMatch(standardProductList -> standardProductList.getSort() == null); + } else { + standardProductLists = standardProductListMapper.selectList(Wrappers.<StandardProductList>lambdaQuery() + .eq(StandardProductList::getStandardMethodListId, id) + .like(StandardProductList::getTree, tree)); + } + + for (StandardProductList sp : standardProductLists) { + for (StandardProductList pl : list) { + // 鍒ゆ柇鏉′欢鏄惁鍙湁涓�涓�, 鏈変竴涓殑璇濋粯璁ょ涓�涓� + String radiusList = pl.getRadiusList(); + if (StringUtils.isNotBlank(radiusList) && !radiusList.equals("null") && !radiusList.equals("\"\"")) { + JSONArray jsonArray = JSON.parseArray(radiusList); + List<String> radius = jsonArray.toJavaList(String.class); + if (CollectionUtils.isNotEmpty(radius) && radius.size() == 1) { + pl.setRadius(radius.get(0)); + } + } + if (Objects.equals(sp.getInspectionItem(), pl.getInspectionItem()) + && Objects.equals((sp.getInspectionItemSubclass() == null) ? "" : sp.getInspectionItemSubclass(), pl.getInspectionItemSubclass() == null ? "" : pl.getInspectionItemSubclass()) +// && Objects.equals(sp.getSample(), pl.getSample()) + && Objects.equals(sp.getModel(), pl.getModel()) + && sp.getTree().indexOf(pl.getSample() == null ? "null" : pl.getSample()) > -1 + && Objects.equals(sp.getStructureItemParameterId(), pl.getStructureItemParameterId())) { + pl.setId(sp.getId()); + // 娣诲姞鎺掑簭瀛楁 + pl.setSort(sp.getSort()); + if (sp.getState() != null && !sp.getState().equals("")) { + pl.setState(sp.getState()); + } else { + pl.setState(id == 0 ? 1 : 0); + } + if (sp.getMethodS() != null && !sp.getMethodS().equals("")) { + pl.setMethod(sp.getMethodS()); + } + if (sp.getRadius() != null && !sp.getRadius().equals("")) { + pl.setRadius(sp.getRadius()); + } + if (sp.getRates() != null && !sp.getRates().equals("")) { + pl.setRates(sp.getRates()); + } + if (sp.getAsk() != null && !sp.getAsk().equals("")) { + pl.setAsk(sp.getAsk()); + } + if (sp.getTell() != null && !sp.getTell().equals("")) { + pl.setTell(sp.getTell()); + } + if (sp.getPrice() != null && !sp.getPrice().equals("")) { + pl.setPrice(sp.getPrice()); + } + if (sp.getManHour() != null && !sp.getManHour().equals("")) { + pl.setManHour(sp.getManHour()); + } + if (sp.getSection() != null && !sp.getSection().equals("")) { + pl.setSection(sp.getSection()); + } + if (sp.getCores() != null && !sp.getCores().equals("")) { + pl.setCores(sp.getCores()); + } + if (sp.getConductorMaterial() != null && !sp.getConductorMaterial().equals("")) { + pl.setConductorMaterial(sp.getConductorMaterial()); + } + if (sp.getConductorType() != null && !sp.getConductorType().equals("")) { + pl.setConductorType(sp.getConductorType()); + } + if (sp.getTemplateId() != null && !sp.getTemplateId().equals("")) { + pl.setTemplateId(sp.getTemplateId()); + } + //鍥犱负杩樻湁涓骇鍝佸彨鑰愬紶绾垮す 鎺ョ画閲戝叿 ,杩欎袱涓」鐩殑鏁版嵁瀹屽叏涓�鏍�,鐗规畩澶勭悊 + if (sp.getTree() != null && !sp.getTree().equals("") && !pl.getTree().equals("涓ぉ绉戞妧妫�娴嬩腑蹇� - 鐢靛姏浜у搧瀹為獙瀹� - 閲戝叿 - 鑰愬紶绾垮す - null")) { + pl.setTree(sp.getTree()); + } + break; + } + } + } + if (page == 1) { + Integer userId = SecurityUtils.getUserId().intValue(); +// CompletableFuture.supplyAsync(() -> { + if (trees.length == 5) { + standardProductListMapper.delete(Wrappers.<StandardProductList>lambdaUpdate() + .eq(StandardProductList::getStandardMethodListId, id) + .eq(StandardProductList::getTree, tree)); + } else { + standardProductListMapper.delete(Wrappers.<StandardProductList>lambdaUpdate() + .eq(StandardProductList::getStandardMethodListId, id) + .like(StandardProductList::getTree, tree)); + } + + boolean success = false; + int retryCount = 0; + while (!success && retryCount < 100) { + try { + standardProductListService2.saveBatch(list.stream().map(a -> { + a.setFactory(trees[0]); + a.setLaboratory(trees[1]); + a.setSampleType(trees[2]); + a.setCreateUser(userId); + a.setUpdateUser(userId); + a.setStandardMethodListId(id); + return a; + }).collect(Collectors.toList())); + ; + success = true; + } catch (Exception e) { + // 澶勭悊閲嶅 ID 鐨勮褰曪紝閲嶆柊鐢熸垚 ID 骞剁户缁皾璇曟彃鍏� + for (StandardProductList productList : list) { + productList.setId(IdWorker.getId()); + } + } + } + if (!success) { + throw new RuntimeException("鎻掑叆澶辫触"); + } + + } + Map<String, Object> map = new HashMap<>(); + Collections.sort(list, (o1, o2) -> { + String field1 = o1.getManHourGroup(); + String field2 = o2.getManHourGroup(); + + boolean isEmpty1 = field1 == null || field1.isEmpty(); + boolean isEmpty2 = field2 == null || field2.isEmpty(); + + if (isEmpty1 && isEmpty2) { + return 0; + } else if (isEmpty1) { + return 1; + } else if (isEmpty2) { + return -1; + } else { + int num1 = extractNumber(field1); + int num2 = extractNumber(field2); + return Integer.compare(num1, num2); + } + }); + // 鎸夌収绱㈠紩鎺掑簭 + if (isDrag) { + list.sort((o1, o2) -> (o1.getSort() == null ? 0 : o1.getSort()) + - (o2.getSort() == null ? 0 : o2.getSort())); + } + try { + map.put("productList", list.subList((page - 1) * 300, page * 300)); + } catch (IndexOutOfBoundsException e) { + map.put("productList", list.subList((page - 1) * 300, list.size())); + } + map.put("total", list.size()); + return map; + } + + private int extractNumber(String s) { + // 浠庡瓧绗︿覆涓彁鍙栨暟瀛楃殑閫昏緫锛岃繖閲屽亣璁惧瓧娈电殑鏍煎紡鏄� "text<number>" + String number = s; + if (!s.matches("\\d+")) { + number = s.replaceAll("\\D", ""); + } + return Integer.parseInt(number); + } + + @Override + public IPage<StandardProductList> selectStandardProductByMethodId(Integer id, String tree, Integer page, String laboratory, String item, String items) { + IPage<StandardProductList> iPage = new Page<>(); + iPage.setSize(100); + iPage.setCurrent(page); + return standardProductListMapper.standardProductListIPage(id, tree, iPage, laboratory, item, items); + } + + @Override + public Map<String, List<?>> selectStandardProductEnumByMethodId(Integer id, String tree, String item) { + HashMap<String, List<?>> map = new HashMap<>(); + map.put("item", standardProductListMapper.selectList(Wrappers.<StandardProductList>lambdaQuery() + .eq(StandardProductList::getStandardMethodListId, id) + .like(StandardProductList::getTree, tree) + .select(StandardProductList::getInspectionItem) + .groupBy(StandardProductList::getInspectionItem))); + if (ObjectUtils.isNotEmpty(item)) { + map.put("items", standardProductListMapper.selectList(Wrappers.<StandardProductList>lambdaQuery() + .eq(StandardProductList::getStandardMethodListId, id) + .eq(StandardProductList::getInspectionItem, item) + .like(StandardProductList::getTree, tree) + .select(StandardProductList::getInspectionItemSubclass) + .groupBy(StandardProductList::getInspectionItemSubclass))); + } else { + map.put("items", standardProductListMapper.selectList(Wrappers.<StandardProductList>lambdaQuery() + .eq(StandardProductList::getStandardMethodListId, id) + .like(StandardProductList::getTree, tree) + .select(StandardProductList::getInspectionItemSubclass) + .groupBy(StandardProductList::getInspectionItemSubclass))); + } + return map; + } + + /** + * 淇敼鏍囧噯搴撳尯闂� + * @param list + * @return + */ + @Override + public boolean updateSection(StandardProductList list) { + standardProductListMapper.updateSection(list); + return true; + } + + + /** + * 鏍囧噯搴撴嫋鎷� + * @param resetTreeDragDTO + */ + @Override + @Transactional(rollbackFor = Exception.class) + public void resetTreeDrag(ResetTreeDragDTO resetTreeDragDTO) { + Integer beginIndex = Integer.parseInt(resetTreeDragDTO.getBeginIndex()); + Integer endIndex = Integer.parseInt(resetTreeDragDTO.getEndIndex()); + Integer methodId = Integer.parseInt(resetTreeDragDTO.getMethodId()); + Long productionId = Long.parseLong(resetTreeDragDTO.getProductionId()); + // 鍒ゆ柇鏄粠涓婂線涓嬫嫋鎷借繕鏄粠涓嬪線涓婃斁鎷栨嫿 + // 浠庝笂寰�涓� + if (beginIndex < endIndex) { + standardProductListMapper.updateSortUp(beginIndex, + endIndex, + methodId, + resetTreeDragDTO.getTree()); + + // 浠庝笅寰�涓� + } else if (beginIndex > endIndex){ + standardProductListMapper.updateSortDown(beginIndex, + endIndex, + methodId, + resetTreeDragDTO.getTree()); + } else { + return; + } + // 淇敼鏍囧噯搴撻」椤哄簭 + standardProductListMapper.update(null, Wrappers.<StandardProductList>lambdaUpdate() + .eq(StandardProductList::getId, productionId) + .set(StandardProductList::getSort, endIndex)); + } + + @Override + public void resetTreeDragBatch(List<StandardProductList> standardProductLists) { + standardProductListService2.updateBatchById(standardProductLists); + } + + /** + * 妫�楠岄」瑕佹眰鍊煎姣� + * @param copyDto + * @return + */ + @Override + public List<StandardProductList> copyStandardProductList(CopyStandardProductListDto copyDto) { + List<StandardProductList> productLists = new ArrayList<>(); + + // 瀵规瘮妫�楠岄」涓�鏍风殑濉厖瑕佹眰鍊艰姹傛弿杩� + for (StandardProductList oldProductList : copyDto.getOldStandardProductList()) { + String oldItemName = oldProductList.getInspectionItemClassEn() + + oldProductList.getInspectionItem() + + oldProductList.getInspectionItemSubclass(); + for (StandardProductList newProductList : copyDto.getNewStandardProductList()) { + String newItemName = newProductList.getInspectionItemClassEn() + + newProductList.getInspectionItem() + + newProductList.getInspectionItemSubclass(); + // 鍒ゆ柇鍚嶇О鏄惁涓�鏍� + if (oldItemName.equals(newItemName)) { + // 鍖洪棿 + oldProductList.setSection(newProductList.getSection()); + // 鑺暟 + oldProductList.setCores(newProductList.getCores()); + // 瑕佹眰鍊� + oldProductList.setAsk(newProductList.getAsk()); + // 瑕佹眰鎻忚堪 + oldProductList.setTell(newProductList.getTell()); + // 鍗曚环 + oldProductList.setPrice(newProductList.getPrice()); + // 宸ユ椂鍒嗙粍 + oldProductList.setManHour(newProductList.getManHour()); + // 瀵间綋鏉愯川 + oldProductList.setConductorMaterial(newProductList.getConductorMaterial()); + // 瀵间綋绫诲瀷 + oldProductList.setConductorType(newProductList.getConductorType()); + productLists.add(oldProductList); + } + } + } + return productLists; + } + + /** + * 妫�楠岄」澶嶅埗瀵规瘮涓�涓� + * @param dto + * @return + */ + @Override + public List<StandardProductList> copyStandardProductOne(CopyStandardProductListDto dto) { + if (CollectionUtils.isEmpty(dto.getNewStandardProductList()) && dto.getNewStandardProductList().size() == 1 && + CollectionUtils.isEmpty(dto.getOldStandardProductList()) && dto.getOldStandardProductList().size() == 1) { + throw new BaseException("闇�瑕佸姣旂殑妫�楠岄」璇烽�夋嫨涓�涓�"); + } + StandardProductList newProductList = dto.getNewStandardProductList().get(0); + StandardProductList oldProductList = dto.getOldStandardProductList().get(0); + // 鍖洪棿 + oldProductList.setSection(newProductList.getSection()); + // 鑺暟 + oldProductList.setCores(newProductList.getCores()); + // 瑕佹眰鍊� + oldProductList.setAsk(newProductList.getAsk()); + // 瑕佹眰鎻忚堪 + oldProductList.setTell(newProductList.getTell()); + // 鍗曚环 + oldProductList.setPrice(newProductList.getPrice()); + // 宸ユ椂鍒嗙粍 + oldProductList.setManHour(newProductList.getManHour()); + // 瀵间綋鏉愯川 + oldProductList.setConductorMaterial(newProductList.getConductorMaterial()); + // 瀵间綋绫诲瀷 + oldProductList.setConductorType(newProductList.getConductorType()); + List<StandardProductList> productLists = new ArrayList<>(); + productLists.add(oldProductList); + return productLists; + } + + /** + * 妫�楠岄」澶嶅埗鎺掑簭 + * @param copyDto + * @return + */ + @Override + public boolean copyStandardProductSort(CopyStandardProductListDto copyDto) { + List<StandardProductList> productLists = new ArrayList<>(); + + // 瀵规瘮妫�楠岄」涓�鏍风殑濉厖瑕佹眰鍊艰姹傛弿杩� + for (StandardProductList oldProductList : copyDto.getOldStandardProductList()) { + String oldItemName = oldProductList.getInspectionItemClassEn() + + oldProductList.getInspectionItem() + + oldProductList.getInspectionItemSubclass(); + for (StandardProductList newProductList : copyDto.getNewStandardProductList()) { + String newItemName = newProductList.getInspectionItemClassEn() + + newProductList.getInspectionItem() + + newProductList.getInspectionItemSubclass(); + // 鍒ゆ柇鍚嶇О鏄惁涓�鏍� + if (oldItemName.equals(newItemName)) { + StandardProductList standardProductList = new StandardProductList(); + standardProductList.setId(oldProductList.getId()); + // 澶嶅埗鎺掑簭 + standardProductList.setSort(newProductList.getSort()); + productLists.add(standardProductList); + } + } + } + this.updateBatchById(productLists); + return false; + } +} + + + + diff --git a/basic-server/src/main/java/com/ruoyi/inspect/service/impl/StandardProductListSupplierAskServiceImpl.java b/basic-server/src/main/java/com/ruoyi/inspect/service/impl/StandardProductListSupplierAskServiceImpl.java new file mode 100644 index 0000000..72c261f --- /dev/null +++ b/basic-server/src/main/java/com/ruoyi/inspect/service/impl/StandardProductListSupplierAskServiceImpl.java @@ -0,0 +1,79 @@ +package com.ruoyi.inspect.service.impl; + +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.common.exception.base.BaseException; +import com.ruoyi.inspect.mapper.StandardProductListSupplierAskMapper; +import com.ruoyi.inspect.pojo.StandardProductListSupplierAsk; +import com.ruoyi.inspect.service.StandardProductListSupplierAskService; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * 妫�楠岄」鐩巶瀹跺瘑搴︾粦瀹氳〃 + * + * @author zhuo + * @since 2024-09-23 + */ +@Service +public class StandardProductListSupplierAskServiceImpl extends ServiceImpl<StandardProductListSupplierAskMapper, StandardProductListSupplierAsk> implements StandardProductListSupplierAskService { + + /** + * 鏌ヨ鍘傚瑕佹眰鍊肩粦瀹� + * @param supplierAsk + * @return + */ + @Override + public List<StandardProductListSupplierAsk> selectByProductId(StandardProductListSupplierAsk supplierAsk) { + if (supplierAsk.getProductListId() == null) { + throw new BaseException("缂哄皯妫�楠岄」id"); + } + return baseMapper.selectList(Wrappers.<StandardProductListSupplierAsk>lambdaQuery() + .eq(StandardProductListSupplierAsk::getProductListId, supplierAsk.getProductListId())); + } + + /** + * 鏂板鍘傚瑕佹眰鍊肩粦瀹� + * @param supplierAsk + * @return + */ + @Override + public Integer addProductSupplierAsk(StandardProductListSupplierAsk supplierAsk) { + if (supplierAsk.getProductListId() == null) { + throw new BaseException("缂哄皯浜у搧瀵硅薄id"); + } + // 鏌ヨ鏀瑰巶瀹舵槸鍚︾粦瀹氳繃 + Long count = baseMapper.selectCount(Wrappers.<StandardProductListSupplierAsk>lambdaQuery() + .eq(StandardProductListSupplierAsk::getProductListId, supplierAsk.getProductListId()) + .eq(StandardProductListSupplierAsk::getSupplierName, supplierAsk.getSupplierName())); + if (count > 0){ + throw new BaseException("璇ヤ骇鍝佸凡缁戝畾杩囪鍘傚"); + } + baseMapper.insert(supplierAsk); + return supplierAsk.getSupplierAskId(); + } + + /** + * 淇敼鍘傚瑕佹眰鍊肩粦瀹� + * @param supplierAsk + * @return + */ + @Override + public Integer updateProductSupplierAsk(StandardProductListSupplierAsk supplierAsk) { + if (supplierAsk.getProductListId() == null) { + throw new BaseException("缂哄皯妫�楠岄」id"); + } + // 鏌ヨ鏀瑰巶瀹舵槸鍚︾粦瀹氳繃 + Long count = baseMapper.selectCount(Wrappers.<StandardProductListSupplierAsk>lambdaQuery() + .ne(StandardProductListSupplierAsk::getSupplierAskId, supplierAsk.getSupplierAskId()) + .eq(StandardProductListSupplierAsk::getProductListId, supplierAsk.getProductListId()) + .eq(StandardProductListSupplierAsk::getSupplierName, supplierAsk.getSupplierName())); + if (count > 0){ + throw new BaseException("璇ユ楠岄」宸茬粦瀹氳繃璇ュ巶瀹�"); + } + baseMapper.updateById(supplierAsk); + return supplierAsk.getSupplierAskId(); + } +} + diff --git a/basic-server/src/main/java/com/ruoyi/inspect/service/impl/StandardTemplateServiceImpl.java b/basic-server/src/main/java/com/ruoyi/inspect/service/impl/StandardTemplateServiceImpl.java new file mode 100644 index 0000000..ea5bf63 --- /dev/null +++ b/basic-server/src/main/java/com/ruoyi/inspect/service/impl/StandardTemplateServiceImpl.java @@ -0,0 +1,130 @@ +package com.ruoyi.inspect.service.impl; + +import cn.hutool.core.date.DateUtil; +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.ruoyi.common.numgen.NumberGenerator; +import com.ruoyi.common.utils.QueryWrappers; +import com.ruoyi.inspect.mapper.StandardTemplateMapper; +import com.ruoyi.inspect.pojo.StandardTemplate; +import com.ruoyi.inspect.service.StandardTemplateService; +import lombok.AllArgsConstructor; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; + +/** +* @author Administrator +* @description 閽堝琛ㄣ�恠tandard_template(鏍囧噯妯℃澘)銆戠殑鏁版嵁搴撴搷浣淪ervice瀹炵幇 +* @createDate 2024-03-11 13:47:52 +*/ +@Service +@AllArgsConstructor +public class StandardTemplateServiceImpl extends ServiceImpl<StandardTemplateMapper, StandardTemplate> + implements StandardTemplateService{ + + private StandardTemplateMapper standardTemplateMapper; + + + private final NumberGenerator<StandardTemplate> numberGenerator; + + @Override + public IPage<StandardTemplate> selectStandardTemplatePageList(Page page, StandardTemplate standardTemplate) { + return standardTemplateMapper.selectStandardTemplatePageList(page, QueryWrappers.queryWrappers(standardTemplate)); + } + + @Override + public int addStandardTemplate(StandardTemplate standardTemplate) { + if (StringUtils.isBlank(standardTemplate.getNumber())) { + String giveCode = numberGenerator.generateNumberWithPrefix(5, + "MB" + DateUtil.format(new Date(), "yyMM"), + StandardTemplate::getNumber); + standardTemplate.setNumber(giveCode); + } + return standardTemplateMapper.insert(standardTemplate); + } + + @Override + public int upStandardTemplate(StandardTemplate standardTemplate) { + if(standardTemplate.getThing().equals("")){ + standardTemplate.setThing(null); + } + return standardTemplateMapper.updateById(standardTemplate); + } + + @Override + public int delStandardTemplate(Integer id) { + return standardTemplateMapper.deleteById(id); + } + + @Override + public List<StandardTemplate> getStandardTemplate() { + return standardTemplateMapper.selectList(Wrappers.<StandardTemplate>lambdaQuery().select(StandardTemplate::getId,StandardTemplate::getName)); + } + + @Override + public String getStandTempThingById(Integer templateId) { + StandardTemplate standardTemplate = standardTemplateMapper.selectOne(Wrappers.<StandardTemplate>lambdaQuery() + .eq(StandardTemplate::getId, templateId) + .select(StandardTemplate::getThing)); + if(standardTemplate==null){ + return null; + }else{ + return standardTemplate.getThing(); + } + // 鏌ヨ鍘嬬缉鍚庣殑鏁版嵁 +// String thing = standardTemplateMapper.selectCompressThing(templateId); +// if (StringUtils.isNotBlank(thing)) { +// try { +// return DecompressMySQLData.decompress(java.util.Base64.getDecoder().decode(thing)); +// } catch (Exception e) { +// throw new RuntimeException(e); +// } +// } else { +// return null; +// } + } + + @Override + public String getStandTempNameById(Integer templateId) { + StandardTemplate standardTemplate = standardTemplateMapper.selectOne(Wrappers.<StandardTemplate>lambdaQuery() + .eq(StandardTemplate::getId, templateId) + .select(StandardTemplate::getName)); + if(standardTemplate==null){ + return null; + }else{ + return standardTemplate.getName(); + } + } + + @Override + public StandardTemplate getStandTempIdByName(String name) { + return standardTemplateMapper.getStandTempIdByName(name); + } + + /** + * 澶嶅埗鍘熷璁板綍妯℃澘 + * @param newTemplate + * @return + */ + @Override + public int copyStandardTemplate(StandardTemplate newTemplate) { + // 鏌ヨ鏃фā鏉� + StandardTemplate standardTemplate = baseMapper.selectById(newTemplate.getId()); + newTemplate.setThing(standardTemplate.getThing()); + + if (StringUtils.isBlank(newTemplate.getNumber())) { + String giveCode = numberGenerator.generateNumberWithPrefix(5, + "MB" + DateUtil.format(new Date(), "yyMM"), + StandardTemplate::getNumber); + newTemplate.setNumber(giveCode); + } + newTemplate.setId(null); + + return standardTemplateMapper.insert(newTemplate); + } +} diff --git a/basic-server/src/main/java/com/ruoyi/inspect/service/impl/StandardTreeServiceImpl.java b/basic-server/src/main/java/com/ruoyi/inspect/service/impl/StandardTreeServiceImpl.java new file mode 100644 index 0000000..93f803c --- /dev/null +++ b/basic-server/src/main/java/com/ruoyi/inspect/service/impl/StandardTreeServiceImpl.java @@ -0,0 +1,535 @@ +package com.ruoyi.inspect.service.impl; + +import cn.hutool.core.collection.CollUtil; +import cn.hutool.poi.excel.ExcelUtil; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONArray; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; +import com.baomidou.mybatisplus.core.toolkit.StringUtils; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.common.exception.base.BaseException; +import com.ruoyi.inspect.dto.FactoryDto; +import com.ruoyi.inspect.dto.LaboratoryDto; +import com.ruoyi.inspect.dto.SampleTypeDto; +import com.ruoyi.inspect.mapper.StandardProductListMapper; +import com.ruoyi.inspect.mapper.StandardTreeMapper; +import com.ruoyi.inspect.pojo.StandardProductList; +import com.ruoyi.inspect.pojo.StandardTemplate; +import com.ruoyi.inspect.pojo.StandardTree; +import com.ruoyi.inspect.pojo.StructureTestObject; +import com.ruoyi.inspect.service.*; +import lombok.AllArgsConstructor; +import org.apache.commons.lang3.ObjectUtils; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.multipart.MultipartFile; + +import java.io.IOException; +import java.io.InputStream; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.concurrent.atomic.AtomicReference; + +/** + * @author Administrator + * @description 閽堝琛ㄣ�恠tandard_tree(鏍囧噯鏍�)銆戠殑鏁版嵁搴撴搷浣淪ervice瀹炵幇 + * @createDate 2024-03-01 15:06:44 + */ +@Service +@AllArgsConstructor +public class StandardTreeServiceImpl extends ServiceImpl<StandardTreeMapper, StandardTree> + implements StandardTreeService { + + + private StandardTreeMapper standardTreeMapper; + + private StandardMethodListService standardMethodListService; + + private StandardProductListMapper standardProductListMapper; + + private StandardProductListService standardProductListService; + + private StandardTemplateService standardTemplateService; + + private StructureTestObjectService structureTestObjectService; + + + @Override + public List<FactoryDto> selectStandardTreeList() { + List<FactoryDto> factoryDtos = standardTreeMapper.selectStandardTreeList(); + for (FactoryDto factoryDto : factoryDtos) { + for (LaboratoryDto laboratoryDto : factoryDto.getChildren()) { + laboratoryDto.getChildren().sort((o1, o2) -> (o1.getSort() == null ? 0 : o1.getSort()) + - (o2.getSort() == null ? 0 : o2.getSort())); + for (SampleTypeDto sampleTypeDto : laboratoryDto.getChildren()) { +// if (sampleTypeDto.getChildren().size() == 0) { + sampleTypeDto.getChildren().addAll(standardTreeMapper.getStandardTree3(sampleTypeDto.getValue())); +// } + } + } + } + return factoryDtos; + } + + + + @Override + @Transactional(rollbackFor = Exception.class) + public int addStandardTree(StandardTree standardTree) { + LambdaQueryWrapper<StandardTree> wrapper = Wrappers.<StandardTree>lambdaQuery() + .eq(StandardTree::getFactory, standardTree.getFactory()) + .eq(StandardTree::getLaboratory, standardTree.getLaboratory()) + .eq(StandardTree::getSampleType, standardTree.getSampleType()) + .eq(StandardTree::getSample, standardTree.getSample()) + .eq(StandardTree::getModel, standardTree.getModel()); + if (StringUtils.isNotBlank(standardTree.getSample())) { + wrapper.eq(StandardTree::getSample, standardTree.getSample()); + } + + StandardTree tree = standardTreeMapper.selectOne(wrapper); + if (tree != null) { + throw new BaseException("璇ュ瀷鍙峰凡瀛樺湪"); + } + return standardTreeMapper.insert(standardTree); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public int delStandardTree(String tree) { + String[] trees = tree.split(" - "); + switch (trees.length) { + case 5: + if (trees[3].equals("null")) { + standardTreeMapper.delete(Wrappers.<StandardTree>lambdaUpdate().eq(StandardTree::getFactory, trees[0]).eq(StandardTree::getLaboratory, trees[1]).eq(StandardTree::getSampleType, trees[2]).isNull(StandardTree::getSample).eq(StandardTree::getModel, trees[4])); + } else { + standardTreeMapper.delete(Wrappers.<StandardTree>lambdaUpdate().eq(StandardTree::getFactory, trees[0]).eq(StandardTree::getLaboratory, trees[1]).eq(StandardTree::getSampleType, trees[2]).eq(StandardTree::getSample, trees[3]).eq(StandardTree::getModel, trees[4])); + } + break; + /*case 4: + standardTreeMapper.delete(Wrappers.<StandardTree>lambdaUpdate().eq(StandardTree::getFactory, trees[0]).eq(StandardTree::getLaboratory, trees[1]).eq(StandardTree::getSampleType, trees[2]).eq(StandardTree::getSample, trees[3])); + break; + case 3: + standardTreeMapper.delete(Wrappers.<StandardTree>lambdaUpdate().eq(StandardTree::getFactory, trees[0]).eq(StandardTree::getLaboratory, trees[1]).eq(StandardTree::getSampleType, trees[2])); + break; + case 2: + standardTreeMapper.delete(Wrappers.<StandardTree>lambdaUpdate().eq(StandardTree::getFactory, trees[0]).eq(StandardTree::getLaboratory, trees[1])); + break; + case 1: + standardTreeMapper.delete(Wrappers.<StandardTree>lambdaUpdate().eq(StandardTree::getFactory, trees[0])); + break;*/ + } + return 1; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public int addStandardProduct(String ids, String tree) { + String[] trees = tree.split(" - "); + JSONArray jsonArray = JSON.parseArray(ids); + for (Object o : jsonArray) { + StandardProductList standardProductList = standardTreeMapper.selectStandardProductById(Integer.parseInt("" + o)); + standardProductList.setFactory(trees[0]); + try { + standardProductList.setLaboratory(trees[1]); + } catch (Exception e) { + } + try { + standardProductList.setSampleType(trees[2]); + } catch (Exception e) { + } + try { + standardProductList.setSample(trees[3]); + } catch (Exception e) { + } + try { + standardProductList.setModel(trees[4]); + } catch (Exception e) { + } + standardProductListMapper.insert(standardProductList); + } + return 1; + } + + @Override + public List<SampleTypeDto> getStandardTree2() { + return standardTreeMapper.getStandardTree2(); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public int upStandardProducts(Map<String, Object> product) { + List<Integer> ids = JSON.parseArray(product.get("ids") + ""); + StandardProductList productList = JSON.parseObject(JSON.toJSONString(product.get("standardProductList")), StandardProductList.class); + if (productList.getMethodS() != null) { + standardProductListMapper.update(productList, Wrappers.<StandardProductList>lambdaUpdate().in(StandardProductList::getId, ids).like(StandardProductList::getMethod, productList.getMethodS())); + return 1; + } + if (productList.getRadiusList() != null) { + standardProductListMapper.update(productList, Wrappers.<StandardProductList>lambdaUpdate().in(StandardProductList::getId, ids).like(StandardProductList::getRadiusList, productList.getRadius())); + return 1; + } + standardProductListMapper.update(productList, Wrappers.<StandardProductList>lambdaUpdate().in(StandardProductList::getId, ids)); + return 1; + } + + @Override + public List<StandardTree> getStandTreeBySampleType(String laboratory, String sampleType) { + return standardTreeMapper.selectList(Wrappers.<StandardTree>lambdaQuery() + .eq(StandardTree::getLaboratory, laboratory) + .eq(StandardTree::getSampleType, sampleType) + .select(StandardTree::getModel, StandardTree::getSample)); + } + + /** + * 娌冲彛妫�娴嬩腑蹇冨鍏� + * @param file + */ + @Override + @Transactional(rollbackFor = Exception.class) + public void inExcelOfTree(MultipartFile file) { + InputStream inputStream; + try { + inputStream = file.getInputStream(); + } catch (IOException e) { + throw new RuntimeException(e); + } + List<StandardProductList> lists = new ArrayList<>(); + AtomicReference<String> laboratory = new AtomicReference<>(); + ExcelUtil.readBySax(inputStream, 0, (i, l, list) -> { + StandardProductList str = new StandardProductList(); + if (i == 0 && l == 1) { + laboratory.set(standardTreeMapper.getLaboratory(list.get(1) + "")); + if (laboratory.get() == null) { + throw new BaseException("妫�楠屽璞′笉瀛樺湪锛�" + list.get(1)); + } + } + if (i == 0 && l >= 1) { + Integer standardMethodId = standardMethodListService.getStandardMethodId(list.get(0) + ""); + if (standardMethodId == null) { + throw new BaseException("鏍囧噯缂栧彿涓嶅瓨鍦細" + list.get(0)); + } + str.setStandardMethodListId(standardMethodId); + str.setSampleType(list.get(1) + ""); + if (list.get(2) != null) { + String sample = baseMapper.selSample(list.get(2) + ""); + if (sample == null) { + throw new BaseException("鏍峰搧涓嶅瓨鍦細" + list.get(2)); + } + str.setSample(list.get(2) + ""); + } else { + str.setSample(null); + } + if (list.get(3) != null) { + str.setModel(list.get(3) + ""); + Long aLong = standardTreeMapper.selectCount(Wrappers.<StandardTree>lambdaQuery() + .eq(StandardTree::getModel, str.getModel()) + .eq(StandardTree::getSampleType, list.get(1) + "")); + if (aLong == 0) { + StandardTree standardTree = new StandardTree(); + standardTree.setFactory("涓ぉ绉戞妧妫�娴嬩腑蹇�"); + standardTree.setLaboratory(laboratory.get()); + standardTree.setSampleType(str.getSampleType()); + standardTree.setSample(str.getSample()); + standardTree.setModel(str.getModel()); + standardTreeMapper.insert(standardTree); + } + } else { + str.setModel(null); + } + str.setInspectionItem(list.get(4) + ""); + if (list.get(6) == null) { + str.setInspectionItemSubclass(""); + } else { + str.setInspectionItemSubclass(list.get(6).toString()); + } + StandardProductList db_str; + try { + db_str = standardProductListMapper.getOne(str.getStandardMethodListId(), str.getInspectionItem(), str.getSample(), str.getInspectionItemSubclass(), str.getModel(), str.getInspectionItemClass()); + } catch (Exception e) { + throw new BaseException("閲嶅鏌ヨ锛�" + str.getInspectionItem() + " " + str.getInspectionItemSubclass()); + } + if (ObjectUtils.isNotEmpty(db_str)) { + str.setId(db_str.getId()); + str.setStructureItemParameterId(db_str.getStructureItemParameterId()); + } + if (list.get(8) != null) { + str.setMethodS(list.get(8) + ""); + } + + if (list.get(11) == null) { + str.setTell(null); + } else { + str.setTell(list.get(11).toString()); + } + + if (list.get(12) == null) { + str.setAsk(null); + } else { + str.setAsk(list.get(12).toString()); + } + + if (list.get(13) == null) { + str.setPrice(null); + } else { + str.setPrice((list.get(13).toString())); + } + + if (list.get(14) == null) { + str.setManHour(null); + } else { + str.setManHour(list.get(14).toString()); + } + + StandardTemplate standTempIdByName = standardTemplateService.getStandTempIdByName(String.valueOf(list.get(21))); + if (standTempIdByName != null) { + str.setTemplateId(standTempIdByName.getId()); + } else { + throw new BaseException("妯℃澘涓嶅瓨鍦細" + list.get(21)); + } + str.setFactory("涓ぉ绉戞妧妫�娴嬩腑蹇�"); + str.setLaboratory(laboratory.get()); + str.setState(1); + str.setTree(str.getFactory() + " - " + str.getLaboratory() + " - " + str.getSampleType() + " - " + str.getSample() + " - " + (str.getModel() == null ? "" : str.getModel())); + try { + str.setStructureItemParameterId(standardTreeMapper.getStructureItemParameterId("\"" + str.getSampleType() + "\"", str.getInspectionItem(), str.getInspectionItemSubclass(), str.getInspectionItemClass())); + } catch (Exception e) { + str.setStructureItemParameterId(standardTreeMapper.getStructureItemParameterId("\"" + str.getSampleType() + "\",\"" + str.getSample() + "\"", str.getInspectionItem(), str.getInspectionItemSubclass(), str.getInspectionItemClass())); + } + if (str.getStructureItemParameterId() == null) { + throw new BaseException("妫�楠岄」鐩笉瀛樺湪锛�" + str.getInspectionItem() + " " + str.getInspectionItemSubclass()); + } + lists.add(str); + } + }); + lists.forEach(a -> { + if (a.getId() != null) { + standardProductListMapper.updateById(a); + } else { + standardProductListMapper.insert(a); + } + }); + } + + @Override + public void importWorkstationExcel(MultipartFile file) { + InputStream inputStream; + try { + inputStream = file.getInputStream(); + } catch (IOException e) { + throw new RuntimeException(e); + } + List<StandardProductList> lists = new ArrayList<>(); + AtomicReference<String> laboratory = new AtomicReference<>(); + ExcelUtil.readBySax(inputStream, 0, (i, l, list) -> { + StandardProductList str = new StandardProductList(); + if (i == 0 && l == 1) { + laboratory.set(standardTreeMapper.getLaboratory(list.get(1) + "")); + if (laboratory.get() == null) { + throw new BaseException("妫�楠屽璞′笉瀛樺湪锛�" + list.get(1)); + } + } + if (i == 0 && l >= 1) { + Integer standardMethodId = standardMethodListService.getStandardMethodId(list.get(0) + ""); + if (standardMethodId == null) { + throw new BaseException("鏍囧噯缂栧彿涓嶅瓨鍦細" + list.get(0)); + } + str.setStandardMethodListId(standardMethodId); + str.setSampleType(list.get(1) + ""); + if (list.get(2) != null) { + String sample = baseMapper.selSample(list.get(2) + ""); + if (sample == null) { + throw new BaseException("鏍峰搧涓嶅瓨鍦細" + list.get(2)); + } + str.setSample(list.get(2) + ""); + } else { + str.setSample(null); + } + if (list.get(3) != null) { + str.setModel(list.get(3) + ""); + Long aLong = standardTreeMapper.selectCount(Wrappers.<StandardTree>lambdaQuery() + .eq(StandardTree::getModel, str.getModel()) + .eq(StandardTree::getSampleType, list.get(1) + "")); + if (aLong == 0) { + StandardTree standardTree = new StandardTree(); + standardTree.setFactory("涓ぉ绉戞妧妫�娴嬩腑蹇�"); + standardTree.setLaboratory(laboratory.get()); + standardTree.setSampleType(str.getSampleType()); + standardTree.setSample(str.getSample()); + standardTree.setModel(str.getModel()); + standardTreeMapper.insert(standardTree); + } + } else { + str.setModel(null); + } + str.setInspectionItemClass(list.get(4).toString()); + str.setInspectionItemClassEn(list.get(5).toString()); + // 寮�濮嬪姞2 + str.setInspectionItem(list.get(6) + ""); + if (list.get(8) == null) { + str.setInspectionItemSubclass(""); + } else { + str.setInspectionItemSubclass(list.get(8).toString()); + } + StandardProductList db_str; + try { + db_str = standardProductListMapper.getOne(str.getStandardMethodListId(), str.getInspectionItem(), str.getSample(), str.getInspectionItemSubclass(), str.getModel(), str.getInspectionItemClass()); + } catch (Exception e) { + throw new BaseException("閲嶅鏌ヨ锛�" + str.getInspectionItem() + " " + str.getInspectionItemSubclass()); + } + if (ObjectUtils.isNotEmpty(db_str)) { + str.setId(db_str.getId()); + str.setStructureItemParameterId(db_str.getStructureItemParameterId()); + } + if (list.get(10) != null) { + str.setMethodS(list.get(10) + ""); + } + if (list.get(13) == null) { + str.setTell(null); + } else { + str.setTell(list.get(13).toString()); + } + + if (list.get(14) == null) { + str.setAsk(null); + } else { + str.setAsk(list.get(14).toString()); + } + + if (list.get(15) == null) { + str.setPrice(null); + } else { + str.setPrice((list.get(15).toString())); + } + + if (list.get(16) == null) { + str.setManHour(null); + } else { + str.setManHour(list.get(16).toString()); + } + + StandardTemplate standTempIdByName = standardTemplateService.getStandTempIdByName(String.valueOf(list.get(23))); + if (standTempIdByName != null) { + str.setTemplateId(standTempIdByName.getId()); + } else { + throw new BaseException("妯℃澘涓嶅瓨鍦細" + list.get(23)); + } + str.setFactory("涓ぉ绉戞妧妫�娴嬩腑蹇�"); + str.setLaboratory(laboratory.get()); + str.setState(1); + str.setTree(str.getFactory() + " - " + str.getLaboratory() + " - " + str.getSampleType() + " - " + str.getSample() + " - " + (str.getModel() == null ? "" : str.getModel())); + try { + str.setStructureItemParameterId(standardTreeMapper.getStructureItemParameterId("\"" + str.getSampleType() + "\"", str.getInspectionItem(), str.getInspectionItemSubclass(), str.getInspectionItemClass())); + } catch (Exception e) { + str.setStructureItemParameterId(standardTreeMapper.getStructureItemParameterId("\"" + str.getSampleType() + "\",\"" + str.getSample() + "\"", str.getInspectionItem(), str.getInspectionItemSubclass(), str.getInspectionItemClass())); + } + if (str.getStructureItemParameterId() == null) { + throw new BaseException("妫�楠岄」鐩笉瀛樺湪锛�" + str.getInspectionItem() + " " + str.getInspectionItemSubclass()); + } + lists.add(str); + } + }); + lists.forEach(a -> { + if (a.getId() != null) { + standardProductListMapper.updateById(a); + } else { + standardProductListMapper.insert(a); + } + }); + } + + @Override + public boolean updateTreeSort(List<FactoryDto> list) { + List<StructureTestObject> testObjects = new ArrayList<>(); + for (FactoryDto factoryDto : list) { + for (LaboratoryDto laboratoryDto : factoryDto.getChildren()) { + List<SampleTypeDto> children = laboratoryDto.getChildren(); + int sort = 0; + // 寰幆绗笁灞� + for (SampleTypeDto child : children) { + StructureTestObject structureTestObject = new StructureTestObject(); + structureTestObject.setSort(sort); + structureTestObject.setId(child.getSampleTypeId()); + testObjects.add(structureTestObject); + sort++; + } + } + } + structureTestObjectService.updateBatchById(testObjects); + + return true; + } + + /** + * 淇敼鏍囧噯鏁� + * @param standardTree + * @return + */ + @Override + public int updateStandardTree(StandardTree standardTree) { + // 淇敼鍚嶇О鍖归厤鐨勬爣鍑嗘爲涓嬬殑妫�楠岄」鐩� + // 鏌ヨ鎵�鏈夊璞�+鍚嶇О鐨勬爲 + + List<StandardProductList> standardProductLists = standardProductListService.list(Wrappers.<StandardProductList>lambdaUpdate() + .eq(StandardProductList::getSample, standardTree.getSample()) + .eq(StandardProductList::getSampleType, standardTree.getSampleType()) + .eq(StandardProductList::getModel, standardTree.getOldModel())); + if (CollectionUtils.isNotEmpty(standardProductLists)) { + for (StandardProductList standardProductList : standardProductLists) { + // 淇敼鏍峰搧鍚嶇О + standardProductList.setModel(standardTree.getModel()); + // 淇敼鏍戝悕绉� + // 闇�瑕佹埅鍙栫鍥涚骇, 閬垮厤涓夊洓绾у悕绉颁竴鏍蜂慨鏀归敊璇� + String[] trees = standardProductList.getTree().split(" - "); + trees[4] = standardTree.getModel(); + List<String> list = CollUtil.newArrayList(trees); + String newName = CollUtil.join(list, " - "); + standardProductList.setTree(newName); + } + standardProductListService.updateBatchById(standardProductLists); + } + + // 淇敼鏍囧噯鏁版楠岄」鐩� + LambdaUpdateWrapper<StandardTree> wrapper = Wrappers.<StandardTree>lambdaUpdate() + .eq(StandardTree::getFactory, standardTree.getFactory()) + .eq(StandardTree::getLaboratory, standardTree.getLaboratory()) + .eq(StandardTree::getSampleType, standardTree.getSampleType()) + .eq(StandardTree::getModel, standardTree.getOldModel()) + .set(StandardTree::getModel, standardTree.getModel()); + if (StringUtils.isNotBlank(standardTree.getSample())) { + wrapper.eq(StandardTree::getSample, standardTree.getSample()); + } + return standardTreeMapper.update(null, wrapper); + } + + @Override + public void resetTreeOfPrice(String tree, Integer standardId) { + standardProductListMapper.update(null, Wrappers.<StandardProductList>lambdaUpdate().like(StandardProductList::getTree, tree).eq(StandardProductList::getStandardMethodListId, standardId).set(StandardProductList::getPrice, null)); + } + + @Override + public void resetTreeOfHour(String tree, Integer standardId) { + standardProductListMapper.update(null, Wrappers.<StandardProductList>lambdaUpdate().like(StandardProductList::getTree, tree).eq(StandardProductList::getStandardMethodListId, standardId).set(StandardProductList::getManHour, null)); + } + + @Override + public void resetTreeOfAsk(String tree, Integer standardId) { + standardProductListMapper.update(null, Wrappers.<StandardProductList>lambdaUpdate().like(StandardProductList::getTree, tree).eq(StandardProductList::getStandardMethodListId, standardId) + .set(StandardProductList::getAsk, null) + .set(StandardProductList::getTell, null) + .set(StandardProductList::getSection, null) + .set(StandardProductList::getCores, null) + .set(StandardProductList::getConductorMaterial, null) + .set(StandardProductList::getConductorType, null) + .set(StandardProductList::getPrice, null) + .set(StandardProductList::getManHour, null)); + } + +} + + + + diff --git a/basic-server/src/main/java/com/ruoyi/inspect/service/impl/StructureItemParameterServiceImpl.java b/basic-server/src/main/java/com/ruoyi/inspect/service/impl/StructureItemParameterServiceImpl.java new file mode 100644 index 0000000..5604e9f --- /dev/null +++ b/basic-server/src/main/java/com/ruoyi/inspect/service/impl/StructureItemParameterServiceImpl.java @@ -0,0 +1,24 @@ +package com.ruoyi.inspect.service.impl; + + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.inspect.mapper.StructureItemParameterMapper; +import com.ruoyi.inspect.pojo.StructureItemParameter; +import com.ruoyi.inspect.service.StructureItemParameterService; +import lombok.AllArgsConstructor; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; + +@Service +@AllArgsConstructor +public class StructureItemParameterServiceImpl extends ServiceImpl<StructureItemParameterMapper, StructureItemParameter> implements StructureItemParameterService { + + @Resource + private StructureItemParameterMapper structureItemParameterMapper; + + @Override + public void removeNoSample(String sample) { + structureItemParameterMapper.removeNoSample("\""+sample+"\""); + } +} diff --git a/basic-server/src/main/java/com/ruoyi/inspect/service/impl/StructureTestObjectPartServiceImpl.java b/basic-server/src/main/java/com/ruoyi/inspect/service/impl/StructureTestObjectPartServiceImpl.java new file mode 100644 index 0000000..f0cc96d --- /dev/null +++ b/basic-server/src/main/java/com/ruoyi/inspect/service/impl/StructureTestObjectPartServiceImpl.java @@ -0,0 +1,75 @@ +package com.ruoyi.inspect.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +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.ruoyi.common.exception.base.BaseException; +import com.ruoyi.common.utils.QueryWrappers; +import com.ruoyi.inspect.mapper.ProductPartMapper; +import com.ruoyi.inspect.mapper.StructureTestObjectPartMapper; +import com.ruoyi.inspect.pojo.ProductPart; +import com.ruoyi.inspect.pojo.StructureTestObjectPart; +import com.ruoyi.inspect.service.StructureTestObjectPartService; + +import lombok.AllArgsConstructor; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +/** + * 妫�楠屽璞¢浂浠惰〃 + * + * @author zhuo + * @since 2024-08-07 + */ +@Transactional +@Service +@AllArgsConstructor +public class StructureTestObjectPartServiceImpl extends ServiceImpl<StructureTestObjectPartMapper, StructureTestObjectPart> implements StructureTestObjectPartService { + + private ProductPartMapper productPartMapper; + + @Override + public IPage<StructureTestObjectPart> selectByTestObjectId(Page page, StructureTestObjectPart structureTestObjectPart) { + return baseMapper.selectListByTestObjectId(page, QueryWrappers.queryWrappers(structureTestObjectPart),structureTestObjectPart.getTestObjectId()); + } + + @Override + public void addTestObjectPart(StructureTestObjectPart structureTestObjectPart) { + this.isPartNoExist(structureTestObjectPart.getPartNo(), null); + if (structureTestObjectPart.getTestObjectId() == null) { + throw new BaseException("缂哄皯浜у搧瀵硅薄id"); + } + baseMapper.insert(structureTestObjectPart); + } + + @Override + public void updateTestObjectPart(StructureTestObjectPart structureTestObjectPart) { + this.isPartNoExist(structureTestObjectPart.getPartNo(), structureTestObjectPart.getId()); + if (structureTestObjectPart.getTestObjectId() == null) { + throw new BaseException("缂哄皯浜у搧瀵硅薄id"); + } + baseMapper.updateById(structureTestObjectPart); + } + + // 鍒ゆ柇闆朵欢鍙锋槸鍚﹀瓨鍦� + public void isPartNoExist(String partNo, Integer id) { + // 闆朵欢鍙峰敮涓� 浣嗕笉蹇呭~ + if (StringUtils.isNotBlank(partNo)) { + Long count = productPartMapper.selectCount(new LambdaQueryWrapper<ProductPart>() + .eq(ProductPart::getPartNo, partNo)); + Long selectCount = baseMapper.selectCount(Wrappers.<StructureTestObjectPart>lambdaQuery() + .eq(StructureTestObjectPart::getPartNo, partNo) + .ne(id != null, StructureTestObjectPart::getId, id)); + if (count > 0 || selectCount > 0) { + throw new BaseException("璇ラ浂浠跺彿宸茬粦瀹氳繃妫�楠屽璞�"); + } + } else { + throw new BaseException("璇疯緭鍏ラ浂浠跺彿"); + } + } +} + diff --git a/basic-server/src/main/java/com/ruoyi/inspect/service/impl/StructureTestObjectServiceImpl.java b/basic-server/src/main/java/com/ruoyi/inspect/service/impl/StructureTestObjectServiceImpl.java new file mode 100644 index 0000000..29d6ec2 --- /dev/null +++ b/basic-server/src/main/java/com/ruoyi/inspect/service/impl/StructureTestObjectServiceImpl.java @@ -0,0 +1,19 @@ +package com.ruoyi.inspect.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.inspect.mapper.StructureTestObjectMapper; +import com.ruoyi.inspect.pojo.StructureTestObject; +import com.ruoyi.inspect.service.StructureTestObjectService; +import org.springframework.stereotype.Service; + +/** + * 妫�娴嬪璞� + * + * @author zhuo + * @since 2024-09-13 + */ +@Service +public class StructureTestObjectServiceImpl extends ServiceImpl<StructureTestObjectMapper, StructureTestObject> implements StructureTestObjectService { + +} + diff --git a/basic-server/src/main/resources/mapper/CertificationMapper.xml b/basic-server/src/main/resources/mapper/CertificationMapper.xml index 4926d05..40304a3 100644 --- a/basic-server/src/main/resources/mapper/CertificationMapper.xml +++ b/basic-server/src/main/resources/mapper/CertificationMapper.xml @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > <mapper namespace="com.ruoyi.basic.mapper.CertificationMapper"> - <select id="getCertificationDetail" resultType="com.ruoyi.basic.pojo.Certification"> + <select id="getCertificationDetail" resultType="com.ruoyi.inspect.pojo.Certification"> select b.* from ( select a.`name`, a.`code`,a.organization,a.explanation,a.first_issuance_date,a.latest_issuance_date,c.expire_time FROM (SELECT id,name,MIN(date_of_issuance) AS first_issuance_date, diff --git a/basic-server/src/main/resources/mapper/IfsInventoryQuantityMapper.xml b/basic-server/src/main/resources/mapper/IfsInventoryQuantityMapper.xml index 2b615be..83c5e12 100644 --- a/basic-server/src/main/resources/mapper/IfsInventoryQuantityMapper.xml +++ b/basic-server/src/main/resources/mapper/IfsInventoryQuantityMapper.xml @@ -2,7 +2,7 @@ <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > <mapper namespace="com.ruoyi.basic.mapper.IfsInventoryQuantityMapper"> - <select id="printLabel" resultType="com.ruoyi.basic.dto.IfsInventoryQuantityDto"> + <select id="printLabel" resultType="com.ruoyi.inspect.dto.IfsInventoryQuantityDto"> SELECT io.sample sample_name, iiq.supplier_name, io.part_detail part_desc, diff --git a/basic-server/src/main/resources/mapper/LaboratoryMapper.xml b/basic-server/src/main/resources/mapper/LaboratoryMapper.xml index c3ab2b4..f27f412 100644 --- a/basic-server/src/main/resources/mapper/LaboratoryMapper.xml +++ b/basic-server/src/main/resources/mapper/LaboratoryMapper.xml @@ -4,7 +4,7 @@ "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.ruoyi.basic.mapper.LaboratoryMapper"> - <select id="selectItemParameter" resultType="com.ruoyi.basic.pojo.Laboratory"> + <select id="selectItemParameter" resultType="com.ruoyi.inspect.pojo.Laboratory"> select * from ( select l.id, diff --git a/basic-server/src/main/resources/mapper/ProductMapper.xml b/basic-server/src/main/resources/mapper/ProductMapper.xml index a13b18d..c1b0953 100644 --- a/basic-server/src/main/resources/mapper/ProductMapper.xml +++ b/basic-server/src/main/resources/mapper/ProductMapper.xml @@ -4,7 +4,7 @@ "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.ruoyi.basic.mapper.ProductMapper"> - <resultMap id="BaseResultMap" type="com.ruoyi.basic.pojo.Product"> + <resultMap id="BaseResultMap" type="com.ruoyi.inspect.pojo.Product"> <id property="id" column="id" jdbcType="INTEGER"/> <result property="name" column="name" jdbcType="VARCHAR"/> <result property="nameEn" column="name_en" jdbcType="VARCHAR"/> @@ -20,7 +20,7 @@ create_user,update_user,create_time, update_time,object_id </sql> - <select id="selectProductListByObjectId" resultType="com.ruoyi.basic.pojo.Product"> + <select id="selectProductListByObjectId" resultType="com.ruoyi.inspect.pojo.Product"> select * from ( select p.id, p.name, diff --git a/basic-server/src/main/resources/mapper/ProductPartMapper.xml b/basic-server/src/main/resources/mapper/ProductPartMapper.xml index f883d3c..6a77f9c 100644 --- a/basic-server/src/main/resources/mapper/ProductPartMapper.xml +++ b/basic-server/src/main/resources/mapper/ProductPartMapper.xml @@ -3,7 +3,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.ruoyi.basic.mapper.ProductPartMapper"> - <select id="selectListByProductId" resultType="com.ruoyi.basic.pojo.ProductPart"> + <select id="selectListByProductId" resultType="com.ruoyi.inspect.pojo.ProductPart"> SELECT * from product_part pp where pp.product_id=#{productId} </select> diff --git a/basic-server/src/main/resources/mapper/ProductSupplierDensityMapper.xml b/basic-server/src/main/resources/mapper/ProductSupplierDensityMapper.xml index 4f47e62..ffe0354 100644 --- a/basic-server/src/main/resources/mapper/ProductSupplierDensityMapper.xml +++ b/basic-server/src/main/resources/mapper/ProductSupplierDensityMapper.xml @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > <mapper namespace="com.ruoyi.basic.mapper.ProductSupplierDensityMapper"> - <select id="selectListByProductId" resultType="com.ruoyi.basic.pojo.ProductSupplierDensity"> + <select id="selectListByProductId" resultType="com.ruoyi.inspect.pojo.ProductSupplierDensity"> SELECT * from product_supplier_density pp where pp.product_id=#{productId} </select> diff --git a/basic-server/src/main/resources/mapper/SealMapper.xml b/basic-server/src/main/resources/mapper/SealMapper.xml index 5cb3595..d31b318 100644 --- a/basic-server/src/main/resources/mapper/SealMapper.xml +++ b/basic-server/src/main/resources/mapper/SealMapper.xml @@ -3,7 +3,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.ruoyi.basic.mapper.SealMapper"> - <select id="selectSeal" resultType="com.ruoyi.basic.pojo.Seal"> + <select id="selectSeal" resultType="com.ruoyi.inspect.pojo.Seal"> select l.id,s.lab_id,l.laboratory_name ,s.address, s.type as Type,s.create_time from seal s LEFT JOIN laboratory l on s.lab_id=l.id <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''"> @@ -11,7 +11,7 @@ </if> </select> - <select id="selectLaboratory" resultType="com.ruoyi.basic.pojo.Laboratory"> + <select id="selectLaboratory" resultType="com.ruoyi.inspect.pojo.Laboratory"> SELECT * from laboratory WHERE id = #{labId} diff --git a/basic-server/src/main/resources/mapper/StandardMethodListMapper.xml b/basic-server/src/main/resources/mapper/StandardMethodListMapper.xml index 957fd1f..25c6462 100644 --- a/basic-server/src/main/resources/mapper/StandardMethodListMapper.xml +++ b/basic-server/src/main/resources/mapper/StandardMethodListMapper.xml @@ -4,7 +4,7 @@ "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.ruoyi.basic.mapper.StandardMethodListMapper"> - <resultMap id="BaseResultMap" type="com.ruoyi.basic.pojo.StandardMethodList"> + <resultMap id="BaseResultMap" type="com.ruoyi.inspect.pojo.StandardMethodList"> <id property="id" column="id" jdbcType="INTEGER"/> <result property="code" column="code" jdbcType="VARCHAR"/> <result property="name" column="name" jdbcType="VARCHAR"/> @@ -25,14 +25,14 @@ from user where id = #{id} </select> - <select id="selectStandardMethodLists" resultType="com.ruoyi.basic.pojo.StandardMethodList"> + <select id="selectStandardMethodLists" resultType="com.ruoyi.inspect.pojo.StandardMethodList"> select id, code, name, remark from standard_method where is_use = 1 and is_product = 1 and structure_test_object_id LIKE CONCAT('%[', #{tree}, ']%') </select> - <select id="selectParameterList" resultType="com.ruoyi.basic.pojo.StandardProductList"> + <select id="selectParameterList" resultType="com.ruoyi.inspect.pojo.StandardProductList"> select inspection_item, inspection_item_subclass, laboratory, @@ -52,7 +52,7 @@ from structure_item_parameter where method = #{code} </select> - <select id="selectStandardMethodLists2" resultType="com.ruoyi.basic.pojo.StandardMethodList"> + <select id="selectStandardMethodLists2" resultType="com.ruoyi.inspect.pojo.StandardMethodList"> select sml.id, sml.code, sml.name,sml.remark, sml.create_time, u.name create_user_name from standard_method_list sml left join user u on u.id = sml.create_user @@ -70,19 +70,19 @@ and model = #{data5} </if> </select> - <select id="selectStandardMethodLists3" resultType="com.ruoyi.basic.pojo.StandardMethodList"> + <select id="selectStandardMethodLists3" resultType="com.ruoyi.inspect.pojo.StandardMethodList"> select id, code, name, remark from standard_method where is_use = 1 and is_product = 1 and structure_test_object_id LIKE CONCAT('%', #{tree}, '%') </select> - <select id="selectListEnum" resultType="com.ruoyi.basic.pojo.StandardMethodList"> + <select id="selectListEnum" resultType="com.ruoyi.inspect.pojo.StandardMethodList"> select id,code,name from standard_method where is_product = 1 and is_use = 1 </select> - <select id="selectStandardMethodListsByNull" resultType="com.ruoyi.basic.pojo.StandardMethodList"> + <select id="selectStandardMethodListsByNull" resultType="com.ruoyi.inspect.pojo.StandardMethodList"> select id, code, name, remark from standard_method where is_use = 1 diff --git a/basic-server/src/main/resources/mapper/StandardMethodMapper.xml b/basic-server/src/main/resources/mapper/StandardMethodMapper.xml index 739d2d4..3ab8231 100644 --- a/basic-server/src/main/resources/mapper/StandardMethodMapper.xml +++ b/basic-server/src/main/resources/mapper/StandardMethodMapper.xml @@ -4,7 +4,7 @@ "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.ruoyi.basic.mapper.StandardMethodMapper"> - <resultMap id="BaseResultMap" type="com.ruoyi.basic.pojo.StandardMethod"> + <resultMap id="BaseResultMap" type="com.ruoyi.inspect.pojo.StandardMethod"> <id property="id" column="id" jdbcType="INTEGER"/> <result property="code" column="code" jdbcType="VARCHAR"/> <result property="name" column="name" jdbcType="VARCHAR"/> @@ -15,7 +15,7 @@ <result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/> </resultMap> - <select id="selectStandardMethodList" resultType="com.ruoyi.basic.pojo.StandardMethod"> + <select id="selectStandardMethodList" resultType="com.ruoyi.inspect.pojo.StandardMethod"> select * from ( select sm.id, sm.code, @@ -42,7 +42,7 @@ ${ew.customSqlSegment} </if> </select> - <select id="selectStandMethodById" resultType="com.ruoyi.basic.pojo.StandardMethod"> + <select id="selectStandMethodById" resultType="com.ruoyi.inspect.pojo.StandardMethod"> select sm.id, sm.code, sm.name, diff --git a/basic-server/src/main/resources/mapper/StandardProductListMapper.xml b/basic-server/src/main/resources/mapper/StandardProductListMapper.xml index 52d6bfe..112ae89 100644 --- a/basic-server/src/main/resources/mapper/StandardProductListMapper.xml +++ b/basic-server/src/main/resources/mapper/StandardProductListMapper.xml @@ -4,7 +4,7 @@ "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.ruoyi.basic.mapper.StandardProductListMapper"> - <resultMap id="BaseResultMap" type="com.ruoyi.basic.pojo.StandardProductList"> + <resultMap id="BaseResultMap" type="com.ruoyi.inspect.pojo.StandardProductList"> <id property="id" column="id" jdbcType="INTEGER"/> <result property="inspectionItem" column="inspection_item" jdbcType="VARCHAR"/> <result property="inspectionItemSubclass" column="inspection_item_subclass" jdbcType="VARCHAR"/> @@ -55,7 +55,7 @@ and standard_method_list_id = #{methodId} and sort between #{endIndex} and #{beginIndex} - 1 </update> - <select id="standardProductListIPage" resultType="com.ruoyi.basic.pojo.StandardProductList"> + <select id="standardProductListIPage" resultType="com.ruoyi.inspect.pojo.StandardProductList"> select spl.* from standard_product_list spl left join product p on spl.sample = p.name where standard_method_list_id = #{id} @@ -72,7 +72,7 @@ order by p.id group by spl.id </select> - <select id="getOne" resultType="com.ruoyi.basic.pojo.StandardProductList"> + <select id="getOne" resultType="com.ruoyi.inspect.pojo.StandardProductList"> select * from standard_product_list where standard_method_list_id = #{standardMethodListId} and inspection_item = #{inspectionItem} @@ -92,7 +92,7 @@ and inspection_item_class = #{inspectionItemClass} </if> </select> - <select id="selectDetail" resultType="com.ruoyi.basic.pojo.StandardProductList"> + <select id="selectDetail" resultType="com.ruoyi.inspect.pojo.StandardProductList"> select * from standard_product_list where standard_method_list_id = #{standardMethodListId} and state =#{state} @@ -111,7 +111,7 @@ WHEN man_hour_group REGEXP '[0-9]+' THEN CAST(SUBSTRING(man_hour_group, 2)AS UNSIGNED) END -- 鎻愬彇瀛楁瘝鍚庨潰鐨勬暟瀛楅儴鍒� ,id asc </select> - <select id="selectDetail2" resultType="com.ruoyi.basic.pojo.StandardProductList"> + <select id="selectDetail2" resultType="com.ruoyi.inspect.pojo.StandardProductList"> select * from standard_product_list where standard_method_list_id = #{standardMethodListId} and state =#{state} diff --git a/basic-server/src/main/resources/mapper/StandardTemplateMapper.xml b/basic-server/src/main/resources/mapper/StandardTemplateMapper.xml index 34a8b0e..d3f5591 100644 --- a/basic-server/src/main/resources/mapper/StandardTemplateMapper.xml +++ b/basic-server/src/main/resources/mapper/StandardTemplateMapper.xml @@ -4,7 +4,7 @@ "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.ruoyi.basic.mapper.StandardTemplateMapper"> - <resultMap id="BaseResultMap" type="com.ruoyi.basic.pojo.StandardTemplate"> + <resultMap id="BaseResultMap" type="com.ruoyi.inspect.pojo.StandardTemplate"> <id property="id" column="id" jdbcType="INTEGER"/> <result property="name" column="name" jdbcType="VARCHAR"/> <result property="remark" column="remark" jdbcType="VARCHAR"/> @@ -15,7 +15,7 @@ <result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/> </resultMap> - <select id="selectStandardTemplatePageList" resultType="com.ruoyi.basic.pojo.StandardTemplate"> + <select id="selectStandardTemplatePageList" resultType="com.ruoyi.inspect.pojo.StandardTemplate"> select * from ( select st.id, st.name,st.number, st.remark, u2.name create_user_name, u3.name update_user_name, st.create_time, st.update_time from standard_template st @@ -26,7 +26,7 @@ ${ew.customSqlSegment} </if> </select> - <select id="getStandTempIdByName" resultType="com.ruoyi.basic.pojo.StandardTemplate"> + <select id="getStandTempIdByName" resultType="com.ruoyi.inspect.pojo.StandardTemplate"> select id from standard_template where name=#{name} </select> <!-- 鏌ヨ鍘嬬缉鍚庣殑鏁版嵁 --> diff --git a/basic-server/src/main/resources/mapper/StandardTreeMapper.xml b/basic-server/src/main/resources/mapper/StandardTreeMapper.xml index 74ded82..f63405f 100644 --- a/basic-server/src/main/resources/mapper/StandardTreeMapper.xml +++ b/basic-server/src/main/resources/mapper/StandardTreeMapper.xml @@ -3,7 +3,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.ruoyi.basic.mapper.StandardTreeMapper"> - <resultMap id="BaseResultMap" type="com.ruoyi.basic.pojo.StandardTree"> + <resultMap id="BaseResultMap" type="com.ruoyi.inspect.pojo.StandardTree"> <id property="id" column="id" jdbcType="INTEGER"/> <result property="factory" column="factory" jdbcType="VARCHAR"/> <result property="laboratory" column="laboratory" jdbcType="VARCHAR"/> @@ -16,19 +16,19 @@ <result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/> </resultMap> - <resultMap id="FactoryDto" type="com.ruoyi.basic.dto.FactoryDto"> + <resultMap id="FactoryDto" type="com.ruoyi.inspect.dto.FactoryDto"> <result property="label" column="factory"/> <result property="value" column="factory"/> <collection property="children" resultMap="LaboratoryDto"/> </resultMap> - <resultMap id="LaboratoryDto" type="com.ruoyi.basic.dto.LaboratoryDto"> + <resultMap id="LaboratoryDto" type="com.ruoyi.inspect.dto.LaboratoryDto"> <result property="label" column="laboratory"/> <result property="value" column="laboratory"/> <collection property="children" resultMap="SampleTypeDto"/> </resultMap> - <resultMap id="SampleTypeDto" type="com.ruoyi.basic.dto.SampleTypeDto"> + <resultMap id="SampleTypeDto" type="com.ruoyi.inspect.dto.SampleTypeDto"> <result property="label" column="sample_type"/> <result property="value" column="sample_type"/> <result property="sampleTypeId" column="sample_type_id"/> @@ -38,7 +38,7 @@ <collection property="children" resultMap="SampleDto"/> </resultMap> - <resultMap id="SampleDto" type="com.ruoyi.basic.dto.SampleDto"> + <resultMap id="SampleDto" type="com.ruoyi.inspect.dto.SampleDto"> <result property="label" column="sample"/> <result property="value" column="sample"/> <result property="partNo" column="sample_part_no"/> @@ -46,7 +46,7 @@ <collection property="children" resultMap="ModelDto"/> </resultMap> - <resultMap id="ModelDto" type="com.ruoyi.basic.dto.ModelDto"> + <resultMap id="ModelDto" type="com.ruoyi.inspect.dto.ModelDto"> <result property="label" column="model"/> <result property="value" column="model"/> </resultMap> @@ -108,7 +108,7 @@ order by l.id, CAST(sto.code AS DECIMAL), p.id, ISNULL(st.id), st.id </select> - <select id="selectStandardProductById" resultType="com.ruoyi.basic.pojo.StandardProductList"> + <select id="selectStandardProductById" resultType="com.ruoyi.inspect.pojo.StandardProductList"> select inspection_item, inspection_item_subclass, laboratory, @@ -128,7 +128,7 @@ from structure_item_parameter where id = #{id} </select> - <select id="getStandardProductListBySample" resultType="com.ruoyi.basic.pojo.StandardProductList"> + <select id="getStandardProductListBySample" resultType="com.ruoyi.inspect.pojo.StandardProductList"> select inspection_item, inspection_item_subclass, laboratory, @@ -154,7 +154,7 @@ or sp.sample = '' or sp.sample = '[]' </select> - <select id="getStandardMethodListBySample" resultType="com.ruoyi.basic.pojo.StandardMethodList"> + <select id="getStandardMethodListBySample" resultType="com.ruoyi.inspect.pojo.StandardMethodList"> select sm.code,sm.name,sm.remark from standard_method sm left join structure_test_object sto on sm.structure_test_object_id = sto.id where is_use = 1 @@ -163,7 +163,7 @@ and sto.specimen_name = #{sampleType} </if> </select> - <select id="selectStandardTreeList2" resultType="com.ruoyi.basic.pojo.StandardTree"> + <select id="selectStandardTreeList2" resultType="com.ruoyi.inspect.pojo.StandardTree"> select '涓ぉ绉戞妧妫�娴嬩腑蹇�' factory, l.laboratory_name laboratory, sto.specimen_name sample_type, @@ -177,7 +177,7 @@ where sto.specimen_name = #{sampleType} group by sto.specimen_name </select> - <select id="selectStandardProductListByTree" resultType="com.ruoyi.basic.pojo.StandardProductList"> + <select id="selectStandardProductListByTree" resultType="com.ruoyi.inspect.pojo.StandardProductList"> select <include refid="selectStandardTree"/> from structure_item_parameter where ( @@ -192,7 +192,7 @@ order by inspection_item_class, inspection_item, id asc </select> - <select id="selectStandardProductListByTree2" resultType="com.ruoyi.basic.pojo.StandardProductList"> + <select id="selectStandardProductListByTree2" resultType="com.ruoyi.inspect.pojo.StandardProductList"> select <include refid="selectStandardTree"/> from structure_item_parameter where sample LIKE CONCAT('%[', #{tree}, ']%') @@ -212,7 +212,7 @@ and st.sample = p.name </select> - <select id="getStandardTree3" resultType="com.ruoyi.basic.dto.SampleDto"> + <select id="getStandardTree3" resultType="com.ruoyi.inspect.dto.SampleDto"> select model label, model value from standard_tree @@ -240,7 +240,7 @@ and (inspection_item_subclass is null or inspection_item_subclass = '') </if> </select> - <select id="selectPList" resultType="com.ruoyi.basic.dto.ProductDto"> + <select id="selectPList" resultType="com.ruoyi.inspect.dto.ProductDto"> select p.name from structure_test_object sto left join product p on p.object_id = sto.id @@ -325,26 +325,26 @@ group by ifs.id) a </sql> - <select id="getIfsByStateOne" resultType="com.ruoyi.basic.dto.IfsInventoryQuantityDto"> + <select id="getIfsByStateOne" resultType="com.ruoyi.inspect.dto.IfsInventoryQuantityDto"> <include refid="getIfsOrder"/> <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''"> ${ew.customSqlSegment} </if> </select> - <select id="selectIfsPage" resultType="com.ruoyi.basic.pojo.IfsInventoryQuantity"> + <select id="selectIfsPage" resultType="com.ruoyi.inspect.pojo.IfsInventoryQuantity"> SELECT * from ifs_inventory_quantity ifs <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''"> ${ew.customSqlSegment} </if> </select> - <select id="selectIfsInventoryQuantity" resultType="com.ruoyi.basic.dto.IfsInventoryQuantityCheckDto"> + <select id="selectIfsInventoryQuantity" resultType="com.ruoyi.inspect.dto.IfsInventoryQuantityCheckDto"> SELECT * from ifs_inventory_quantity ifs <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''"> ${ew.customSqlSegment} </if> </select> - <select id="getIfsByOver" resultType="com.ruoyi.basic.dto.IfsInventoryQuantitySupplierDto"> + <select id="getIfsByOver" resultType="com.ruoyi.inspect.dto.IfsInventoryQuantitySupplierDto"> select * from (<include refid="getIfsOrder"/> <where> <if test="beginDeclareDate != null and beginDeclareDate != '' and endDeclareDate != null and endDeclareDate != ''"> @@ -356,7 +356,7 @@ ${ew.customSqlSegment} </if> </select> - <select id="getIfsByOverList" resultType="com.ruoyi.basic.dto.IfsInventoryQuantitySupplierDto"> + <select id="getIfsByOverList" resultType="com.ruoyi.inspect.dto.IfsInventoryQuantitySupplierDto"> select * from (<include refid="getIfsOrder"/> <where> <if test="beginDeclareDate != null and beginDeclareDate != '' and endDeclareDate != null and endDeclareDate != ''"> @@ -368,7 +368,7 @@ ${ew.customSqlSegment} </if> </select> - <select id="getIfsByQuarter" resultType="com.ruoyi.basic.dto.IfsInventoryQuantitySupplierDto"> + <select id="getIfsByQuarter" resultType="com.ruoyi.inspect.dto.IfsInventoryQuantitySupplierDto"> select * from (<include refid="getIfsOrder"/> <where> and (quarter_order_id is not null) diff --git a/basic-server/src/main/resources/mapper/StructureItemParameterMapper.xml b/basic-server/src/main/resources/mapper/StructureItemParameterMapper.xml index fd67dfc..5a0977b 100644 --- a/basic-server/src/main/resources/mapper/StructureItemParameterMapper.xml +++ b/basic-server/src/main/resources/mapper/StructureItemParameterMapper.xml @@ -8,7 +8,7 @@ from structure_item_parameter where sample like concat('%', #{sample}, '%') </delete> - <select id="selectItemParameterList" resultType="com.ruoyi.basic.pojo.StructureItemParameter"> + <select id="selectItemParameterList" resultType="com.ruoyi.inspect.pojo.StructureItemParameter"> select * from (select A.id, inspection_item, inspection_item_en, @@ -109,12 +109,12 @@ left join product p on p.object_id = sto.id </select> - <resultMap id="itemDto" type="com.ruoyi.basic.dto.TestItemDto"> + <resultMap id="itemDto" type="com.ruoyi.inspect.dto.TestItemDto"> <result column="sId" property="id"/> <result column="sName" property="name"/> <collection property="children" resultMap="productDto"/> </resultMap> - <resultMap id="productDto" type="com.ruoyi.basic.dto.ProductDto"> + <resultMap id="productDto" type="com.ruoyi.inspect.dto.ProductDto"> <result column="pId" property="id"/> <result column="pName" property="name"/> </resultMap> diff --git a/basic-server/src/main/resources/mapper/StructureTestMapper.xml b/basic-server/src/main/resources/mapper/StructureTestMapper.xml index 05c7ae7..06bf1a1 100644 --- a/basic-server/src/main/resources/mapper/StructureTestMapper.xml +++ b/basic-server/src/main/resources/mapper/StructureTestMapper.xml @@ -4,7 +4,7 @@ "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.ruoyi.basic.mapper.StructureTestObjectMapper"> - <select id="selectTestObjectList" resultType="com.ruoyi.basic.dto.PageTestObjectDto"> + <select id="selectTestObjectList" resultType="com.ruoyi.inspect.dto.PageTestObjectDto"> select * from ( select sto.id, sto.specimen_name, diff --git a/basic-server/src/main/resources/mapper/StructureTestObjectPartMapper.xml b/basic-server/src/main/resources/mapper/StructureTestObjectPartMapper.xml index ee26497..16a9aa7 100644 --- a/basic-server/src/main/resources/mapper/StructureTestObjectPartMapper.xml +++ b/basic-server/src/main/resources/mapper/StructureTestObjectPartMapper.xml @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > <mapper namespace="com.ruoyi.basic.mapper.StructureTestObjectPartMapper"> - <select id="selectListByTestObjectId" resultType="com.ruoyi.basic.pojo.StructureTestObjectPart"> + <select id="selectListByTestObjectId" resultType="com.ruoyi.inspect.pojo.StructureTestObjectPart"> SELECT * from structure_test_object_part pp where pp.test_object_id = #{testObjectId} </select> diff --git a/bin/clean.bat b/bin/clean.bat deleted file mode 100644 index 24c0974..0000000 --- a/bin/clean.bat +++ /dev/null @@ -1,12 +0,0 @@ -@echo off -echo. -echo [信息] 清理工程target生成路径。 -echo. - -%~d0 -cd %~dp0 - -cd .. -call mvn clean - -pause \ No newline at end of file diff --git a/bin/package.bat b/bin/package.bat deleted file mode 100644 index c693ec0..0000000 --- a/bin/package.bat +++ /dev/null @@ -1,12 +0,0 @@ -@echo off -echo. -echo [信息] 打包Web工程,生成war/jar包文件。 -echo. - -%~d0 -cd %~dp0 - -cd .. -call mvn clean package -Dmaven.test.skip=true - -pause \ No newline at end of file diff --git a/bin/run.bat b/bin/run.bat deleted file mode 100644 index 41efbd0..0000000 --- a/bin/run.bat +++ /dev/null @@ -1,14 +0,0 @@ -@echo off -echo. -echo [信息] 使用Jar命令运行Web工程。 -echo. - -cd %~dp0 -cd ../ruoyi-admin/target - -set JAVA_OPTS=-Xms256m -Xmx1024m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m - -java -jar %JAVA_OPTS% ruoyi-admin.jar - -cd bin -pause \ No newline at end of file diff --git a/cnas-manage/pom.xml b/cnas-manage/pom.xml new file mode 100644 index 0000000..0ab0a45 --- /dev/null +++ b/cnas-manage/pom.xml @@ -0,0 +1,37 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + <parent> + <artifactId>ruoyi</artifactId> + <groupId>com.ruoyi</groupId> + <version>3.8.9</version> + </parent> + <modelVersion>4.0.0</modelVersion> + + <artifactId>cnas-manage</artifactId> + + <dependencies> + + <!--涓氬姟妯″潡--> + <dependency> + <groupId>com.ruoyi</groupId> + <artifactId>inspect-server</artifactId> + </dependency> + <dependency> + <groupId>com.ruoyi</groupId> + <artifactId>ruoyi-system</artifactId> + </dependency> + + <dependency> + <groupId>com.ruoyi</groupId> + <artifactId>ruoyi-framework</artifactId> + </dependency> + </dependencies> + + <properties> + <maven.compiler.source>8</maven.compiler.source> + <maven.compiler.target>8</maven.compiler.target> + </properties> + +</project> diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/controller/ClientSatisfactionController.java b/cnas-manage/src/main/java/com/ruoyi/manage/controller/ClientSatisfactionController.java new file mode 100644 index 0000000..b2e712b --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/controller/ClientSatisfactionController.java @@ -0,0 +1,134 @@ +package com.ruoyi.manage.controller; + + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.common.core.domain.Result; +import com.ruoyi.common.utils.JackSonUtil; +import com.ruoyi.manage.mapper.ClientSatisfactionAnalyseFileMapper; +import com.ruoyi.manage.pojo.ClientSatisfaction; +import com.ruoyi.manage.pojo.ClientSatisfactionAnalyseFile; +import com.ruoyi.manage.service.ClientSatisfactionService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.AllArgsConstructor; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.servlet.http.HttpServletResponse; +import java.util.Map; + + +/** + * 瀹㈡埛婊℃剰搴� + * + * @author zhuo + * @since 2024-11-09 + */ +@Api(tags = "瀹㈡埛婊℃剰搴﹁皟鏌�") +@AllArgsConstructor +@RestController +@RequestMapping("/clientSatisfaction") +public class ClientSatisfactionController { + + private ClientSatisfactionService clientSatisfactionService; + private ClientSatisfactionAnalyseFileMapper clientSatisfactionAnalyseFileMapper; + + /** + * 瀹㈡埛婊℃剰搴﹁皟鏌ュ垪琛� + * @param + * @return + */ + @ApiOperation(value = "瀹㈡埛婊℃剰搴﹁皟鏌ュ垪琛�") + @GetMapping("/pageClientSatisfaction") + public Result<IPage<ClientSatisfaction>> pageClientSatisfaction(Page page,ClientSatisfaction clientSatisfaction) throws Exception { + return Result.success(clientSatisfactionService.pageClientSatisfaction(page, clientSatisfaction)); + } + + /** + * 瀹㈡埛婊℃剰搴﹁皟鏌ユ柊澧� + * @return + */ + @ApiOperation(value = "瀹㈡埛婊℃剰搴﹁皟鏌ユ柊澧�") + @PostMapping("/addClientSatisfaction") + public Result addClientSatisfaction(@RequestBody ClientSatisfaction clientSatisfaction){ + return Result.success(clientSatisfactionService.save(clientSatisfaction)); + } + + /** + * 瀹㈡埛婊℃剰搴﹁皟鏌ヤ慨鏀� + * @return + */ + @ApiOperation(value = "瀹㈡埛婊℃剰搴﹁皟鏌ヤ慨鏀�") + @PostMapping("/updateClientSatisfaction") + public Result updateClientSatisfaction(@RequestBody ClientSatisfaction clientSatisfaction){ + return Result.success(clientSatisfactionService.updateById(clientSatisfaction)); + } + + /** + * 瀹㈡埛婊℃剰搴﹁皟鏌ュ垹闄� + * @return + */ + @ApiOperation(value = "瀹㈡埛婊℃剰搴﹁皟鏌ュ垹闄�") + @DeleteMapping("/delClientSatisfaction") + public Result delClientSatisfaction(Integer clientSatisfactionId){ + return Result.success(clientSatisfactionService.removeById(clientSatisfactionId)); + } + + /** + * 瀹㈡埛婊℃剰搴﹀鍑� + * @param clientSatisfactionId + * @param response + * @return + */ + @ApiOperation(value = "瀹㈡埛婊℃剰瀵煎嚭") + @GetMapping("/exportWordClientSatisfaction") + public Result exportWordClientSatisfaction(Integer clientSatisfactionId, HttpServletResponse response){ + clientSatisfactionService.exportWordClientSatisfaction(clientSatisfactionId, response); + return Result.success(); + } + + /** + * 纭瀹㈡埛婊℃剰搴� + * @param clientSatisfaction 瑕佷慨鏀瑰鎴锋弧鎰忓害鐨勭姸鎬佸璞� + * @param userId 淇敼浜篿d + */ + @ApiOperation(value = "纭瀹㈡埛婊℃剰搴�") + @PostMapping("/confirmClientSatisfaction") + public void confirmClientSatisfaction(@RequestBody ClientSatisfaction clientSatisfaction, Integer userId){ + clientSatisfactionService.confirmClientSatisfaction(clientSatisfaction, userId); + } + + /** + * 鏂板瀹㈡埛鍒嗘瀽闄勪欢 + * @param file + * @return + */ + @ApiOperation(value = "鏂板鎴峰垎鏋愰檮浠�") + @PostMapping("/uploadAnalyseFile") + public Result<?> uploadAnalyseFile(MultipartFile file) { + return Result.success(clientSatisfactionService.uploadAnalyseFile(file)); + } + + + /** + * 鏌ヨ鎴峰垎鏋愰檮浠� + * @return + */ + @ApiOperation(value = "鏌ヨ鎴峰垎鏋愰檮浠�") + @GetMapping("/pageAnalyseFile") + public Result<IPage<ClientSatisfactionAnalyseFile>> pageAnalyseFile(Page page,ClientSatisfactionAnalyseFile analyseFile) throws Exception { + return Result.success(clientSatisfactionService.pageAnalyseFile(page, analyseFile)); + } + + /** + * 鍒犻櫎鎴峰垎鏋愰檮浠� + * @return + */ + @ApiOperation(value = "鍒犻櫎鎴峰垎鏋愰檮浠�") + @DeleteMapping("/delAnalyseFile") + public Result delAnalyseFile(Integer analyseFileId){ + return Result.success(clientSatisfactionAnalyseFileMapper.deleteById(analyseFileId)); + } +} + diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/controller/InternalCheckController.java b/cnas-manage/src/main/java/com/ruoyi/manage/controller/InternalCheckController.java new file mode 100644 index 0000000..ba3995e --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/controller/InternalCheckController.java @@ -0,0 +1,108 @@ +package com.ruoyi.manage.controller; + + + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.common.core.domain.Result; +import com.ruoyi.common.utils.JackSonUtil; +import com.ruoyi.manage.dto.InternalCheckDto; +import com.ruoyi.manage.pojo.InternalCheck; +import com.ruoyi.manage.service.InternalCheckService; +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; + + +/** + * 鍐呭妫�鏌ヨ〃 + * + * @author zhuo + * @since 2024-11-11 + */ +@Api(tags = "鍐呭妫�鏌�") +@AllArgsConstructor +@RestController +@RequestMapping("/internalCheck") +public class InternalCheckController { + + private InternalCheckService internalCheckService; + + /** + * 鍐呭妫�鏌ュ垎椤垫煡璇� + * @param + * @return + */ + @ApiOperation(value = "鍐呭妫�鏌ュ垎椤垫煡璇�") + @GetMapping("/pageInternalCheck") + public Result<IPage<InternalCheckDto>> pageInternalCheck(Page page,InternalCheck internalCheck) throws Exception { + return Result.success(internalCheckService.pageInternalCheck(page, internalCheck)); + } + + /** + * 鍐呭妫�鏌ユ柊澧� + * @return + */ + @ApiOperation(value = "鍐呭妫�鏌ユ柊澧�") + @PostMapping("/addInternalCheck") + public Result addInternalCheck(@RequestBody InternalCheckDto internalCheck){ + return Result.success(internalCheckService.addInternalCheck(internalCheck)); + } + + /** + * 鍐呭妫�鏌ヤ慨鏀� + * @return + */ + @ApiOperation(value = "鍐呭妫�鏌ヤ慨鏀�") + @PostMapping("/updateInternalCheck") + public Result updateInternalCheck(@RequestBody InternalCheckDto internalCheck){ + return Result.success(internalCheckService.updateInternalCheck(internalCheck)); + } + + /** + * 鍐呭妫�鏌ュ垹闄� + * @return + */ + @ApiOperation(value = "鍐呭妫�鏌ュ垹闄�") + @DeleteMapping("/delInternalCheck") + public Result delInternalCheck(Integer checkId){ + return Result.success(internalCheckService.delInternalCheck(checkId)); + } + + /** + * 鍐呭妫�鏌ユ煡鐪嬭鎯� + * @return + */ + @ApiOperation(value = "鍐呭妫�鏌ユ煡鐪嬭鎯�") + @GetMapping("/getInternalCheckOne") + public Result<InternalCheckDto> getInternalCheckOne(Integer checkId){ + return Result.success(internalCheckService.getInternalCheckOne(checkId)); + } + + + /** + * 鍐呭妫�鏌ユ壒鍑� + * @return + */ + @ApiOperation(value = "鍐呭妫�鏌ユ壒鍑�") + @PostMapping("/ratifyInternalCheck") + public Result ratifyInternalCheck(@RequestBody InternalCheckDto internalCheck){ + return Result.success(internalCheckService.ratifyInternalCheck(internalCheck)); + } + + /** + * 瀵煎嚭鍐呭妫�鏌� + * @return + */ + @ApiOperation(value = "瀵煎嚭鍐呭妫�鏌�") + @GetMapping("/exportInternalCheck") + public void exportInternalCheck(Integer checkId, HttpServletResponse response){ + internalCheckService.exportInternalCheck(checkId, response); + } + +} + diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/controller/InternalCorrectController.java b/cnas-manage/src/main/java/com/ruoyi/manage/controller/InternalCorrectController.java new file mode 100644 index 0000000..6a45848 --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/controller/InternalCorrectController.java @@ -0,0 +1,110 @@ +package com.ruoyi.manage.controller; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.common.core.domain.Result; +import com.ruoyi.common.utils.JackSonUtil; +import com.ruoyi.manage.mapper.InternalCorrectFileMapper; +import com.ruoyi.manage.pojo.InternalCorrect; +import com.ruoyi.manage.pojo.InternalCorrectFile; +import com.ruoyi.manage.service.InternalCorrectService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.AllArgsConstructor; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.servlet.http.HttpServletResponse; +import java.util.List; +import java.util.Map; + +/** + * <p> + * 鍐呭绠$悊绾犳澶勭悊琛� 鍓嶇鎺у埗鍣� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-13 04:00:15 + */ +@Api(tags = "鍐呭绾犳鎺柦") +@AllArgsConstructor +@RestController +@RequestMapping("/internalCorrect") +public class InternalCorrectController { + + private InternalCorrectService internalCorrectService; + private InternalCorrectFileMapper internalCorrectFileMapper; + + /** + * 鏂板鍐呭绠$悊绾犳澶勭悊淇℃伅 + * @return + */ + @ApiOperation(value = "鏂板鍐呭绠$悊绾犳澶勭悊") + @PostMapping("/addInternalCorrect") + public Result addInternalCorrect(@RequestBody InternalCorrect internalCorrect){ + return Result.success(internalCorrectService.addInternalCorrect(internalCorrect)); + } + + /** + * 鏌ヨ鍐呭绠$悊绾犳澶勭悊 + * @return + */ + @ApiOperation(value = "鏌ヨ鍐呭绠$悊绾犳澶勭悊") + @GetMapping("/getInternalCorrect") + public Result<InternalCorrect> getInternalCorrect(Integer correctId){ + return Result.success(internalCorrectService.getInternalCorrect(correctId)); + } + + /** + * 鏌ヨ鍐呭绠$悊绾犳鎺柦鍒楄〃 + * @return + */ + @ApiOperation(value = "鏌ヨ鍐呭绠$悊绾犳鎺柦鍒楄〃") + @GetMapping("/pageInternalCorrect") + public Result<IPage<InternalCorrect>> pageInternalCorrect(Page page, InternalCorrect detailsCorrect) throws Exception { + return Result.success(internalCorrectService.pageInternalCorrect(page, detailsCorrect)); + } + + /** + * 鏂板鍐呭绠$悊绾犳鎺柦闄勪欢 + * @param correctId + * @param file + * @return + */ + @ApiOperation(value = "鏂板鍐呭绠$悊绾犳鎺柦闄勪欢") + @PostMapping("/uploadInternalCorrectFile") + public Result<?> uploadInternalCorrectFile(Integer correctId, MultipartFile file) { + return Result.success(internalCorrectService.uploadInternalCorrectFile(correctId, file)); + } + + + /** + * 鏌ヨ鍐呭绠$悊绾犳鎺柦闄勪欢 + * @return + */ + @ApiOperation(value = "鏌ヨ鍐呭绠$悊绾犳鎺柦闄勪欢") + @GetMapping("/getInternalCorrectFileList") + public Result<List<InternalCorrectFile>> getInternalCorrectFileList(Integer correctId){ + return Result.success(internalCorrectService.getInternalCorrectFileList(correctId)); + } + + /** + * 鍒犻櫎鍐呭绠$悊绾犳鎺柦闄勪欢 + * @return + */ + @ApiOperation(value = "鍒犻櫎鍐呭绠$悊绾犳鎺柦闄勪欢") + @DeleteMapping("/delInternalCorrectFile") + public Result delInternalCorrectFile(Integer correctFileId){ + return Result.success(internalCorrectFileMapper.deleteById(correctFileId)); + } + + /** + * 瀵煎嚭绾犳鎺柦 + * @return + */ + @ApiOperation(value = "瀵煎嚭绾犳鎺柦") + @GetMapping("/exportInternalCorrect") + public void exportInternalCorrect(Integer correctId, HttpServletResponse response){ + internalCorrectService.exportInternalCorrect(correctId, response); + } +} diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/controller/InternalImplementController.java b/cnas-manage/src/main/java/com/ruoyi/manage/controller/InternalImplementController.java new file mode 100644 index 0000000..1a0bc25 --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/controller/InternalImplementController.java @@ -0,0 +1,107 @@ +package com.ruoyi.manage.controller; + + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.common.core.domain.Result; +import com.ruoyi.common.utils.JackSonUtil; +import com.ruoyi.manage.dto.InternalImplementDto; +import com.ruoyi.manage.pojo.InternalImplement; +import com.ruoyi.manage.service.InternalImplementService; +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; + + +/** + * 鍐呭瀹炴柦璁″垝 + * + * @author zhuo + * @since 2024-11-11 + */ +@Api(tags = "鍐呭瀹炴柦璁″垝") +@AllArgsConstructor +@RestController +@RequestMapping("/internalImplement") +public class InternalImplementController { + + private InternalImplementService internalImplementService; + + /** + * 鍐呭瀹炴柦璁″垝鍒嗛〉鏌ヨ + * @param + * @return + */ + @ApiOperation(value = "鍐呭瀹炴柦璁″垝鍒嗛〉鏌ヨ") + @GetMapping("/pageInternalImplement") + public Result<IPage<InternalImplementDto>> pageInternalImplement(Page page,InternalImplement internalImplement) throws Exception { + return Result.success(internalImplementService.pageInternalImplement(page, internalImplement)); + } + + /** + * 鍐呭瀹炴柦璁″垝鏂板 + * @return + */ + @ApiOperation(value = "鍐呭瀹炴柦璁″垝鏂板") + @PostMapping("/addInternalImplement") + public Result addInternalImplement(@RequestBody InternalImplementDto internalImplement){ + return Result.success(internalImplementService.addInternalImplement(internalImplement)); + } + + /** + * 鍐呭瀹炴柦璁″垝淇敼 + * @return + */ + @ApiOperation(value = "鍐呭瀹炴柦璁″垝淇敼") + @PostMapping("/updateInternalImplement") + public Result updateInternalImplement(@RequestBody InternalImplementDto internalImplement){ + return Result.success(internalImplementService.updateInternalImplement(internalImplement)); + } + + /** + * 鍐呭瀹炴柦璁″垝鍒犻櫎 + * @return + */ + @ApiOperation(value = "鍐呭瀹炴柦璁″垝鍒犻櫎") + @DeleteMapping("/delInternalImplement") + public Result delInternalImplement(Integer implementId){ + return Result.success(internalImplementService.delInternalImplement(implementId)); + } + + /** + * 鍐呭瀹炴柦璁″垝鏌ョ湅璇︽儏 + * @return + */ + @ApiOperation(value = "鍐呭瀹炴柦璁″垝鏌ョ湅璇︽儏") + @GetMapping("/getInternalImplementOne") + public Result<InternalImplementDto> getInternalImplementOne(Integer implementId){ + return Result.success(internalImplementService.getInternalImplementOne(implementId)); + } + + + /** + * 鍐呭瀹炴柦璁″垝鎵瑰噯 + * @return + */ + @ApiOperation(value = "鍐呭瀹炴柦璁″垝鎵瑰噯") + @PostMapping("/ratifyInternalImplement") + public Result ratifyInternalImplement(@RequestBody InternalImplementDto internalImplement){ + return Result.success(internalImplementService.ratifyInternalImplement(internalImplement)); + } + + /** + * 瀵煎嚭鍐呭瀹炴柦璁″垝 + * @return + */ + @ApiOperation(value = "瀵煎嚭鍐呭瀹炴柦璁″垝") + @GetMapping("/exportInternalImplement") + public void exportInternalImplement(Integer implementId, HttpServletResponse response){ + internalImplementService.exportInternalImplement(implementId, response); + } + +} + diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/controller/InternalMeetingController.java b/cnas-manage/src/main/java/com/ruoyi/manage/controller/InternalMeetingController.java new file mode 100644 index 0000000..138178a --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/controller/InternalMeetingController.java @@ -0,0 +1,95 @@ +package com.ruoyi.manage.controller; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.common.core.domain.Result; +import com.ruoyi.common.utils.JackSonUtil; +import com.ruoyi.manage.dto.InternalMeetingDto; +import com.ruoyi.manage.pojo.InternalMeeting; +import com.ruoyi.manage.service.InternalMeetingService; +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-12 02:50:44 + */ +@Api(tags = "鍐呭浼氳") +@AllArgsConstructor +@RestController +@RequestMapping("/internalMeeting") +public class InternalMeetingController { + + private InternalMeetingService internalMeetingService; + + /** + * 鍐呭浼氳鍒嗛〉鏌ヨ + * @param + * @return + */ + @ApiOperation(value = "鍐呭浼氳鍒嗛〉鏌ヨ") + @GetMapping("/pageInternalMeeting") + public Result<IPage<InternalMeetingDto>> pageInternalMeeting(Page page,InternalMeeting internalMeeting) throws Exception { + return Result.success(internalMeetingService.pageInternalMeeting(page, internalMeeting)); + } + + /** + * 鍐呭浼氳鏂板 + * @return + */ + @ApiOperation(value = "鍐呭浼氳鏂板") + @PostMapping("/addInternalMeeting") + public Result addInternalMeeting(@RequestBody InternalMeetingDto internalMeeting){ + return Result.success(internalMeetingService.addInternalMeeting(internalMeeting)); + } + + /** + * 鍐呭浼氳淇敼 + * @return + */ + @ApiOperation(value = "鍐呭浼氳淇敼") + @PostMapping("/updateInternalMeeting") + public Result updateInternalMeeting(@RequestBody InternalMeetingDto internalMeeting){ + return Result.success(internalMeetingService.updateInternalMeeting(internalMeeting)); + } + + /** + * 鍐呭浼氳鍒犻櫎 + * @return + */ + @ApiOperation(value = "鍐呭浼氳鍒犻櫎") + @DeleteMapping("/delInternalMeeting") + public Result delInternalMeeting(Integer meetingId){ + return Result.success(internalMeetingService.delInternalMeeting(meetingId)); + } + + /** + * 鍐呭浼氳鏌ョ湅璇︽儏 + * @return + */ + @ApiOperation(value = "鍐呭浼氳鏌ョ湅璇︽儏") + @GetMapping("/getInternalMeetingOne") + public Result<InternalMeetingDto> getInternalMeetingOne(Integer meetingId){ + return Result.success(internalMeetingService.getInternalMeetingOne(meetingId)); + } + + /** + * 瀵煎嚭鍐呭浼氳 + * @return + */ + @ApiOperation(value = "瀵煎嚭鍐呭浼氳") + @GetMapping("/exportInternalMeeting") + public void exportInternalMeeting(Integer meetingId, HttpServletResponse response){ + internalMeetingService.exportInternalMeeting(meetingId, response); + } + +} diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/controller/InternalPlanController.java b/cnas-manage/src/main/java/com/ruoyi/manage/controller/InternalPlanController.java new file mode 100644 index 0000000..61caaa4 --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/controller/InternalPlanController.java @@ -0,0 +1,116 @@ +package com.ruoyi.manage.controller; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.common.core.domain.Result; +import com.ruoyi.common.utils.JackSonUtil; +import com.ruoyi.manage.dto.InternalPlanDto; +import com.ruoyi.manage.pojo.InternalPlan; +import com.ruoyi.manage.service.InternalPlanService; +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-13 03:27:47 + */ +@Api(tags = "鍐呭骞村害璁″垝") +@AllArgsConstructor +@RestController +@RequestMapping("/internalPlan") +public class InternalPlanController { + + + private InternalPlanService internalPlanService; + + /** + * 鍐呭骞村害璁″垝鍒嗛〉鏌ヨ + * @param + * @return + */ + @ApiOperation(value = "鍐呭骞村害璁″垝鍒嗛〉鏌ヨ") + @GetMapping("/pageInternalPlan") + public Result<IPage<InternalPlanDto>> pageInternalPlan(Page page,InternalPlan internalPlan) throws Exception { + return Result.success(internalPlanService.pageInternalPlan(page, internalPlan)); + } + + /** + * 鍐呭骞村害璁″垝鏂板 + * @return + */ + @ApiOperation(value = "鍐呭骞村害璁″垝鏂板") + @PostMapping("/addInternalPlan") + public Result addInternalPlan(@RequestBody InternalPlanDto internalPlan){ + return Result.success(internalPlanService.addInternalPlan(internalPlan)); + } + + /** + * 鍐呭骞村害璁″垝淇敼 + * @return + */ + @ApiOperation(value = "鍐呭骞村害璁″垝淇敼") + @PostMapping("/updateInternalPlan") + public Result updateInternalPlan(@RequestBody InternalPlanDto internalPlan){ + return Result.success(internalPlanService.updateInternalPlan(internalPlan)); + } + + /** + * 鍐呭骞村害璁″垝鍒犻櫎 + * @return + */ + @ApiOperation(value = "鍐呭骞村害璁″垝鍒犻櫎") + @DeleteMapping("/delInternalPlan") + public Result delInternalPlan(Integer planId){ + return Result.success(internalPlanService.delInternalPlan(planId)); + } + + /** + * 鍐呭骞村害璁″垝鏌ョ湅璇︽儏 + * @return + */ + @ApiOperation(value = "鍐呭骞村害璁″垝鏌ョ湅璇︽儏") + @GetMapping("/getInternalPlanOne") + public Result<InternalPlanDto> getInternalPlanOne(Integer planId){ + return Result.success(internalPlanService.getInternalPlanOne(planId)); + } + + + /** + * 鍐呭骞村害璁″垝瀹℃牳 + * @return + */ + @ApiOperation(value = "鍐呭骞村害璁″垝瀹℃牳") + @PostMapping("/examineInternalPlan") + public Result examineInternalPlan(@RequestBody InternalPlanDto internalPlanDto){ + return Result.success(internalPlanService.examineInternalPlan(internalPlanDto)); + } + + /** + * 鍐呭骞村害璁″垝鎵瑰噯 + * @return + */ + @ApiOperation(value = "鍐呭瀹炴柦璁″垝鎵瑰噯") + @PostMapping("/ratifyInternalPlan") + public Result ratifyInternalPlan(@RequestBody InternalPlanDto internalPlanDto){ + return Result.success(internalPlanService.ratifyInternalPlan(internalPlanDto)); + } + + /** + * 瀵煎嚭鍐呭骞村害璁″垝 + * @return + */ + @ApiOperation(value = "瀵煎嚭鍐呭骞村害璁″垝") + @GetMapping("/exportInternalPlan") + public void exportInternalPlan(Integer planId, HttpServletResponse response){ + internalPlanService.exportInternalImplement(planId, response); + } +} diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/controller/InternalReportController.java b/cnas-manage/src/main/java/com/ruoyi/manage/controller/InternalReportController.java new file mode 100644 index 0000000..f08fb50 --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/controller/InternalReportController.java @@ -0,0 +1,115 @@ +package com.ruoyi.manage.controller; + + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.common.core.domain.Result; +import com.ruoyi.common.utils.JackSonUtil; +import com.ruoyi.manage.pojo.InternalReport; +import com.ruoyi.manage.service.InternalReportService; +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; + + +/** + * 鍐呭鎶ュ憡琛� + * + * @author makejava + * @since 2024-11-11 + */ +@Api(tags = "鍐呭鎶ュ憡") +@AllArgsConstructor +@RestController +@RequestMapping("/internalReport") +public class InternalReportController { + + private InternalReportService internalReportService; + + /** + * 鍐呭鎶ュ憡鍒嗛〉鏌ヨ + * @param + * @return + */ + @ApiOperation(value = "鍐呭鎶ュ憡鍒嗛〉鏌ヨ") + @GetMapping("/pageInternalReport") + public Result<IPage<InternalReport>> pageInternalReport(Page page,InternalReport internalReport) throws Exception { + return Result.success(internalReportService.pageInternalReport(page, internalReport)); + } + + /** + * 鍐呭鎶ュ憡鏂板 + * @return + */ + @ApiOperation(value = "鍐呭鎶ュ憡鏂板") + @PostMapping("/addInternalReport") + public Result addInternalReport(@RequestBody InternalReport internalReport){ + return Result.success(internalReportService.save(internalReport)); + } + + /** + * 鍐呭鎶ュ憡淇敼 + * @return + */ + @ApiOperation(value = "鍐呭鎶ュ憡淇敼") + @PostMapping("/updateInternalReport") + public Result updateInternalReport(@RequestBody InternalReport internalReport){ + return Result.success(internalReportService.updateById(internalReport)); + } + + /** + * 鍐呭鎶ュ憡鍒犻櫎 + * @return + */ + @ApiOperation(value = "鍐呭鎶ュ憡鍒犻櫎") + @DeleteMapping("/delInternalReport") + public Result delInternalReport(Integer reportId){ + return Result.success(internalReportService.removeById(reportId)); + } + + /** + * 鍐呭鎶ュ憡鏌ョ湅璇︽儏 + * @return + */ + @ApiOperation(value = "鍐呭鎶ュ憡鏌ョ湅璇︽儏") + @GetMapping("/getInternalReportOne") + public Result<InternalReport> getInternalReportOne(Integer reportId){ + return Result.success(internalReportService.getById(reportId)); + } + + /** + * 鍐呭妫�鏌ュ鏍� + * @return + */ + @ApiOperation(value = "鍐呭妫�鏌ュ鏍�") + @PostMapping("/examineInternalReport") + public Result examineInternalReport(@RequestBody InternalReport internalReport){ + return Result.success(internalReportService.ratifyInternalCheck(internalReport)); + } + + /** + * 鍐呭鎶ュ憡璐ㄩ噺璐熻矗浜哄~鍐� + * @return + */ + @ApiOperation(value = "鍐呭鎶ュ憡璐ㄩ噺璐熻矗浜哄~鍐�") + @PostMapping("/qualityInternalReport") + public Result qualityInternalReport(@RequestBody InternalReport internalReport){ + return Result.success(internalReportService.qualityInternalReport(internalReport)); + } + + /** + * 瀵煎嚭鍐呭鎶ュ憡 + * @return + */ + @ApiOperation(value = "瀵煎嚭鍐呭鎶ュ憡") + @GetMapping("/exportInternalReport") + public void exportInternalReport(Integer reportId, HttpServletResponse response){ + internalReportService.exportInternalReport(reportId, response); + } + +} + diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/controller/ManageControlPlanListController.java b/cnas-manage/src/main/java/com/ruoyi/manage/controller/ManageControlPlanListController.java new file mode 100644 index 0000000..5d71d10 --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/controller/ManageControlPlanListController.java @@ -0,0 +1,134 @@ +package com.ruoyi.manage.controller; + +import com.alibaba.excel.EasyExcel; +import com.alibaba.excel.read.listener.PageReadListener; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.common.core.domain.Result; +import com.ruoyi.common.utils.SecurityUtils; +import com.ruoyi.framework.exception.ErrorException; +import com.ruoyi.manage.pojo.ManageControlPlanList; +import com.ruoyi.manage.service.ManageControlPlanListService; +import com.ruoyi.manage.vo.ManageControlPlanListVo; +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.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.time.LocalDateTime; +import java.util.Map; + +/** + * <p> + * 閲嶅ぇ椋庨櫓鍥犵礌鍒嗘瀽鍙婃帶鍒惰鍒掓竻鍗� 鍓嶇鎺у埗鍣� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-15 02:58:30 + */ +@Api(tags = "閲嶅ぇ椋庨櫓鍥犵礌鍒嗘瀽鍙婃帶鍒惰鍒掓竻鍗�") +@RestController +@RequestMapping("/manageControlPlanList") +public class ManageControlPlanListController { + + + @Resource + private ManageControlPlanListService manageControlPlanListService; + + + @ApiOperation(value = "鍒嗛〉鏌ヨ") + @GetMapping("/getPageList") + public Result<IPage<ManageControlPlanListVo>> getPageList(Page page){ + IPage<ManageControlPlanListVo> ipage = manageControlPlanListService.getPageList(page); + return Result.success(ipage); + } + + @ApiOperation(value = "鎵瑰噯") + @PostMapping("/approvalOfControlPlanChecklist") + public Result<?> approvalOfControlPlanChecklist(@RequestBody Map<String, Integer> param){ + Integer approve = param.get("approve"); + Integer status= param.get("status"); + manageControlPlanListService.update(Wrappers.<ManageControlPlanList>lambdaUpdate() + .set(ManageControlPlanList::getApprove, approve) + .set(ManageControlPlanList::getApproveStatus, status) + .set(ManageControlPlanList::getApproveDate, LocalDateTime.now())); + return Result.success(); + } + + @ApiOperation(value = "瀹℃壒") + @PostMapping("/riskAnalysisApprovalOfControlPlanChecklist") + public Result<?> riskAnalysisApprovalOfControlPlanChecklist(@RequestBody Map<String, Integer> param){ + Integer approval = param.get("approval"); + Integer status= param.get("status"); + manageControlPlanListService.update(Wrappers.<ManageControlPlanList>lambdaUpdate() + .set(ManageControlPlanList::getApproval, approval) + .set(ManageControlPlanList::getApprovalStatus, status) + .set(ManageControlPlanList::getApprovalDate, LocalDateTime.now())); + return Result.success(); + } + + @ApiOperation(value = "瀵煎叆") + @PostMapping("/importControlPlanList") + public void importControlPlanList(MultipartFile file) throws IOException { + boolean excelFile = isExcelFile(file); + if (!excelFile) { + throw new ErrorException("璇峰鍏xcel鏂囦欢锛�"); + } + EasyExcel.read(file.getInputStream(), ManageControlPlanList.class, new PageReadListener<ManageControlPlanList>(dataList -> { + Integer userId = SecurityUtils.getUserId().intValue(); + dataList.forEach(i -> { + i.setEditor(userId); + i.setEditorDate(LocalDateTime.now()); + i.setApproveStatus(0); + i.setApprovalStatus(0); + }); + manageControlPlanListService.saveOrUpdateBatch(dataList); + })).sheet().doRead(); + } + + @ApiOperation(value = "鏂板") + @PostMapping("/analysisOfMajorRiskFactorsAdded") + public void analysisOfMajorRiskFactorsAdded(@RequestBody ManageControlPlanList manageControlPlanList) throws IOException { + Integer userId = SecurityUtils.getUserId().intValue(); + manageControlPlanList.setEditor(userId); + manageControlPlanList.setEditorDate(LocalDateTime.now()); + manageControlPlanListService.saveOrUpdate(manageControlPlanList); + } + + @ApiOperation(value = "鍒犻櫎") + @DeleteMapping("/deleteSignificantRiskFactorAnalysis") + public void deleteSignificantRiskFactorAnalysis(Integer id) throws IOException { + manageControlPlanListService.removeById(id); + } + + /** + * 瀵煎嚭浜哄憳鍩硅璁″垝 + * @return + */ + @ApiOperation(value = "閲嶅ぇ椋庨櫓鍥犵礌鍒嗘瀽鍙婃帶鍒惰鍒掓竻鍗�") + @GetMapping("/exportSignificantRiskFactors") + public void exportSignificantRiskFactors(HttpServletResponse response){ + manageControlPlanListService.exportPersonTraining(response); + } + + public static boolean isExcelFile(MultipartFile file) { + if (file.isEmpty()) { + return false; + } + String originalFilename = file.getOriginalFilename(); + if (originalFilename == null) { + return false; + } + String[] parts = originalFilename.split("\\."); + if (parts.length == 0) { + return false; + } + String fileExtension = parts[parts.length - 1].toLowerCase(); + return fileExtension.equals("xls") || fileExtension.equals("xlsx"); + } +} diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/controller/ManageDocumentAlterController.java b/cnas-manage/src/main/java/com/ruoyi/manage/controller/ManageDocumentAlterController.java new file mode 100644 index 0000000..5134bb3 --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/controller/ManageDocumentAlterController.java @@ -0,0 +1,78 @@ +package com.ruoyi.manage.controller; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.common.core.domain.Result; +import com.ruoyi.common.utils.JackSonUtil; +import com.ruoyi.manage.pojo.ManageDocumentAlter; +import com.ruoyi.manage.service.ManageDocumentAlterService; +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-11 11:04:01 + */ +@RestController +@RequestMapping("/manageDocumentAlter") +public class ManageDocumentAlterController { + + @Resource + private ManageDocumentAlterService manageDocumentAlterService; + + @ApiOperation(value = "鍒嗛〉鏌ヨ鏂囦欢鍙樻洿") + @GetMapping("/pageManageDocumentAlter") + public Result pageManageDocumentAlter(Page page,ManageDocumentAlter manageDocumentAlter) throws Exception { + return Result.success(manageDocumentAlterService.pageManageDocumentAlter(page, manageDocumentAlter)); + } + + @ApiOperation(value = "鍒犻櫎鏂囦欢鍙樻洿") + @DeleteMapping("/delManageDocumentAlter") + public Result delManageDocumentAlter(Integer id){ + return Result.success(manageDocumentAlterService.delManageDocumentAlter(id)); + } + + @ApiOperation(value = "鏌ョ湅鏂囦欢鍙樻洿") + @GetMapping("/getManageDocumentAlter") + public Result getManageDocumentAlter(Integer id){ + return Result.success(manageDocumentAlterService.getManageDocumentAlter(id)); + } + + @ApiOperation(value = "鏂板鏂囦欢鍙樻洿") + @PostMapping("/addManageDocumentAlter") + public Result addManageDocumentAlter(ManageDocumentAlter manageDocumentAlter){ + return Result.success(manageDocumentAlterService.addManageDocumentAlter(manageDocumentAlter)); + } + + @ApiOperation(value = "缂栬緫鏂囦欢鍙樻洿") + @PostMapping("/doManageDocumentAlter") + public Result doManageDocumentAlter(ManageDocumentAlter manageDocumentAlter){ + return Result.success(manageDocumentAlterService.doManageDocumentAlter(manageDocumentAlter)); + } + + @ApiOperation(value = "瀹℃牳鏂囦欢鍙樻洿") + @PostMapping("/checkManageDocumentAlter") + public Result checkManageDocumentAlter(@RequestBody ManageDocumentAlter manageDocumentAlter){ + return Result.success(manageDocumentAlterService.checkManageDocumentAlter(manageDocumentAlter)); + } + + @ApiOperation(value = "瀹℃牳鏌ョ湅闄勪欢") + @GetMapping("/checkManageDocumentAlterPdf") + public void checkManageDocumentAlterPdf(Long id, HttpServletResponse response)throws Exception { + manageDocumentAlterService.checkManageDocumentAlterPdf(id,response); + } + + @ApiOperation(value = "瀵煎嚭鏂囦欢鍙樻洿") + @GetMapping("/exportManageDocumentAlter") + public void exportManageDocumentAlter(ManageDocumentAlter manageDocumentAlter,HttpServletResponse response) throws Exception { + manageDocumentAlterService.exportManageDocumentAlter(manageDocumentAlter,response); + } + +} diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/controller/ManageDocumentCancelController.java b/cnas-manage/src/main/java/com/ruoyi/manage/controller/ManageDocumentCancelController.java new file mode 100644 index 0000000..81e0308 --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/controller/ManageDocumentCancelController.java @@ -0,0 +1,74 @@ +package com.ruoyi.manage.controller; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.common.core.domain.Result; +import com.ruoyi.common.utils.JackSonUtil; +import com.ruoyi.manage.pojo.ManageDocumentCancel; +import com.ruoyi.manage.service.ManageDocumentCancelService; +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-09 02:37:35 + */ +@RestController +@RequestMapping("/manageDocumentCancel") +public class ManageDocumentCancelController { + + @Resource + private ManageDocumentCancelService manageDocumentCancelService; + + @ApiOperation(value = "鍒嗛〉鏌ヨ鏂囦欢浣滃簾") + @GetMapping("/pageManageDocumentCancel") + public Result pageManageDocumentCancel(Page page,ManageDocumentCancel manageDocumentCancel) throws Exception { + return Result.success(manageDocumentCancelService.pageManageDocumentCancel(page, manageDocumentCancel)); + } + + @ApiOperation(value = "鏂板鏂囦欢浣滃簾") + @PostMapping("/addManageDocumentCancel") + public Result addManageDocumentCancel(@RequestBody ManageDocumentCancel manageDocumentCancel) { + return Result.success(manageDocumentCancelService.addManageDocumentCancel(manageDocumentCancel)); + } + + @ApiOperation(value = "瀹℃牳鏂囦欢浣滃簾") + @PostMapping("/checkManageDocumentCancel") + public Result checkManageDocumentCancel(@RequestBody Map<String, Object> param) { + Integer id = (Integer) param.get("id"); + String state = (String) param.get("state"); + return Result.success(manageDocumentCancelService.checkManageDocumentCancel(id, state)); + } + + @ApiOperation(value = "鍒犻櫎鏂囦欢浣滃簾") + @DeleteMapping("/delManageDocumentCancel") + public Result delManageDocumentCancel(Integer id) { + return Result.success(manageDocumentCancelService.delManageDocumentCancel(id)); + } + + @ApiOperation(value = "鏌ョ湅鏂囦欢浣滃簾") + @GetMapping("/getManageDocumentCancel") + public Result getManageDocumentCancel(Integer id) { + return Result.success(manageDocumentCancelService.getManageDocumentCancel(id)); + } + + @ApiOperation(value = "缂栬緫鏂囦欢浣滃簾") + @PostMapping("/doManageDocumentCancel") + public Result doManageDocumentCancel(@RequestBody ManageDocumentCancel manageDocumentCancel) { + return Result.success(manageDocumentCancelService.doManageDocumentCancel(manageDocumentCancel)); + } + + @ApiOperation(value = "瀵煎嚭鏂囦欢浣滃簾") + @GetMapping("/exportManageDocumentCancel") + public void exportManageDocumentCancel(ManageDocumentCancel manageDocumentCancel,HttpServletResponse response) throws Exception { + manageDocumentCancelService.exportManageDocumentCancel(manageDocumentCancel,response); + } + +} diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/controller/ManageDocumentControlledController.java b/cnas-manage/src/main/java/com/ruoyi/manage/controller/ManageDocumentControlledController.java new file mode 100644 index 0000000..bf4497e --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/controller/ManageDocumentControlledController.java @@ -0,0 +1,72 @@ +package com.ruoyi.manage.controller; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.common.core.domain.Result; +import com.ruoyi.common.utils.JackSonUtil; +import com.ruoyi.manage.pojo.ManageDocumentControlled; +import com.ruoyi.manage.service.ManageDocumentControlledService; +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-08 02:54:44 + */ +@RestController +@RequestMapping("/manageDocumentControlled") +public class ManageDocumentControlledController { + + @Resource + private ManageDocumentControlledService manageDocumentControlledService; + + @ApiOperation(value = "鍒嗛〉鏌ヨ鏂囦欢鍙楁帶") + @GetMapping("/pageManageDocumentControlled") + public Result pageManageDocumentControlled(Page page,ManageDocumentControlled manageDocumentControlled) throws Exception { + return Result.success(manageDocumentControlledService.pageManageDocumentControlled(page, manageDocumentControlled)); + } + + @ApiOperation(value = "鏂板鏂囦欢鍙楁帶") + @PostMapping("/addManageDocumentControlled") + public Result addManageDocumentControlled(ManageDocumentControlled manageDocumentControlled){ + return Result.success(manageDocumentControlledService.addManageDocumentControlled(manageDocumentControlled)); + } + + @ApiOperation(value = "鏌ョ湅鏂囦欢鍙楁帶") + @GetMapping("/getManageDocumentControlled") + public Result getManageDocumentControlled(Long id){ + return Result.success(manageDocumentControlledService.getManageDocumentControlled(id)); + } + + @ApiOperation(value = "缂栬緫鏂囦欢鍙楁帶") + @PostMapping("/doManageDocumentControlled") + public Result doManageDocumentControlled(ManageDocumentControlled manageDocumentControlled){ + return Result.success(manageDocumentControlledService.doManageDocumentControlled(manageDocumentControlled)); + } + + @ApiOperation(value = "鍒犻櫎鏂囦欢鍙楁帶") + @DeleteMapping("/delManageDocumentControlled") + public Result delManageDocumentControlled(Long id){ + return Result.success(manageDocumentControlledService.delManageDocumentControlled(id)); + } + + @ApiOperation(value = "瀹℃牳鏂囦欢鍙楁帶") + @PostMapping("/checkManageDocumentControlled") + public Result checkManageDocumentControlled(ManageDocumentControlled manageDocumentControlled){ + return Result.success(manageDocumentControlledService.checkManageDocumentControlled(manageDocumentControlled)); + } + + @ApiOperation(value = "瀹℃牳鏌ョ湅闄勪欢") + @GetMapping("/checkManageDocumentControlledPdf") + public void checkManageDocumentControlledPdf(Long id, HttpServletResponse response)throws Exception { + manageDocumentControlledService.checkManageDocumentControlledPdf(id,response); + } + +} diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/controller/ManageDocumentIssueRecycleController.java b/cnas-manage/src/main/java/com/ruoyi/manage/controller/ManageDocumentIssueRecycleController.java new file mode 100644 index 0000000..606a2fa --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/controller/ManageDocumentIssueRecycleController.java @@ -0,0 +1,75 @@ +package com.ruoyi.manage.controller; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.common.core.domain.Result; +import com.ruoyi.common.utils.JackSonUtil; +import com.ruoyi.manage.dto.ManageDocumentIssueRecycleDto; +import com.ruoyi.manage.pojo.ManageDocumentIssueRecycle; +import com.ruoyi.manage.service.ManageDocumentIssueRecycleService; +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-09 09:18:24 + */ +@RestController +@RequestMapping("/manageDocumentIssueRecycle") +public class ManageDocumentIssueRecycleController { + + @Resource + private ManageDocumentIssueRecycleService manageDocumentIssueRecycleService; + + @ApiOperation(value = "鍒嗛〉鏌ヨ鏂囦欢鍙戞斁鍥炴敹") + @GetMapping("/pageManageDocumentIssueRecycle") + public Result pageManageDocumentIssueRecycle(Page page,ManageDocumentIssueRecycleDto manageDocumentIssueRecycleDto) throws Exception { + return Result.success(manageDocumentIssueRecycleService.pageManageDocumentIssueRecycle(page, manageDocumentIssueRecycleDto)); + } + + @ApiOperation(value = "鏂板鏂囦欢鍙戞斁鍥炴敹") + @PostMapping("/addManageDocumentIssueRecycle") + public Result addManageDocumentIssueRecycle(ManageDocumentIssueRecycle manageDocumentIssueRecycle){ + return Result.success(manageDocumentIssueRecycleService.addManageDocumentIssueRecycle(manageDocumentIssueRecycle)); + } + + @ApiOperation(value = "鍒犻櫎鏂囦欢鍙戞斁鍥炴敹") + @DeleteMapping("/delManageDocumentIssueRecycle") + public Result delManageDocumentIssueRecycle(Long id){ + return Result.success(manageDocumentIssueRecycleService.delManageDocumentIssueRecycle(id)); + } + + @ApiOperation(value = "鏌ョ湅鏂囦欢鍙戞斁鍥炴敹") + @GetMapping("/getManageDocumentIssueRecycle") + public Result getManageDocumentIssueRecycle(Long id){ + return Result.success(manageDocumentIssueRecycleService.getManageDocumentIssueRecycle(id)); + } + + @ApiOperation(value = "缂栬緫鏂囦欢鍙戞斁鍥炴敹") + @PostMapping("/doManageDocumentIssueRecycle") + public Result doManageDocumentIssueRecycle(@RequestBody ManageDocumentIssueRecycle manageDocumentIssueRecycle){ + return Result.success(manageDocumentIssueRecycleService.doManageDocumentIssueRecycle(manageDocumentIssueRecycle)); + } + + @ApiOperation(value = "瀹℃牳鏂囦欢鍙戞斁鍥炴敹") + @PostMapping("/checkManageDocumentIssueRecycle") + public Result checkManageDocumentIssueRecycle(@RequestBody ManageDocumentIssueRecycle manageDocumentIssueRecycle){ + return Result.success(manageDocumentIssueRecycleService.checkManageDocumentIssueRecycle(manageDocumentIssueRecycle.getId(),manageDocumentIssueRecycle.getDocumentState())); + } + + @ApiOperation(value = "瀵煎嚭鏂囦欢鍙戞斁鍥炴敹") + @GetMapping("/exportManageDocumentIssueRecycle") + public void exportManageDocumentIssueRecycle(ManageDocumentIssueRecycleDto manageDocumentIssueRecycleDto, HttpServletResponse response) throws Exception { + manageDocumentIssueRecycleService.exportManageDocumentIssueRecycle(manageDocumentIssueRecycleDto,response); + } + + + +} diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/controller/ManageDocumentListController.java b/cnas-manage/src/main/java/com/ruoyi/manage/controller/ManageDocumentListController.java new file mode 100644 index 0000000..3037aa1 --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/controller/ManageDocumentListController.java @@ -0,0 +1,69 @@ +package com.ruoyi.manage.controller; + +import com.alibaba.excel.EasyExcel; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.common.core.domain.Result; +import com.ruoyi.common.utils.JackSonUtil; +import com.ruoyi.manage.excel.ManageDocumentListListener; +import com.ruoyi.manage.pojo.ManageDocumentList; +import com.ruoyi.manage.service.ManageDocumentListService; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import java.io.IOException; +import java.util.Map; + +/** + * <p> + * 鏂囦欢娓呭崟 + 鍓嶇鎺у埗鍣� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-08 11:08:11 + */ +@RestController +@RequestMapping("/manageDocumentList") +public class ManageDocumentListController { + + @Resource + private ManageDocumentListService manageDocumentListService; + + @ApiOperation(value = "鍒嗛〉鏌ヨ鏂囦欢娓呭崟") + @GetMapping("/pageManageDocumentList") + public Result pageManageDocumentList(Page page,ManageDocumentList manageDocumentList) throws Exception { + return Result.success(manageDocumentListService.pageManageDocumentList(page, manageDocumentList)); + } + + @ApiOperation(value = "缂栬緫鏂囦欢娓呭崟") + @PostMapping("/doManageDocumentList") + public Result doManageDocumentList(@RequestBody ManageDocumentList manageDocumentList) { + return Result.success(manageDocumentListService.updateById(manageDocumentList)); + } + + @ApiOperation(value = "鍒犻櫎鏂囦欢娓呭崟") + @DeleteMapping("/delManageDocumentList") + public Result delManageDocumentList(Integer id) { + return Result.success(manageDocumentListService.removeById(id)); + } + + @ApiOperation(value = "涓婁紶闄勪欢-鏂囦欢娓呭崟") + @PostMapping("/uploadFileManageDocumentList") + public Result uploadFileManageDocumentList(Integer id, MultipartFile file) { + return Result.success(manageDocumentListService.uploadFile(id,file)); + } + + @ApiOperation(value = "瀵煎叆鏂囦欢娓呭崟鍒楄〃") + @PostMapping("/exportManageDocumentList") + public Result exportManageDocumentList(MultipartFile file) { + try { + EasyExcel.read(file.getInputStream(), ManageDocumentList.class, new ManageDocumentListListener(manageDocumentListService)).sheet().doRead(); + } catch (IOException e) { + e.printStackTrace(); + } + return Result.success(); + } + +} diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/controller/ManageMeetingController.java b/cnas-manage/src/main/java/com/ruoyi/manage/controller/ManageMeetingController.java new file mode 100644 index 0000000..680e327 --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/controller/ManageMeetingController.java @@ -0,0 +1,64 @@ +package com.ruoyi.manage.controller; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.common.core.domain.Result; +import com.ruoyi.manage.dto.ManageMeetingDto; +import com.ruoyi.manage.service.ManageMeetingService; +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; + +/** + * <p> + * 鍓嶇鎺у埗鍣� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-11 09:33:47 + */ +@Api(tags = "绠$悊璇勫浼氳") +@RestController +@RequestMapping("/manageMeeting") +public class ManageMeetingController { + + @Resource + private ManageMeetingService manageMeetingService; + + @ApiOperation(value = "绠$悊璇勫浼氳璁板綍鏌ヨ") + @GetMapping("/getPageMeeting") + public Result<IPage<ManageMeetingDto>> getPageMeeting(Page page, String startTime, String endTime, String place) throws Exception { + IPage<ManageMeetingDto> ipage = manageMeetingService.page(page,startTime,endTime,place); + return Result.success(ipage); + } + + @ApiOperation(value = "鏂板浼氳璁板綍") + @PostMapping("/addMeeting") + public Result addMeeting(@RequestBody ManageMeetingDto dto){ + manageMeetingService.addMeeting(dto); + return Result.success(); + } + + @ApiOperation(value = "缂栬緫浼氳璁板綍") + @PostMapping("/modifyMeeting") + public Result modifyMeeting(@RequestBody ManageMeetingDto manageMeetingDto){ + return Result.success(manageMeetingService.modifyMeeting(manageMeetingDto)); + } + + @ApiOperation(value = "鍒犻櫎浼氳璁板綍") + @DeleteMapping("/deleteMeeting") + public Result deleteMeeting(Integer id){ + return Result.success(manageMeetingService.removeById(id)); + } + + + @ApiOperation(value = "涓嬭浇浼氳璁板綍") + @GetMapping("/exportMeeting") + public void exportMeeting(Integer id, HttpServletResponse response){ + manageMeetingService.exportMeeting(id,response); + } + +} diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/controller/ManageMeetingParticipantsController.java b/cnas-manage/src/main/java/com/ruoyi/manage/controller/ManageMeetingParticipantsController.java new file mode 100644 index 0000000..3f58961 --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/controller/ManageMeetingParticipantsController.java @@ -0,0 +1,51 @@ +package com.ruoyi.manage.controller; + +import com.ruoyi.common.core.domain.Result; +import com.ruoyi.manage.pojo.ManageMeetingParticipants; +import com.ruoyi.manage.service.ManageMeetingParticipantsService; +import com.ruoyi.manage.vo.MeetingParticipantsDetailsVo; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.List; + +/** + * <p> + * 鍓嶇鎺у埗鍣� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-11 09:34:27 + */ +@Api(tags = "绠$悊璇勫浼氳") +@RestController +@RequestMapping("/manageMeetingParticipants") +public class ManageMeetingParticipantsController { + + @Resource + private ManageMeetingParticipantsService manageMeetingParticipantsService; + + + @ApiOperation(value = "鏌ヨ浼氳璁板綍鍙備細浜哄憳") + @GetMapping("/getParticipants") + public Result<MeetingParticipantsDetailsVo> getParticipants(Integer id){ + return Result.success(manageMeetingParticipantsService.getParticipants(id)); + } + + @ApiOperation(value = "鏂板浼氳璁板綍鍙備細浜哄憳") + @PostMapping("/add") + public Result addParticipants(@RequestBody List<ManageMeetingParticipants> list){ + manageMeetingParticipantsService.saveBatch(list); + return Result.success(); + } + + @ApiOperation(value = "鍒犻櫎浼氳璁板綍鍙備細浜哄憳") + @DeleteMapping("/delete") + public Result deleteParticipants(List<Integer> ids){ + manageMeetingParticipantsService.removeByIds(ids); + return Result.success(); + } + +} diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/controller/ManageRecordAuditController.java b/cnas-manage/src/main/java/com/ruoyi/manage/controller/ManageRecordAuditController.java new file mode 100644 index 0000000..dc21eef --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/controller/ManageRecordAuditController.java @@ -0,0 +1,83 @@ +package com.ruoyi.manage.controller; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.common.core.domain.Result; +import com.ruoyi.common.utils.JackSonUtil; +import com.ruoyi.manage.pojo.ManageRecordAudit; +import com.ruoyi.manage.service.ManageRecordAuditService; +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-14 10:29:18 + */ +@RestController +@RequestMapping("/manageRecordAudit") +public class ManageRecordAuditController { + + @Resource + private ManageRecordAuditService manageRecordAuditService; + + @ApiOperation(value = "鍒嗛〉鏌ヨ鏂囦欢淇鐢宠瀹℃壒璁板綍") + @GetMapping("/pageManageRecordAudit") + public Result pageManageRecordAudit(Page page,ManageRecordAudit manageRecordAudit) throws Exception { + return Result.success(manageRecordAuditService.pageManageRecordAudit(page, manageRecordAudit)); + } + + @ApiOperation(value = "鏂板鏂囦欢淇鐢宠瀹℃壒璁板綍") + @PostMapping("/addManageRecordAudit") + public Result addManageRecordAudit( ManageRecordAudit manageRecordAudit){ + return Result.success(manageRecordAuditService.addManageRecordAudit(manageRecordAudit)); + } + + @ApiOperation(value = "缂栬緫鏂囦欢淇鐢宠瀹℃壒璁板綍") + @PostMapping("/doManageRecordAudit") + public Result doManageRecordAudit(ManageRecordAudit manageRecordAudit){ + return Result.success(manageRecordAuditService.doManageRecordAudit(manageRecordAudit)); + } + + @ApiOperation(value = "鍒犻櫎鏂囦欢淇鐢宠瀹℃壒璁板綍") + @DeleteMapping("/delManageRecordAudit") + public Result delManageRecordAudit(Integer id){ + return Result.success(manageRecordAuditService.removeById(id)); + } + + @ApiOperation(value = "鎵瑰噯鏂囦欢淇鐢宠瀹℃壒璁板綍") + @PostMapping("/ratifyManageRecordAudit") + public Result ratifyManageRecordAudit(@RequestBody Map<String, Integer> param){ + Integer id = param.get("id"); + return Result.success(manageRecordAuditService.ratifyManageRecordAudit(id)); + } + + @ApiOperation(value = "鐢宠閮ㄩ棬涓荤鎰忚鏂囦欢淇鐢宠瀹℃壒璁板綍") + @PostMapping("/manageRecordAudit1") + public void manageRecordAudit1(){ + } + + @ApiOperation(value = "鍘熷埗瀹氶儴闂ㄦ剰瑙佹枃浠朵慨璁㈢敵璇峰鎵硅褰�") + @PostMapping("/manageRecordAudit2") + public void manageRecordAudit2(){ + } + + @ApiOperation(value = "鍘熷鏍搁儴闂ㄦ剰瑙佹枃浠朵慨璁㈢敵璇峰鎵硅褰�") + @PostMapping("/manageRecordAudit3") + public void manageRecordAudit3(){ + } + + @ApiOperation(value = "瀵煎嚭鏂囦欢淇鐢宠瀹℃壒璁板綍") + @GetMapping("/exportOutManageRecordAudit") + public Result exportOutManageRecordAudit(ManageRecordAudit manageRecordAudit, HttpServletResponse response) throws Exception { + return Result.success(manageRecordAuditService.exportOutManageRecordAudit(manageRecordAudit,response)); + } + + +} diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/controller/ManageRecordCancelController.java b/cnas-manage/src/main/java/com/ruoyi/manage/controller/ManageRecordCancelController.java new file mode 100644 index 0000000..cc9d568 --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/controller/ManageRecordCancelController.java @@ -0,0 +1,79 @@ +package com.ruoyi.manage.controller; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.common.core.domain.Result; +import com.ruoyi.common.utils.JackSonUtil; +import com.ruoyi.manage.pojo.ManageRecordCancel; +import com.ruoyi.manage.service.ManageRecordCancelService; +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.time.LocalDate; +import java.util.Map; + +/** + * <p> + * 浣滃簾鏂囦欢閿�榄傝褰� 鍓嶇鎺у埗鍣� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-13 01:27:22 + */ +@RestController +@RequestMapping("/manageRecordCancel") +public class ManageRecordCancelController { + + @Resource + private ManageRecordCancelService manageRecordCancelService; + + @ApiOperation(value = "鍒嗛〉鏌ヨ浣滃簾鏂囦欢閿�姣佽褰�") + @GetMapping("/pageManageRecordCancel") + public Result pageManageRecordCancel(Page page,ManageRecordCancel manageRecordCancel) throws Exception { + return Result.success(manageRecordCancelService.pageManageRecordCancel(page, manageRecordCancel)); + } + + @ApiOperation(value = "鏂板浣滃簾鏂囦欢閿�姣佽褰�") + @PostMapping("/addManageRecordCancel") + public Result addManageRecordCancel(@RequestBody ManageRecordCancel manageRecordCancel){ + manageRecordCancel.setCreateTime(LocalDate.now()); + return Result.success(manageRecordCancelService.save(manageRecordCancel)); + } + + @ApiOperation(value = "缂栬緫浣滃簾鏂囦欢閿�姣佽褰�") + @PostMapping("/doManageRecordCancel") + public Result doManageRecordCancel(@RequestBody ManageRecordCancel manageRecordCancel){ + return Result.success(manageRecordCancelService.updateById(manageRecordCancel)); + } + + @ApiOperation(value = "鍒犻櫎浣滃簾鏂囦欢閿�姣佽褰�") + @DeleteMapping("/delManageRecordCancel") + public Result delManageRecordCancel(Integer id){ + return Result.success(manageRecordCancelService.removeById(id)); + } + + @ApiOperation(value = "鎵瑰噯浣滃簾鏂囦欢閿�姣佽褰�") + @PostMapping("/ratifyManageRecordCancel") + public Result ratifyManageRecordCancel(@RequestBody Map<String, Object> param){ + Integer id = (Integer) param.get("id"); + String ratifyState = (String) param.get("ratifyState"); + return Result.success(manageRecordCancelService.ratifyManageRecordCancel(id,ratifyState)); + } + + @ApiOperation(value = "瀵煎嚭浣滃簾鏂囦欢閿�姣佽褰�") + @GetMapping("/exportOutManageRecordCancel") + public Result exportOutManageRecordCancel(ManageRecordCancel manageRecordCancel, HttpServletResponse response) throws Exception { + return Result.success(manageRecordCancelService.exportOutManageRecordCancel(manageRecordCancel,response)); + } + + @ApiOperation(value = "瀵煎叆浣滃簾鏂囦欢閿�姣佽褰�") + @PostMapping("/exportInManageRecordCancel") + public Result exportInManageRecordCancel(MultipartFile file){ + return Result.success(manageRecordCancelService.exportInManageRecordCancel(file)); + } + + + +} diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/controller/ManageRecordCheckController.java b/cnas-manage/src/main/java/com/ruoyi/manage/controller/ManageRecordCheckController.java new file mode 100644 index 0000000..ed6894c --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/controller/ManageRecordCheckController.java @@ -0,0 +1,83 @@ +package com.ruoyi.manage.controller; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.common.core.domain.Result; +import com.ruoyi.common.utils.JackSonUtil; +import com.ruoyi.manage.pojo.ManageRecordCheck; +import com.ruoyi.manage.service.ManageRecordCheckService; +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.util.Map; + +/** + * <p> + * 鏂囦欢瀹℃壒璁板綍(鍚慨璁㈠悗鍐嶆瀹℃壒璁板綍) 鍓嶇鎺у埗鍣� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-12 02:31:36 + */ +@RestController +@RequestMapping("/manageRecordCheck") +public class ManageRecordCheckController { + + @Resource + private ManageRecordCheckService manageRecordCheckService; + + @ApiOperation(value = "鍒嗛〉鏌ヨ鏂囦欢瀹℃壒璁板綍") + @GetMapping("/pageManageRecordCheck") + public Result pageManageRecordCheck(Page page,ManageRecordCheck manageRecordCheck) throws Exception { + return Result.success(manageRecordCheckService.pageManageRecordCheck(page, manageRecordCheck)); + } + + @ApiOperation(value = "鏂板鏂囦欢瀹℃壒璁板綍") + @PostMapping("/addManageRecordCheck") + public Result addManageRecordCheck(@RequestBody ManageRecordCheck manageRecordCheck) { + return Result.success(manageRecordCheckService.save(manageRecordCheck)); + } + + @ApiOperation(value = "缂栬緫鏂囦欢瀹℃壒璁板綍") + @PostMapping("/doManageRecordCheck") + public Result doManageRecordCheck(@RequestBody ManageRecordCheck manageRecordCheck) { + return Result.success(manageRecordCheckService.updateById(manageRecordCheck)); + } + + @ApiOperation(value = "鍒犻櫎鏂囦欢瀹℃壒璁板綍") + @DeleteMapping("/delManageRecordCheck") + public Result delManageRecordCheck(Integer id) { + return Result.success(manageRecordCheckService.removeById(id)); + } + + @ApiOperation(value = "瀹℃牳鏂囦欢瀹℃壒璁板綍") + @PostMapping("/checkManageRecordCheck") + public Result checkManageRecordCheck(@RequestBody Map<String, Object> param) { + Integer id = (Integer) param.get("id"); + String checkState = (String) param.get("checkState"); + return Result.success(manageRecordCheckService.checkManageRecordCheck(id,checkState)); + } + + @ApiOperation(value = "鎵瑰噯鏂囦欢瀹℃壒璁板綍") + @PostMapping("/ratifyManageRecordCheck") + public Result ratifyManageRecordCheck(@RequestBody Map<String, Object> param) { + Integer id = (Integer) param.get("id"); + String ratifyState = (String) param.get("ratifyState"); + return Result.success(manageRecordCheckService.ratifyManageRecordCheck(id,ratifyState)); + } + + @ApiOperation(value = "瀵煎嚭鏂囦欢瀹℃壒璁板綍") + @GetMapping("/exportOutManageRecordCheck") + public Result exportOutManageRecordCheck(ManageRecordCheck manageRecordCheck, HttpServletResponse response) throws Exception { + return Result.success(manageRecordCheckService.exportOutManageRecordCheck(manageRecordCheck,response)); + } + + @ApiOperation(value = "瀵煎叆鏂囦欢瀹℃壒璁板綍") + @PostMapping("/exportInManageRecordCheck") + public Result exportInManageRecordCheck(MultipartFile file){ + return Result.success(manageRecordCheckService.exportInManageRecordCheck(file)); + } + +} diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/controller/ManageRecordIntervalsController.java b/cnas-manage/src/main/java/com/ruoyi/manage/controller/ManageRecordIntervalsController.java new file mode 100644 index 0000000..3ffdd87 --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/controller/ManageRecordIntervalsController.java @@ -0,0 +1,69 @@ +package com.ruoyi.manage.controller; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.common.core.domain.Result; +import com.ruoyi.common.utils.JackSonUtil; +import com.ruoyi.manage.pojo.ManageRecordIntervals; +import com.ruoyi.manage.service.ManageRecordIntervalsService; +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.util.Map; + +/** + * <p> + * 鏂囦欢瀹氭湡瀹℃煡璁板綍 鍓嶇鎺у埗鍣� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-13 10:54:31 + */ +@Api(tags = "璁板綍鐨勬帶鍒�") +@RestController +@RequestMapping("/manageRecordIntervals") +public class ManageRecordIntervalsController { + + @Resource + private ManageRecordIntervalsService manageRecordIntervalsService; + + @ApiOperation(value = "鍒嗛〉鏌ヨ鏂囦欢瀹氭湡瀹℃煡璁板綍") + @GetMapping("/pageManageRecordIntervals") + public Result pageManageRecordIntervals(Page page,ManageRecordIntervals manageRecordIntervals) throws Exception { + return Result.success(manageRecordIntervalsService.pageManageRecordIntervals(page, manageRecordIntervals)); + } + + @ApiOperation(value = "鏂板鏂囦欢瀹氭湡瀹℃煡璁板綍") + @PostMapping("/addManageRecordIntervals") + public Result addManageRecordIntervals(@RequestBody ManageRecordIntervals manageRecordIntervals) { + return Result.success(manageRecordIntervalsService.addManageRecordIntervals(manageRecordIntervals)); + } + + @ApiOperation(value = "缂栬緫鏂囦欢瀹氭湡瀹℃煡璁板綍") + @PostMapping("/doManageRecordIntervals") + public Result doManageRecordIntervals(@RequestBody ManageRecordIntervals manageRecordIntervals) { + return Result.success(manageRecordIntervalsService.updateById(manageRecordIntervals)); + } + + @ApiOperation(value = "鍒犻櫎鏂囦欢瀹氭湡瀹℃煡璁板綍") + @DeleteMapping("/delManageRecordIntervals") + public Result delManageRecordIntervals(Integer id) { + return Result.success(manageRecordIntervalsService.delManageRecordIntervals(id)); + } + + @ApiOperation(value = "瀵煎嚭鏂囦欢瀹氭湡瀹℃煡璁板綍") + @GetMapping("/exportOutManageRecordIntervals") + public Result exportOutManageRecordIntervals(ManageRecordIntervals manageRecordIntervals, HttpServletResponse response) throws Exception { + return Result.success(manageRecordIntervalsService.exportOutManageRecordIntervals(manageRecordIntervals,response)); + } + + @ApiOperation(value = "瀵煎叆鏂囦欢瀹氭湡瀹℃煡璁板綍") + @PostMapping("/exportInManageRecordIntervals") + public Result exportInManageRecordIntervals(MultipartFile file){ + return Result.success(manageRecordIntervalsService.exportInManageRecordIntervals(file)); + } + +} diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/controller/ManageRecordIntervalsTotalController.java b/cnas-manage/src/main/java/com/ruoyi/manage/controller/ManageRecordIntervalsTotalController.java new file mode 100644 index 0000000..8058c97 --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/controller/ManageRecordIntervalsTotalController.java @@ -0,0 +1,50 @@ +package com.ruoyi.manage.controller; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.common.core.domain.Result; +import com.ruoyi.common.utils.JackSonUtil; +import com.ruoyi.manage.pojo.ManageRecordIntervalsTotal; +import com.ruoyi.manage.service.ManageRecordIntervalsTotalService; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.Map; + +/** + * <p> + * 鏂囦欢瀹氭湡瀹℃煡璁板綍鎬诲巻鍙茶褰曡〃 鍓嶇鎺у埗鍣� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-15 01:12:11 + */ +@RestController +@RequestMapping("/manageRecordIntervalsTotal") +public class ManageRecordIntervalsTotalController { + + @Resource + private ManageRecordIntervalsTotalService manageRecordIntervalsTotalService; + + @ApiOperation(value = "鏌ヨ鏂囦欢瀹氭湡瀹℃煡璁板綍鍘嗗彶鍒楄〃") + @GetMapping("/pageManageRecordIntervalsTotal") + public Result pageManageRecordIntervalsTotal(Page page,ManageRecordIntervalsTotal manageRecordIntervalsTotal) throws Exception { + return Result.success(manageRecordIntervalsTotalService.pageManageRecordIntervalsTotal(page, manageRecordIntervalsTotal)); + } + + @ApiOperation(value = "鎻愪氦鏂囦欢瀹氭湡瀹℃煡璁板綍鍘嗗彶鍒楄〃") + @PostMapping("/submitManageRecordIntervalsTotal") + public Result submitManageRecordIntervalsTotal(@RequestBody Map<String, Integer> param) { + Integer id = param.get("id"); + return Result.success(manageRecordIntervalsTotalService.submitManageRecordIntervalsTotal(id)); + } + + @ApiOperation(value = "鎵瑰噯鏂囦欢瀹氭湡瀹℃煡璁板綍鍘嗗彶鍒楄〃") + @PostMapping("/ratifyManageRecordIntervalsTotal") + public Result ratifyManageRecordIntervalsTotal(@RequestBody Map<String, Object> param) { + Integer id = (Integer) param.get("id"); + String ratifyState = (String) param.get("ratifyState"); + return Result.success(manageRecordIntervalsTotalService.ratifyManageRecordIntervalsTotal(id, ratifyState)); + } + +} diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/controller/ManageRecordIssueRecycleController.java b/cnas-manage/src/main/java/com/ruoyi/manage/controller/ManageRecordIssueRecycleController.java new file mode 100644 index 0000000..eb7f3f5 --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/controller/ManageRecordIssueRecycleController.java @@ -0,0 +1,67 @@ +package com.ruoyi.manage.controller; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.common.core.domain.Result; +import com.ruoyi.common.utils.JackSonUtil; +import com.ruoyi.manage.pojo.ManageRecordIssueRecycle; +import com.ruoyi.manage.service.ManageRecordIssueRecycleService; +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.util.Map; + +/** + * <p> + * 鎵�鏈夋枃浠�(鍐呫�佸閮ㄦ枃浠�)鐨勫彂鏀句笌鍥炴敹璁板綍 鍓嶇鎺у埗鍣� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-13 09:11:05 + */ +@RestController +@RequestMapping("/manageRecordIssueRecycle") +public class ManageRecordIssueRecycleController { + + @Resource + private ManageRecordIssueRecycleService manageRecordIssueRecycleService; + + @ApiOperation(value = "鍒嗛〉鏌ヨ鎵�鏈夋枃浠剁殑鍙戞斁涓庡洖鏀惰褰�") + @GetMapping("/pageManageRecordIssueRecycle") + public Result pageManageRecordIssueRecycle(Page page,ManageRecordIssueRecycle manageRecordIssueRecycle) throws Exception { + return Result.success(manageRecordIssueRecycleService.pageManageRecordIssueRecycle(page, manageRecordIssueRecycle)); + } + + @ApiOperation(value = "鍒犻櫎鎵�鏈夋枃浠剁殑鍙戞斁涓庡洖鏀惰褰�") + @DeleteMapping("/delManageRecordIssueRecycle") + public Result delManageRecordIssueRecycle(Integer id){ + return Result.success(manageRecordIssueRecycleService.removeById(id)); + } + + @ApiOperation(value = "鏂板鎵�鏈夋枃浠剁殑鍙戞斁涓庡洖鏀惰褰�") + @PostMapping("/addManageRecordIssueRecycle") + public Result addManageRecordIssueRecycle(@RequestBody ManageRecordIssueRecycle manageRecordIssueRecycle){ + return Result.success(manageRecordIssueRecycleService.addManageRecordIssueRecycle(manageRecordIssueRecycle)); + } + + @ApiOperation(value = "缂栬緫鎵�鏈夋枃浠剁殑鍙戞斁涓庡洖鏀惰褰�") + @PostMapping("/doManageRecordIssueRecycle") + public Result doManageRecordIssueRecycle(@RequestBody ManageRecordIssueRecycle manageRecordIssueRecycle){ + return Result.success(manageRecordIssueRecycleService.doManageRecordIssueRecycle(manageRecordIssueRecycle)); + } + + @ApiOperation(value = "瀵煎嚭鎵�鏈夋枃浠剁殑鍙戞斁涓庡洖鏀惰褰�") + @GetMapping("/exportOutManageRecordIssueRecycle") + public Result exportOutManageRecordIssueRecycle(ManageRecordIssueRecycle manageRecordIssueRecycle, HttpServletResponse response) throws Exception { + return Result.success(manageRecordIssueRecycleService.exportOutManageRecordIssueRecycle(manageRecordIssueRecycle,response)); + } + + @ApiOperation(value = "瀵煎叆鎵�鏈夋枃浠剁殑鍙戞斁涓庡洖鏀惰褰�") + @PostMapping("/exportInManageRecordIssueRecycle") + public Result exportInManageRecordIssueRecycle(MultipartFile file){ + return Result.success(manageRecordIssueRecycleService.exportInManageRecordIssueRecycle(file)); + } + +} diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/controller/ManageRecordTotalController.java b/cnas-manage/src/main/java/com/ruoyi/manage/controller/ManageRecordTotalController.java new file mode 100644 index 0000000..0c845cf --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/controller/ManageRecordTotalController.java @@ -0,0 +1,50 @@ +package com.ruoyi.manage.controller; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.common.core.domain.Result; +import com.ruoyi.common.utils.JackSonUtil; +import com.ruoyi.manage.pojo.ManageRecordTotal; +import com.ruoyi.manage.service.ManageRecordTotalService; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.Map; + +/** + * <p> + * 澶栨潵鏂囦欢纭璁板綍鎬诲巻鍙茶褰曡〃 鍓嶇鎺у埗鍣� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-12 10:30:08 + */ +@RestController +@RequestMapping("/manageRecordTotal") +public class ManageRecordTotalController { + + @Resource + private ManageRecordTotalService manageRecordTotalService; + + @ApiOperation(value = "鏌ヨ澶栨潵鏂囦欢纭璁板綍鍘嗗彶鍒楄〃") + @GetMapping("/pageManageRecordTotal") + public Result pageManageRecordTotal(Page page, ManageRecordTotal manageRecordTotal) throws Exception { + return Result.success(manageRecordTotalService.pageManageRecordTotal(page, manageRecordTotal)); + } + + @ApiOperation(value = "鎻愪氦澶栨潵鏂囦欢纭璁板綍鍘嗗彶鍒楄〃") + @PostMapping("/submitManageRecordTotal") + public Result submitManageRecordTotal(@RequestBody Map<String, Integer> param) { + Integer id = param.get("id"); + return Result.success(manageRecordTotalService.submitManageRecordTotal(id)); + } + + @ApiOperation(value = "鎵瑰噯澶栨潵鏂囦欢纭璁板綍鍘嗗彶鍒楄〃") + @PostMapping("/ratifyManageRecordTotal") + public Result ratifyManageRecordTotal(@RequestBody Map<String, Object> param) { + Integer id = (Integer) param.get("id"); + String ratifyState = (String) param.get("ratifyState"); + return Result.success(manageRecordTotalService.ratifyManageRecordTotal(id, ratifyState)); + } + +} diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/controller/ManageRecordVerifyController.java b/cnas-manage/src/main/java/com/ruoyi/manage/controller/ManageRecordVerifyController.java new file mode 100644 index 0000000..4a2c4bc --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/controller/ManageRecordVerifyController.java @@ -0,0 +1,60 @@ +package com.ruoyi.manage.controller; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.common.core.domain.Result; +import com.ruoyi.common.utils.JackSonUtil; +import com.ruoyi.manage.pojo.ManageRecordVerify; +import com.ruoyi.manage.service.ManageRecordVerifyService; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import java.util.Map; + +/** + * <p> + * 澶栨潵鏂囦欢纭璁板綍 鍓嶇鎺у埗鍣� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-12 10:29:44 + */ +@RestController +@RequestMapping("/manageRecordVerify") +public class ManageRecordVerifyController { + + @Resource + private ManageRecordVerifyService manageRecordVerifyService; + + @ApiOperation(value = "鏌ヨ澶栨潵鏂囦欢纭璁板綍璇︽儏") + @GetMapping("/pageManageRecordVerify") + public Result pageManageRecordVerify(Page page,ManageRecordVerify manageRecordVerify) throws Exception { + return Result.success(manageRecordVerifyService.pageManageRecordVerify(page, manageRecordVerify)); + } + + @ApiOperation(value = "鏂板澶栨潵鏂囦欢纭璁板綍") + @PostMapping("/addManageRecordVerify") + public Result addManageRecordVerify(@RequestBody ManageRecordVerify manageRecordVerify) { + return Result.success(manageRecordVerifyService.addManageRecordVerify(manageRecordVerify)); + } + + @ApiOperation(value = "鍒犻櫎澶栨潵鏂囦欢纭璁板綍") + @DeleteMapping("/delManageRecordVerify") + public Result delManageRecordVerify(Integer id) { + return Result.success(manageRecordVerifyService.delManageRecordVerify(id)); + } + + @ApiOperation(value = "淇敼澶栨潵鏂囦欢纭璁板綍") + @PostMapping("/doManageRecordVerify") + public Result doManageRecordVerify(@RequestBody ManageRecordVerify manageRecordVerify) { + return Result.success(manageRecordVerifyService.updateById(manageRecordVerify)); + } + + @ApiOperation(value = "瀵煎叆澶栨潵鏂囦欢纭璁板綍") + @PostMapping("/exportManageRecordVerify") + public Result exportManageRecordVerify(MultipartFile file) { + return Result.success(manageRecordVerifyService.exportManageRecordVerify(file)); + } + +} diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/controller/ManageReviewProgramController.java b/cnas-manage/src/main/java/com/ruoyi/manage/controller/ManageReviewProgramController.java new file mode 100644 index 0000000..d893c88 --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/controller/ManageReviewProgramController.java @@ -0,0 +1,66 @@ +package com.ruoyi.manage.controller; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.common.core.domain.Result; +import com.ruoyi.manage.pojo.ManageReviewProgram; +import com.ruoyi.manage.service.ManageReviewProgramService; +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; + +/** + * <p> + * 鍓嶇鎺у埗鍣� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-09 03:05:42 + */ +@Api(tags = "绠$悊璇勫璁″垝") +@RestController +@RequestMapping("/manageReviewProgram") +public class ManageReviewProgramController { + @Resource + private ManageReviewProgramService manageReviewProgramService; + + + @ApiOperation(value = "鏌ヨ璇勫璁″垝") + @GetMapping("/getPageReviewProgram") + public Result<IPage<ManageReviewProgram>> getPageReviewProgram(Page page, String startTime, String endTime, String judgingLocation) throws Exception { + IPage<ManageReviewProgram> ipage = manageReviewProgramService.page(page,startTime,endTime,judgingLocation); + return Result.success(ipage); + } + + + @ApiOperation(value = "鏂板璇勫璁″垝") + @PostMapping("/addReviewProgram") + public Result addReviewProgram(@RequestBody ManageReviewProgram manageReviewProgram){ + return Result.success(manageReviewProgramService.addReviewProgram(manageReviewProgram)); + } + + @ApiOperation(value = "缂栬緫璇勫璁″垝") + @PostMapping("/modifyReviewProgram") + public Result modifyReviewProgram(@RequestBody ManageReviewProgram manageReviewProgram){ + return Result.success(manageReviewProgramService.updateById(manageReviewProgram)); + } + + @ApiOperation(value = "鍒犻櫎璇勫璁″垝") + @DeleteMapping("/deleteReviewProgram") + public Result deleteReviewProgram( Integer id){ + return Result.success(manageReviewProgramService.removeById(id)); + } + + + @ApiOperation(value = "涓嬭浇璇勫璁″垝") + @GetMapping("/exportReviewProgram") + public void exportReviewProgram(Integer id, HttpServletResponse response){ + manageReviewProgramService.exportReviewProgram(id,response); + } + + + +} diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/controller/ManageReviewProgramFileController.java b/cnas-manage/src/main/java/com/ruoyi/manage/controller/ManageReviewProgramFileController.java new file mode 100644 index 0000000..1662440 --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/controller/ManageReviewProgramFileController.java @@ -0,0 +1,42 @@ +package com.ruoyi.manage.controller; + +import com.ruoyi.common.core.domain.Result; +import com.ruoyi.manage.service.ManageReviewProgramFileService; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; + +/** + * <p> + * 鍓嶇鎺у埗鍣� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-09 04:15:47 + */ +@RestController +@RequestMapping("/manageReviewProgramFile") +public class ManageReviewProgramFileController { + + @Resource + private ManageReviewProgramFileService manageReviewProgramFileService; + + @ApiOperation(value = "鏌ヨ璇勫璁″垝鏂囦欢") + @GetMapping("/selectReviewProgramFile") + public Result selectReviewProgramFile(Integer id){ + return Result.success(manageReviewProgramFileService.selectFile(id)); + } + + + @ApiOperation(value = "鏂板璇勫璁″垝鏂囦欢") + @PostMapping("/addReviewProgramFile") + public Result addReviewProgramFile(MultipartFile file,Integer id){ + manageReviewProgramFileService.addFile(file,id); + return Result.success(); + } +} diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/controller/ManageReviewReportController.java b/cnas-manage/src/main/java/com/ruoyi/manage/controller/ManageReviewReportController.java new file mode 100644 index 0000000..31fc9d5 --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/controller/ManageReviewReportController.java @@ -0,0 +1,61 @@ +package com.ruoyi.manage.controller; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.common.core.domain.Result; +import com.ruoyi.manage.pojo.ManageReviewReport; +import com.ruoyi.manage.service.ManageReviewReportService; +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; + +/** + * <p> + * 绠$悊璇勫鎶ュ憡 鍓嶇鎺у埗鍣� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-12 04:44:39 + */ +@Api(tags = "绠$悊璇勫鎶ュ憡") +@RestController +@RequestMapping("/manageReviewReport") +public class ManageReviewReportController { + + @Resource + private ManageReviewReportService manageReviewReportService; + + @ApiOperation(value = "鏌ヨ绠$悊璇勫鎶ュ憡") + @GetMapping("/getPageReviewReport") + public Result<IPage<ManageReviewReport>> getPageReviewReport(Page page, String startTime, String endTime, String place) { + IPage<ManageReviewReport> ipage = manageReviewReportService.page(page,startTime,endTime,place); + return Result.success(ipage); + } + + @ApiOperation(value = "鏂板绠$悊璇勫鎶ュ憡") + @PostMapping("/addReviewReport") + public Result addReviewReport(@RequestBody ManageReviewReport manageReviewReport){ + return Result.success(manageReviewReportService.save(manageReviewReport)); + } + + @ApiOperation(value = "缂栬緫绠$悊璇勫鎶ュ憡") + @PostMapping("/modifyReviewReport") + public Result modifyReviewReport(@RequestBody ManageReviewReport manageReviewReport){ + return Result.success(manageReviewReportService.updateById(manageReviewReport)); + } + + @ApiOperation(value = "鍒犻櫎绠$悊璇勫鎶ュ憡") + @DeleteMapping("/deleteReviewReport") + public Result deleteReviewReport(Integer id){ + return Result.success(manageReviewReportService.removeById(id)); + } + + @ApiOperation(value = "涓嬭浇绠$悊璇勫鎶ュ憡") + @GetMapping("/exportReviewReport") + public void exportReviewReport(Integer id , HttpServletResponse response){ + manageReviewReportService.exportReviewReport(id,response); + } +} diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/controller/ManageRiskAssessmentResultsController.java b/cnas-manage/src/main/java/com/ruoyi/manage/controller/ManageRiskAssessmentResultsController.java new file mode 100644 index 0000000..4c9ac50 --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/controller/ManageRiskAssessmentResultsController.java @@ -0,0 +1,133 @@ +package com.ruoyi.manage.controller; + +import com.alibaba.excel.EasyExcel; +import com.alibaba.excel.enums.CellExtraTypeEnum; +import com.alibaba.excel.read.listener.PageReadListener; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.common.core.domain.Result; +import com.ruoyi.common.utils.SecurityUtils; +import com.ruoyi.framework.exception.ErrorException; +import com.ruoyi.manage.pojo.ManageRiskAssessmentResults; +import com.ruoyi.manage.service.ManageRiskAssessmentResultsService; +import com.ruoyi.manage.vo.ManageRiskAssessmentResultsVo; +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.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.time.LocalDateTime; +import java.util.Map; + +/** + * <p> + * 鍗遍櫓鍥犵礌杈ㄨ瘑涓庨闄╄瘎浠风粨鏋滀竴瑙堣〃 鍓嶇鎺у埗鍣� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-15 02:58:51 + */ +@Api(tags = "鍗遍櫓鍥犵礌杈ㄨ瘑涓庨闄╄瘎浠风粨鏋滀竴瑙堣〃") +@RestController +@RequestMapping("/manageRiskAssessmentResults") +public class ManageRiskAssessmentResultsController { + + @Resource + private ManageRiskAssessmentResultsService manageRiskAssessmentResultsService; + + @ApiOperation(value = "鍒嗛〉鏌ヨ") + @GetMapping("/getPageResults") + public Result<IPage<ManageRiskAssessmentResultsVo>> getPageResults(Page page) { + IPage<ManageRiskAssessmentResultsVo> ipage = manageRiskAssessmentResultsService.getPageResults(page); + return Result.success(ipage); + } + + @ApiOperation(value = "鎵瑰噯") + @PostMapping("/hazardIdentificationAndRiskApproval") + public Result<?> hazardIdentificationAndRiskApproval(@RequestBody Map<String, Integer> param) { + Integer approve = param.get("approve"); + Integer status = param.get("status"); + manageRiskAssessmentResultsService.update(Wrappers.<ManageRiskAssessmentResults>lambdaUpdate() + .set(ManageRiskAssessmentResults::getApprove, approve) + .set(ManageRiskAssessmentResults::getApproveStatus, status) + .set(ManageRiskAssessmentResults::getApproveDate, LocalDateTime.now())); + return Result.success(); + } + + @ApiOperation(value = "瀹℃壒") + @PostMapping("/dangerousRiskApproval") + public Result<?> dangerousRiskApproval(@RequestBody Map<String, Integer> param) { + Integer approval = param.get("approval"); + Integer status = param.get("status"); + manageRiskAssessmentResultsService.update(Wrappers.<ManageRiskAssessmentResults>lambdaUpdate() + .set(ManageRiskAssessmentResults::getApproval, approval) + .set(ManageRiskAssessmentResults::getApprovalStatus, status) + .set(ManageRiskAssessmentResults::getApprovalDate, LocalDateTime.now())); + return Result.success(); + } + + @ApiOperation(value = "瀵煎叆") + @PostMapping("/riskAssessmentImport") + public void riskAssessmentImport(MultipartFile file) throws IOException { + boolean excelFile = isExcelFile(file); + if (!excelFile) { + throw new ErrorException("璇峰鍏xcel鏂囦欢锛�"); + } + EasyExcel.read(file.getInputStream(), ManageRiskAssessmentResults.class, new PageReadListener<ManageRiskAssessmentResults>(dataList -> { + Integer userId = SecurityUtils.getUserId().intValue(); + dataList.forEach(i -> { + i.setEditor(userId); + i.setEditorDate(LocalDateTime.now()); + i.setApproveStatus(0); + i.setApprovalStatus(0); + }); + manageRiskAssessmentResultsService.saveOrUpdateBatch(dataList); + })).extraRead(CellExtraTypeEnum.MERGE).sheet().doRead(); + } + + @ApiOperation(value = "鏂板") + @PostMapping("/addNewRiskFactors") + public void addNewRiskFactors(@RequestBody ManageRiskAssessmentResults manageRiskAssessmentResults) { + Integer userId = SecurityUtils.getUserId().intValue(); + manageRiskAssessmentResults.setEditor(userId); + manageRiskAssessmentResults.setEditorDate(LocalDateTime.now()); + manageRiskAssessmentResultsService.saveOrUpdate(manageRiskAssessmentResults); + } + + @ApiOperation(value = "鍒犻櫎") + @DeleteMapping("/removeRiskFactors") + public void removeRiskFactors(Integer id) { + manageRiskAssessmentResultsService.removeById(id); + } + + /** + * 瀵煎嚭浜哄憳鍩硅璁″垝 + * @return + */ + @ApiOperation(value = "瀵煎嚭鍗遍櫓鍥犵礌杈ㄨ瘑涓庨闄╄瘎浠风粨鏋滀竴瑙�") + @GetMapping("/exportHazardFactorIdentification") + public void exportPersonTraining(HttpServletResponse response){ + manageRiskAssessmentResultsService.exportPersonTraining(response); + } + + public static boolean isExcelFile(MultipartFile file) { + if (file.isEmpty()) { + return false; + } + String originalFilename = file.getOriginalFilename(); + if (originalFilename == null) { + return false; + } + String[] parts = originalFilename.split("\\."); + if (parts.length == 0) { + return false; + } + String fileExtension = parts[parts.length - 1].toLowerCase(); + return fileExtension.equals("xls") || fileExtension.equals("xlsx"); + } +} diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/dto/ClientSatisfactionDto.java b/cnas-manage/src/main/java/com/ruoyi/manage/dto/ClientSatisfactionDto.java new file mode 100644 index 0000000..e015e5f --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/dto/ClientSatisfactionDto.java @@ -0,0 +1,50 @@ +package com.ruoyi.manage.dto; + +import com.ruoyi.manage.pojo.ClientSatisfaction; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Author: yuan + * Date: 2024-12-16 鏄熸湡涓� 10:38:30 + * Description: 瀹㈡埛婊℃剰搴﹁皟鏌ュ鍑篧ord + */ +@Data +public class ClientSatisfactionDto extends ClientSatisfaction { + + @ApiModelProperty("鏈嶅姟鎬佸害, 0:婊℃剰, 1:涓�鑸�, 2:涓嶆弧鎰�") + private String serviceAttitude0; + + @ApiModelProperty("鏈嶅姟鎬佸害, 0:婊℃剰, 1:涓�鑸�, 2:涓嶆弧鎰�") + private String serviceAttitude1; + + @ApiModelProperty("鏈嶅姟鎬佸害, 0:婊℃剰, 1:涓�鑸�, 2:涓嶆弧鎰�") + private String serviceAttitude2; + + @ApiModelProperty("鎶�鏈兘鍔�, 0:婊℃剰, 1:涓�鑸�, 2:涓嶆弧鎰�") + private String technicalCompetence0; + + @ApiModelProperty("鎶�鏈兘鍔�, 0:婊℃剰, 1:涓�鑸�, 2:涓嶆弧鎰�") + private String technicalCompetence1; + + @ApiModelProperty("鎶�鏈兘鍔�, 0:婊℃剰, 1:涓�鑸�, 2:涓嶆弧鎰�") + private String technicalCompetence2; + + @ApiModelProperty("妫�娴嬪伐浣�, 0:婊℃剰, 1:涓�鑸�, 2:涓嶆弧鎰�") + private String inspectionWork0; + + @ApiModelProperty("妫�娴嬪伐浣�, 0:婊℃剰, 1:涓�鑸�, 2:涓嶆弧鎰�") + private String inspectionWork1; + + @ApiModelProperty("妫�娴嬪伐浣�, 0:婊℃剰, 1:涓�鑸�, 2:涓嶆弧鎰�") + private String inspectionWork2; + + @ApiModelProperty("鏀惰垂鍚堢悊鎬�, 0:婊℃剰, 1:涓�鑸�, 2:涓嶆弧鎰�") + private String reasonableFees0; + + @ApiModelProperty("鏀惰垂鍚堢悊鎬�, 0:婊℃剰, 1:涓�鑸�, 2:涓嶆弧鎰�") + private String reasonableFees1; + + @ApiModelProperty("鏀惰垂鍚堢悊鎬�, 0:婊℃剰, 1:涓�鑸�, 2:涓嶆弧鎰�") + private String reasonableFees2; +} diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/dto/InternalCheckDto.java b/cnas-manage/src/main/java/com/ruoyi/manage/dto/InternalCheckDto.java new file mode 100644 index 0000000..8397147 --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/dto/InternalCheckDto.java @@ -0,0 +1,19 @@ +package com.ruoyi.manage.dto; + +import com.ruoyi.manage.pojo.InternalCheck; +import com.ruoyi.manage.pojo.InternalCheckDetail; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * @Author zhuo + * @Date 2024/11/11 + */ +@Data +public class InternalCheckDto extends InternalCheck { + + @ApiModelProperty("妫�鏌ヨ鎯�") + private List<InternalCheckDetail> checkDetailList; +} diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/dto/InternalCorrectDto.java b/cnas-manage/src/main/java/com/ruoyi/manage/dto/InternalCorrectDto.java new file mode 100644 index 0000000..5631f77 --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/dto/InternalCorrectDto.java @@ -0,0 +1,26 @@ +package com.ruoyi.manage.dto; + +import com.ruoyi.manage.pojo.InternalCorrect; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Author zhuo + * @Date 2024/11/19 + */ +@Data +public class InternalCorrectDto extends InternalCorrect { + + @ApiModelProperty("鎻愬嚭鏃堕棿") + private String raiseTimeString; + + @ApiModelProperty("鍘熷洜鍒嗘瀽鏃堕棿") + private String causeTimeString; + + @ApiModelProperty("绾犳鏃堕棿") + private String correctTimeString; + + @ApiModelProperty("楠岃瘉鏃堕棿") + private String validationTimeString; + +} diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/dto/InternalImplementDto.java b/cnas-manage/src/main/java/com/ruoyi/manage/dto/InternalImplementDto.java new file mode 100644 index 0000000..b64e860 --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/dto/InternalImplementDto.java @@ -0,0 +1,19 @@ +package com.ruoyi.manage.dto; + +import com.ruoyi.manage.pojo.InternalImplement; +import com.ruoyi.manage.pojo.InternalImplementDetail; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * @Author zhuo + * @Date 2024/11/11 + */ +@Data +public class InternalImplementDto extends InternalImplement { + + @ApiModelProperty("璁″垝璇︽儏") + private List<InternalImplementDetail> implementDetailList; +} diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/dto/InternalMeetingDto.java b/cnas-manage/src/main/java/com/ruoyi/manage/dto/InternalMeetingDto.java new file mode 100644 index 0000000..acd460c --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/dto/InternalMeetingDto.java @@ -0,0 +1,22 @@ +package com.ruoyi.manage.dto; + +import com.ruoyi.manage.pojo.InternalMeeting; +import com.ruoyi.manage.pojo.InternalMeetingDetail; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * @Author zhuo + * @Date 2024/11/12 + */ +@Data +public class InternalMeetingDto extends InternalMeeting { + + @ApiModelProperty("鍙傚姞浜�") + private List<InternalMeetingDetail> meetingDetailList; + + @ApiModelProperty("鍙傚姞浜轰俊鎭�") + private String participantName; +} diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/dto/InternalMeetingParticipantDto.java b/cnas-manage/src/main/java/com/ruoyi/manage/dto/InternalMeetingParticipantDto.java new file mode 100644 index 0000000..e99b66a --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/dto/InternalMeetingParticipantDto.java @@ -0,0 +1,32 @@ +package com.ruoyi.manage.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * 鍙傚姞浜哄憳瀵硅薄 + * + * @Author zhuo + * @Date 2024/11/19 + */ +@Data +public class InternalMeetingParticipantDto { + + @ApiModelProperty("鍙傚姞浜哄憳1") + private String userName1; + + @ApiModelProperty("閮ㄩ棬1") + private String department1; + + @ApiModelProperty("鍙傚姞浜哄憳2") + private String userName2; + + @ApiModelProperty("閮ㄩ棬2") + private String department2; + + @ApiModelProperty("鍙傚姞浜哄憳3") + private String userName3; + + @ApiModelProperty("閮ㄩ棬3") + private String department3; +} diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/dto/InternalPlanDto.java b/cnas-manage/src/main/java/com/ruoyi/manage/dto/InternalPlanDto.java new file mode 100644 index 0000000..76a60da --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/dto/InternalPlanDto.java @@ -0,0 +1,19 @@ +package com.ruoyi.manage.dto; + +import com.ruoyi.manage.pojo.InternalPlan; +import com.ruoyi.manage.pojo.InternalPlanDetail; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * @Author zhuo + * @Date 2024/11/13 + */ +@Data +public class InternalPlanDto extends InternalPlan { + + @ApiModelProperty("璁″垝璇︽儏") + private List<InternalPlanDetail> planDetailList; +} diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/dto/ManageDocumentIssueRecycleDto.java b/cnas-manage/src/main/java/com/ruoyi/manage/dto/ManageDocumentIssueRecycleDto.java new file mode 100644 index 0000000..eca61f5 --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/dto/ManageDocumentIssueRecycleDto.java @@ -0,0 +1,25 @@ +package com.ruoyi.manage.dto; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.ruoyi.manage.pojo.ManageDocumentIssueRecycle; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ExcelIgnoreUnannotated +public class ManageDocumentIssueRecycleDto extends ManageDocumentIssueRecycle { + + @ApiModelProperty("鍙戞斁浜�") + @ExcelProperty(value = "鍙戞斁浜�") + private String issueUserName; + + @ApiModelProperty("鍥炴敹浜�") + @ExcelProperty(value = "鍥炴敹浜�") + private String recycleUserName; + + @ApiModelProperty("鎺ユ敹浜�") + @ExcelProperty(value = "鎺ユ敹浜�") + private String receiveUserName; + +} diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/dto/ManageMeetingDto.java b/cnas-manage/src/main/java/com/ruoyi/manage/dto/ManageMeetingDto.java new file mode 100644 index 0000000..a32ec7b --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/dto/ManageMeetingDto.java @@ -0,0 +1,16 @@ +package com.ruoyi.manage.dto; + +import com.ruoyi.manage.pojo.ManageMeeting; +import com.ruoyi.manage.pojo.ManageMeetingParticipants; +import lombok.Data; + +import java.util.List; + +@Data +public class ManageMeetingDto extends ManageMeeting { + + private List<ManageMeetingParticipants> list; + + private String participant; + +} diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/dto/ManageMeetingParticipantsDto.java b/cnas-manage/src/main/java/com/ruoyi/manage/dto/ManageMeetingParticipantsDto.java new file mode 100644 index 0000000..ced01d2 --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/dto/ManageMeetingParticipantsDto.java @@ -0,0 +1,21 @@ +package com.ruoyi.manage.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class ManageMeetingParticipantsDto { + + @ApiModelProperty("鍙傚姞浜哄憳1") + private String userName1; + + @ApiModelProperty("閮ㄩ棬1") + private String department1; + + @ApiModelProperty("鍙傚姞浜哄憳2") + private String userName2; + + @ApiModelProperty("閮ㄩ棬2") + private String department2; + +} diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/excel/ManageDocumentListListener.java b/cnas-manage/src/main/java/com/ruoyi/manage/excel/ManageDocumentListListener.java new file mode 100644 index 0000000..389b6b6 --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/excel/ManageDocumentListListener.java @@ -0,0 +1,40 @@ +package com.ruoyi.manage.excel; + +import com.alibaba.excel.context.AnalysisContext; +import com.alibaba.excel.event.AnalysisEventListener; +import com.ruoyi.manage.pojo.ManageDocumentList; +import com.ruoyi.manage.service.ManageDocumentListService; +import lombok.Data; + +import java.util.ArrayList; +import java.util.List; + +@Data +public class ManageDocumentListListener extends AnalysisEventListener<ManageDocumentList> { + private static final int BATCH_COUNT = 1000; + List<ManageDocumentList> list = new ArrayList<>(); + + private ManageDocumentListService manageDocumentListService; + + public ManageDocumentListListener(ManageDocumentListService manageDocumentListService) { + this.manageDocumentListService = manageDocumentListService; + } + + @Override + public void invoke(ManageDocumentList data, AnalysisContext analysisContext) { + list.add(data); + if (list.size() >= BATCH_COUNT) { + save(); + list.clear(); + } + } + + @Override + public void doAfterAllAnalysed(AnalysisContext analysisContext) { + save(); + } + + private void save() { + manageDocumentListService.importExcel(list); + } +} diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/mapper/ClientSatisfactionAnalyseFileMapper.java b/cnas-manage/src/main/java/com/ruoyi/manage/mapper/ClientSatisfactionAnalyseFileMapper.java new file mode 100644 index 0000000..cb26a77 --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/mapper/ClientSatisfactionAnalyseFileMapper.java @@ -0,0 +1,27 @@ +package com.ruoyi.manage.mapper; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.manage.pojo.ClientSatisfactionAnalyseFile; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +/** + * 瀹㈡埛婊℃剰搴﹀垎鏋愰檮浠� + * + * @author makejava + * @since 2024-11-09 + */ +@Mapper +public interface ClientSatisfactionAnalyseFileMapper extends BaseMapper<ClientSatisfactionAnalyseFile> { + + /** + * 瀹㈡埛鍒嗘瀽闄勪欢鍒楄〃 + * @param page + * @return + */ + IPage<ClientSatisfactionAnalyseFile> pageAnalyseFile(Page page, @Param("ew") QueryWrapper<ClientSatisfactionAnalyseFile> ew); +} + diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/mapper/ClientSatisfactionMapper.java b/cnas-manage/src/main/java/com/ruoyi/manage/mapper/ClientSatisfactionMapper.java new file mode 100644 index 0000000..182ce3c --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/mapper/ClientSatisfactionMapper.java @@ -0,0 +1,36 @@ +package com.ruoyi.manage.mapper; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.manage.dto.ClientSatisfactionDto; +import com.ruoyi.manage.pojo.ClientSatisfaction; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +/** + * 瀹㈡埛婊℃剰搴� + * + * @author zhuo + * @since 2024-11-09 + */ +@Mapper +public interface ClientSatisfactionMapper extends BaseMapper<ClientSatisfaction> { + + /** + * 瀹㈡埛婊℃剰搴﹁皟鏌ュ垪琛� + * @param page + * @param ew + * @return + */ + IPage<ClientSatisfaction> pageClientSatisfaction(Page page, @Param("ew") QueryWrapper<ClientSatisfaction> ew); + + /** + * 瀹㈡埛婊℃剰搴﹀鍑� + * @param clientSatisfactionId + * @return + */ + ClientSatisfactionDto exportWordClientSatisfaction(Integer clientSatisfactionId); +} + diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/mapper/InternalCheckDetailMapper.java b/cnas-manage/src/main/java/com/ruoyi/manage/mapper/InternalCheckDetailMapper.java new file mode 100644 index 0000000..65c7b78 --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/mapper/InternalCheckDetailMapper.java @@ -0,0 +1,17 @@ +package com.ruoyi.manage.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.ruoyi.manage.pojo.InternalCheckDetail; +import org.apache.ibatis.annotations.Mapper; + +/** + * 鍐呭妫�鏌ヨ鎯呰〃 + * + * @author zhuo + * @since 2024-11-11 + */ +@Mapper +public interface InternalCheckDetailMapper extends BaseMapper<InternalCheckDetail> { + +} + diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/mapper/InternalCheckMapper.java b/cnas-manage/src/main/java/com/ruoyi/manage/mapper/InternalCheckMapper.java new file mode 100644 index 0000000..97196d4 --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/mapper/InternalCheckMapper.java @@ -0,0 +1,28 @@ +package com.ruoyi.manage.mapper; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.manage.dto.InternalCheckDto; +import com.ruoyi.manage.pojo.InternalCheck; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +/** + * 鍐呭妫�鏌ヨ〃 + * + * @author zhuo + * @since 2024-11-11 + */ +@Mapper +public interface InternalCheckMapper extends BaseMapper<InternalCheck> { + + /** + * 鍐呭妫�鏌ュ垎椤垫煡璇� + * @param page + * @return + */ + IPage<InternalCheckDto> pageInternalCheck(Page page, @Param("ew") QueryWrapper<InternalCheck> ew); +} + diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/mapper/InternalCorrectFileMapper.java b/cnas-manage/src/main/java/com/ruoyi/manage/mapper/InternalCorrectFileMapper.java new file mode 100644 index 0000000..0a6ae4e --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/mapper/InternalCorrectFileMapper.java @@ -0,0 +1,18 @@ +package com.ruoyi.manage.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.ruoyi.manage.pojo.InternalCorrectFile; +import org.apache.ibatis.annotations.Mapper; + +/** + * <p> + * 鍐呭绠$悊绾犳鎺柦闄勪欢琛� Mapper 鎺ュ彛 + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-13 04:00:38 + */ +@Mapper +public interface InternalCorrectFileMapper extends BaseMapper<InternalCorrectFile> { + +} diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/mapper/InternalCorrectMapper.java b/cnas-manage/src/main/java/com/ruoyi/manage/mapper/InternalCorrectMapper.java new file mode 100644 index 0000000..727e05c --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/mapper/InternalCorrectMapper.java @@ -0,0 +1,23 @@ +package com.ruoyi.manage.mapper; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.manage.pojo.InternalCorrect; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +/** + * <p> + * 鍐呭绠$悊绾犳澶勭悊琛� Mapper 鎺ュ彛 + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-13 04:00:15 + */ +@Mapper +public interface InternalCorrectMapper extends BaseMapper<InternalCorrect> { + + IPage<InternalCorrect> pageInternalAccording(Page page, @Param("ew") QueryWrapper<InternalCorrect> ew); +} diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/mapper/InternalImplementDetailMapper.java b/cnas-manage/src/main/java/com/ruoyi/manage/mapper/InternalImplementDetailMapper.java new file mode 100644 index 0000000..2382df7 --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/mapper/InternalImplementDetailMapper.java @@ -0,0 +1,17 @@ +package com.ruoyi.manage.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.ruoyi.manage.pojo.InternalImplementDetail; +import org.apache.ibatis.annotations.Mapper; + +/** + * 鍐呭瀹炴柦璁″垝璇︽儏 + * + * @author zhuo + * @since 2024-11-11 + */ +@Mapper +public interface InternalImplementDetailMapper extends BaseMapper<InternalImplementDetail> { + +} + diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/mapper/InternalImplementMapper.java b/cnas-manage/src/main/java/com/ruoyi/manage/mapper/InternalImplementMapper.java new file mode 100644 index 0000000..b337b06 --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/mapper/InternalImplementMapper.java @@ -0,0 +1,28 @@ +package com.ruoyi.manage.mapper; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.manage.dto.InternalImplementDto; +import com.ruoyi.manage.pojo.InternalImplement; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +/** + * 鍐呭瀹炴柦璁″垝 + * + * @author zhuo + * @since 2024-11-11 + */ +@Mapper +public interface InternalImplementMapper extends BaseMapper<InternalImplement> { + + /** + * 鍐呭瀹炴柦璁″垝鍒嗛〉鏌ヨ + * @param page + * @return + */ + IPage<InternalImplementDto> pageInternalImplement(Page page, @Param("ew") QueryWrapper<InternalImplement> ew); +} + diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/mapper/InternalMeetingDetailMapper.java b/cnas-manage/src/main/java/com/ruoyi/manage/mapper/InternalMeetingDetailMapper.java new file mode 100644 index 0000000..e7dc1e4 --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/mapper/InternalMeetingDetailMapper.java @@ -0,0 +1,16 @@ +package com.ruoyi.manage.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.ruoyi.manage.pojo.InternalMeetingDetail; + +/** + * <p> + * 鍐呭浼氳璇︽儏琛� Mapper 鎺ュ彛 + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-12 02:56:13 + */ +public interface InternalMeetingDetailMapper extends BaseMapper<InternalMeetingDetail> { + +} diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/mapper/InternalMeetingMapper.java b/cnas-manage/src/main/java/com/ruoyi/manage/mapper/InternalMeetingMapper.java new file mode 100644 index 0000000..6980543 --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/mapper/InternalMeetingMapper.java @@ -0,0 +1,27 @@ +package com.ruoyi.manage.mapper; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.manage.dto.InternalMeetingDto; +import com.ruoyi.manage.pojo.InternalMeeting; +import org.apache.ibatis.annotations.Param; + +/** + * <p> + * 鍐呭浼氳琛� Mapper 鎺ュ彛 + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-12 02:50:44 + */ +public interface InternalMeetingMapper extends BaseMapper<InternalMeeting> { + + /** + * 鍐呭浼氳鍒嗛〉鏌ヨ + * @param page + * @return + */ + IPage<InternalMeetingDto> pageInternalMeeting(Page page, @Param("ew") QueryWrapper<InternalMeeting> ew); +} diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/mapper/InternalPlanDetailMapper.java b/cnas-manage/src/main/java/com/ruoyi/manage/mapper/InternalPlanDetailMapper.java new file mode 100644 index 0000000..e91be0f --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/mapper/InternalPlanDetailMapper.java @@ -0,0 +1,18 @@ +package com.ruoyi.manage.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.ruoyi.manage.pojo.InternalPlanDetail; +import org.apache.ibatis.annotations.Mapper; + +/** + * <p> + * 鍐呭骞村害璁″垝璇︽儏琛� Mapper 鎺ュ彛 + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-13 03:28:48 + */ +@Mapper +public interface InternalPlanDetailMapper extends BaseMapper<InternalPlanDetail> { + +} diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/mapper/InternalPlanMapper.java b/cnas-manage/src/main/java/com/ruoyi/manage/mapper/InternalPlanMapper.java new file mode 100644 index 0000000..7a3b16e --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/mapper/InternalPlanMapper.java @@ -0,0 +1,30 @@ +package com.ruoyi.manage.mapper; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.manage.dto.InternalPlanDto; +import com.ruoyi.manage.pojo.InternalPlan; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +/** + * <p> + * 鍐呭骞村害璁″垝 Mapper 鎺ュ彛 + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-13 03:27:47 + */ +@Mapper +public interface InternalPlanMapper extends BaseMapper<InternalPlan> { + + /** + * 鍐呭骞村害璁″垝鍒嗛〉鏌ヨ + * @param page + * @param ew + * @return + */ + IPage<InternalPlanDto> pageInternalPlan(Page page, @Param("ew") QueryWrapper<InternalPlan> ew); +} diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/mapper/InternalReportMapper.java b/cnas-manage/src/main/java/com/ruoyi/manage/mapper/InternalReportMapper.java new file mode 100644 index 0000000..00cb8eb --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/mapper/InternalReportMapper.java @@ -0,0 +1,28 @@ +package com.ruoyi.manage.mapper; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.manage.pojo.InternalReport; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +/** + * 鍐呭鎶ュ憡琛� + * + * @author zhuo + * @since 2024-11-11 + */ +@Mapper +public interface InternalReportMapper extends BaseMapper<InternalReport> { + + /** + * 鍐呭鎶ュ憡鍒嗛〉鏌ヨ + * @param page + * @param internalReportQueryWrapper + * @return + */ + IPage<InternalReport> pageInternalReport(Page page, @Param("ew") QueryWrapper<InternalReport> internalReportQueryWrapper); +} + diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/mapper/ManageControlPlanListMapper.java b/cnas-manage/src/main/java/com/ruoyi/manage/mapper/ManageControlPlanListMapper.java new file mode 100644 index 0000000..4585da0 --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/mapper/ManageControlPlanListMapper.java @@ -0,0 +1,21 @@ +package com.ruoyi.manage.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.manage.pojo.ManageControlPlanList; +import com.ruoyi.manage.vo.ManageControlPlanListVo; +import org.apache.ibatis.annotations.Param; + +/** + * <p> + * 閲嶅ぇ椋庨櫓鍥犵礌鍒嗘瀽鍙婃帶鍒惰鍒掓竻鍗� Mapper 鎺ュ彛 + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-15 02:58:30 + */ +public interface ManageControlPlanListMapper extends BaseMapper<ManageControlPlanList> { + + IPage<ManageControlPlanListVo> getPageList(Page page, @Param("itSExporting") Boolean itSExporting); +} diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/mapper/ManageDocumentAlterMapper.java b/cnas-manage/src/main/java/com/ruoyi/manage/mapper/ManageDocumentAlterMapper.java new file mode 100644 index 0000000..0af92ae --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/mapper/ManageDocumentAlterMapper.java @@ -0,0 +1,24 @@ +package com.ruoyi.manage.mapper; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.manage.pojo.ManageDocumentAlter; +import org.apache.ibatis.annotations.Param; + +/** + * <p> + * 鏂囦欢鍙樻洿 Mapper 鎺ュ彛 + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-11 11:04:01 + */ +public interface ManageDocumentAlterMapper extends BaseMapper<ManageDocumentAlter> { + + IPage<ManageDocumentAlter> pageManageDocumentAlter(Page page, @Param("ew") QueryWrapper<ManageDocumentAlter> queryWrappers); + + ManageDocumentAlter getManageDocumentAlter(Integer id); + +} diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/mapper/ManageDocumentCancelMapper.java b/cnas-manage/src/main/java/com/ruoyi/manage/mapper/ManageDocumentCancelMapper.java new file mode 100644 index 0000000..8fade5a --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/mapper/ManageDocumentCancelMapper.java @@ -0,0 +1,23 @@ +package com.ruoyi.manage.mapper; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.manage.pojo.ManageDocumentCancel; +import org.apache.ibatis.annotations.Param; + +/** + * <p> + * 鏂囦欢浣滃簾 Mapper 鎺ュ彛 + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-09 02:37:35 + */ +public interface ManageDocumentCancelMapper extends BaseMapper<ManageDocumentCancel> { + + IPage<ManageDocumentCancel> pageManageDocumentCancel(Page page, @Param("ew") QueryWrapper<ManageDocumentCancel> queryWrappers); + + ManageDocumentCancel getManageDocumentCancel(Integer id); +} diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/mapper/ManageDocumentControlledMapper.java b/cnas-manage/src/main/java/com/ruoyi/manage/mapper/ManageDocumentControlledMapper.java new file mode 100644 index 0000000..5674813 --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/mapper/ManageDocumentControlledMapper.java @@ -0,0 +1,23 @@ +package com.ruoyi.manage.mapper; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.manage.pojo.ManageDocumentControlled; +import org.apache.ibatis.annotations.Param; + +/** + * <p> + * 鏂囦欢鍙楁帶 Mapper 鎺ュ彛 + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-08 02:54:44 + */ +public interface ManageDocumentControlledMapper extends BaseMapper<ManageDocumentControlled> { + + IPage<ManageDocumentControlled> pageManageDocumentControlled(Page page, @Param("ew") QueryWrapper<ManageDocumentControlled> queryWrappers); + + ManageDocumentControlled getManageDocumentControlled(Long id); +} diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/mapper/ManageDocumentIssueRecycleMapper.java b/cnas-manage/src/main/java/com/ruoyi/manage/mapper/ManageDocumentIssueRecycleMapper.java new file mode 100644 index 0000000..e942c06 --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/mapper/ManageDocumentIssueRecycleMapper.java @@ -0,0 +1,24 @@ +package com.ruoyi.manage.mapper; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.manage.dto.ManageDocumentIssueRecycleDto; +import com.ruoyi.manage.pojo.ManageDocumentIssueRecycle; +import org.apache.ibatis.annotations.Param; + +/** + * <p> + * 鏂囦欢鍙戞斁鍥炴敹 Mapper 鎺ュ彛 + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-09 09:18:24 + */ +public interface ManageDocumentIssueRecycleMapper extends BaseMapper<ManageDocumentIssueRecycle> { + + IPage<ManageDocumentIssueRecycleDto> pageManageDocumentIssueRecycle(Page page, @Param("ew") QueryWrapper<ManageDocumentIssueRecycleDto> queryWrappers); + + ManageDocumentIssueRecycleDto getManageDocumentIssueRecycle(Long id); +} diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/mapper/ManageDocumentListMapper.java b/cnas-manage/src/main/java/com/ruoyi/manage/mapper/ManageDocumentListMapper.java new file mode 100644 index 0000000..0945cd7 --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/mapper/ManageDocumentListMapper.java @@ -0,0 +1,22 @@ +package com.ruoyi.manage.mapper; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.manage.pojo.ManageDocumentList; +import org.apache.ibatis.annotations.Param; + +/** + * <p> + * 鏂囦欢娓呭崟 + Mapper 鎺ュ彛 + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-08 11:08:11 + */ +public interface ManageDocumentListMapper extends BaseMapper<ManageDocumentList> { + + IPage<ManageDocumentList> pageManageDocumentList(Page page, @Param("ew") QueryWrapper<ManageDocumentList> queryWrappers); +} diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/mapper/ManageMeetingMapper.java b/cnas-manage/src/main/java/com/ruoyi/manage/mapper/ManageMeetingMapper.java new file mode 100644 index 0000000..fc3e29c --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/mapper/ManageMeetingMapper.java @@ -0,0 +1,22 @@ +package com.ruoyi.manage.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.manage.dto.ManageMeetingDto; +import com.ruoyi.manage.pojo.ManageMeeting; +import org.apache.ibatis.annotations.Param; + +/** + * <p> + * Mapper 鎺ュ彛 + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-11 09:33:47 + */ +public interface ManageMeetingMapper extends BaseMapper<ManageMeeting> { + + + IPage<ManageMeetingDto> page(Page page, @Param("startTime") String startTime, @Param("endTime") String endTime, @Param("place") String place); +} diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/mapper/ManageMeetingParticipantsMapper.java b/cnas-manage/src/main/java/com/ruoyi/manage/mapper/ManageMeetingParticipantsMapper.java new file mode 100644 index 0000000..765f5b8 --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/mapper/ManageMeetingParticipantsMapper.java @@ -0,0 +1,16 @@ +package com.ruoyi.manage.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.ruoyi.manage.pojo.ManageMeetingParticipants; + +/** + * <p> + * Mapper 鎺ュ彛 + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-11 09:34:27 + */ +public interface ManageMeetingParticipantsMapper extends BaseMapper<ManageMeetingParticipants> { + +} diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/mapper/ManageRecordAuditMapper.java b/cnas-manage/src/main/java/com/ruoyi/manage/mapper/ManageRecordAuditMapper.java new file mode 100644 index 0000000..93cddbd --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/mapper/ManageRecordAuditMapper.java @@ -0,0 +1,21 @@ +package com.ruoyi.manage.mapper; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.manage.pojo.ManageRecordAudit; +import org.apache.ibatis.annotations.Param; + +/** + * <p> + * 鏂囦欢淇鐢宠瀹℃壒璁板綍 Mapper 鎺ュ彛 + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-14 10:29:18 + */ +public interface ManageRecordAuditMapper extends BaseMapper<ManageRecordAudit> { + + IPage<ManageRecordAudit> pageManageRecordAudit(Page page, @Param("ew") QueryWrapper<ManageRecordAudit> queryWrappers); +} diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/mapper/ManageRecordCancelMapper.java b/cnas-manage/src/main/java/com/ruoyi/manage/mapper/ManageRecordCancelMapper.java new file mode 100644 index 0000000..f476625 --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/mapper/ManageRecordCancelMapper.java @@ -0,0 +1,21 @@ +package com.ruoyi.manage.mapper; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.manage.pojo.ManageRecordCancel; +import org.apache.ibatis.annotations.Param; + +/** + * <p> + * 浣滃簾鏂囦欢閿�榄傝褰� Mapper 鎺ュ彛 + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-13 01:27:22 + */ +public interface ManageRecordCancelMapper extends BaseMapper<ManageRecordCancel> { + + IPage<ManageRecordCancel> pageManageRecordCancel(Page page, @Param("ew") QueryWrapper<ManageRecordCancel> queryWrappers); +} diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/mapper/ManageRecordCheckMapper.java b/cnas-manage/src/main/java/com/ruoyi/manage/mapper/ManageRecordCheckMapper.java new file mode 100644 index 0000000..09fd3a7 --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/mapper/ManageRecordCheckMapper.java @@ -0,0 +1,21 @@ +package com.ruoyi.manage.mapper; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.manage.pojo.ManageRecordCheck; +import org.apache.ibatis.annotations.Param; + +/** + * <p> + * 鏂囦欢瀹℃壒璁板綍(鍚慨璁㈠悗鍐嶆瀹℃壒璁板綍) Mapper 鎺ュ彛 + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-12 02:31:36 + */ +public interface ManageRecordCheckMapper extends BaseMapper<ManageRecordCheck> { + + IPage<ManageRecordCheck> pageManageRecordCheck(Page page, @Param("ew") QueryWrapper<ManageRecordCheck> queryWrappers); +} diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/mapper/ManageRecordIntervalsMapper.java b/cnas-manage/src/main/java/com/ruoyi/manage/mapper/ManageRecordIntervalsMapper.java new file mode 100644 index 0000000..f1ae6e8 --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/mapper/ManageRecordIntervalsMapper.java @@ -0,0 +1,21 @@ +package com.ruoyi.manage.mapper; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.manage.pojo.ManageRecordIntervals; +import org.apache.ibatis.annotations.Param; + +/** + * <p> + * 鏂囦欢瀹氭湡瀹℃煡璁板綍 Mapper 鎺ュ彛 + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-13 10:54:31 + */ +public interface ManageRecordIntervalsMapper extends BaseMapper<ManageRecordIntervals> { + + IPage<ManageRecordIntervals> pageManageRecordIntervals(Page page, @Param("ew") QueryWrapper<ManageRecordIntervals> queryWrappers); +} diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/mapper/ManageRecordIntervalsTotalMapper.java b/cnas-manage/src/main/java/com/ruoyi/manage/mapper/ManageRecordIntervalsTotalMapper.java new file mode 100644 index 0000000..563373d --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/mapper/ManageRecordIntervalsTotalMapper.java @@ -0,0 +1,21 @@ +package com.ruoyi.manage.mapper; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.manage.pojo.ManageRecordIntervalsTotal; +import org.apache.ibatis.annotations.Param; + +/** + * <p> + * 鏂囦欢瀹氭湡瀹℃煡璁板綍鎬诲巻鍙茶褰曡〃 Mapper 鎺ュ彛 + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-15 01:12:11 + */ +public interface ManageRecordIntervalsTotalMapper extends BaseMapper<ManageRecordIntervalsTotal> { + + IPage<ManageRecordIntervalsTotal> pageManageRecordIntervalsTotal(Page page, @Param("ew") QueryWrapper<ManageRecordIntervalsTotal> queryWrappers); +} diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/mapper/ManageRecordIssueRecycleMapper.java b/cnas-manage/src/main/java/com/ruoyi/manage/mapper/ManageRecordIssueRecycleMapper.java new file mode 100644 index 0000000..693b833 --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/mapper/ManageRecordIssueRecycleMapper.java @@ -0,0 +1,21 @@ +package com.ruoyi.manage.mapper; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.manage.pojo.ManageRecordIssueRecycle; +import org.apache.ibatis.annotations.Param; + +/** + * <p> + * 鎵�鏈夋枃浠�(鍐呫�佸閮ㄦ枃浠�)鐨勫彂鏀句笌鍥炴敹璁板綍 Mapper 鎺ュ彛 + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-13 09:11:05 + */ +public interface ManageRecordIssueRecycleMapper extends BaseMapper<ManageRecordIssueRecycle> { + + IPage<ManageRecordIssueRecycle> pageManageRecordIssueRecycle(Page page, @Param("ew") QueryWrapper<ManageRecordIssueRecycle> queryWrappers); +} diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/mapper/ManageRecordTotalMapper.java b/cnas-manage/src/main/java/com/ruoyi/manage/mapper/ManageRecordTotalMapper.java new file mode 100644 index 0000000..47d349c --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/mapper/ManageRecordTotalMapper.java @@ -0,0 +1,21 @@ +package com.ruoyi.manage.mapper; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.manage.pojo.ManageRecordTotal; +import org.apache.ibatis.annotations.Param; + +/** + * <p> + * 澶栨潵鏂囦欢纭璁板綍鎬诲巻鍙茶褰曡〃 Mapper 鎺ュ彛 + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-12 10:30:08 + */ +public interface ManageRecordTotalMapper extends BaseMapper<ManageRecordTotal> { + + IPage<ManageRecordTotal> pageProcessTotaldeal(Page page, @Param("ew") QueryWrapper<ManageRecordTotal> queryWrappers); +} diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/mapper/ManageRecordVerifyMapper.java b/cnas-manage/src/main/java/com/ruoyi/manage/mapper/ManageRecordVerifyMapper.java new file mode 100644 index 0000000..b34e72b --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/mapper/ManageRecordVerifyMapper.java @@ -0,0 +1,22 @@ +package com.ruoyi.manage.mapper; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.manage.pojo.ManageRecordVerify; +import org.apache.ibatis.annotations.Param; + +/** + * <p> + * 澶栨潵鏂囦欢纭璁板綍 Mapper 鎺ュ彛 + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-12 10:29:44 + */ +public interface ManageRecordVerifyMapper extends BaseMapper<ManageRecordVerify> { + + IPage<ManageRecordVerify> pageManageRecordVerify(Page page, @Param("ew") QueryWrapper<ManageRecordVerify> queryWrappers); + +} diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/mapper/ManageReviewProgramFileMapper.java b/cnas-manage/src/main/java/com/ruoyi/manage/mapper/ManageReviewProgramFileMapper.java new file mode 100644 index 0000000..d82fcd4 --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/mapper/ManageReviewProgramFileMapper.java @@ -0,0 +1,16 @@ +package com.ruoyi.manage.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.ruoyi.manage.pojo.ManageReviewProgramFile; + +/** + * <p> + * Mapper 鎺ュ彛 + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-09 04:15:47 + */ +public interface ManageReviewProgramFileMapper extends BaseMapper<ManageReviewProgramFile> { + +} diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/mapper/ManageReviewProgramMapper.java b/cnas-manage/src/main/java/com/ruoyi/manage/mapper/ManageReviewProgramMapper.java new file mode 100644 index 0000000..96c1a29 --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/mapper/ManageReviewProgramMapper.java @@ -0,0 +1,21 @@ +package com.ruoyi.manage.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.manage.pojo.ManageReviewProgram; +import org.apache.ibatis.annotations.Param; + +/** + * <p> + * Mapper 鎺ュ彛 + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-09 03:05:42 + */ +public interface ManageReviewProgramMapper extends BaseMapper<ManageReviewProgram> { + + + IPage<ManageReviewProgram> page(Page page, @Param("startTime") String startTime,@Param("endTime") String endTime,@Param("judgingLocation") String judgingLocation); +} diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/mapper/ManageReviewReportMapper.java b/cnas-manage/src/main/java/com/ruoyi/manage/mapper/ManageReviewReportMapper.java new file mode 100644 index 0000000..f7a5a99 --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/mapper/ManageReviewReportMapper.java @@ -0,0 +1,21 @@ +package com.ruoyi.manage.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.manage.pojo.ManageReviewReport; +import org.apache.ibatis.annotations.Param; + +/** + * <p> + * 绠$悊璇勫鎶ュ憡 Mapper 鎺ュ彛 + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-12 04:44:39 + */ +public interface ManageReviewReportMapper extends BaseMapper<ManageReviewReport> { + + IPage<ManageReviewReport> page(Page page, @Param("startTime") String startTime, @Param("endTime") String endTime, @Param("place") String place); + +} diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/mapper/ManageRiskAssessmentResultsMapper.java b/cnas-manage/src/main/java/com/ruoyi/manage/mapper/ManageRiskAssessmentResultsMapper.java new file mode 100644 index 0000000..d512013 --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/mapper/ManageRiskAssessmentResultsMapper.java @@ -0,0 +1,21 @@ +package com.ruoyi.manage.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.manage.pojo.ManageRiskAssessmentResults; +import com.ruoyi.manage.vo.ManageRiskAssessmentResultsVo; +import org.apache.ibatis.annotations.Param; + +/** + * <p> + * 鍗遍櫓鍥犵礌杈ㄨ瘑涓庨闄╄瘎浠风粨鏋滀竴瑙堣〃 Mapper 鎺ュ彛 + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-15 02:58:51 + */ +public interface ManageRiskAssessmentResultsMapper extends BaseMapper<ManageRiskAssessmentResults> { + + IPage<ManageRiskAssessmentResultsVo> getPageResults(Page page, @Param("itSExporting") Boolean itSExporting); +} diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/pojo/ClientSatisfaction.java b/cnas-manage/src/main/java/com/ruoyi/manage/pojo/ClientSatisfaction.java new file mode 100644 index 0000000..aedcde0 --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/pojo/ClientSatisfaction.java @@ -0,0 +1,95 @@ +package com.ruoyi.manage.pojo; + +import com.baomidou.mybatisplus.annotation.*; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.time.LocalDate; +import java.time.LocalDateTime; + +/** + * 瀹㈡埛婊℃剰搴� + * + * @author zhuo + * @since 2024-11-09 + */ +@Data +@TableName("cnas_client_satisfaction") +public class ClientSatisfaction { + + @TableId(type = IdType.AUTO) + private Integer clientSatisfactionId; + + @ApiModelProperty("鍗曚綅鍚嶇О") + private String unitName; + + @ApiModelProperty("濮撳悕") + private String userName; + + @ApiModelProperty("濉啓鏃ユ湡") + @JsonFormat(pattern = "yyyy-MM-dd") + private LocalDate fillDate; + + @ApiModelProperty("閮ㄩ棬") + private String department; + + @ApiModelProperty("鑱旂郴鐢佃瘽") + private String contactNumber; + + @ApiModelProperty("鏈嶅姟鎬佸害, 0:婊℃剰, 1:涓�鑸�, 2:涓嶆弧鎰�") + private Integer serviceAttitude; + + @ApiModelProperty("鏈嶅姟鎬佸害寤鸿") + private String serviceAttitudeSuggestion; + + @ApiModelProperty("鎶�鏈兘鍔�, 0:婊℃剰, 1:涓�鑸�, 2:涓嶆弧鎰�") + private Integer technicalCompetence; + + @ApiModelProperty("鎶�鏈兘鍔涘缓璁�") + private String technicalCompetenceSuggestion; + + @ApiModelProperty("妫�娴嬪伐浣�, 0:婊℃剰, 1:涓�鑸�, 2:涓嶆弧鎰�") + private Integer inspectionWork; + + @ApiModelProperty("妫�娴嬪伐浣滃缓璁�") + private String inspectionWorkSuggestion; + + @ApiModelProperty("鏀惰垂鍚堢悊鎬�, 0:婊℃剰, 1:涓�鑸�, 2:涓嶆弧鎰�") + private Integer reasonableFees; + + @ApiModelProperty("鏀惰垂鍚堢悊鎬у缓璁�") + private String reasonableFeesSuggestion; + + @ApiModelProperty("纭浜�") + private String confirmPerson; + + @ApiModelProperty("纭浜篒d") + private Integer confirmPersonId; + + @ApiModelProperty("纭鐘舵��, 0:鏈‘璁�, 1:纭") + private Integer confirmStatus; + + @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; + +} + diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/pojo/ClientSatisfactionAnalyseFile.java b/cnas-manage/src/main/java/com/ruoyi/manage/pojo/ClientSatisfactionAnalyseFile.java new file mode 100644 index 0000000..bb7d694 --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/pojo/ClientSatisfactionAnalyseFile.java @@ -0,0 +1,54 @@ +package com.ruoyi.manage.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-09 + */ +@Data +@TableName("cnas_client_satisfaction_analyse_file") +public class ClientSatisfactionAnalyseFile { + + @TableId(type = IdType.AUTO) + private Integer analyseFileId; + + @ApiModelProperty("绫诲瀷:1鍥剧墖/2鏂囦欢") + private Integer type; + + @ApiModelProperty("闄勪欢璺緞") + private String fileUrl; + + @ApiModelProperty("闄勪欢鍚嶇О") + private String fileName; + + @ApiModelProperty("鍒涘缓浜篿d") + @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("鍒涘缓浜�") + @TableField(select = false,exist = false) + private String userName; +} + diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/pojo/InternalCheck.java b/cnas-manage/src/main/java/com/ruoyi/manage/pojo/InternalCheck.java new file mode 100644 index 0000000..95128b0 --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/pojo/InternalCheck.java @@ -0,0 +1,80 @@ +package com.ruoyi.manage.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-11 + */ +@Data +@TableName("cnas_internal_check") +public class InternalCheck { + + @TableId(type = IdType.AUTO) + private Integer checkId; + + @ApiModelProperty("閮ㄩ棬") + private String department; + + @ApiModelProperty("閮ㄩ棬璐熻矗浜�") + private String departmentHead; + + @ApiModelProperty("瀹℃牳鍛�") + private String auditor; + + @ApiModelProperty("瀹℃牳鏃ユ湡") + private String reviewDate; + + @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-manage/src/main/java/com/ruoyi/manage/pojo/InternalCheckDetail.java b/cnas-manage/src/main/java/com/ruoyi/manage/pojo/InternalCheckDetail.java new file mode 100644 index 0000000..7cc5513 --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/pojo/InternalCheckDetail.java @@ -0,0 +1,63 @@ +package com.ruoyi.manage.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-11 + */ +@Data +@TableName("cnas_internal_check_detail") +public class InternalCheckDetail { + + @TableId(type = IdType.AUTO) + private Integer checkDetailId; + + @ApiModelProperty("妫�鏌ヤ富琛╥d") + private Integer checkId; + + @ApiModelProperty("瑕佺礌鏉℃") + private String element; + + @ApiModelProperty("瀹℃牳鍐呭") + private String content; + + @ApiModelProperty("瀹℃牳鏂瑰紡") + private String method; + + @ApiModelProperty("瀹℃牳缁撴灉璁板綍") + private String resultRecords; + + @ApiModelProperty("涓嶇鍚堟�ц川") + private String nonNature; + + @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-manage/src/main/java/com/ruoyi/manage/pojo/InternalCorrect.java b/cnas-manage/src/main/java/com/ruoyi/manage/pojo/InternalCorrect.java new file mode 100644 index 0000000..2adab8e --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/pojo/InternalCorrect.java @@ -0,0 +1,115 @@ +package com.ruoyi.manage.pojo; + +import com.baomidou.mybatisplus.annotation.*; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.time.LocalDate; +import java.time.LocalDateTime; + +/** + * <p> + * 鍐呭绠$悊绾犳澶勭悊琛� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-13 04:00:15 + */ +@Data +@TableName("cnas_internal_correct") +@ApiModel(value = "InternalCorrect瀵硅薄", description = "鍐呭绠$悊绾犳澶勭悊琛�") +public class InternalCorrect { + + @TableId(value = "correct_id", type = IdType.AUTO) + private Integer correctId; + + @ApiModelProperty("涓嶅悎鏍兼弿杩�") + private String raiseResult; + + @ApiModelProperty("vde涓撳鍙戠幇") + private String vdeRaiseResult; + + @ApiModelProperty("鎻愬嚭閮ㄩ棬") + private String raiseDepartment; + + @ApiModelProperty("鎻愬嚭浜篿d") + private Integer raiseUserId; + + @ApiModelProperty("鎻愬嚭浜�") + private String raiseUserName; + + @ApiModelProperty("鎻愬嚭鏃堕棿") + private LocalDate raiseTime; + + @ApiModelProperty("鍘熷洜鍒嗘瀽") + private String causeResult; + + @ApiModelProperty("鍘熷洜鍒嗘瀽璐d换閮ㄩ棬") + private String causeDepartment; + + @ApiModelProperty("鍘熷洜鍒嗘瀽浜篿d") + private Integer causeUserId; + + @ApiModelProperty("鍘熷洜鍒嗘瀽浜�") + private String causeUserName; + + @ApiModelProperty("鍘熷洜鍒嗘瀽鏃堕棿") + private LocalDate causeTime; + + @ApiModelProperty("绾犳鎺柦") + private String correctResult; + + @ApiModelProperty("鎻愬嚭閮ㄩ棬纭") + private String raiseDepartmentAffirm; + + @ApiModelProperty("绾犳璐d换閮ㄩ棬") + private String correctDepartment; + + @ApiModelProperty("绾犳浜篿d") + private Integer correctUserId; + + @ApiModelProperty("绾犳") + private String correctUserName; + + @ApiModelProperty("绾犳鏃堕棿") + private LocalDate correctTime; + + @ApiModelProperty("楠岃瘉缁撴灉") + private String validationResult; + + @ApiModelProperty("楠岃瘉閮ㄩ棬") + private String validationDepartment; + + @ApiModelProperty("楠岃瘉浜篿d") + private Integer validationUserId; + + @ApiModelProperty("楠岃瘉浜�") + private String validationUserName; + + @ApiModelProperty("楠岃瘉鏃堕棿") + private LocalDate validationTime; + + @ApiModelProperty("鏄惁缁撴潫, 0: 鏈粨鏉�, 1:宸茬粨鏉�") + private Integer isFinish; + + @ApiModelProperty("鍒涘缓浜�") + @TableField(fill = FieldFill.INSERT) + private Integer createUser; + + @ApiModelProperty("鍒涘缓鏃堕棿") + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createTime; + + @ApiModelProperty("淇敼浜�") + @TableField(fill = FieldFill.INSERT_UPDATE) + private Integer updateUser; + + @ApiModelProperty("淇敼鏃堕棿") + @TableField(fill = FieldFill.INSERT_UPDATE) + private LocalDateTime updateTime; + + @TableField(exist = false,select = false) + @ApiModelProperty("娴佺▼, 0:涓嶇鍚堝伐浣滄儏鍐佃褰�, 1澶勭悊鎺柦, 2:绾犳鎺柦, 3:鏄惁閫氱煡瀹㈡埛鍙仮澶嶅伐浣�") + private Integer flowType; +} diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/pojo/InternalCorrectFile.java b/cnas-manage/src/main/java/com/ruoyi/manage/pojo/InternalCorrectFile.java new file mode 100644 index 0000000..37079a0 --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/pojo/InternalCorrectFile.java @@ -0,0 +1,56 @@ +package com.ruoyi.manage.pojo; + +import com.baomidou.mybatisplus.annotation.*; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.time.LocalDateTime; + +/** + * <p> + * 鍐呭绠$悊绾犳鎺柦闄勪欢琛� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-13 04:00:38 + */ +@Data +@TableName("cnas_internal_correct_file") +@ApiModel(value = "InternalCorrectFile瀵硅薄", description = "鍐呭绠$悊绾犳鎺柦闄勪欢琛�") +public class InternalCorrectFile { + + @ApiModelProperty("鐩戠潱璇︽儏绾犳鏂囦欢id") + @TableId(type = IdType.AUTO) + private Integer correctFileId; + + private Integer superviseDetailsCorrectFileId; + + @ApiModelProperty("鍐呭绾犳鎺柦id") + private Integer correctId; + + @ApiModelProperty("绫诲瀷:1鍥剧墖/2鏂囦欢") + private Integer type; + + @ApiModelProperty("闄勪欢璺緞") + private String fileUrl; + + @ApiModelProperty("闄勪欢鍚嶇О") + private String fileName; + + @ApiModelProperty("鍒涘缓浜�") + @TableField(fill = FieldFill.INSERT) + private Integer createUser; + + @ApiModelProperty("鍒涘缓鏃堕棿") + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createTime; + + @ApiModelProperty("淇敼浜�") + @TableField(fill = FieldFill.INSERT_UPDATE) + private Integer updateUser; + + @ApiModelProperty("淇敼鏃堕棿") + @TableField(fill = FieldFill.INSERT_UPDATE) + private LocalDateTime updateTime; +} diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/pojo/InternalImplement.java b/cnas-manage/src/main/java/com/ruoyi/manage/pojo/InternalImplement.java new file mode 100644 index 0000000..d2d63bb --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/pojo/InternalImplement.java @@ -0,0 +1,107 @@ +package com.ruoyi.manage.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-11 + */ +@Data +@TableName("cnas_internal_implement") +public class InternalImplement { + + @TableId(type = IdType.AUTO) + private Integer implementId; + + @ApiModelProperty("瀹℃牳鐩殑") + private String purposes; + + @ApiModelProperty("瀹℃牳鎬ц川") + private String nature; + + @ApiModelProperty("瀹℃牳鑼冨洿") + private String scope; + + @ApiModelProperty("瀹℃牳渚濇嵁") + private String basis; + + @ApiModelProperty("瀹℃牳缁勯暱") + private String teamLeader; + + @ApiModelProperty("鍐呭鍛�") + private String internalAuditor; + + @ApiModelProperty("瀹℃牳鏃堕棿") + private String reviewDate; + + @ApiModelProperty("瀹℃牳鏂规硶") + private String auditMethod; + + @ApiModelProperty("浼氳寮�濮嬫椂闂�") + private String firstMeetingTime; + + @ApiModelProperty("鏈浼氳鏃堕棿") + private String lastMeetingTime; + + @ApiModelProperty("瀹℃牳鎶ュ憡鎻愪氦鏃ユ湡") + private String submitTime; + + @ApiModelProperty("瀹℃牳鎶ュ憡鍙戞斁鑼冨洿") + private String submitScope; + + @ApiModelProperty("澶囨敞") + private String remark; + + @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-manage/src/main/java/com/ruoyi/manage/pojo/InternalImplementDetail.java b/cnas-manage/src/main/java/com/ruoyi/manage/pojo/InternalImplementDetail.java new file mode 100644 index 0000000..3451815 --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/pojo/InternalImplementDetail.java @@ -0,0 +1,63 @@ +package com.ruoyi.manage.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 makejava + * @since 2024-11-11 + */ +@Data +@TableName("cnas_internal_implement_detail") +public class InternalImplementDetail { + + @TableId(type = IdType.AUTO) + private Integer implementDetailId; + + @ApiModelProperty("瀹炴柦璁″垝涓昏〃id") + private Integer implementId; + + @ApiModelProperty("鏃堕棿") + private String implement; + + @ApiModelProperty("閮ㄩ棬") + private String department; + + @ApiModelProperty("璐d换浜�") + private String responsible; + + @ApiModelProperty("瀹℃牳鍛�") + private String auditor; + + @ApiModelProperty("瀹℃牳鍐呭") + private String reviewContent; + + @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-manage/src/main/java/com/ruoyi/manage/pojo/InternalMeeting.java b/cnas-manage/src/main/java/com/ruoyi/manage/pojo/InternalMeeting.java new file mode 100644 index 0000000..acc813a --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/pojo/InternalMeeting.java @@ -0,0 +1,56 @@ +package com.ruoyi.manage.pojo; + +import com.baomidou.mybatisplus.annotation.*; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.time.LocalDateTime; + +/** + * <p> + * 鍐呭浼氳琛� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-12 02:50:44 + */ +@Data +@TableName("cnas_internal_meeting") +@ApiModel(value = "InternalMeeting瀵硅薄", description = "鍐呭浼氳琛�") +public class InternalMeeting { + + @TableId(value = "meeting_id", type = IdType.AUTO) + private Integer meetingId; + + @ApiModelProperty("鏃堕棿") + private String meetingDate; + + @ApiModelProperty("涓绘寔浜�") + private String compere; + + @ApiModelProperty("鍦扮偣") + private String place; + + @ApiModelProperty("浼氳涓婚") + private String subject; + + @ApiModelProperty("鍙傚姞浜哄憳") + private String participant; + + @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-manage/src/main/java/com/ruoyi/manage/pojo/InternalMeetingDetail.java b/cnas-manage/src/main/java/com/ruoyi/manage/pojo/InternalMeetingDetail.java new file mode 100644 index 0000000..f6f3cb6 --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/pojo/InternalMeetingDetail.java @@ -0,0 +1,53 @@ +package com.ruoyi.manage.pojo; + +import com.baomidou.mybatisplus.annotation.*; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.time.LocalDateTime; + +/** + * <p> + * 鍐呭浼氳璇︽儏琛� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-12 02:56:13 + */ +@Data +@TableName("cnas_internal_meeting_detail") +@ApiModel(value = "InternalMeetingDetail瀵硅薄", description = "鍐呭浼氳璇︽儏琛�") +public class InternalMeetingDetail { + + @TableId(value = "meeting_detail_id", type = IdType.AUTO) + private Integer meetingDetailId; + + @ApiModelProperty("浼氳涓昏〃id") + private Integer meetingId; + + @ApiModelProperty("鍙傚姞浜哄憳id") + private Integer userId; + + @ApiModelProperty("鍙傚姞浜哄憳") + private String userName; + + @ApiModelProperty("閮ㄩ棬") + private String department; + + @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-manage/src/main/java/com/ruoyi/manage/pojo/InternalPlan.java b/cnas-manage/src/main/java/com/ruoyi/manage/pojo/InternalPlan.java new file mode 100644 index 0000000..06e2106 --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/pojo/InternalPlan.java @@ -0,0 +1,95 @@ +package com.ruoyi.manage.pojo; + +import com.baomidou.mybatisplus.annotation.*; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.time.LocalDateTime; + +/** + * <p> + * 鍐呭骞村害璁″垝 + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-13 03:27:47 + */ +@Data +@TableName("cnas_internal_plan") +@ApiModel(value = "InternalPlan瀵硅薄", description = "鍐呭骞村害璁″垝") +public class InternalPlan { + + @TableId(value = "plan_id", type = IdType.AUTO) + private Integer planId; + + @ApiModelProperty("鍐呭鐩殑") + private String purpose; + + @ApiModelProperty("鍐呯敓鑼冨洿") + private String scope; + + @ApiModelProperty("鍐呭渚濇嵁") + private String basis; + + @ApiModelProperty("缁勯暱") + private String leader; + + @ApiModelProperty("缁勫憳") + private String crew; + + @ApiModelProperty("缂栧埗浜篿d") + private Integer writeUserId; + + @ApiModelProperty("缂栧埗浜�") + private String writeUserName; + + @ApiModelProperty("缂栧埗鏃堕棿") + private LocalDateTime writeTime; + + @ApiModelProperty("瀹℃牳浜篿d") + private Integer examineUserId; + + @ApiModelProperty("瀹℃牳浜�") + private String examineUserName; + + @ApiModelProperty("瀹℃牳鏃堕棿") + private LocalDateTime examineTime; + + @ApiModelProperty("瀹℃牳鐘舵��,0 涓嶉�氳繃, 1 閫氳繃") + private Integer examineStatus; + + @ApiModelProperty("瀹℃牳淇℃伅") + private String examineRemark; + + @ApiModelProperty("鎵瑰噯浜篿d") + private Integer ratifyUserId; + + @ApiModelProperty("鎵瑰噯浜�") + private String ratifyUserName; + + @ApiModelProperty("鎵瑰噯鏃堕棿") + private LocalDateTime ratifyTime; + + @ApiModelProperty("鎵瑰噯鐘舵��,0 涓嶉�氳繃, 1 閫氳繃") + private Integer ratifyStatus; + + @ApiModelProperty("鎵瑰噯淇℃伅") + private String ratifyRemark; + + @ApiModelProperty("鍒涘缓浜�") + @TableField(fill = FieldFill.INSERT) + private Integer createUser; + + @ApiModelProperty("鍒涘缓鏃堕棿") + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createTime; + + @ApiModelProperty("淇敼浜�") + @TableField(fill = FieldFill.INSERT_UPDATE) + private Integer updateUser; + + @ApiModelProperty("淇敼鏃堕棿") + @TableField(fill = FieldFill.INSERT_UPDATE) + private LocalDateTime updateTime; +} diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/pojo/InternalPlanDetail.java b/cnas-manage/src/main/java/com/ruoyi/manage/pojo/InternalPlanDetail.java new file mode 100644 index 0000000..8c51e9f --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/pojo/InternalPlanDetail.java @@ -0,0 +1,83 @@ +package com.ruoyi.manage.pojo; + +import com.baomidou.mybatisplus.annotation.*; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.time.LocalDateTime; + +/** + * <p> + * 鍐呭骞村害璁″垝璇︽儏琛� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-13 03:28:48 + */ +@Data +@TableName("cnas_internal_plan_detail") +@ApiModel(value = "InternalPlanDetail瀵硅薄", description = "鍐呭骞村害璁″垝璇︽儏琛�") +public class InternalPlanDetail { + + @TableId(value = "plan_detail_id", type = IdType.AUTO) + private Integer planDetailId; + + @ApiModelProperty("鍐呭骞村害璁″垝id") + private Integer planId; + + @ApiModelProperty("閮ㄩ棬") + private String department; + + @ApiModelProperty("涓�鏈�") + private String january; + + @ApiModelProperty("浜屾湀") + private String february; + + @ApiModelProperty("涓夋湀") + private String march; + + @ApiModelProperty("鍥涙湀") + private String april; + + @ApiModelProperty("浜旀湀") + private String may; + + @ApiModelProperty("鍏湀") + private String june; + + @ApiModelProperty("涓冩湀") + private String july; + + @ApiModelProperty("鍏湀") + private String august; + + @ApiModelProperty("涔濇湀") + private String september; + + @ApiModelProperty("鍗佹湀") + private String october; + + @ApiModelProperty("鍗佷竴鏈�") + private String november; + + @ApiModelProperty("鍗佷簩鏈�") + private String december; + + @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-manage/src/main/java/com/ruoyi/manage/pojo/InternalReport.java b/cnas-manage/src/main/java/com/ruoyi/manage/pojo/InternalReport.java new file mode 100644 index 0000000..219666c --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/pojo/InternalReport.java @@ -0,0 +1,122 @@ +package com.ruoyi.manage.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-11 + */ +@Data +@TableName("cnas_internal_report") +public class InternalReport { + + @TableId(type = IdType.AUTO) + private Integer reportId; + + @ApiModelProperty("瀹℃牳渚濇嵁") + private String purposes; + + @ApiModelProperty("瀹℃牳渚濇嵁") + private String basis; + + @ApiModelProperty("瀹℃牳鏃ユ湡") + private String reviewDate; + + @ApiModelProperty("瀹℃牳鏂规硶") + private String method; + + @ApiModelProperty("瀹℃牳鑼冨洿") + private String scope; + + @ApiModelProperty("瀹℃牳璐d换鍒�") + private String responsible; + + @ApiModelProperty("瀹℃牳缁勯暱") + private String leader; + + @ApiModelProperty("瀹℃牳鍛�") + private String auditor; + + @ApiModelProperty("瀹℃牳缁勫垎宸ユ儏鍐�") + private String division; + + @ApiModelProperty("瀹℃牳姒傚喌") + private String overview; + + @ApiModelProperty("缁撹鎬ц瘎浠�") + private String conclusion; + + @ApiModelProperty("鏀硅繘寤鸿") + private String suggest; + + @ApiModelProperty("瀹屾垚绾犳鎺柦鎵�闇�鏃堕棿") + private String actionDate; + + @ApiModelProperty("鎬讳綋璺熻繘纭浜�") + private String followUser; + + @ApiModelProperty("鎬讳綋璺熻繘纭璁板綍") + private String followRecord; + + @ApiModelProperty("鏈姤鍛婂彂鏀捐寖鍥�") + private String reportScope; + + @ApiModelProperty("瀹℃牳浜篿d") + private Integer examineUserId; + + @ApiModelProperty("瀹℃牳浜�") + private String examineUserName; + + @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 qualityUserId; + + @ApiModelProperty("璐ㄩ噺璐熻矗浜�") + private String qualityUserName; + + @ApiModelProperty("璐ㄩ噺璐熻矗浜哄~鍐欐椂闂�") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime qualityTime; + + @ApiModelProperty("璐ㄩ噺璐熻矗浜虹姸鎬�, 0 涓嶉�氳繃, 1閫氳繃") + private Integer qualityStatus; + + @ApiModelProperty("璐ㄩ噺璐熻矗浜烘剰瑙�") + private String qualityRemark; + + @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-manage/src/main/java/com/ruoyi/manage/pojo/ManageControlPlanList.java b/cnas-manage/src/main/java/com/ruoyi/manage/pojo/ManageControlPlanList.java new file mode 100644 index 0000000..7c08c48 --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/pojo/ManageControlPlanList.java @@ -0,0 +1,81 @@ +package com.ruoyi.manage.pojo; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + * <p> + * 閲嶅ぇ椋庨櫓鍥犵礌鍒嗘瀽鍙婃帶鍒惰鍒掓竻鍗� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-15 02:58:30 + */ +@Getter +@Setter +@TableName("cnas_manage_control_plan_list") +@ApiModel(value = "ManageControlPlanList瀵硅薄", description = "閲嶅ぇ椋庨櫓鍥犵礌鍒嗘瀽鍙婃帶鍒惰鍒掓竻鍗�") +public class ManageControlPlanList implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + + @ApiModelProperty("浣滀笟娲诲姩") + @ExcelProperty("浣滀笟娲诲姩") + private String jobActivity; + + @ApiModelProperty("椋庨櫓鍥犵礌绫诲埆") + @ExcelProperty("椋庨櫓鍥犵礌绫诲埆") + private String category; + + @ApiModelProperty("椋庨櫓鍥犵礌鎻忚堪") + @ExcelProperty("椋庨櫓鍥犵礌鎻忚堪") + private String description; + + @ApiModelProperty("鍙鑷寸殑浜嬫晠") + @ExcelProperty("鍙鑷寸殑浜嬫晠") + private String result; + + @ApiModelProperty("鏄惁涓嶅彲鎵垮彈椋庨櫓") + @ExcelProperty("鏄惁涓嶅彲鎵垮彈椋庨櫓") + private String intolerable; + + @ApiModelProperty("鎺у埗璁″垝") + @ExcelProperty("鎺у埗璁″垝") + private String plan; + + @ApiModelProperty("缂栧埗id") + private Integer editor; + + @ApiModelProperty("鏃ユ湡") + private LocalDateTime editorDate; + + @ApiModelProperty("瀹℃壒id") + private Integer approval; + + @ApiModelProperty("鏃ユ湡") + private LocalDateTime approvalDate; + + @ApiModelProperty("鎵瑰噯id") + private Integer approve; + + @ApiModelProperty("鎵瑰噯鏃ユ湡") + private LocalDateTime approveDate; + + @ApiModelProperty("鎵瑰噯鐘舵��1锛氶�氳繃锛�2锛氫笉閫氳繃") + private Integer approveStatus; + + @ApiModelProperty("瀹℃壒鐘舵��1锛氶�氳繃锛�2锛氫笉閫氳繃") + private Integer approvalStatus; +} diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/pojo/ManageDocumentAlter.java b/cnas-manage/src/main/java/com/ruoyi/manage/pojo/ManageDocumentAlter.java new file mode 100644 index 0000000..2d9bc62 --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/pojo/ManageDocumentAlter.java @@ -0,0 +1,115 @@ +package com.ruoyi.manage.pojo; + +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.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; +import org.springframework.format.annotation.DateTimeFormat; +import org.springframework.web.multipart.MultipartFile; + +import java.io.Serializable; +import java.time.LocalDate; +import java.time.LocalDateTime; + +/** + * <p> + * 鏂囦欢鍙樻洿 + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-11 11:04:01 + */ +@Getter +@Setter +@TableName("cnas_manage_document_alter") +@ApiModel(value = "ManageDocumentAlter瀵硅薄", description = "鏂囦欢鍙樻洿") +@ExcelIgnoreUnannotated +public class ManageDocumentAlter implements Serializable { + + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + + @ApiModelProperty("鐢宠缂栧彿") + @ExcelProperty("鐢宠缂栧彿") + private String code; + + @ApiModelProperty("鐢宠浜�") + @TableField(fill = FieldFill.INSERT) + private Integer createUser; + + @TableField(select = false, exist = false) + @ExcelProperty("鐢宠浜�") + private String createUserName; + + @TableField(select = false, exist = false) + @ApiModelProperty("鐢宠閮ㄩ棬") + private String createUserDepartLims; + + @TableField(fill = FieldFill.INSERT_UPDATE) + private Integer updateUser; + + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createTime; + + @TableField(fill = FieldFill.INSERT_UPDATE) + private LocalDateTime updateTime; + + @ApiModelProperty("鏈熸湜鍙樻洿鏃堕棿") + @JsonFormat(pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @ExcelProperty("鏈熸湜鍙樻洿鏃堕棿") + private LocalDate expectAlterDate; + + @ApiModelProperty("瀹為檯鍙樻洿鏃堕棿") + @JsonFormat(pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @ExcelProperty("瀹為檯鍙樻洿鏃堕棿") + private LocalDate actuallyAlterDate; + + @ApiModelProperty("鐘舵��") + @ExcelProperty("鐘舵��") + private String state; + + @ApiModelProperty("瀹℃壒浜�") + private Integer checkUser; + + @TableField(select = false, exist = false) + @ExcelProperty("瀹℃壒浜�") + private String checkUserName; + + @ApiModelProperty("鍙樻洿璇存槑") + @ExcelProperty("鍙樻洿璇存槑") + private String alterNote; + + @ApiModelProperty("鍙樻洿鍓嶇紪鍙�") + private String alterBeforeCode; + + @ApiModelProperty("鍙樻洿鍓嶅悕绉�") + private String alterBeforeName; + + @ApiModelProperty("鍙樻洿鍓嶇増鏈�") + private String alterBeforeVersion; + + @ApiModelProperty("鍙樻洿鍚庣紪鍙�") + private String alterAfterCode; + + @ApiModelProperty("鍙樻洿鍚庡悕绉�") + private String alterAfterName; + + @ApiModelProperty("鍙樻洿鍚庣増鏈�") + private String alterAfterVersion; + + @ApiModelProperty("鍙樻洿鍚庨檮浠�") + private String alterAfterUrl; + + @ApiModelProperty("鍙樻洿鍚庨檮浠�") + @TableField(select = false,exist = false) + private MultipartFile file; + + @ApiModelProperty("鍓嶄竴鐗堟湰澶勭悊鏂瑰紡") + private String method; +} diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/pojo/ManageDocumentCancel.java b/cnas-manage/src/main/java/com/ruoyi/manage/pojo/ManageDocumentCancel.java new file mode 100644 index 0000000..0cc8155 --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/pojo/ManageDocumentCancel.java @@ -0,0 +1,101 @@ +package com.ruoyi.manage.pojo; + +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.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; +import org.springframework.format.annotation.DateTimeFormat; + +import java.io.Serializable; +import java.time.LocalDate; +import java.time.LocalDateTime; + +/** + * <p> + * 鏂囦欢浣滃簾 + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-09 02:37:35 + */ +@Getter +@Setter +@TableName("cnas_manage_document_cancel") +@ApiModel(value = "ManageDocumentCancel瀵硅薄", description = "鏂囦欢浣滃簾") +@ExcelIgnoreUnannotated +public class ManageDocumentCancel implements Serializable { + + + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + + @ApiModelProperty("鐢宠浜�") + @TableField(fill = FieldFill.INSERT) + private Integer createUser; + + @ApiModelProperty("鐢宠浜�") + @TableField(select = false,exist = false) + @ExcelProperty("鐢宠浜�") + private String createUserName; + + @ApiModelProperty("鐢宠浜�") + @TableField(select = false,exist = false) + private String createUserDepartLims; + + + @TableField(fill = FieldFill.INSERT_UPDATE) + private Integer updateUser; + + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createTime; + + @TableField(fill = FieldFill.INSERT_UPDATE) + private LocalDateTime updateTime; + + @ApiModelProperty("鏂囦欢缂栧彿") + @ExcelProperty("鏂囦欢缂栧彿") + private String documentCode; + + @ApiModelProperty("鏂囦欢鍚嶇О") + private String name; + + @ApiModelProperty("鏂囦欢鐗堟湰") + private String version; + + @ApiModelProperty("鏂囦欢鐘舵��") + private String documentState; + + @ApiModelProperty("浣滃簾鏂瑰紡") + private String method; + + @ApiModelProperty("浣滃簾璇存槑") + @ExcelProperty("浣滃簾璇存槑") + private String cancelNote; + + @ApiModelProperty("瀹℃壒浜�") + private Integer checkUser; + + @ExcelProperty("瀹℃壒浜�") + @TableField(select = false, exist = false) + private String checkUserName; + + @ApiModelProperty("鏈熸湜浣滃簾鏃堕棿") + @ExcelProperty("鏈熸湜浣滃簾鏃ユ湡") + @JsonFormat(pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + private LocalDate expectCancelDate; + + @ApiModelProperty("瀹為檯浣滃簾鏃ユ湡") + @ExcelProperty("瀹為檯浣滃簾鏃ユ湡") + @JsonFormat(pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + private LocalDate actuallyCancelDate; + + @ApiModelProperty("浣滃簾鐘舵��") + @ExcelProperty("浣滃簾鐘舵��") + private String state; +} diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/pojo/ManageDocumentControlled.java b/cnas-manage/src/main/java/com/ruoyi/manage/pojo/ManageDocumentControlled.java new file mode 100644 index 0000000..dbb0eb7 --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/pojo/ManageDocumentControlled.java @@ -0,0 +1,91 @@ +package com.ruoyi.manage.pojo; + +import com.baomidou.mybatisplus.annotation.*; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; +import org.springframework.format.annotation.DateTimeFormat; +import org.springframework.web.multipart.MultipartFile; + +import java.io.Serializable; +import java.time.LocalDate; +import java.time.LocalDateTime; + +/** + * <p> + * 鏂囦欢鍙楁帶 + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-08 02:54:44 + */ +@Getter +@Setter +@TableName("cnas_manage_document_controlled") +@ApiModel(value = "ManageDocumentControlled瀵硅薄", description = "鏂囦欢鍙楁帶") +public class ManageDocumentControlled implements Serializable { + + + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + + @ApiModelProperty("鐢宠鏂囦欢缂栧彿") + private String documentCode; + + @ApiModelProperty("鏂囦欢绫诲埆") + private String type; + + @ApiModelProperty("鏂囦欢鍚嶇О") + private String name; + + @ApiModelProperty("鏂囦欢鐗堟湰") + private String version; + + @ApiModelProperty("浣滆��") + private String writer; + + @ApiModelProperty("鎻愪氦鏃ユ湡") + @JsonFormat(pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + private LocalDate submitDate; + + @ApiModelProperty("璇存槑") + private String instructions; + + @ApiModelProperty("鐢宠鐘舵��") + private String state; + + @ApiModelProperty("闄勪欢鍦板潃") + private String url; + + @ApiModelProperty("璐d换浜�") + private Integer dutyUser; + + @TableField(select = false,exist = false) + private String dutyUserName; + + @TableField(fill = FieldFill.INSERT) + private Integer createUser; + + @TableField(select = false, exist = false) + private String createUserName; + + @ApiModelProperty("鐢宠閮ㄩ棬") + @TableField(select = false, exist = false) + private String createUserDepartLims; + + @TableField(fill = FieldFill.INSERT_UPDATE) + private Integer updateUser; + + @TableField(fill = FieldFill.INSERT) + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime createTime; + + @TableField(fill = FieldFill.INSERT_UPDATE) + private LocalDateTime updateTime; + + @TableField(select = false, exist = false) + private MultipartFile file; +} diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/pojo/ManageDocumentIssueRecycle.java b/cnas-manage/src/main/java/com/ruoyi/manage/pojo/ManageDocumentIssueRecycle.java new file mode 100644 index 0000000..8dd981a --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/pojo/ManageDocumentIssueRecycle.java @@ -0,0 +1,107 @@ +package com.ruoyi.manage.pojo; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.baomidou.mybatisplus.annotation.*; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; +import org.springframework.format.annotation.DateTimeFormat; +import org.springframework.web.multipart.MultipartFile; + +import java.io.Serializable; +import java.time.LocalDate; +import java.time.LocalDateTime; + +/** + * <p> + * 鏂囦欢鍙戞斁鍥炴敹 + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-09 09:18:24 + */ +@Getter +@Setter +@TableName("cnas_manage_document_issue_recycle") +@ApiModel(value = "ManageDocumentIssueRecycle瀵硅薄", description = "鏂囦欢鍙戞斁鍥炴敹") +public class ManageDocumentIssueRecycle implements Serializable { + + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + + @ApiModelProperty("鏂囦欢缂栧彿") + @ExcelProperty(value = "鏂囦欢缂栧彿") + private String documentCode; + + @ApiModelProperty("鏂囦欢鍚嶇О") + @ExcelProperty(value = "鏂囦欢鍚嶇О") + private String name; + + @ApiModelProperty("鏂囦欢鐗堟湰") + @ExcelProperty(value = "鏂囦欢鐗堟湰") + private String version; + + @ApiModelProperty("鐘舵��") + @ExcelProperty(value = "鐘舵��") + private String state; + + @ApiModelProperty("鏂囦欢鐘舵��") + @ExcelProperty(value = "鏂囦欢鐘舵��") + private String documentState; + + @ApiModelProperty("鍙戞斁缂栧彿") + @ExcelProperty(value = "鍙戞斁缂栧彿") + private String issueCode; + + @ApiModelProperty("鍙戞斁浜�") + private Integer issueUser; + + @ApiModelProperty("鍙戞斁鏃ユ湡") + @ExcelProperty(value = "鍙戞斁鏃ユ湡") + @JsonFormat(pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + private LocalDate issueDate; + + @ApiModelProperty("鍙戞斁璇存槑") + private String issueNote; + + @ApiModelProperty("鎺ユ敹浜�") + private Integer receiveUser; + + @ApiModelProperty("鎺ユ敹鏃堕棿") + private LocalDate receiveDate; + + @ApiModelProperty("鍥炴敹缂栧彿") + private String recycleCode; + + @ApiModelProperty("鍥炴敹浜�") + private Integer recycleUser; + + @ApiModelProperty("鍥炴敹鏃ユ湡") + @ExcelProperty(value = "鍥炴敹鏃ユ湡") + @JsonFormat(pattern = "yyyy-MM-dd") + private LocalDate recycleDate; + + @ApiModelProperty("鍥炴敹璇存槑") + private String recycleNote; + + @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("闄勪欢") + private String url; + + @TableField(select = false,exist = false) + private MultipartFile file; +} diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/pojo/ManageDocumentList.java b/cnas-manage/src/main/java/com/ruoyi/manage/pojo/ManageDocumentList.java new file mode 100644 index 0000000..ecb66a7 --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/pojo/ManageDocumentList.java @@ -0,0 +1,79 @@ +package com.ruoyi.manage.pojo; + +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.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDate; +import java.time.LocalDateTime; + +/** + * <p> + * 鏂囦欢娓呭崟 + + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-08 11:08:11 + */ +@Getter +@Setter +@TableName("cnas_manage_document_list") +@ApiModel(value = "ManageDocumentList瀵硅薄", description = "鏂囦欢娓呭崟") +@ExcelIgnoreUnannotated +public class ManageDocumentList implements Serializable { + + + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + + @ApiModelProperty("鏂囦欢缂栧彿") + @ExcelProperty(value = "鏂囦欢缂栧彿") + private String documentCode; + + @ApiModelProperty("绫诲埆") + @ExcelProperty(value = "绫诲埆") + private String type; + + @ApiModelProperty("鍚嶇О") + @ExcelProperty(value = "鍚嶇О") + private String name; + + @ApiModelProperty("鏂囦欢鐗堟湰") + @ExcelProperty(value = "鏂囦欢鐗堟湰") + private String version; + + @ApiModelProperty("浣滆��") + @ExcelProperty(value = "浣滆��") + private String writer; + + @ApiModelProperty("鐢熸晥鏃ユ湡") + @ExcelProperty(value = "鐢熸晥鏃ユ湡") + @JsonFormat(pattern = "yyyy-MM-dd") + private LocalDate effectiveDate; + + @ApiModelProperty("鏂囦欢鐘舵��") + @ExcelProperty(value = "鏂囦欢鐘舵��") + private String state; + + @ApiModelProperty("闄勪欢鍦板潃") + private String url; + + @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; +} diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/pojo/ManageMeeting.java b/cnas-manage/src/main/java/com/ruoyi/manage/pojo/ManageMeeting.java new file mode 100644 index 0000000..250e410 --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/pojo/ManageMeeting.java @@ -0,0 +1,54 @@ +package com.ruoyi.manage.pojo; + +import com.baomidou.mybatisplus.annotation.*; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + * <p> + * + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-11 09:33:47 + */ +@Getter +@Setter +@TableName("cnas_manage_meeting") +@ApiModel(value = "ManageMeeting瀵硅薄", description = "") +public class ManageMeeting implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + + @ApiModelProperty("浼氳鏃堕棿") + private LocalDateTime meetingTime; + + @ApiModelProperty("浼氳鍦扮偣") + private String place; + + @ApiModelProperty("涓绘寔浜�") + private String compere; + + @ApiModelProperty("浼氳鍐呭鎽樿") + private String content; + + @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-manage/src/main/java/com/ruoyi/manage/pojo/ManageMeetingParticipants.java b/cnas-manage/src/main/java/com/ruoyi/manage/pojo/ManageMeetingParticipants.java new file mode 100644 index 0000000..c86b0da --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/pojo/ManageMeetingParticipants.java @@ -0,0 +1,54 @@ +package com.ruoyi.manage.pojo; + +import com.baomidou.mybatisplus.annotation.*; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + * <p> + * + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-11 09:34:27 + */ +@Getter +@Setter +@TableName("cnas_manage_meeting_participants") +@ApiModel(value = "ManageMeetingParticipants瀵硅薄", description = "") +public class ManageMeetingParticipants implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + + @ApiModelProperty("鍙備細浜哄憳") + private Integer participants; + + @TableField(select = false,exist = false) + private String userName; + + @ApiModelProperty("閮ㄩ棬") + private String department; + + @ApiModelProperty("浼氳id") + private Integer meetingId; + + @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-manage/src/main/java/com/ruoyi/manage/pojo/ManageRecordAudit.java b/cnas-manage/src/main/java/com/ruoyi/manage/pojo/ManageRecordAudit.java new file mode 100644 index 0000000..3261770 --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/pojo/ManageRecordAudit.java @@ -0,0 +1,132 @@ +package com.ruoyi.manage.pojo; + +import com.baomidou.mybatisplus.annotation.*; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; +import org.springframework.format.annotation.DateTimeFormat; +import org.springframework.web.multipart.MultipartFile; + +import java.io.Serializable; +import java.time.LocalDate; +import java.time.LocalDateTime; + +/** + * <p> + * 鏂囦欢淇鐢宠瀹℃壒璁板綍 + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-14 10:29:18 + */ +@Getter +@Setter +@TableName("cnas_manage_record_audit") +@ApiModel(value = "ManageRecordAudit瀵硅薄", description = "鏂囦欢淇鐢宠瀹℃壒璁板綍") +public class ManageRecordAudit implements Serializable { + + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + + @ApiModelProperty("鏂囦欢缂栧彿") + private String documentCode; + + @ApiModelProperty("鏂囦欢鍚嶇О") + private String documentName; + + @ApiModelProperty("绔犺妭鍙�") + private String capter; + + @ApiModelProperty("椤电爜") + private String pages; + + @ApiModelProperty("淇娆℃暟") + private Integer number; + + @ApiModelProperty("淇敼鍓嶇増鏈彿") + private String beforeVersion; + + @ApiModelProperty("淇敼鍚庣増鏈彿") + private String afterVersion; + + @ApiModelProperty("淇敼鍐呭") + private String alterThing; + + @ApiModelProperty("淇浜�") + private Integer alterUser; + + @TableField(select = false, exist = false) + private String alterUserName; + + @ApiModelProperty("鎵瑰噯浜�") + private Integer ratifyUser; + + @TableField(select = false, exist = false) + private String ratifyUserName; + + //鎵瑰噯浜虹鍚� + @TableField(select = false, exist = false) + private String ratifyUserUrl; + + @ApiModelProperty("鏃ユ湡") + @JsonFormat(pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + private LocalDate date; + + @ApiModelProperty("鐢宠浜�") + @TableField(fill = FieldFill.INSERT) + private Integer createUser; + + //鐢宠浜� + @TableField(select = false, exist = false) + private String createUserName; + + //鐢宠閮ㄩ棬 + @TableField(select = false, exist = false) + private String createUserDepart; + + @TableField(fill = FieldFill.INSERT_UPDATE) + private Integer updateUser; + + @ApiModelProperty("鐢宠鏃ユ湡") + @JsonFormat(pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + private LocalDate createTime; + + @TableField(fill = FieldFill.INSERT_UPDATE) + private LocalDateTime updateTime; + + @ApiModelProperty("鍙樺寲鍘熷洜") + private String reason; + + @ApiModelProperty("鍘熷垎鍙戦儴闂�") + private String beforeDepart; + + @ApiModelProperty("淇鍚庡垎鍙戦儴闂�") + private String afterDepart; + + @ApiModelProperty("鐢宠閮ㄩ棬涓荤鎰忚") + private String applicant; + + @ApiModelProperty("鍘熷埗瀹氶儴闂ㄦ剰瑙�") + private String formulation; + + @ApiModelProperty("鍘熷鏍搁儴闂ㄦ剰瑙�") + private String audit; + + @ApiModelProperty("淇浣滃簾") + private String method; + + + @ApiModelProperty("鍘熼檮浠�") + private String beforeUrl; + + @ApiModelProperty("淇鍚庨檮浠�") + private String afterUrl; + + @TableField(select = false, exist = false) + private MultipartFile file; + +} diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/pojo/ManageRecordCancel.java b/cnas-manage/src/main/java/com/ruoyi/manage/pojo/ManageRecordCancel.java new file mode 100644 index 0000000..cbe5379 --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/pojo/ManageRecordCancel.java @@ -0,0 +1,77 @@ +package com.ruoyi.manage.pojo; + +import com.baomidou.mybatisplus.annotation.*; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; +import org.springframework.format.annotation.DateTimeFormat; + +import java.io.Serializable; +import java.time.LocalDate; +import java.time.LocalDateTime; + +/** + * <p> + * 浣滃簾鏂囦欢閿�榄傝褰� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-13 01:27:22 + */ +@Getter +@Setter +@TableName("cnas_manage_record_cancel") +@ApiModel(value = "ManageRecordCancel瀵硅薄", description = "浣滃簾鏂囦欢閿�榄傝褰�") +public class ManageRecordCancel implements Serializable { + + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + + @ApiModelProperty("鏂囦欢缂栧彿") + private String documentCode; + + @ApiModelProperty("鏂囦欢鍚嶇О") + private String documentName; + + @ApiModelProperty("鏁伴噺") + private Integer qty; + + @ApiModelProperty("閿�姣佸師鍥�") + private String reason; + + @ApiModelProperty("鐢宠浜�") + @TableField(fill = FieldFill.INSERT) + private Integer createUser; + + @TableField(select = false,exist = false) + private String createUserName; + + @TableField(fill = FieldFill.INSERT_UPDATE) + private Integer updateUser; + + @ApiModelProperty("鐢宠鏃ユ湡") + @JsonFormat(pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + private LocalDate createTime; + + @TableField(fill = FieldFill.INSERT_UPDATE) + private LocalDateTime updateTime; + + @ApiModelProperty("鎵瑰噯浜�") + private Integer ratifyUser; + + @TableField(select = false,exist = false) + private String ratifyUserName; + + private String ratifyState; + + @ApiModelProperty("鎵瑰噯鏃ユ湡") + @JsonFormat(pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + private LocalDate ratifyTime; + + @ApiModelProperty("澶囨敞") + private String remark; +} diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/pojo/ManageRecordCheck.java b/cnas-manage/src/main/java/com/ruoyi/manage/pojo/ManageRecordCheck.java new file mode 100644 index 0000000..30af20e --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/pojo/ManageRecordCheck.java @@ -0,0 +1,74 @@ +package com.ruoyi.manage.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 com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; +import org.springframework.format.annotation.DateTimeFormat; + +import java.io.Serializable; +import java.time.LocalDate; + +/** + * <p> + * 鏂囦欢瀹℃壒璁板綍(鍚慨璁㈠悗鍐嶆瀹℃壒璁板綍) + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-12 02:31:36 + */ +@Getter +@Setter +@TableName("cnas_manage_record_check") +@ApiModel(value = "ManageRecordCheck瀵硅薄", description = "鏂囦欢瀹℃壒璁板綍(鍚慨璁㈠悗鍐嶆瀹℃壒璁板綍)") +public class ManageRecordCheck implements Serializable { + + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + + @ApiModelProperty("鏂囦欢鍚嶇О") + private String documentName; + + @ApiModelProperty("鏂囦欢缂栧彿") + private String documentCode; + + @ApiModelProperty("鐗�/娆�") + private String documentVersion; + + @ApiModelProperty("缂栧埗浜�") + private Integer writeUser; + + @TableField(select = false,exist = false) + private String writeUserName; + + @ApiModelProperty("瀹℃牳浜�") + private Integer checkUser; + + @TableField(select = false,exist = false) + private String checkUserName; + + @ApiModelProperty("瀹℃牳鐘舵��") + private String checkState; + + @ApiModelProperty("鎵瑰噯浜�") + private Integer ratifyUser; + + @TableField(select = false,exist = false) + private String ratifyUserName; + + @ApiModelProperty("鎵瑰噯鐘舵��") + private String ratifyState; + + @ApiModelProperty("鎵瑰噯鏃ユ湡") + @JsonFormat(pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + private LocalDate ratifyDate; + + @ApiModelProperty("澶囨敞") + private String remark; +} diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/pojo/ManageRecordIntervals.java b/cnas-manage/src/main/java/com/ruoyi/manage/pojo/ManageRecordIntervals.java new file mode 100644 index 0000000..a2ae33f --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/pojo/ManageRecordIntervals.java @@ -0,0 +1,61 @@ +package com.ruoyi.manage.pojo; + +import com.baomidou.mybatisplus.annotation.*; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + * <p> + * 鏂囦欢瀹氭湡瀹℃煡璁板綍 + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-13 10:54:31 + */ +@Getter +@Setter +@TableName("cnas_manage_record_intervals") +@ApiModel(value = "ManageRecordIntervals瀵硅薄", description = "鏂囦欢瀹氭湡瀹℃煡璁板綍") +public class ManageRecordIntervals implements Serializable { + + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + + @ApiModelProperty("鏂囦欢鍚嶇О") + private String documentName; + + @ApiModelProperty("鏂囦欢缂栧彿") + private String documentCode; + + @ApiModelProperty("鐗堟湰鍙�") + private String documentVersion; + + @ApiModelProperty("淇鍙�") + private String revision; + + @ApiModelProperty("閫傚疁鎬�") + private String suitability; + + @ApiModelProperty("澶囨敞") + private String remark; + + @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 recordIntervalsTotalId; +} diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/pojo/ManageRecordIntervalsTotal.java b/cnas-manage/src/main/java/com/ruoyi/manage/pojo/ManageRecordIntervalsTotal.java new file mode 100644 index 0000000..317ed57 --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/pojo/ManageRecordIntervalsTotal.java @@ -0,0 +1,74 @@ +package com.ruoyi.manage.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 com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; +import org.springframework.format.annotation.DateTimeFormat; + +import java.io.Serializable; +import java.time.LocalDate; + +/** + * <p> + * 鏂囦欢瀹氭湡瀹℃煡璁板綍鎬诲巻鍙茶褰曡〃 + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-15 01:12:11 + */ +@Getter +@Setter +@TableName("cnas_manage_record_intervals_total") +@ApiModel(value = "ManageRecordIntervalsTotal瀵硅薄", description = "鏂囦欢瀹氭湡瀹℃煡璁板綍鎬诲巻鍙茶褰曡〃") +public class ManageRecordIntervalsTotal implements Serializable { + + + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + + @ApiModelProperty("鎵瑰噯浜�") + private Integer ratifyUser; + + @TableField(select = false,exist = false) + private String ratifyUserName; + + @ApiModelProperty("鎵瑰噯缁撴灉") + private String ratifyState; + + @ApiModelProperty("鎵瑰噯鏃ユ湡") + @JsonFormat(pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + private LocalDate ratifyDate; + + @ApiModelProperty("鎵瑰噯浜虹鍚�") + private String ratifyUrl; + + @ApiModelProperty("鎷熷埗浜�") + private Integer submitUser; + + @TableField(select = false,exist = false) + private String submitUserName; + + @ApiModelProperty("鎷熷埗浜虹鍚�") + private String submitUrl; + + @ApiModelProperty("鎷熷埗鏃ユ湡") + @JsonFormat(pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + private LocalDate submitDate; + + @ApiModelProperty("骞翠唤") + private String year; + + @ApiModelProperty("鎬绘暟閲�") + private Integer totalNum; + + @ApiModelProperty("鐢熸垚鐢宠琛ㄧ殑璺緞") + private String url; +} diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/pojo/ManageRecordIssueRecycle.java b/cnas-manage/src/main/java/com/ruoyi/manage/pojo/ManageRecordIssueRecycle.java new file mode 100644 index 0000000..54e6493 --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/pojo/ManageRecordIssueRecycle.java @@ -0,0 +1,76 @@ +package com.ruoyi.manage.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 com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; +import org.springframework.format.annotation.DateTimeFormat; + +import java.io.Serializable; +import java.time.LocalDate; + +/** + * <p> + * 鎵�鏈夋枃浠�(鍐呫�佸閮ㄦ枃浠�)鐨勫彂鏀句笌鍥炴敹璁板綍 + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-13 09:11:05 + */ +@Getter +@Setter +@TableName("cnas_manage_record_issue_recycle") +@ApiModel(value = "ManageRecordIssueRecycle瀵硅薄", description = "鎵�鏈夋枃浠�(鍐呫�佸閮ㄦ枃浠�)鐨勫彂鏀句笌鍥炴敹璁板綍") +public class ManageRecordIssueRecycle implements Serializable { + + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + + @ApiModelProperty("鏂囦欢缂栧彿") + private String documentCode; + + @ApiModelProperty("鏂囦欢鍚嶇О") + private String documentName; + + @ApiModelProperty("鐗堝彿") + private String documentVersion; + + @ApiModelProperty("浠芥暟") + private String pages; + + @ApiModelProperty("鏂囦欢绫诲埆") + private String documentType; + + @ApiModelProperty("鍒嗗彂鍙�") + private String number; + + @ApiModelProperty("鎺ユ敹閮ㄩ棬") + private String departLims; + + @ApiModelProperty("鎺ュ彈浜�") + private Integer receiveUser; + + @TableField(select = false,exist = false) + private String receiveUserName; + + @ApiModelProperty("鎺ュ彈鏃ユ湡") + @JsonFormat(pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + private LocalDate receiveDate; + + @ApiModelProperty("绛炬敹浜�") + private Integer signedUser; + + @TableField(select = false,exist = false) + private String signedUserName; + + @ApiModelProperty("绛炬敹鏃ユ湡") + @JsonFormat(pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + private LocalDate signedDate; +} diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/pojo/ManageRecordTotal.java b/cnas-manage/src/main/java/com/ruoyi/manage/pojo/ManageRecordTotal.java new file mode 100644 index 0000000..37b80d9 --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/pojo/ManageRecordTotal.java @@ -0,0 +1,74 @@ +package com.ruoyi.manage.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 com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; +import org.springframework.format.annotation.DateTimeFormat; + +import java.io.Serializable; +import java.time.LocalDate; + +/** + * <p> + * 澶栨潵鏂囦欢纭璁板綍鎬诲巻鍙茶褰曡〃 + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-12 10:30:08 + */ +@Getter +@Setter +@TableName("cnas_manage_record_total") +@ApiModel(value = "ManageRecordTotal瀵硅薄", description = "澶栨潵鏂囦欢纭璁板綍鎬诲巻鍙茶褰曡〃") +public class ManageRecordTotal implements Serializable { + + + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + + @ApiModelProperty("鎵瑰噯浜�") + private Integer ratifyUser; + + @TableField(select = false,exist = false) + private String ratifyUserName; + + @ApiModelProperty("鎵瑰噯缁撴灉") + private String ratifyState; + + @ApiModelProperty("鎵瑰噯鏃ユ湡") + @JsonFormat(pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + private LocalDate ratifyDate; + + @ApiModelProperty("鎵瑰噯浜虹鍚�") + private String ratifyUrl; + + @ApiModelProperty("鎷熷埗浜�") + private Integer submitUser; + + @TableField(select = false,exist = false) + private String submitUserName; + + @ApiModelProperty("鎷熷埗浜虹鍚�") + private String submitUrl; + + @ApiModelProperty("鎷熷埗鏃ユ湡") + @JsonFormat(pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + private LocalDate submitDate; + + @ApiModelProperty("骞翠唤") + private String year; + + @ApiModelProperty("鎬绘暟閲�") + private Integer totalNum; + + @ApiModelProperty("鐢熸垚鐢宠琛ㄧ殑璺緞") + private String url; +} diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/pojo/ManageRecordVerify.java b/cnas-manage/src/main/java/com/ruoyi/manage/pojo/ManageRecordVerify.java new file mode 100644 index 0000000..355219d --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/pojo/ManageRecordVerify.java @@ -0,0 +1,60 @@ +package com.ruoyi.manage.pojo; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; +import org.springframework.format.annotation.DateTimeFormat; + +import java.io.Serializable; +import java.time.LocalDate; + +/** + * <p> + * 澶栨潵鏂囦欢纭璁板綍 + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-12 10:29:44 + */ +@Getter +@Setter +@TableName("cnas_manage_record_verify") +@ApiModel(value = "ManageRecordVerify瀵硅薄", description = "澶栨潵鏂囦欢纭璁板綍") +public class ManageRecordVerify implements Serializable { + + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + + @ApiModelProperty("澶栨潵鏂囦欢鍚嶇О") + private String documentName; + + @ApiModelProperty("鏂囦欢缂栧彿") + private String documentCode; + + @ApiModelProperty("鏍囧噯瑙勮寖鍚嶇О") + private String standardName; + + @ApiModelProperty("鏍囧噯鍙�") + private String standardCode; + + @ApiModelProperty("鐢熸晥鏃ユ湡") + @JsonFormat(pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + private LocalDate effectiveDate; + + @ApiModelProperty("浣滃簾鏃ユ湡") + @JsonFormat(pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + private LocalDate cancelDate; + + @ApiModelProperty("澶囨敞") + private String note; + + @ApiModelProperty("澶栭敭鍏宠仈,澶栨潵鏂囦欢纭鍘嗗彶璁板綍id") + private Integer manageRecordTotalId; +} diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/pojo/ManageReviewProgram.java b/cnas-manage/src/main/java/com/ruoyi/manage/pojo/ManageReviewProgram.java new file mode 100644 index 0000000..d78f41b --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/pojo/ManageReviewProgram.java @@ -0,0 +1,81 @@ +package com.ruoyi.manage.pojo; + +import com.baomidou.mybatisplus.annotation.*; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + * <p> + * + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-09 03:05:42 + */ +@Getter +@Setter +@TableName("cnas_manage_review_program") +@ApiModel(value = "ManageReviewProgram瀵硅薄", description = "") +public class ManageReviewProgram implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + + @ApiModelProperty("璇勫鏃堕棿") + private LocalDateTime reviewTime; + + @ApiModelProperty("璇勫鍦扮偣") + private String judgingLocation; + + @ApiModelProperty("璇勫鐩殑") + private String judgingPurpose; + + @ApiModelProperty("璇勫鏂瑰紡") + private String judgingMethod; + + @ApiModelProperty("鍙傚姞浜哄憳") + private String participants; + + @ApiModelProperty("璇勫鑼冨洿") + private String judgingScope; + + @ApiModelProperty("璇勫渚濇嵁") + private String judgingBasis; + + @ApiModelProperty("璇勫涓昏鍐呭") + private String mainContext; + + @ApiModelProperty("鍑嗗宸ヤ綔瑕佹眰") + private String preparationRequirements; + + @ApiModelProperty("缂栧埗") + private String editor; + + @ApiModelProperty("缂栧埗鏃ユ湡") + private LocalDateTime editorDate; + + @ApiModelProperty("鎵瑰噯") + private String approve; + + @ApiModelProperty("鎵瑰噯鏃ユ湡") + private LocalDateTime approveDate; + + @TableField(fill = FieldFill.INSERT) + private Integer 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-manage/src/main/java/com/ruoyi/manage/pojo/ManageReviewProgramFile.java b/cnas-manage/src/main/java/com/ruoyi/manage/pojo/ManageReviewProgramFile.java new file mode 100644 index 0000000..cac35ce --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/pojo/ManageReviewProgramFile.java @@ -0,0 +1,50 @@ +package com.ruoyi.manage.pojo; + +import com.baomidou.mybatisplus.annotation.*; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + * <p> + * + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-09 04:15:47 + */ +@Getter +@Setter +@TableName("cnas_manage_review_program_file") +@ApiModel(value = "ManageReviewProgramFile瀵硅薄", description = "") +public class ManageReviewProgramFile implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + + @ApiModelProperty("鏂囦欢鍚嶇О") + private String fileName; + + @ApiModelProperty("璁″垝琛↖D") + private Integer reviewId; + + @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; + + private String url; +} diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/pojo/ManageReviewReport.java b/cnas-manage/src/main/java/com/ruoyi/manage/pojo/ManageReviewReport.java new file mode 100644 index 0000000..648d7e7 --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/pojo/ManageReviewReport.java @@ -0,0 +1,102 @@ +package com.ruoyi.manage.pojo; + +import com.baomidou.mybatisplus.annotation.*; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + * <p> + * 绠$悊璇勫鎶ュ憡 + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-12 04:44:39 + */ +@Getter +@Setter +@TableName("cnas_manage_review_report") +@ApiModel(value = "ManageReviewReport瀵硅薄", description = "绠$悊璇勫鎶ュ憡") +public class ManageReviewReport implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + + @ApiModelProperty("鐩殑") + private String objective; + + @ApiModelProperty("鍦扮偣") + private String place; + + @ApiModelProperty("涓绘寔浜�") + private String compere; + + @ApiModelProperty("璁板綍浜�") + private String recordPeople; + + @ApiModelProperty("鏃ユ湡") + private LocalDateTime date; + + @ApiModelProperty("椤垫") + private Integer page; + + @ApiModelProperty("璇勫鏂瑰紡") + private String judgingMethod; + + @ApiModelProperty("璇勫渚濇嵁") + private String reviewBasis; + + @ApiModelProperty("鍑哄腑浜哄憳") + private String attendess; + + @ApiModelProperty("璇勫杈撳叆鎯呭喌") + private String reviewInputs; + + @ApiModelProperty("璇勫杩囩▼姒傚喌") + private String reviewProcess; + + @ApiModelProperty("涓昏璁姒傝堪") + private String mainTopic; + + @ApiModelProperty("浜嬮」") + private String matters; + + @ApiModelProperty("璐熻矗浜�") + private String head; + + @ApiModelProperty("瀹屾垚鏃ユ湡") + private LocalDateTime completionDate; + + @ApiModelProperty("璺熻釜纭浜�") + private String trackingConfirmed; + + @ApiModelProperty("璺熻釜鎯呭喌纭璁板綍") + private String follerUp; + + @ApiModelProperty("浣撶郴璇勪环") + private String overallEvaluation; + + @ApiModelProperty("瀹℃牳") + private String audit; + + @ApiModelProperty("鎵瑰噯") + private String approval; + + @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-manage/src/main/java/com/ruoyi/manage/pojo/ManageRiskAssessmentResults.java b/cnas-manage/src/main/java/com/ruoyi/manage/pojo/ManageRiskAssessmentResults.java new file mode 100644 index 0000000..24b2f31 --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/pojo/ManageRiskAssessmentResults.java @@ -0,0 +1,103 @@ +package com.ruoyi.manage.pojo; + +import com.alibaba.excel.annotation.ExcelIgnore; +import com.alibaba.excel.annotation.ExcelProperty; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + * <p> + * 鍗遍櫓鍥犵礌杈ㄨ瘑涓庨闄╄瘎浠风粨鏋滀竴瑙堣〃 + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-15 02:58:51 + */ +@Getter +@Setter +@TableName("cnas_manage_risk_assessment_results") +@ApiModel(value = "ManageRiskAssessmentResults瀵硅薄", description = "鍗遍櫓鍥犵礌杈ㄨ瘑涓庨闄╄瘎浠风粨鏋滀竴瑙堣〃") +public class ManageRiskAssessmentResults implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId(value = "id", type = IdType.AUTO) + @ExcelIgnore + private Integer id; + + @ApiModelProperty("鍦扮偣/娲诲姩") + @ExcelProperty(value = "鍦扮偣/娲诲姩", index = 0) + private String venue; + + @ApiModelProperty("鍗遍櫓鍥犵礌") + @ExcelProperty(value = "鍗遍櫓鍥犵礌", index = 1) + private String hazard; + + @ApiModelProperty("鍙兘瀵艰嚧鐨勪簨鏁�") + @ExcelProperty(value = "鍙兘瀵艰嚧鐨勪簨鏁�", index = 2) + private String accidents; + + @ApiModelProperty("瀵逛汉鍙兘閫犳垚鐨勫嵄瀹�") + @ExcelProperty(value = "瀵逛汉鍙兘閫犳垚鐨勫嵄瀹�", index = 3) + private String injury; + + @ApiModelProperty("椋庨櫓璇勪环") + @ExcelProperty(value = {"椋庨櫓璇勪环", "L"}) + private String riskL; + + @ApiModelProperty("椋庨櫓璇勪环") + @ExcelProperty(value = {"椋庨櫓璇勪环", "E"}) + private String riskE; + + @ApiModelProperty("椋庨櫓璇勪环") + @ExcelProperty(value = {"椋庨櫓璇勪环", "C"}) + private String riskC; + + @ApiModelProperty("椋庨櫓璇勪环") + @ExcelProperty(value = {"椋庨櫓璇勪环", "D"}) + private String riskD; + + @ApiModelProperty("椋庨櫓绛夌骇") + @ExcelProperty(value = "椋庨櫓绛夌骇", index = 8) + private String level; + + @ApiModelProperty("璇勪环缁撹") + @ExcelProperty(value = "璇勪环缁撹", index = 9) + private String conclusion; + + @ApiModelProperty("鎺у埗鎺柦") + @ExcelProperty(value = "鎺у埗鎺柦", index = 10) + private String measures; + + @ApiModelProperty("缂栧埗id") + private Integer editor; + + @ApiModelProperty("缂栧埗鏃ユ湡") + private LocalDateTime editorDate; + + @ApiModelProperty("瀹℃壒浜篿d") + private Integer approval; + + @ApiModelProperty("瀹℃壒鏃ユ湡") + private LocalDateTime approvalDate; + + @ApiModelProperty("鎵瑰噯浜篿d") + private Integer approve; + + @ApiModelProperty("鎵瑰噯鏃ユ湡") + private LocalDateTime approveDate; + + @ApiModelProperty("鎵瑰噯鐘舵��1锛氶�氳繃锛�2锛氫笉閫氳繃") + private Integer approveStatus; + + @ApiModelProperty("瀹℃壒鐘舵��1锛氶�氳繃锛�2锛氫笉閫氳繃") + private Integer approvalStatus; +} diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/schedule/ManageRecordTotalSchedule.java b/cnas-manage/src/main/java/com/ruoyi/manage/schedule/ManageRecordTotalSchedule.java new file mode 100644 index 0000000..6cd870e --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/schedule/ManageRecordTotalSchedule.java @@ -0,0 +1,36 @@ +package com.ruoyi.manage.schedule; + +import com.ruoyi.manage.pojo.ManageRecordIntervalsTotal; +import com.ruoyi.manage.pojo.ManageRecordTotal; +import com.ruoyi.manage.service.ManageRecordIntervalsTotalService; +import com.ruoyi.manage.service.ManageRecordTotalService; +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 ManageRecordTotalSchedule { + + @Resource + private ManageRecordTotalService manageRecordTotalService; + + @Resource + private ManageRecordIntervalsTotalService manageRecordIntervalsTotalService; + + @Scheduled(cron = "0 0 2 1 1 ?") //姣忓勾1鏈�1鍙�2鐐� + public void manageRecordTotal() { + ManageRecordTotal manageRecordTotal = new ManageRecordTotal(); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy"); + Calendar calendar = Calendar.getInstance(); + String formattedDate = sdf.format(calendar.getTime()); + manageRecordTotal.setYear(formattedDate); + manageRecordTotalService.save(manageRecordTotal); + + ManageRecordIntervalsTotal manageRecordIntervalsTotal = new ManageRecordIntervalsTotal(); + manageRecordIntervalsTotal.setYear(formattedDate); + manageRecordIntervalsTotalService.save(manageRecordIntervalsTotal); + } +} diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/service/ClientSatisfactionService.java b/cnas-manage/src/main/java/com/ruoyi/manage/service/ClientSatisfactionService.java new file mode 100644 index 0000000..1620d88 --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/service/ClientSatisfactionService.java @@ -0,0 +1,59 @@ +package com.ruoyi.manage.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.manage.pojo.ClientSatisfaction; +import com.ruoyi.manage.pojo.ClientSatisfactionAnalyseFile; +import org.springframework.web.multipart.MultipartFile; + +import javax.servlet.http.HttpServletResponse; + +/** + * 瀹㈡埛婊℃剰搴� + * + * @author zhuo + * @since 2024-11-09 + */ +public interface ClientSatisfactionService extends IService<ClientSatisfaction> { + + /** + * 瀹㈡埛婊℃剰搴﹁皟鏌ュ垪琛� + * @param page + * @param clientSatisfaction + * @return + */ + IPage<ClientSatisfaction> pageClientSatisfaction(Page page, ClientSatisfaction clientSatisfaction); + + /** + * 鏂板瀹㈡埛鍒嗘瀽闄勪欢 + * @param file + * @return + */ + boolean uploadAnalyseFile(MultipartFile file); + + /** + * 鏌ヨ瀹㈡埛鍒嗘瀽闄勪欢 + * @param page + * @param analyseFile + * @return + */ + IPage<ClientSatisfactionAnalyseFile> pageAnalyseFile(Page page, ClientSatisfactionAnalyseFile analyseFile); + + /** + * 瀹㈡埛婊℃剰搴﹀鍑� + * + * @param clientSatisfactionId + * @param response + */ + void exportWordClientSatisfaction(Integer clientSatisfactionId, HttpServletResponse response); + + /** + * 纭瀹㈡埛婊℃剰搴� + * + * @param clientSatisfaction 瑕佷慨鏀瑰鎴锋弧鎰忓害鐨勭姸鎬佸璞� + * @param userId 淇敼浜篿d + */ + void confirmClientSatisfaction(ClientSatisfaction clientSatisfaction, Integer userId); +} + diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/service/InternalCheckDetailService.java b/cnas-manage/src/main/java/com/ruoyi/manage/service/InternalCheckDetailService.java new file mode 100644 index 0000000..acac9da --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/service/InternalCheckDetailService.java @@ -0,0 +1,15 @@ +package com.ruoyi.manage.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.manage.pojo.InternalCheckDetail; + +/** + * 鍐呭妫�鏌ヨ鎯呰〃 + * + * @author zhuo + * @since 2024-11-11 + */ +public interface InternalCheckDetailService extends IService<InternalCheckDetail> { + +} + diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/service/InternalCheckService.java b/cnas-manage/src/main/java/com/ruoyi/manage/service/InternalCheckService.java new file mode 100644 index 0000000..1d27f2e --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/service/InternalCheckService.java @@ -0,0 +1,69 @@ +package com.ruoyi.manage.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.manage.dto.InternalCheckDto; +import com.ruoyi.manage.pojo.InternalCheck; + +import javax.servlet.http.HttpServletResponse; + +/** + * 鍐呭妫�鏌ヨ〃 + * + * @author zhuo + * @since 2024-11-11 + */ +public interface InternalCheckService extends IService<InternalCheck> { + + /** + * 鍐呭妫�鏌ュ垎椤垫煡璇� + * @param page + * @param internalCheck + * @return + */ + IPage<InternalCheckDto> pageInternalCheck(Page page, InternalCheck internalCheck); + + /** + * 鍐呭妫�鏌ユ柊澧� + * @param internalCheck + * @return + */ + boolean addInternalCheck(InternalCheckDto internalCheck); + + /** + * 鍐呭妫�鏌ヤ慨鏀� + * @param internalCheck + * @return + */ + boolean updateInternalCheck(InternalCheckDto internalCheck); + + /** + * 鍐呭妫�鏌ュ垹闄� + * @param checkId + * @return + */ + boolean delInternalCheck(Integer checkId); + + /** + * 鍐呭妫�鏌ユ煡鐪嬭鎯� + * @param checkId + * @return + */ + InternalCheckDto getInternalCheckOne(Integer checkId); + + /** + * 鍐呭妫�鏌ユ壒鍑� + * @param internalCheck + * @return + */ + boolean ratifyInternalCheck(InternalCheckDto internalCheck); + + /** + * 瀵煎嚭鍐呭妫�鏌� + * @param checkId + * @param response + */ + void exportInternalCheck(Integer checkId, HttpServletResponse response); +} + diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/service/InternalCorrectFileService.java b/cnas-manage/src/main/java/com/ruoyi/manage/service/InternalCorrectFileService.java new file mode 100644 index 0000000..630c7c5 --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/service/InternalCorrectFileService.java @@ -0,0 +1,16 @@ +package com.ruoyi.manage.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.manage.pojo.InternalCorrectFile; + +/** + * <p> + * 鍐呭绠$悊绾犳鎺柦闄勪欢琛� 鏈嶅姟绫� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-13 04:00:38 + */ +public interface InternalCorrectFileService extends IService<InternalCorrectFile> { + +} diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/service/InternalCorrectService.java b/cnas-manage/src/main/java/com/ruoyi/manage/service/InternalCorrectService.java new file mode 100644 index 0000000..de59e8c --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/service/InternalCorrectService.java @@ -0,0 +1,66 @@ +package com.ruoyi.manage.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.manage.pojo.InternalCorrect; +import com.ruoyi.manage.pojo.InternalCorrectFile; +import org.springframework.web.multipart.MultipartFile; + +import javax.servlet.http.HttpServletResponse; +import java.util.List; + +/** + * <p> + * 鍐呭绠$悊绾犳澶勭悊琛� 鏈嶅姟绫� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-13 04:00:15 + */ +public interface InternalCorrectService extends IService<InternalCorrect> { + + /** + * 鏂板鍐呭绠$悊绾犳澶勭悊淇℃伅 + * @param InternalAccording + * @return + */ + boolean addInternalCorrect(InternalCorrect InternalAccording); + + /** + * 鏌ヨ鍐呭绠$悊绾犳澶勭悊 + * @param correctId + * @return + */ + InternalCorrect getInternalCorrect(Integer correctId); + + /** + * 鏌ヨ鍐呭绠$悊绾犳鎺柦鍒楄〃 + * @param page + * @param detailsCorrect + * @return + */ + IPage<InternalCorrect> pageInternalCorrect(Page page, InternalCorrect detailsCorrect); + + /** + * 鏂板鍐呭绠$悊绾犳鎺柦闄勪欢 + * @param correctId + * @param file + * @return + */ + boolean uploadInternalCorrectFile(Integer correctId, MultipartFile file); + + /** + * 鏌ヨ鍐呭绠$悊绾犳鎺柦闄勪欢 + * @param correctId + * @return + */ + List<InternalCorrectFile> getInternalCorrectFileList(Integer correctId); + + /** + * 瀵煎嚭绾犳鎺柦 + * @param correctId + * @param response + */ + void exportInternalCorrect(Integer correctId, HttpServletResponse response); +} diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/service/InternalImplementDetailService.java b/cnas-manage/src/main/java/com/ruoyi/manage/service/InternalImplementDetailService.java new file mode 100644 index 0000000..fe6b57f --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/service/InternalImplementDetailService.java @@ -0,0 +1,15 @@ +package com.ruoyi.manage.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.manage.pojo.InternalImplementDetail; + +/** + * 鍐呭瀹炴柦璁″垝璇︽儏 + * + * @author makejava + * @since 2024-11-11 + */ +public interface InternalImplementDetailService extends IService<InternalImplementDetail> { + +} + diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/service/InternalImplementService.java b/cnas-manage/src/main/java/com/ruoyi/manage/service/InternalImplementService.java new file mode 100644 index 0000000..7a59577 --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/service/InternalImplementService.java @@ -0,0 +1,69 @@ +package com.ruoyi.manage.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.manage.dto.InternalImplementDto; +import com.ruoyi.manage.pojo.InternalImplement; + +import javax.servlet.http.HttpServletResponse; + +/** + * 鍐呭瀹炴柦璁″垝 + * + * @author zhuo + * @since 2024-11-11 + */ +public interface InternalImplementService extends IService<InternalImplement> { + + /** + * 鍐呭瀹炴柦璁″垝鍒嗛〉鏌ヨ + * @param page + * @param internalImplement + * @return + */ + IPage<InternalImplementDto> pageInternalImplement(Page page, InternalImplement internalImplement); + + /** + * 鍐呭瀹炴柦璁″垝鏂板 + * @param internalImplement + * @return + */ + boolean addInternalImplement(InternalImplementDto internalImplement); + + /** + * 鍐呭瀹炴柦璁″垝淇敼 + * @param internalImplement + * @return + */ + boolean updateInternalImplement(InternalImplementDto internalImplement); + + /** + * 鍐呭瀹炴柦璁″垝鍒犻櫎 + * @param implementId + * @return + */ + boolean delInternalImplement(Integer implementId); + + /** + * 鍐呭瀹炴柦璁″垝鏌ョ湅璇︽儏 + * @param implementId + * @return + */ + InternalImplementDto getInternalImplementOne(Integer implementId); + + /** + * 鍐呭瀹炴柦璁″垝鎵瑰噯 + * @param internalImplement + * @return + */ + boolean ratifyInternalImplement(InternalImplementDto internalImplement); + + /** + * 瀵煎嚭鍐呭瀹炴柦璁″垝 + * @param implementId + * @param response + */ + void exportInternalImplement(Integer implementId, HttpServletResponse response); +} + diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/service/InternalMeetingDetailService.java b/cnas-manage/src/main/java/com/ruoyi/manage/service/InternalMeetingDetailService.java new file mode 100644 index 0000000..9878594 --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/service/InternalMeetingDetailService.java @@ -0,0 +1,16 @@ +package com.ruoyi.manage.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.manage.pojo.InternalMeetingDetail; + +/** + * <p> + * 鍐呭浼氳璇︽儏琛� 鏈嶅姟绫� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-12 02:56:13 + */ +public interface InternalMeetingDetailService extends IService<InternalMeetingDetail> { + +} diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/service/InternalMeetingService.java b/cnas-manage/src/main/java/com/ruoyi/manage/service/InternalMeetingService.java new file mode 100644 index 0000000..39f476f --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/service/InternalMeetingService.java @@ -0,0 +1,63 @@ +package com.ruoyi.manage.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.manage.dto.InternalMeetingDto; +import com.ruoyi.manage.pojo.InternalMeeting; + +import javax.servlet.http.HttpServletResponse; + +/** + * <p> + * 鍐呭浼氳琛� 鏈嶅姟绫� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-12 02:50:44 + */ +public interface InternalMeetingService extends IService<InternalMeeting> { + + /** + * 鍐呭浼氳鍒嗛〉鏌ヨ + * @param page + * @param internalMeeting + * @return + */ + IPage<InternalMeetingDto> pageInternalMeeting(Page page, InternalMeeting internalMeeting); + + /** + * 鍐呭浼氳鏂板 + * @param internalMeeting + * @return + */ + boolean addInternalMeeting(InternalMeetingDto internalMeeting); + + /** + * 鍐呭浼氳淇敼 + * @param internalMeeting + * @return + */ + boolean updateInternalMeeting(InternalMeetingDto internalMeeting); + + /** + * 鍐呭浼氳鍒犻櫎 + * @param meetingId + * @return + */ + boolean delInternalMeeting(Integer meetingId); + + /** + * 鍐呭浼氳鏌ョ湅璇︽儏 + * @param meetingId + * @return + */ + InternalMeetingDto getInternalMeetingOne(Integer meetingId); + + /** + * 瀵煎嚭鍐呭浼氳 + * @param meetingId + * @param response + */ + void exportInternalMeeting(Integer meetingId, HttpServletResponse response); +} diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/service/InternalPlanDetailService.java b/cnas-manage/src/main/java/com/ruoyi/manage/service/InternalPlanDetailService.java new file mode 100644 index 0000000..4cb521f --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/service/InternalPlanDetailService.java @@ -0,0 +1,16 @@ +package com.ruoyi.manage.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.manage.pojo.InternalPlanDetail; + +/** + * <p> + * 鍐呭骞村害璁″垝璇︽儏琛� 鏈嶅姟绫� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-13 03:28:48 + */ +public interface InternalPlanDetailService extends IService<InternalPlanDetail> { + +} diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/service/InternalPlanService.java b/cnas-manage/src/main/java/com/ruoyi/manage/service/InternalPlanService.java new file mode 100644 index 0000000..f3ceb41 --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/service/InternalPlanService.java @@ -0,0 +1,77 @@ +package com.ruoyi.manage.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.manage.dto.InternalPlanDto; +import com.ruoyi.manage.pojo.InternalPlan; + +import javax.servlet.http.HttpServletResponse; + +/** + * <p> + * 鍐呭骞村害璁″垝 鏈嶅姟绫� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-13 03:27:47 + */ +public interface InternalPlanService extends IService<InternalPlan> { + + /** + * 鍐呭骞村害璁″垝鍒嗛〉鏌ヨ + * @param page + * @param internalPlan + * @return + */ + IPage<InternalPlanDto> pageInternalPlan(Page page, InternalPlan internalPlan); + + /** + * 鍐呭骞村害璁″垝鏂板 + * @param internalPlan + * @return + */ + boolean addInternalPlan(InternalPlanDto internalPlan); + + /** + * 鍐呭骞村害璁″垝淇敼 + * @param internalPlan + * @return + */ + boolean updateInternalPlan(InternalPlanDto internalPlan); + + /** + * 鍐呭骞村害璁″垝鍒犻櫎 + * @param planId + * @return + */ + boolean delInternalPlan(Integer planId); + + /** + * 鍐呭骞村害璁″垝鏌ョ湅璇︽儏 + * @param planId + * @return + */ + InternalPlanDto getInternalPlanOne(Integer planId); + + /** + * 鍐呭骞村害璁″垝瀹℃牳 + * @param internalPlanDto + * @return + */ + boolean examineInternalPlan(InternalPlanDto internalPlanDto); + + /** + * 鍐呭骞村害璁″垝鎵瑰噯 + * @param internalPlanDto + * @return + */ + boolean ratifyInternalPlan(InternalPlanDto internalPlanDto); + + /** + * 瀵煎嚭鍐呭骞村害璁″垝 + * @param planId + * @param response + */ + void exportInternalImplement(Integer planId, HttpServletResponse response); +} diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/service/InternalReportService.java b/cnas-manage/src/main/java/com/ruoyi/manage/service/InternalReportService.java new file mode 100644 index 0000000..9216392 --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/service/InternalReportService.java @@ -0,0 +1,47 @@ +package com.ruoyi.manage.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.manage.pojo.InternalReport; + +import javax.servlet.http.HttpServletResponse; + +/** + * 鍐呭鎶ュ憡琛� + * + * @author zhuo + * @since 2024-11-11 + */ +public interface InternalReportService extends IService<InternalReport> { + + /** + * 鍐呭鎶ュ憡鍒嗛〉鏌ヨ + * @param page + * @param internalReport + * @return + */ + IPage<InternalReport> pageInternalReport(Page page, InternalReport internalReport); + + /** + * 鍐呭鎶ュ憡瀹℃牳 + * @param internalReport + * @return + */ + boolean ratifyInternalCheck(InternalReport internalReport); + + /** + * 璐ㄩ噺閮ㄧ粡鐞嗗~鍐� + * @param internalReport + * @return + */ + boolean qualityInternalReport(InternalReport internalReport); + + /** + * 瀵煎嚭鍐呭鎶ュ憡 + * @param reportId + * @param response + */ + void exportInternalReport(Integer reportId, HttpServletResponse response); +} + diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/service/ManageControlPlanListService.java b/cnas-manage/src/main/java/com/ruoyi/manage/service/ManageControlPlanListService.java new file mode 100644 index 0000000..4f92344 --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/service/ManageControlPlanListService.java @@ -0,0 +1,24 @@ +package com.ruoyi.manage.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.manage.pojo.ManageControlPlanList; +import com.ruoyi.manage.vo.ManageControlPlanListVo; + +import javax.servlet.http.HttpServletResponse; + +/** + * <p> + * 閲嶅ぇ椋庨櫓鍥犵礌鍒嗘瀽鍙婃帶鍒惰鍒掓竻鍗� 鏈嶅姟绫� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-15 02:58:30 + */ +public interface ManageControlPlanListService extends IService<ManageControlPlanList> { + + IPage<ManageControlPlanListVo> getPageList(Page page); + + void exportPersonTraining(HttpServletResponse response); +} diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/service/ManageDocumentAlterService.java b/cnas-manage/src/main/java/com/ruoyi/manage/service/ManageDocumentAlterService.java new file mode 100644 index 0000000..6fc706a --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/service/ManageDocumentAlterService.java @@ -0,0 +1,36 @@ +package com.ruoyi.manage.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.manage.pojo.ManageDocumentAlter; + +import javax.servlet.http.HttpServletResponse; +import java.util.Map; + +/** + * <p> + * 鏂囦欢鍙樻洿 鏈嶅姟绫� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-11 11:04:01 + */ +public interface ManageDocumentAlterService extends IService<ManageDocumentAlter> { + + IPage<ManageDocumentAlter> pageManageDocumentAlter(Page page, ManageDocumentAlter manageDocumentAlter); + + ManageDocumentAlter getManageDocumentAlter(Integer id); + + int addManageDocumentAlter(ManageDocumentAlter manageDocumentAlter); + + int doManageDocumentAlter(ManageDocumentAlter manageDocumentAlter); + + int checkManageDocumentAlter(ManageDocumentAlter manageDocumentAlter); + + void checkManageDocumentAlterPdf(Long id, HttpServletResponse response) throws Exception; + + void exportManageDocumentAlter(ManageDocumentAlter manageDocumentAlter, HttpServletResponse response) throws Exception; + + int delManageDocumentAlter(Integer id); +} diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/service/ManageDocumentCancelService.java b/cnas-manage/src/main/java/com/ruoyi/manage/service/ManageDocumentCancelService.java new file mode 100644 index 0000000..541beb6 --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/service/ManageDocumentCancelService.java @@ -0,0 +1,34 @@ +package com.ruoyi.manage.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.manage.pojo.ManageDocumentCancel; + +import javax.servlet.http.HttpServletResponse; +import java.util.Map; + +/** + * <p> + * 鏂囦欢浣滃簾 鏈嶅姟绫� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-09 02:37:35 + */ +public interface ManageDocumentCancelService extends IService<ManageDocumentCancel> { + + IPage<ManageDocumentCancel> pageManageDocumentCancel(Page page, ManageDocumentCancel manageDocumentCancel); + + int addManageDocumentCancel(ManageDocumentCancel manageDocumentCancel); + + int checkManageDocumentCancel(Integer id, String state); + + ManageDocumentCancel getManageDocumentCancel(Integer id); + + void exportManageDocumentCancel(ManageDocumentCancel manageDocumentCancel, HttpServletResponse response) throws Exception; + + int delManageDocumentCancel(Integer id); + + int doManageDocumentCancel(ManageDocumentCancel manageDocumentCancel); +} diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/service/ManageDocumentControlledService.java b/cnas-manage/src/main/java/com/ruoyi/manage/service/ManageDocumentControlledService.java new file mode 100644 index 0000000..b252cfa --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/service/ManageDocumentControlledService.java @@ -0,0 +1,34 @@ +package com.ruoyi.manage.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.manage.pojo.ManageDocumentControlled; + +import javax.servlet.http.HttpServletResponse; +import java.util.Map; + +/** + * <p> + * 鏂囦欢鍙楁帶 鏈嶅姟绫� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-08 02:54:44 + */ +public interface ManageDocumentControlledService extends IService<ManageDocumentControlled> { + + IPage<ManageDocumentControlled> pageManageDocumentControlled(Page page, ManageDocumentControlled manageDocumentControlled); + + int addManageDocumentControlled(ManageDocumentControlled manageDocumentControlled); + + int delManageDocumentControlled(Long id); + + ManageDocumentControlled getManageDocumentControlled(Long id); + + int doManageDocumentControlled(ManageDocumentControlled manageDocumentControlled); + + int checkManageDocumentControlled(ManageDocumentControlled manageDocumentControlled); + + void checkManageDocumentControlledPdf(Long id, HttpServletResponse response) throws Exception ; +} diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/service/ManageDocumentIssueRecycleService.java b/cnas-manage/src/main/java/com/ruoyi/manage/service/ManageDocumentIssueRecycleService.java new file mode 100644 index 0000000..de41b15 --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/service/ManageDocumentIssueRecycleService.java @@ -0,0 +1,35 @@ +package com.ruoyi.manage.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.manage.dto.ManageDocumentIssueRecycleDto; +import com.ruoyi.manage.pojo.ManageDocumentIssueRecycle; + +import javax.servlet.http.HttpServletResponse; +import java.util.Map; + +/** + * <p> + * 鏂囦欢鍙戞斁鍥炴敹 鏈嶅姟绫� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-09 09:18:24 + */ +public interface ManageDocumentIssueRecycleService extends IService<ManageDocumentIssueRecycle> { + + IPage<ManageDocumentIssueRecycleDto> pageManageDocumentIssueRecycle(Page page, ManageDocumentIssueRecycleDto manageDocumentIssueRecycleDto); + + ManageDocumentIssueRecycleDto getManageDocumentIssueRecycle(Long id); + + void exportManageDocumentIssueRecycle(ManageDocumentIssueRecycleDto manageDocumentIssueRecycleDto, HttpServletResponse response) throws Exception; + + int checkManageDocumentIssueRecycle(Integer id, String documentState); + + int addManageDocumentIssueRecycle(ManageDocumentIssueRecycle manageDocumentIssueRecycle); + + int doManageDocumentIssueRecycle(ManageDocumentIssueRecycle manageDocumentIssueRecycle); + + int delManageDocumentIssueRecycle(Long id); +} diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/service/ManageDocumentListService.java b/cnas-manage/src/main/java/com/ruoyi/manage/service/ManageDocumentListService.java new file mode 100644 index 0000000..f946228 --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/service/ManageDocumentListService.java @@ -0,0 +1,29 @@ +package com.ruoyi.manage.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.manage.pojo.ManageDocumentList; +import org.springframework.web.multipart.MultipartFile; + +import java.util.List; +import java.util.Map; + +/** + * <p> + * 鏂囦欢娓呭崟 + 鏈嶅姟绫� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-08 11:08:11 + */ +public interface ManageDocumentListService extends IService<ManageDocumentList> { + + IPage<ManageDocumentList> pageManageDocumentList(Page page, ManageDocumentList manageDocumentList); + + int uploadFile(Integer id, MultipartFile file); + + void importExcel(List<ManageDocumentList> list); + +} diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/service/ManageMeetingParticipantsService.java b/cnas-manage/src/main/java/com/ruoyi/manage/service/ManageMeetingParticipantsService.java new file mode 100644 index 0000000..d1800bf --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/service/ManageMeetingParticipantsService.java @@ -0,0 +1,20 @@ +package com.ruoyi.manage.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.manage.pojo.ManageMeetingParticipants; +import com.ruoyi.manage.vo.MeetingParticipantsDetailsVo; + +/** + * <p> + * 鏈嶅姟绫� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-11 09:34:27 + */ +public interface ManageMeetingParticipantsService extends IService<ManageMeetingParticipants> { + + + + MeetingParticipantsDetailsVo getParticipants(Integer id); +} diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/service/ManageMeetingService.java b/cnas-manage/src/main/java/com/ruoyi/manage/service/ManageMeetingService.java new file mode 100644 index 0000000..19b277f --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/service/ManageMeetingService.java @@ -0,0 +1,28 @@ +package com.ruoyi.manage.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.manage.dto.ManageMeetingDto; +import com.ruoyi.manage.pojo.ManageMeeting; + +import javax.servlet.http.HttpServletResponse; + +/** + * <p> + * 鏈嶅姟绫� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-11 09:33:47 + */ +public interface ManageMeetingService extends IService<ManageMeeting> { + + IPage<ManageMeetingDto> page(Page page, String startTime, String endTime, String place); + + void addMeeting(ManageMeetingDto dto); + + int modifyMeeting(ManageMeetingDto manageMeetingDto); + + void exportMeeting(Integer id, HttpServletResponse response); +} diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/service/ManageRecordAuditService.java b/cnas-manage/src/main/java/com/ruoyi/manage/service/ManageRecordAuditService.java new file mode 100644 index 0000000..1154b05 --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/service/ManageRecordAuditService.java @@ -0,0 +1,30 @@ +package com.ruoyi.manage.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.manage.pojo.ManageRecordAudit; + +import javax.servlet.http.HttpServletResponse; +import java.util.Map; + +/** + * <p> + * 鏂囦欢淇鐢宠瀹℃壒璁板綍 鏈嶅姟绫� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-14 10:29:18 + */ +public interface ManageRecordAuditService extends IService<ManageRecordAudit> { + + IPage<ManageRecordAudit> pageManageRecordAudit(Page page, ManageRecordAudit manageRecordAudit); + + int addManageRecordAudit(ManageRecordAudit manageRecordAudit); + + int doManageRecordAudit(ManageRecordAudit manageRecordAudit); + + int ratifyManageRecordAudit(Integer id); + + String exportOutManageRecordAudit(ManageRecordAudit manageRecordAudit, HttpServletResponse response); +} diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/service/ManageRecordCancelService.java b/cnas-manage/src/main/java/com/ruoyi/manage/service/ManageRecordCancelService.java new file mode 100644 index 0000000..3d5b4ff --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/service/ManageRecordCancelService.java @@ -0,0 +1,29 @@ +package com.ruoyi.manage.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.manage.pojo.ManageRecordCancel; +import org.springframework.web.multipart.MultipartFile; + +import javax.servlet.http.HttpServletResponse; +import java.util.Map; + +/** + * <p> + * 浣滃簾鏂囦欢閿�榄傝褰� 鏈嶅姟绫� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-13 01:27:22 + */ +public interface ManageRecordCancelService extends IService<ManageRecordCancel> { + + IPage<ManageRecordCancel> pageManageRecordCancel(Page page, ManageRecordCancel manageRecordCancel); + + int ratifyManageRecordCancel(Integer id, String ratifyState); + + String exportOutManageRecordCancel(ManageRecordCancel manageRecordCancel, HttpServletResponse response); + + int exportInManageRecordCancel(MultipartFile file); +} diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/service/ManageRecordCheckService.java b/cnas-manage/src/main/java/com/ruoyi/manage/service/ManageRecordCheckService.java new file mode 100644 index 0000000..78a0bc1 --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/service/ManageRecordCheckService.java @@ -0,0 +1,32 @@ +package com.ruoyi.manage.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.manage.pojo.ManageRecordCheck; +import org.springframework.web.multipart.MultipartFile; + +import javax.servlet.http.HttpServletResponse; +import java.util.Map; + +/** + * <p> + * 鏂囦欢瀹℃壒璁板綍(鍚慨璁㈠悗鍐嶆瀹℃壒璁板綍) 鏈嶅姟绫� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-12 02:31:36 + */ +public interface ManageRecordCheckService extends IService<ManageRecordCheck> { + + IPage<ManageRecordCheck> pageManageRecordCheck(Page page, ManageRecordCheck manageRecordCheck); + + int checkManageRecordCheck(Integer id, String checkState); + + int ratifyManageRecordCheck(Integer id, String ratifyState); + + String exportOutManageRecordCheck(ManageRecordCheck manageRecordCheck, HttpServletResponse response); + + int exportInManageRecordCheck(MultipartFile file); + +} diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/service/ManageRecordIntervalsService.java b/cnas-manage/src/main/java/com/ruoyi/manage/service/ManageRecordIntervalsService.java new file mode 100644 index 0000000..a09519a --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/service/ManageRecordIntervalsService.java @@ -0,0 +1,31 @@ +package com.ruoyi.manage.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.manage.pojo.ManageRecordIntervals; +import org.springframework.web.multipart.MultipartFile; + +import javax.servlet.http.HttpServletResponse; +import java.util.Map; + +/** + * <p> + * 鏂囦欢瀹氭湡瀹℃煡璁板綍 鏈嶅姟绫� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-13 10:54:31 + */ +public interface ManageRecordIntervalsService extends IService<ManageRecordIntervals> { + + IPage<ManageRecordIntervals> pageManageRecordIntervals(Page page, ManageRecordIntervals manageRecordIntervals); + + String exportOutManageRecordIntervals(ManageRecordIntervals manageRecordIntervals, HttpServletResponse response); + + int exportInManageRecordIntervals(MultipartFile file); + + int addManageRecordIntervals(ManageRecordIntervals manageRecordIntervals); + + int delManageRecordIntervals(Integer id); +} diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/service/ManageRecordIntervalsTotalService.java b/cnas-manage/src/main/java/com/ruoyi/manage/service/ManageRecordIntervalsTotalService.java new file mode 100644 index 0000000..bfa40ee --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/service/ManageRecordIntervalsTotalService.java @@ -0,0 +1,25 @@ +package com.ruoyi.manage.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.manage.pojo.ManageRecordIntervalsTotal; + +import java.util.Map; + +/** + * <p> + * 鏂囦欢瀹氭湡瀹℃煡璁板綍鎬诲巻鍙茶褰曡〃 鏈嶅姟绫� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-15 01:12:11 + */ +public interface ManageRecordIntervalsTotalService extends IService<ManageRecordIntervalsTotal> { + + IPage<ManageRecordIntervalsTotal> pageManageRecordIntervalsTotal(Page page, ManageRecordIntervalsTotal manageRecordIntervalsTotal); + + int submitManageRecordIntervalsTotal(Integer id); + + int ratifyManageRecordIntervalsTotal(Integer id, String ratifyState); +} diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/service/ManageRecordIssueRecycleService.java b/cnas-manage/src/main/java/com/ruoyi/manage/service/ManageRecordIssueRecycleService.java new file mode 100644 index 0000000..66cd965 --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/service/ManageRecordIssueRecycleService.java @@ -0,0 +1,31 @@ +package com.ruoyi.manage.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.manage.pojo.ManageRecordIssueRecycle; +import org.springframework.web.multipart.MultipartFile; + +import javax.servlet.http.HttpServletResponse; +import java.util.Map; + +/** + * <p> + * 鎵�鏈夋枃浠�(鍐呫�佸閮ㄦ枃浠�)鐨勫彂鏀句笌鍥炴敹璁板綍 鏈嶅姟绫� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-13 09:11:05 + */ +public interface ManageRecordIssueRecycleService extends IService<ManageRecordIssueRecycle> { + + IPage<ManageRecordIssueRecycle> pageManageRecordIssueRecycle(Page page, ManageRecordIssueRecycle manageRecordIssueRecycle); + + String exportOutManageRecordIssueRecycle(ManageRecordIssueRecycle manageRecordIssueRecycle, HttpServletResponse response); + + int exportInManageRecordIssueRecycle(MultipartFile file); + + int addManageRecordIssueRecycle(ManageRecordIssueRecycle manageRecordIssueRecycle); + + int doManageRecordIssueRecycle(ManageRecordIssueRecycle manageRecordIssueRecycle); +} diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/service/ManageRecordTotalService.java b/cnas-manage/src/main/java/com/ruoyi/manage/service/ManageRecordTotalService.java new file mode 100644 index 0000000..c757186 --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/service/ManageRecordTotalService.java @@ -0,0 +1,25 @@ +package com.ruoyi.manage.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.manage.pojo.ManageRecordTotal; + +import java.util.Map; + +/** + * <p> + * 澶栨潵鏂囦欢纭璁板綍鎬诲巻鍙茶褰曡〃 鏈嶅姟绫� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-12 10:30:08 + */ +public interface ManageRecordTotalService extends IService<ManageRecordTotal> { + + IPage<ManageRecordTotal> pageManageRecordTotal(Page page, ManageRecordTotal manageRecordTotal); + + int submitManageRecordTotal(Integer id); + + int ratifyManageRecordTotal(Integer id, String ratifyState); +} diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/service/ManageRecordVerifyService.java b/cnas-manage/src/main/java/com/ruoyi/manage/service/ManageRecordVerifyService.java new file mode 100644 index 0000000..eb195f1 --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/service/ManageRecordVerifyService.java @@ -0,0 +1,28 @@ +package com.ruoyi.manage.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.manage.pojo.ManageRecordVerify; +import org.springframework.web.multipart.MultipartFile; + +import java.util.Map; + +/** + * <p> + * 澶栨潵鏂囦欢纭璁板綍 鏈嶅姟绫� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-12 10:29:44 + */ +public interface ManageRecordVerifyService extends IService<ManageRecordVerify> { + + IPage<ManageRecordVerify> pageManageRecordVerify(Page page, ManageRecordVerify manageRecordVerify); + + int addManageRecordVerify(ManageRecordVerify manageRecordVerify); + + int delManageRecordVerify(Integer id); + + int exportManageRecordVerify(MultipartFile file); +} diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/service/ManageReviewProgramFileService.java b/cnas-manage/src/main/java/com/ruoyi/manage/service/ManageReviewProgramFileService.java new file mode 100644 index 0000000..63c1c27 --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/service/ManageReviewProgramFileService.java @@ -0,0 +1,22 @@ +package com.ruoyi.manage.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.manage.pojo.ManageReviewProgramFile; +import com.ruoyi.manage.vo.ReviewProgramDetailsVo; +import org.springframework.web.multipart.MultipartFile; + +/** + * <p> + * 鏈嶅姟绫� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-09 04:15:47 + */ +public interface ManageReviewProgramFileService extends IService<ManageReviewProgramFile> { + + ReviewProgramDetailsVo selectFile(Integer id); + + + void addFile(MultipartFile file,Integer id); +} diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/service/ManageReviewProgramService.java b/cnas-manage/src/main/java/com/ruoyi/manage/service/ManageReviewProgramService.java new file mode 100644 index 0000000..2c51c76 --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/service/ManageReviewProgramService.java @@ -0,0 +1,25 @@ +package com.ruoyi.manage.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.manage.pojo.ManageReviewProgram; + +import javax.servlet.http.HttpServletResponse; + +/** + * <p> + * 鏈嶅姟绫� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-09 03:05:42 + */ +public interface ManageReviewProgramService extends IService<ManageReviewProgram> { + + IPage<ManageReviewProgram> page(Page page,String startTime,String endTime, String judgingLocation); + + void exportReviewProgram(Integer id, HttpServletResponse response); + + int addReviewProgram(ManageReviewProgram manageReviewProgram); +} diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/service/ManageReviewReportService.java b/cnas-manage/src/main/java/com/ruoyi/manage/service/ManageReviewReportService.java new file mode 100644 index 0000000..43152a4 --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/service/ManageReviewReportService.java @@ -0,0 +1,24 @@ +package com.ruoyi.manage.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.manage.pojo.ManageReviewReport; + +import javax.servlet.http.HttpServletResponse; + +/** + * <p> + * 绠$悊璇勫鎶ュ憡 鏈嶅姟绫� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-12 04:44:39 + */ +public interface ManageReviewReportService extends IService<ManageReviewReport> { + + + IPage<ManageReviewReport> page(Page page, String startTime, String endTime, String place); + + void exportReviewReport(Integer id, HttpServletResponse response); +} diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/service/ManageRiskAssessmentResultsService.java b/cnas-manage/src/main/java/com/ruoyi/manage/service/ManageRiskAssessmentResultsService.java new file mode 100644 index 0000000..e8961e9 --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/service/ManageRiskAssessmentResultsService.java @@ -0,0 +1,24 @@ +package com.ruoyi.manage.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.manage.pojo.ManageRiskAssessmentResults; +import com.ruoyi.manage.vo.ManageRiskAssessmentResultsVo; + +import javax.servlet.http.HttpServletResponse; + +/** + * <p> + * 鍗遍櫓鍥犵礌杈ㄨ瘑涓庨闄╄瘎浠风粨鏋滀竴瑙堣〃 鏈嶅姟绫� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-15 02:58:51 + */ +public interface ManageRiskAssessmentResultsService extends IService<ManageRiskAssessmentResults> { + + IPage<ManageRiskAssessmentResultsVo> getPageResults(Page page); + + void exportPersonTraining(HttpServletResponse response); +} diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/service/impl/ClientSatisfactionServiceImpl.java b/cnas-manage/src/main/java/com/ruoyi/manage/service/impl/ClientSatisfactionServiceImpl.java new file mode 100644 index 0000000..dbcaeca --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/service/impl/ClientSatisfactionServiceImpl.java @@ -0,0 +1,188 @@ +package com.ruoyi.manage.service.impl; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.StringUtils; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.deepoove.poi.XWPFTemplate; +import com.deepoove.poi.config.Configure; +import com.deepoove.poi.config.ConfigureBuilder; +import com.deepoove.poi.data.Pictures; +import com.ruoyi.common.core.domain.entity.User; +import com.ruoyi.common.utils.QueryWrappers; +import com.ruoyi.framework.exception.ErrorException; +import com.ruoyi.manage.dto.ClientSatisfactionDto; +import com.ruoyi.manage.mapper.ClientSatisfactionAnalyseFileMapper; +import com.ruoyi.manage.mapper.ClientSatisfactionMapper; +import com.ruoyi.manage.pojo.ClientSatisfaction; +import com.ruoyi.manage.pojo.ClientSatisfactionAnalyseFile; +import com.ruoyi.manage.service.ClientSatisfactionService; +import com.ruoyi.system.mapper.UserMapper; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Service; +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import java.io.File; +import java.io.InputStream; +import java.io.OutputStream; +import java.net.URLEncoder; +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; +import java.util.HashMap; +import org.springframework.web.multipart.MultipartFile; + +/** + * 瀹㈡埛婊℃剰搴� + * + * @author zhuo + * @since 2024-11-09 + */ +@Service +public class ClientSatisfactionServiceImpl extends ServiceImpl<ClientSatisfactionMapper, ClientSatisfaction> implements ClientSatisfactionService { + + @Resource + private ClientSatisfactionAnalyseFileMapper clientSatisfactionAnalyseFileMapper; + + @Resource + private UserMapper userMapper; + + @Value("${file.path}") + private String imgUrl; + + @Value("${wordUrl}") + private String wordUrl; + + /** + * 瀹㈡埛婊℃剰搴﹁皟鏌ュ垪琛� + * + * @param page + * @param clientSatisfaction + * @return + */ + @Override + public IPage<ClientSatisfaction> pageClientSatisfaction(Page page, ClientSatisfaction clientSatisfaction) { + return baseMapper.pageClientSatisfaction(page, QueryWrappers.queryWrappers(clientSatisfaction)); + } + + /** + * 鏂板瀹㈡埛鍒嗘瀽闄勪欢 + * + * @param file + * @return + */ + @Override + public boolean uploadAnalyseFile(MultipartFile file) { + + String urlString; + String pathName; + String path; + String filename = file.getOriginalFilename(); + String contentType = file.getContentType(); + ClientSatisfactionAnalyseFile analyseFile = new ClientSatisfactionAnalyseFile(); + analyseFile.setFileName(filename); + if (contentType != null && contentType.startsWith("image/")) { + // 鏄浘鐗� + path = imgUrl; + analyseFile.setType(1); + } else { + // 鏄枃浠� + path = wordUrl; + analyseFile.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)); + analyseFile.setFileUrl(pathName); + clientSatisfactionAnalyseFileMapper.insert(analyseFile); + return true; + } catch (Exception e) { + e.printStackTrace(); + throw new ErrorException(e.getMessage()); + } + } + + /** + * 鏌ヨ瀹㈡埛鍒嗘瀽闄勪欢 + * + * @param page + * @param analyseFile + * @return + */ + @Override + public IPage<ClientSatisfactionAnalyseFile> pageAnalyseFile(Page page, ClientSatisfactionAnalyseFile analyseFile) { + return clientSatisfactionAnalyseFileMapper.pageAnalyseFile(page, QueryWrappers.queryWrappers(analyseFile)); + } + + /** + * 瀹㈡埛婊℃剰搴﹀鍑� + * + * @param clientSatisfactionId + * @param response + */ + @Override + public void exportWordClientSatisfaction(Integer clientSatisfactionId, HttpServletResponse response) { + // 鏌ヨ瀹㈡埛婊℃剰搴﹁皟鏌� + ClientSatisfactionDto clientSatisfaction = baseMapper.exportWordClientSatisfaction(clientSatisfactionId); + if (clientSatisfaction == null) { + throw new RuntimeException("瀹㈡埛婊℃剰搴﹁皟鏌ヤ笉瀛樺湪"); + } + + // 鏌ヨ纭浜虹殑绛惧悕 + String confirmPersonUrl = null; + // 鐘舵�佷负纭涓旂‘璁や汉涓嶄负绌� + if (clientSatisfaction.getConfirmStatus() != null && clientSatisfaction.getConfirmStatus() != 0 && clientSatisfaction.getConfirmPersonId() != null) { + confirmPersonUrl = userMapper.selectById(clientSatisfaction.getConfirmPersonId()).getSignatureUrl(); + if (StringUtils.isBlank(confirmPersonUrl)) { + throw new ErrorException("鎵句笉鍒伴獙璇佷汉鐨勭鍚�"); + } + } + + // 鑾峰彇璺緞 + InputStream inputStream = this.getClass().getResourceAsStream("/static/customer-satisfaction-questionnaire.docx"); + ConfigureBuilder builder = Configure.builder(); + String finalConfirmPersonUrl = confirmPersonUrl; + XWPFTemplate template = XWPFTemplate.compile(inputStream, builder.build()).render( + new HashMap<String, Object>() {{ + put("clientSatisfaction", clientSatisfaction); + put("finalConfirmPersonUrl", StringUtils.isNotBlank(finalConfirmPersonUrl) ? Pictures.ofLocal(imgUrl + "/" + finalConfirmPersonUrl).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 clientSatisfaction 瑕佷慨鏀瑰鎴锋弧鎰忓害鐨勭姸鎬佸璞� + * @param userId 淇敼浜篿d + */ + @Override + public void confirmClientSatisfaction(ClientSatisfaction clientSatisfaction, Integer userId) { + User user = userMapper.selectById(userId); + if (user != null) { + clientSatisfaction.setConfirmPerson(user.getName()); + clientSatisfaction.setConfirmPersonId(user.getId().intValue()); + } + clientSatisfaction.setConfirmStatus(1); + baseMapper.updateById(clientSatisfaction); + } +} + diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/service/impl/InternalCheckDetailServiceImpl.java b/cnas-manage/src/main/java/com/ruoyi/manage/service/impl/InternalCheckDetailServiceImpl.java new file mode 100644 index 0000000..0ede72f --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/service/impl/InternalCheckDetailServiceImpl.java @@ -0,0 +1,19 @@ +package com.ruoyi.manage.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.manage.mapper.InternalCheckDetailMapper; +import com.ruoyi.manage.pojo.InternalCheckDetail; +import com.ruoyi.manage.service.InternalCheckDetailService; +import org.springframework.stereotype.Service; + +/** + * 鍐呭妫�鏌ヨ鎯呰〃 + * + * @author zhuo + * @since 2024-11-11 + */ +@Service +public class InternalCheckDetailServiceImpl extends ServiceImpl<InternalCheckDetailMapper, InternalCheckDetail> implements InternalCheckDetailService { + +} + diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/service/impl/InternalCheckServiceImpl.java b/cnas-manage/src/main/java/com/ruoyi/manage/service/impl/InternalCheckServiceImpl.java new file mode 100644 index 0000000..a076745 --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/service/impl/InternalCheckServiceImpl.java @@ -0,0 +1,232 @@ +package com.ruoyi.manage.service.impl; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.baomidou.mybatisplus.core.toolkit.StringUtils; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.deepoove.poi.XWPFTemplate; +import com.deepoove.poi.config.Configure; +import com.deepoove.poi.data.Pictures; +import com.ruoyi.common.core.domain.entity.User; +import com.ruoyi.common.utils.DateImageUtil; +import com.ruoyi.common.utils.QueryWrappers; +import com.ruoyi.common.utils.SecurityUtils; +import com.ruoyi.framework.exception.ErrorException; +import com.ruoyi.inspect.util.HackLoopTableRenderPolicy; +import com.ruoyi.manage.dto.InternalCheckDto; +import com.ruoyi.manage.mapper.InternalCheckMapper; +import com.ruoyi.manage.pojo.InternalCheck; +import com.ruoyi.manage.pojo.InternalCheckDetail; +import com.ruoyi.manage.service.InternalCheckDetailService; +import com.ruoyi.manage.service.InternalCheckService; +import com.ruoyi.system.mapper.UserMapper; +import org.springframework.beans.BeanUtils; +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.InputStream; +import java.io.OutputStream; +import java.net.URLEncoder; +import java.time.LocalDateTime; +import java.util.HashMap; +import java.util.List; + +/** + * 鍐呭妫�鏌ヨ〃 + * + * @author zhuo + * @since 2024-11-11 + */ +@Service +@Transactional(rollbackFor = Exception.class) +public class InternalCheckServiceImpl extends ServiceImpl<InternalCheckMapper, InternalCheck> implements InternalCheckService { + + @Resource + private InternalCheckDetailService internalCheckDetailService; + @Resource + private UserMapper userMapper; + @Value("${file.path}") + private String imgUrl; + + /** + * 鍐呭妫�鏌ュ垎椤垫煡璇� + * @param page + * @param internalCheck + * @return + */ + @Override + public IPage<InternalCheckDto> pageInternalCheck(Page page, InternalCheck internalCheck) { + return baseMapper.pageInternalCheck(page, QueryWrappers.queryWrappers(internalCheck)); + } + + /** + * 鍐呭妫�鏌ユ柊澧� + * @param internalCheck + * @return + */ + @Override + public boolean addInternalCheck(InternalCheckDto internalCheck) { + Integer userId = SecurityUtils.getUserId().intValue(); + // 娣诲姞缂栧埗浜� + User user = userMapper.selectById(userId); + internalCheck.setWriteTime(LocalDateTime.now()); + internalCheck.setWriteUserId(user.getId()); + internalCheck.setWriteUserName(user.getName()); + + baseMapper.insert(internalCheck); + // 鏂板璇︽儏 + for (InternalCheckDetail internalCheckDetail : internalCheck.getCheckDetailList()) { + internalCheckDetail.setCheckId(internalCheck.getCheckId()); + } + internalCheckDetailService.saveBatch(internalCheck.getCheckDetailList()); + return true; + } + + /** + * 鍐呭妫�鏌ヤ慨鏀� + * @param internalCheck + * @return + */ + @Override + public boolean updateInternalCheck(InternalCheckDto internalCheck) { + baseMapper.updateById(internalCheck); + + // 鍒犻櫎涔嬪墠鐨勮鎯� + internalCheckDetailService.remove(Wrappers.<InternalCheckDetail>lambdaQuery() + .eq(InternalCheckDetail::getCheckId, internalCheck.getCheckId())); + + // 鏂板璇︽儏 + for (InternalCheckDetail internalCheckDetail : internalCheck.getCheckDetailList()) { + internalCheckDetail.setCheckId(internalCheck.getCheckId()); + } + internalCheckDetailService.saveBatch(internalCheck.getCheckDetailList()); + + return true; + } + + /** + * 鍐呭妫�鏌ュ垹闄� + * @param CheckId + * @return + */ + @Override + public boolean delInternalCheck(Integer CheckId) { + internalCheckDetailService.remove(Wrappers.<InternalCheckDetail>lambdaQuery() + .eq(InternalCheckDetail::getCheckId, CheckId)); + baseMapper.deleteById(CheckId); + return true; + } + + /** + * 鍐呭妫�鏌ユ煡鐪嬭鎯� + * @param CheckId + * @return + */ + @Override + public InternalCheckDto getInternalCheckOne(Integer CheckId) { + InternalCheck internalCheck = baseMapper.selectById(CheckId); + InternalCheckDto internalCheckDto = new InternalCheckDto(); + BeanUtils.copyProperties(internalCheck, internalCheckDto); + + // 鏌ヨ璇︾粏淇℃伅 + internalCheckDto.setCheckDetailList(internalCheckDetailService.list(Wrappers.<InternalCheckDetail>lambdaQuery() + .eq(InternalCheckDetail::getCheckId, CheckId))); + return internalCheckDto; + } + + /** + * 鍐呭妫�鏌ユ壒鍑� + * @param internalCheck + * @return + */ + @Override + public boolean ratifyInternalCheck(InternalCheckDto internalCheck) { + Integer userId = SecurityUtils.getUserId().intValue(); + User user = userMapper.selectById(userId); + baseMapper.update(null, Wrappers.<InternalCheck>lambdaUpdate() + .eq(InternalCheck::getCheckId, internalCheck.getCheckId()) + .set(InternalCheck::getRatifyUserId, userId) + .set(InternalCheck::getRatifyUserName, user.getName()) + .set(InternalCheck::getRatifyRemark, internalCheck.getRatifyRemark()) + .set(InternalCheck::getRatifyStatus, internalCheck.getRatifyStatus()) + .set(InternalCheck::getRatifyTime, LocalDateTime.now()) + ); + return true; + } + + /** + * 瀵煎嚭鍐呭妫�鏌� + * @param checkId + * @param response + */ + @Override + public void exportInternalCheck(Integer checkId, HttpServletResponse response) { + InternalCheck internalCheck = baseMapper.selectById(checkId); + + //鑾峰彇鎻愪氦浜虹殑绛惧悕鍦板潃 + String writeUrl = userMapper.selectById(internalCheck.getWriteUserId()).getSignatureUrl(); + if (ObjectUtils.isEmpty(writeUrl) || writeUrl.equals("")) { + throw new ErrorException("鎵句笉鍒版楠屼汉鐨勭鍚�"); + } + + //鑾峰彇鎵瑰噯浜虹殑绛惧悕鍦板潃 + String ratifyUrl = null; + if (internalCheck.getRatifyUserId() != null) { + ratifyUrl = userMapper.selectById(internalCheck.getRatifyUserId()).getSignatureUrl(); + if (StringUtils.isBlank(ratifyUrl)) { + throw new ErrorException("鎵句笉鍒板鏍镐汉鐨勭鍚�"); + } + } + + // 鏌ヨ璇︽儏 + List<InternalCheckDetail> internalCheckDetails = internalCheckDetailService.list(Wrappers.<InternalCheckDetail>lambdaQuery() + .eq(InternalCheckDetail::getCheckId, checkId)); + + int index = 1; + for (InternalCheckDetail detail : internalCheckDetails) { + detail.setIndex(index); + index++; + } + + // 鑾峰彇璺緞 + InputStream inputStream = this.getClass().getResourceAsStream("/static/internal-check.docx"); + String finalRatifyUrl = ratifyUrl; + Configure configure = Configure.builder() + .bind("checkDetailList", new HackLoopTableRenderPolicy()) + .build(); + XWPFTemplate template = XWPFTemplate.compile(inputStream, configure).render( + new HashMap<String, Object>() {{ + put("check", internalCheck); + put("checkDetailList", internalCheckDetails); + put("writeUrl", StringUtils.isNotBlank(writeUrl) ? Pictures.ofLocal(imgUrl + "/" + writeUrl).create() : null); + put("ratifyUrl", StringUtils.isNotBlank(finalRatifyUrl) ? Pictures.ofLocal(imgUrl + "/" + finalRatifyUrl).create() : null); + put("writeDateUrl", internalCheck.getWriteTime() != null ? + Pictures.ofStream(DateImageUtil.createDateImage(internalCheck.getWriteTime())).create() : null); + put("ratifyDateUrl", internalCheck.getRatifyTime() != null ? + Pictures.ofStream(DateImageUtil.createDateImage(internalCheck.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("瀵煎嚭澶辫触"); + } + + } + +} + diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/service/impl/InternalCorrectFileServiceImpl.java b/cnas-manage/src/main/java/com/ruoyi/manage/service/impl/InternalCorrectFileServiceImpl.java new file mode 100644 index 0000000..79adf61 --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/service/impl/InternalCorrectFileServiceImpl.java @@ -0,0 +1,20 @@ +package com.ruoyi.manage.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.manage.mapper.InternalCorrectFileMapper; +import com.ruoyi.manage.pojo.InternalCorrectFile; +import com.ruoyi.manage.service.InternalCorrectFileService; +import org.springframework.stereotype.Service; + +/** + * <p> + * 鍐呭绠$悊绾犳鎺柦闄勪欢琛� 鏈嶅姟瀹炵幇绫� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-13 04:00:38 + */ +@Service +public class InternalCorrectFileServiceImpl extends ServiceImpl<InternalCorrectFileMapper, InternalCorrectFile> implements InternalCorrectFileService { + +} diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/service/impl/InternalCorrectServiceImpl.java b/cnas-manage/src/main/java/com/ruoyi/manage/service/impl/InternalCorrectServiceImpl.java new file mode 100644 index 0000000..7c8c7e1 --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/service/impl/InternalCorrectServiceImpl.java @@ -0,0 +1,319 @@ +package com.ruoyi.manage.service.impl; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.StringUtils; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.deepoove.poi.XWPFTemplate; +import com.deepoove.poi.config.Configure; +import com.deepoove.poi.config.ConfigureBuilder; +import com.deepoove.poi.data.Pictures; +import com.ruoyi.common.core.domain.entity.User; +import com.ruoyi.common.utils.QueryWrappers; +import com.ruoyi.common.utils.SecurityUtils; +import com.ruoyi.framework.exception.ErrorException; +import com.ruoyi.manage.dto.InternalCorrectDto; +import com.ruoyi.manage.mapper.InternalCorrectFileMapper; +import com.ruoyi.manage.mapper.InternalCorrectMapper; +import com.ruoyi.manage.pojo.InternalCorrect; +import com.ruoyi.manage.pojo.InternalCorrectFile; +import com.ruoyi.manage.service.InternalCorrectService; +import com.ruoyi.system.mapper.UserMapper; +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.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.HashMap; +import java.util.List; + +/** + * <p> + * 鍐呭绠$悊绾犳澶勭悊琛� 鏈嶅姟瀹炵幇绫� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-13 04:00:15 + */ +@Service +@Transactional(rollbackFor = Exception.class) +public class InternalCorrectServiceImpl extends ServiceImpl<InternalCorrectMapper, InternalCorrect> implements InternalCorrectService { + + @Resource + private InternalCorrectFileMapper internalCorrectFileMapper; + @Resource + private UserMapper userMapper; + @Value("${file.path}") + private String imgUrl; + + @Value("${wordUrl}") + private String wordUrl; + + + @Override + public boolean addInternalCorrect(InternalCorrect detailsCorrect) { + InternalCorrect correct = new InternalCorrect(); + // 褰撳墠鐧诲綍鐢ㄦ埛淇℃伅鍜岄儴闂� + User user = userMapper.selectById(SecurityUtils.getUserId().intValue()); + String departmentLimsName = userMapper.selectUserDepartmentLimsName(user.getId()); + + switch (detailsCorrect.getFlowType()) { + // 涓嶅悎鏍兼彁鍑� + case 0: + 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鍘熷洜鍒嗘瀽浜� + baseMapper.insert(correct); + break; + + // 鍘熷洜鍒嗘瀽 + case 1: + correct.setCorrectId(detailsCorrect.getCorrectId()); + 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绾犳浜� + baseMapper.updateById(correct); + break; + + // 绾犳鎺柦 + case 2: + correct.setCorrectId(detailsCorrect.getCorrectId()); + 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楠岃瘉浜� + baseMapper.updateById(correct); + break; + + // 楠岃瘉缁撴灉 + case 3: + correct.setCorrectId(detailsCorrect.getCorrectId()); + correct.setValidationResult(detailsCorrect.getValidationResult());//3楠岃瘉缁撴灉 + correct.setValidationTime(LocalDate.now());// 3楠岃瘉鏃堕棿 + correct.setIsFinish(1); + baseMapper.updateById(correct); + break; + } + + return true; + } + + /** + * 鏌ヨ鍐呭绠$悊绾犳澶勭悊 + * @param correctId + * @return + */ + @Override + public InternalCorrect getInternalCorrect(Integer correctId) { + InternalCorrect detailsCorrect; + + detailsCorrect = baseMapper.selectOne(Wrappers.<InternalCorrect>lambdaQuery() + .eq(InternalCorrect::getCorrectId, correctId)); + + if (detailsCorrect == null) { + detailsCorrect = new InternalCorrect(); + } + return detailsCorrect; + } + + /** + * 鏌ヨ鍐呭绠$悊绾犳鎺柦鍒楄〃 + * @param page + * @param detailsCorrect + * @return + */ + @Override + public IPage<InternalCorrect> pageInternalCorrect(Page page, InternalCorrect detailsCorrect) { + return baseMapper.pageInternalAccording(page, QueryWrappers.queryWrappers(detailsCorrect)); + } + + /** + * 鏂板鍐呭绠$悊绾犳鎺柦闄勪欢 + * @param InternalCorrectId + * @param file + * @return + */ + @Override + public boolean uploadInternalCorrectFile(Integer InternalCorrectId, MultipartFile file) { + if (InternalCorrectId == null) { + throw new ErrorException("缂哄皯绾犳鎺柦id"); + } + + String urlString; + String pathName; + String path; + String filename = file.getOriginalFilename(); + String contentType = file.getContentType(); + InternalCorrectFile InternalCorrectFile = new InternalCorrectFile(); + InternalCorrectFile.setCorrectId(InternalCorrectId); + InternalCorrectFile.setFileName(filename); + if (contentType != null && contentType.startsWith("image/")) { + // 鏄浘鐗� + path = imgUrl; + InternalCorrectFile.setType(1); + } else { + // 鏄枃浠� + path = wordUrl; + InternalCorrectFile.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)); + InternalCorrectFile.setFileUrl(pathName); + internalCorrectFileMapper.insert(InternalCorrectFile); + return true; + } catch (Exception e) { + e.printStackTrace(); + throw new ErrorException(e.getMessage()); + } + } + + /** + * 鏌ヨ鍐呭绠$悊绾犳鎺柦闄勪欢 + * @param correctId + * @return + */ + @Override + public List<InternalCorrectFile> getInternalCorrectFileList(Integer correctId) { + return internalCorrectFileMapper.selectList(Wrappers.<InternalCorrectFile>lambdaQuery() + .eq(InternalCorrectFile::getCorrectId, correctId)); + } + + /** + * 瀵煎嚭绾犳鎺柦 + * @param correctId + * @param response + */ + @Override + public void exportInternalCorrect(Integer correctId, HttpServletResponse response) { + InternalCorrect internalCorrect = baseMapper.selectById(correctId); + InternalCorrectDto internalCorrectDto = new InternalCorrectDto(); + BeanUtils.copyProperties(internalCorrect, internalCorrectDto); + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); + // 鎻愬嚭鏃堕棿 + internalCorrectDto.setRaiseTimeString(internalCorrect.getRaiseTime() != null + ? internalCorrect.getRaiseTime().format(formatter) : null); + // 鍘熷洜鍒嗘瀽鏃堕棿 + internalCorrectDto.setCauseTimeString(internalCorrect.getCauseTime() != null + ? internalCorrect.getCauseTime().format(formatter) : null); + + // 绾犳鏃堕棿 + internalCorrectDto.setCorrectTimeString(internalCorrect.getCorrectTime() != null + ? internalCorrect.getCorrectTime().format(formatter) : null); + + // 楠岃瘉鏃堕棿 + internalCorrectDto.setValidationTimeString(internalCorrect.getValidationTime() != null + ? internalCorrect.getValidationTime().format(formatter) : null); + + + // 鎻愬嚭浜虹鍚� + String raiseUrl = null; + if (internalCorrect.getRaiseUserId() != null) { + raiseUrl = userMapper.selectById(internalCorrect.getRaiseUserId()).getSignatureUrl(); + if (StringUtils.isBlank(raiseUrl)) { + throw new ErrorException("鎵句笉鍒版彁鍑轰汉鐨勭鍚�"); + } + } + + // 鍘熷洜鍒嗘瀽浜� + String causeUrl = null; + if (internalCorrect.getCauseUserId() != null) { + causeUrl = userMapper.selectById(internalCorrect.getCauseUserId()).getSignatureUrl(); + if (StringUtils.isBlank(causeUrl)) { + throw new ErrorException("鎵句笉鍒板師鍥犲垎鏋愪汉鐨勭鍚�"); + } + } + + // 绾犳浜� + String correctUrl = null; + if (internalCorrect.getCorrectUserId() != null) { + correctUrl = userMapper.selectById(internalCorrect.getCorrectUserId()).getSignatureUrl(); + if (StringUtils.isBlank(correctUrl)) { + throw new ErrorException("鎵句笉鍒扮籂姝d汉鐨勭鍚�"); + } + } + + // 楠岃瘉浜� + String validationUrl = null; + if (internalCorrect.getValidationUserId() != null) { + validationUrl = userMapper.selectById(internalCorrect.getValidationUserId()).getSignatureUrl(); + if (StringUtils.isBlank(validationUrl)) { + throw new ErrorException("鎵句笉鍒伴獙璇佷汉鐨勭鍚�"); + } + } + + // 鑾峰彇璺緞 + InputStream inputStream = this.getClass().getResourceAsStream("/static/internal-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", internalCorrectDto); + 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-manage/src/main/java/com/ruoyi/manage/service/impl/InternalImplementDetailServiceImpl.java b/cnas-manage/src/main/java/com/ruoyi/manage/service/impl/InternalImplementDetailServiceImpl.java new file mode 100644 index 0000000..c1b6cb5 --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/service/impl/InternalImplementDetailServiceImpl.java @@ -0,0 +1,19 @@ +package com.ruoyi.manage.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.manage.mapper.InternalImplementDetailMapper; +import com.ruoyi.manage.pojo.InternalImplementDetail; +import com.ruoyi.manage.service.InternalImplementDetailService; +import org.springframework.stereotype.Service; + +/** + * 鍐呭瀹炴柦璁″垝璇︽儏 + * + * @author zhuo + * @since 2024-11-11 + */ +@Service +public class InternalImplementDetailServiceImpl extends ServiceImpl<InternalImplementDetailMapper, InternalImplementDetail> implements InternalImplementDetailService { + +} + diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/service/impl/InternalImplementServiceImpl.java b/cnas-manage/src/main/java/com/ruoyi/manage/service/impl/InternalImplementServiceImpl.java new file mode 100644 index 0000000..bfff502 --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/service/impl/InternalImplementServiceImpl.java @@ -0,0 +1,231 @@ +package com.ruoyi.manage.service.impl; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.StringUtils; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.deepoove.poi.XWPFTemplate; +import com.deepoove.poi.config.Configure; +import com.deepoove.poi.data.Pictures; +import com.ruoyi.common.core.domain.entity.User; +import com.ruoyi.common.utils.DateImageUtil; +import com.ruoyi.common.utils.QueryWrappers; +import com.ruoyi.common.utils.SecurityUtils; +import com.ruoyi.framework.exception.ErrorException; +import com.ruoyi.inspect.util.HackLoopTableRenderPolicy; +import com.ruoyi.manage.dto.InternalImplementDto; +import com.ruoyi.manage.mapper.InternalImplementMapper; +import com.ruoyi.manage.pojo.InternalImplement; +import com.ruoyi.manage.pojo.InternalImplementDetail; +import com.ruoyi.manage.service.InternalImplementDetailService; +import com.ruoyi.manage.service.InternalImplementService; +import com.ruoyi.system.mapper.UserMapper; +import org.springframework.beans.BeanUtils; +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.InputStream; +import java.io.OutputStream; +import java.net.URLEncoder; +import java.time.LocalDateTime; +import java.util.HashMap; +import java.util.List; + +/** + * 鍐呭瀹炴柦璁″垝 + * + * @author zhuo + * @since 2024-11-11 + */ +@Service +@Transactional(rollbackFor = Exception.class) +public class InternalImplementServiceImpl extends ServiceImpl<InternalImplementMapper, InternalImplement> implements InternalImplementService { + + @Resource + private InternalImplementDetailService internalImplementDetailService; + + @Resource + private UserMapper userMapper; + @Value("${file.path}") + private String imgUrl; + + /** + * 鍐呭瀹炴柦璁″垝鍒嗛〉鏌ヨ + * @param page + * @param internalImplement + * @return + */ + @Override + public IPage<InternalImplementDto> pageInternalImplement(Page page, InternalImplement internalImplement) { + return baseMapper.pageInternalImplement(page, QueryWrappers.queryWrappers(internalImplement)); + } + + /** + * 鍐呭瀹炴柦璁″垝鏂板 + * @param internalImplement + * @return + */ + @Override + public boolean addInternalImplement(InternalImplementDto internalImplement) { + Integer userId = SecurityUtils.getUserId().intValue(); + // 娣诲姞缂栧埗浜� + User user = userMapper.selectById(userId); + internalImplement.setWriteTime(LocalDateTime.now()); + internalImplement.setWriteUserId(user.getId()); + internalImplement.setWriteUserName(user.getName()); + + baseMapper.insert(internalImplement); + // 鏂板璇︽儏 + for (InternalImplementDetail internalImplementDetail : internalImplement.getImplementDetailList()) { + internalImplementDetail.setImplementId(internalImplement.getImplementId()); + } + internalImplementDetailService.saveBatch(internalImplement.getImplementDetailList()); + return true; + } + + /** + * 鍐呭瀹炴柦璁″垝淇敼 + * @param internalImplement + * @return + */ + @Override + public boolean updateInternalImplement(InternalImplementDto internalImplement) { + baseMapper.updateById(internalImplement); + + // 鍒犻櫎涔嬪墠鐨勮鎯� + internalImplementDetailService.remove(Wrappers.<InternalImplementDetail>lambdaQuery() + .eq(InternalImplementDetail::getImplementId, internalImplement.getImplementId())); + + // 鏂板璇︽儏 + for (InternalImplementDetail internalImplementDetail : internalImplement.getImplementDetailList()) { + internalImplementDetail.setImplementId(internalImplement.getImplementId()); + } + internalImplementDetailService.saveBatch(internalImplement.getImplementDetailList()); + + return true; + } + + /** + * 鍐呭瀹炴柦璁″垝鍒犻櫎 + * @param implementId + * @return + */ + @Override + public boolean delInternalImplement(Integer implementId) { + internalImplementDetailService.remove(Wrappers.<InternalImplementDetail>lambdaQuery() + .eq(InternalImplementDetail::getImplementId, implementId)); + baseMapper.deleteById(implementId); + return true; + } + + /** + * 鍐呭瀹炴柦璁″垝鏌ョ湅璇︽儏 + * @param implementId + * @return + */ + @Override + public InternalImplementDto getInternalImplementOne(Integer implementId) { + InternalImplement internalImplement = baseMapper.selectById(implementId); + InternalImplementDto internalImplementDto = new InternalImplementDto(); + BeanUtils.copyProperties(internalImplement, internalImplementDto); + + // 鏌ヨ璇︾粏淇℃伅 + internalImplementDto.setImplementDetailList(internalImplementDetailService.list(Wrappers.<InternalImplementDetail>lambdaQuery() + .eq(InternalImplementDetail::getImplementId, implementId))); + return internalImplementDto; + } + + /** + * 鍐呭瀹炴柦璁″垝鎵瑰噯 + * @param internalImplement + * @return + */ + @Override + public boolean ratifyInternalImplement(InternalImplementDto internalImplement) { + Integer userId = SecurityUtils.getUserId().intValue(); + User user = userMapper.selectById(userId); + baseMapper.update(null, Wrappers.<InternalImplement>lambdaUpdate() + .eq(InternalImplement::getImplementId, internalImplement.getImplementId()) + .set(InternalImplement::getRatifyUserId, userId) + .set(InternalImplement::getRatifyUserName, user.getName()) + .set(InternalImplement::getRatifyRemark, internalImplement.getRatifyRemark()) + .set(InternalImplement::getRatifyStatus, internalImplement.getRatifyStatus()) + .set(InternalImplement::getRatifyTime, LocalDateTime.now()) + ); + return true; + } + + /** + * 瀵煎嚭鍐呭瀹炴柦璁″垝 + * @param implementId + * @param response + */ + @Override + public void exportInternalImplement(Integer implementId, HttpServletResponse response) { + InternalImplement internalImplement = baseMapper.selectById(implementId); + + //鑾峰彇鎻愪氦浜虹殑绛惧悕鍦板潃 + String writeUrl = userMapper.selectById(internalImplement.getWriteUserId()).getSignatureUrl(); + if (StringUtils.isBlank(writeUrl)) { + throw new ErrorException("鎵句笉鍒版楠屼汉鐨勭鍚�"); + } + + //鑾峰彇鎵瑰噯浜虹殑绛惧悕鍦板潃 + String ratifyUrl = null; + if (internalImplement.getRatifyUserId() != null) { + ratifyUrl = userMapper.selectById(internalImplement.getRatifyUserId()).getSignatureUrl(); + if (StringUtils.isBlank(ratifyUrl)) { + throw new ErrorException("鎵句笉鍒版壒鍑嗕汉鐨勭鍚�"); + } + } + + // 鏌ヨ璇︽儏 + List<InternalImplementDetail> detailList = internalImplementDetailService.list(Wrappers.<InternalImplementDetail>lambdaQuery() + .eq(InternalImplementDetail::getImplementId, implementId)); + + int index = 1; + for (InternalImplementDetail detail : detailList) { + detail.setIndex(index); + index++; + } + + // 鑾峰彇璺緞 + InputStream inputStream = this.getClass().getResourceAsStream("/static/internal-implement.docx"); + String finalRatifyUrl = ratifyUrl; + Configure configure = Configure.builder() + .bind("implementDetailList", new HackLoopTableRenderPolicy()) + .build(); + XWPFTemplate template = XWPFTemplate.compile(inputStream, configure).render( + new HashMap<String, Object>() {{ + put("implement", internalImplement); + put("implementDetailList", detailList); + put("writeUrl", StringUtils.isNotBlank(writeUrl) ? Pictures.ofLocal(imgUrl + "/" + writeUrl).create() : null); + put("ratifyUrl", StringUtils.isNotBlank(finalRatifyUrl) ? Pictures.ofLocal(imgUrl + "/" + finalRatifyUrl).create() : null); + put("writeDateUrl", internalImplement.getWriteTime() != null ? + Pictures.ofStream(DateImageUtil.createDateImage(internalImplement.getWriteTime())).create() : null); + put("ratifyDateUrl", internalImplement.getRatifyTime() != null ? + Pictures.ofStream(DateImageUtil.createDateImage(internalImplement.getRatifyTime())).create() : null); + }}); + + try { + response.setContentType("application/msword"); + String fileName = URLEncoder.encode( + internalImplement.getPurposes(), "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-manage/src/main/java/com/ruoyi/manage/service/impl/InternalMeetingDetailServiceImpl.java b/cnas-manage/src/main/java/com/ruoyi/manage/service/impl/InternalMeetingDetailServiceImpl.java new file mode 100644 index 0000000..0138b51 --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/service/impl/InternalMeetingDetailServiceImpl.java @@ -0,0 +1,20 @@ +package com.ruoyi.manage.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.manage.mapper.InternalMeetingDetailMapper; +import com.ruoyi.manage.pojo.InternalMeetingDetail; +import com.ruoyi.manage.service.InternalMeetingDetailService; +import org.springframework.stereotype.Service; + +/** + * <p> + * 鍐呭浼氳璇︽儏琛� 鏈嶅姟瀹炵幇绫� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-12 02:56:13 + */ +@Service +public class InternalMeetingDetailServiceImpl extends ServiceImpl<InternalMeetingDetailMapper, InternalMeetingDetail> implements InternalMeetingDetailService { + +} diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/service/impl/InternalMeetingServiceImpl.java b/cnas-manage/src/main/java/com/ruoyi/manage/service/impl/InternalMeetingServiceImpl.java new file mode 100644 index 0000000..cf1cb81 --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/service/impl/InternalMeetingServiceImpl.java @@ -0,0 +1,173 @@ +package com.ruoyi.manage.service.impl; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.deepoove.poi.XWPFTemplate; +import com.deepoove.poi.config.Configure; +import com.ruoyi.common.utils.QueryWrappers; +import com.ruoyi.inspect.util.HackLoopTableRenderPolicy; +import com.ruoyi.manage.dto.InternalMeetingDto; +import com.ruoyi.manage.dto.InternalMeetingParticipantDto; +import com.ruoyi.manage.mapper.InternalMeetingMapper; +import com.ruoyi.manage.pojo.InternalMeeting; +import com.ruoyi.manage.pojo.InternalMeetingDetail; +import com.ruoyi.manage.service.InternalMeetingDetailService; +import com.ruoyi.manage.service.InternalMeetingService; +import com.ruoyi.system.mapper.UserMapper; +import lombok.AllArgsConstructor; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import javax.servlet.http.HttpServletResponse; +import java.io.InputStream; +import java.io.OutputStream; +import java.net.URLEncoder; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * <p> + * 鍐呭浼氳琛� 鏈嶅姟瀹炵幇绫� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-12 02:50:44 + */ +@Service +@AllArgsConstructor +@Transactional(rollbackFor = Exception.class) +public class InternalMeetingServiceImpl extends ServiceImpl<InternalMeetingMapper, InternalMeeting> implements InternalMeetingService { + + private InternalMeetingDetailService internalMeetingDetailService; + private UserMapper userMapper; + + /** + * 鍐呭浼氳鍒嗛〉鏌ヨ + * @param page + * @param internalMeeting + * @return + */ + @Override + public IPage<InternalMeetingDto> pageInternalMeeting(Page page, InternalMeeting internalMeeting) { + return baseMapper.pageInternalMeeting(page, QueryWrappers.queryWrappers(internalMeeting)); + } + + /** + * 鍐呭浼氳鏂板 + * @param internalMeeting + * @return + */ + @Override + public boolean addInternalMeeting(InternalMeetingDto internalMeeting) { + baseMapper.insert(internalMeeting); + return true; + } + + /** + * 鍐呭浼氳淇敼 + * @param internalMeeting + * @return + */ + @Override + public boolean updateInternalMeeting(InternalMeetingDto internalMeeting) { + baseMapper.updateById(internalMeeting); + internalMeetingDetailService.saveBatch(internalMeeting.getMeetingDetailList()); + return true; + } + + /** + * 鍐呭浼氳鍒犻櫎 + * @param MeetingId + * @return + */ + @Override + public boolean delInternalMeeting(Integer MeetingId) { + internalMeetingDetailService.remove(Wrappers.<InternalMeetingDetail>lambdaQuery() + .eq(InternalMeetingDetail::getMeetingId, MeetingId)); + baseMapper.deleteById(MeetingId); + return true; + } + + /** + * 鍐呭浼氳鏌ョ湅璇︽儏 + * @param MeetingId + * @return + */ + @Override + public InternalMeetingDto getInternalMeetingOne(Integer MeetingId) { + InternalMeeting internalMeeting = baseMapper.selectById(MeetingId); + InternalMeetingDto internalMeetingDto = new InternalMeetingDto(); + BeanUtils.copyProperties(internalMeeting, internalMeetingDto); + // 鏌ヨ璇︾粏淇℃伅 + internalMeetingDto.setMeetingDetailList(internalMeetingDetailService.list(Wrappers.<InternalMeetingDetail>lambdaQuery() + .eq(InternalMeetingDetail::getMeetingId, MeetingId))); + return internalMeetingDto; + } + + /** + * 瀵煎嚭鍐呭浼氳 + * @param meetingId + * @param response + */ + @Override + public void exportInternalMeeting(Integer meetingId, HttpServletResponse response) { + InternalMeeting internalMeeting = baseMapper.selectById(meetingId); + // 鏌ヨ鍙傚姞浜哄憳 + List<Map<String, String>> mapList = userMapper.selectNameAnddepartment(internalMeeting.getParticipant()); + // 鍒涘缓绌哄璞� + List<InternalMeetingParticipantDto> participants = new ArrayList<>(); + for (int i = 0; i < mapList.size();) { + InternalMeetingParticipantDto internalMeetingParticipantDto = new InternalMeetingParticipantDto(); + if (i < mapList.size()) { + internalMeetingParticipantDto.setUserName1(mapList.get(i).get("userName")); + internalMeetingParticipantDto.setDepartment1(mapList.get(i).get("department")); + i++; + } + if (i < mapList.size()) { + internalMeetingParticipantDto.setUserName2(mapList.get(i).get("userName")); + internalMeetingParticipantDto.setDepartment2(mapList.get(i).get("department")); + i++; + } + if (i < mapList.size()) { + internalMeetingParticipantDto.setUserName3(mapList.get(i).get("userName")); + internalMeetingParticipantDto.setDepartment3(mapList.get(i).get("department")); + i++; + } + participants.add(internalMeetingParticipantDto); + } + + // 鑾峰彇璺緞 + InputStream inputStream = this.getClass().getResourceAsStream("/static/internal-meeting.docx"); + Configure configure = Configure.builder() + .bind("meetingDetails", new HackLoopTableRenderPolicy()) + .build(); + XWPFTemplate template = XWPFTemplate.compile(inputStream, configure).render( + new HashMap<String, Object>() {{ + put("meeting", internalMeeting); + put("meetingDetails", participants); + }}); + + try { + response.setContentType("application/msword"); + String fileName = URLEncoder.encode( + internalMeeting.getMeetingDate() + "鍐呭浼氳绛惧埌", "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-manage/src/main/java/com/ruoyi/manage/service/impl/InternalPlanDetailServiceImpl.java b/cnas-manage/src/main/java/com/ruoyi/manage/service/impl/InternalPlanDetailServiceImpl.java new file mode 100644 index 0000000..3712663 --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/service/impl/InternalPlanDetailServiceImpl.java @@ -0,0 +1,20 @@ +package com.ruoyi.manage.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.manage.mapper.InternalPlanDetailMapper; +import com.ruoyi.manage.pojo.InternalPlanDetail; +import com.ruoyi.manage.service.InternalPlanDetailService; +import org.springframework.stereotype.Service; + +/** + * <p> + * 鍐呭骞村害璁″垝璇︽儏琛� 鏈嶅姟瀹炵幇绫� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-13 03:28:48 + */ +@Service +public class InternalPlanDetailServiceImpl extends ServiceImpl<InternalPlanDetailMapper, InternalPlanDetail> implements InternalPlanDetailService { + +} diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/service/impl/InternalPlanServiceImpl.java b/cnas-manage/src/main/java/com/ruoyi/manage/service/impl/InternalPlanServiceImpl.java new file mode 100644 index 0000000..d53aa2b --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/service/impl/InternalPlanServiceImpl.java @@ -0,0 +1,252 @@ +package com.ruoyi.manage.service.impl; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.StringUtils; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.deepoove.poi.XWPFTemplate; +import com.deepoove.poi.config.Configure; +import com.deepoove.poi.data.Pictures; +import com.ruoyi.common.core.domain.entity.User; +import com.ruoyi.common.utils.QueryWrappers; +import com.ruoyi.common.utils.SecurityUtils; +import com.ruoyi.framework.exception.ErrorException; +import com.ruoyi.inspect.util.HackLoopTableRenderPolicy; +import com.ruoyi.manage.dto.InternalPlanDto; +import com.ruoyi.manage.mapper.InternalPlanMapper; +import com.ruoyi.manage.pojo.InternalPlan; +import com.ruoyi.manage.pojo.InternalPlanDetail; +import com.ruoyi.manage.service.InternalPlanDetailService; +import com.ruoyi.manage.service.InternalPlanService; +import com.ruoyi.system.mapper.UserMapper; +import org.springframework.beans.BeanUtils; +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.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-13 03:27:47 + */ +@Service +@Transactional(rollbackFor = Exception.class) +public class InternalPlanServiceImpl extends ServiceImpl<InternalPlanMapper, InternalPlan> implements InternalPlanService { + + @Resource + private InternalPlanDetailService internalPlanDetailService; + @Resource + private UserMapper userMapper; + @Value("${file.path}") + private String imgUrl; + + + /** + * 鍐呭骞村害璁″垝鍒嗛〉鏌ヨ + * @param page + * @param internalPlan + * @return + */ + @Override + public IPage<InternalPlanDto> pageInternalPlan(Page page, InternalPlan internalPlan) { + return baseMapper.pageInternalPlan(page, QueryWrappers.queryWrappers(internalPlan)); + } + + /** + * 鍐呭骞村害璁″垝鏂板 + * @param internalPlan + * @return + */ + @Override + public boolean addInternalPlan(InternalPlanDto internalPlan) { + Integer userId = SecurityUtils.getUserId().intValue(); + // 娣诲姞缂栧埗浜� + User user = userMapper.selectById(userId); + internalPlan.setWriteTime(LocalDateTime.now()); + internalPlan.setWriteUserId(user.getId()); + internalPlan.setWriteUserName(user.getName()); + + baseMapper.insert(internalPlan); + // 鏂板璇︽儏 + for (InternalPlanDetail internalPlanDetail : internalPlan.getPlanDetailList()) { + internalPlanDetail.setPlanId(internalPlan.getPlanId()); + } + internalPlanDetailService.saveBatch(internalPlan.getPlanDetailList()); + return true; + } + + /** + * 鍐呭骞村害璁″垝淇敼 + * @param internalPlan + * @return + */ + @Override + public boolean updateInternalPlan(InternalPlanDto internalPlan) { + baseMapper.updateById(internalPlan); + + // 鍒犻櫎涔嬪墠鐨勮鎯� + internalPlanDetailService.remove(Wrappers.<InternalPlanDetail>lambdaQuery() + .eq(InternalPlanDetail::getPlanId, internalPlan.getPlanId())); + + // 鏂板璇︽儏 + for (InternalPlanDetail internalPlanDetail : internalPlan.getPlanDetailList()) { + internalPlanDetail.setPlanId(internalPlan.getPlanId()); + } + internalPlanDetailService.saveBatch(internalPlan.getPlanDetailList()); + + return true; + } + + /** + * 鍐呭骞村害璁″垝鍒犻櫎 + * @param planId + * @return + */ + @Override + public boolean delInternalPlan(Integer planId) { + internalPlanDetailService.remove(Wrappers.<InternalPlanDetail>lambdaQuery() + .eq(InternalPlanDetail::getPlanId, planId)); + baseMapper.deleteById(planId); + return true; + } + + /** + * 鍐呭骞村害璁″垝鏌ョ湅璇︽儏 + * @param planId + * @return + */ + @Override + public InternalPlanDto getInternalPlanOne(Integer planId) { + InternalPlan internalPlan = baseMapper.selectById(planId); + InternalPlanDto internalPlanDto = new InternalPlanDto(); + BeanUtils.copyProperties(internalPlan, internalPlanDto); + + // 鏌ヨ璇︾粏淇℃伅 + internalPlanDto.setPlanDetailList(internalPlanDetailService.list(Wrappers.<InternalPlanDetail>lambdaQuery() + .eq(InternalPlanDetail::getPlanId, planId))); + return internalPlanDto; + } + + /** + * 鍐呭骞村害璁″垝瀹℃牳 + * @param internalPlanDto + * @return + */ + @Override + public boolean examineInternalPlan(InternalPlanDto internalPlanDto) { + Integer userId = SecurityUtils.getUserId().intValue(); + User user = userMapper.selectById(userId); + baseMapper.update(null, Wrappers.<InternalPlan>lambdaUpdate() + .eq(InternalPlan::getPlanId, internalPlanDto.getPlanId()) + .set(InternalPlan::getExamineUserId, userId) + .set(InternalPlan::getExamineUserName, user.getName()) + .set(InternalPlan::getExamineRemark, internalPlanDto.getExamineRemark()) + .set(InternalPlan::getExamineStatus, internalPlanDto.getExamineStatus()) + .set(InternalPlan::getExamineTime, LocalDateTime.now()) + ); + return true; + } + + /** + * 鍐呭骞村害璁″垝鎵瑰噯 + * @param internalPlanDto + * @return + */ + @Override + public boolean ratifyInternalPlan(InternalPlanDto internalPlanDto) { + Integer userId = SecurityUtils.getUserId().intValue(); + User user = userMapper.selectById(userId); + baseMapper.update(null, Wrappers.<InternalPlan>lambdaUpdate() + .eq(InternalPlan::getPlanId, internalPlanDto.getPlanId()) + .set(InternalPlan::getRatifyUserId, userId) + .set(InternalPlan::getRatifyUserName, user.getName()) + .set(InternalPlan::getRatifyRemark, internalPlanDto.getRatifyRemark()) + .set(InternalPlan::getRatifyStatus, internalPlanDto.getRatifyStatus()) + .set(InternalPlan::getRatifyTime, LocalDateTime.now()) + ); + return true; + } + + /** + * 瀵煎嚭鍐呭骞村害璁″垝 + * @param planId + * @param response + */ + @Override + public void exportInternalImplement(Integer planId, HttpServletResponse response) { + InternalPlan internalPlan = baseMapper.selectById(planId); + //鑾峰彇鎻愪氦浜虹殑绛惧悕鍦板潃 + String writeUrl = userMapper.selectById(internalPlan.getWriteUserId()).getSignatureUrl(); + if (StringUtils.isBlank(writeUrl)) { + throw new ErrorException("鎵句笉鍒版楠屼汉鐨勭鍚�"); + } + + //鑾峰彇瀹℃牳浜虹殑绛惧悕鍦板潃 + String examineUrl = null; + if (internalPlan.getExamineUserId() != null) { + examineUrl = userMapper.selectById(internalPlan.getExamineUserId()).getSignatureUrl(); + if (StringUtils.isBlank(examineUrl)) { + throw new ErrorException("鎵句笉鍒板鏍镐汉鐨勭鍚�"); + } + } + + //鑾峰彇鎵瑰噯浜虹殑绛惧悕鍦板潃 + String ratifyUrl = null; + if (internalPlan.getRatifyUserId() != null) { + ratifyUrl = userMapper.selectById(internalPlan.getRatifyUserId()).getSignatureUrl(); + if (StringUtils.isBlank(ratifyUrl)) { + throw new ErrorException("鎵句笉鍒版壒鍑嗕汉鐨勭鍚�"); + } + } + + // 鏌ヨ璇︽儏 + List<InternalPlanDetail> planDetails = internalPlanDetailService.list(Wrappers.<InternalPlanDetail>lambdaQuery() + .eq(InternalPlanDetail::getPlanId, planId)); + + // 鑾峰彇璺緞 + InputStream inputStream = this.getClass().getResourceAsStream("/static/internal-plan.docx"); + String finalExamineUrl = examineUrl; + String finalRatifyUrl = ratifyUrl; + Configure configure = Configure.builder() + .bind("planDetailList", new HackLoopTableRenderPolicy()) + .build(); + XWPFTemplate template = XWPFTemplate.compile(inputStream, configure).render( + new HashMap<String, Object>() {{ + put("plan", internalPlan); + put("planDetailList", planDetails); + 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); + }}); + + 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-manage/src/main/java/com/ruoyi/manage/service/impl/InternalReportServiceImpl.java b/cnas-manage/src/main/java/com/ruoyi/manage/service/impl/InternalReportServiceImpl.java new file mode 100644 index 0000000..4857a8d --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/service/impl/InternalReportServiceImpl.java @@ -0,0 +1,157 @@ +package com.ruoyi.manage.service.impl; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.StringUtils; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.deepoove.poi.XWPFTemplate; +import com.deepoove.poi.config.Configure; +import com.deepoove.poi.config.ConfigureBuilder; +import com.deepoove.poi.data.Pictures; +import com.ruoyi.common.core.domain.entity.User; +import com.ruoyi.common.utils.QueryWrappers; +import com.ruoyi.common.utils.SecurityUtils; +import com.ruoyi.framework.exception.ErrorException; +import com.ruoyi.manage.mapper.InternalReportMapper; +import com.ruoyi.manage.pojo.InternalReport; +import com.ruoyi.manage.service.InternalReportService; +import com.ruoyi.system.mapper.UserMapper; +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.InputStream; +import java.io.OutputStream; +import java.net.URLEncoder; +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; +import java.util.HashMap; + +/** + * 鍐呭鎶ュ憡琛� + * + * @author zhuo + * @since 2024-11-11 + */ +@Service +@Transactional(rollbackFor = Exception.class) +public class InternalReportServiceImpl extends ServiceImpl<InternalReportMapper, InternalReport> implements InternalReportService { + @Resource + private UserMapper userMapper; + @Value("${file.path}") + private String imgUrl; + + /** + * 鍐呭鎶ュ憡鍒嗛〉鏌ヨ + * @param page + * @param internalReport + * @return + */ + @Override + public IPage<InternalReport> pageInternalReport(Page page, InternalReport internalReport) { + return baseMapper.pageInternalReport(page, QueryWrappers.queryWrappers(internalReport)); + } + + /** + * 鍐呭鎶ュ憡瀹℃牳 + * @param internalReport + * @return + */ + @Override + public boolean ratifyInternalCheck(InternalReport internalReport) { + Integer userId = SecurityUtils.getUserId().intValue(); + User user = userMapper.selectById(userId); + baseMapper.update(null, Wrappers.<InternalReport>lambdaUpdate() + .eq(InternalReport::getReportId, internalReport.getReportId()) + .set(InternalReport::getExamineUserId, userId) + .set(InternalReport::getExamineUserName, user.getName()) + .set(InternalReport::getExamineRemark, internalReport.getExamineRemark()) + .set(InternalReport::getExamineStatus, internalReport.getExamineStatus()) + .set(InternalReport::getExamineTime, LocalDateTime.now()) + ); + return true; + } + + /** + * 鍐呭鎶ュ憡璐ㄩ噺璐熻矗浜哄~鍐� + * @param internalReport + * @return + */ + @Override + public boolean qualityInternalReport(InternalReport internalReport) { + Integer userId = SecurityUtils.getUserId().intValue(); + User user = userMapper.selectById(userId); + baseMapper.update(null, Wrappers.<InternalReport>lambdaUpdate() + .eq(InternalReport::getReportId, internalReport.getReportId()) + .set(InternalReport::getQualityUserId, userId) + .set(InternalReport::getQualityUserName, user.getName()) + .set(InternalReport::getQualityRemark, internalReport.getQualityRemark()) + .set(InternalReport::getQualityStatus, internalReport.getQualityStatus()) + .set(InternalReport::getQualityTime, LocalDateTime.now()) + ); + return true; + } + + /** + * 瀵煎嚭鍐呭鎶ュ憡 + * @param reportId + * @param response + */ + @Override + public void exportInternalReport(Integer reportId, HttpServletResponse response) { + InternalReport internalReport = baseMapper.selectById(reportId); + + //鑾峰彇瀹℃牳浜虹殑绛惧悕鍦板潃 + String examineUrl = null; + if (internalReport.getExamineUserId() != null) { + examineUrl = userMapper.selectById(internalReport.getExamineUserId()).getSignatureUrl(); + if (StringUtils.isBlank(examineUrl)) { + throw new ErrorException("鎵句笉鍒板鏍镐汉鐨勭鍚�"); + } + } + + //鑾峰彇璐ㄩ噺璐熻矗浜虹殑绛惧悕鍦板潃 + String qualityUrl = null; + if (internalReport.getQualityUserId() != null) { + qualityUrl = userMapper.selectById(internalReport.getQualityUserId()).getSignatureUrl(); + if (StringUtils.isBlank(qualityUrl)) { + throw new ErrorException("鎵句笉鍒拌川閲忚礋璐d汉鐨勭鍚�"); + } + } + + // 鑾峰彇璺緞 + InputStream inputStream = this.getClass().getResourceAsStream("/static/internal-report.docx"); + ConfigureBuilder builder = Configure.builder(); + builder.useSpringEL(true); + String finalExamineUrl = examineUrl; + String finalQualityUrl = qualityUrl; + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); + XWPFTemplate template = XWPFTemplate.compile(inputStream, builder.build()).render( + new HashMap<String, Object>() {{ + put("report", internalReport); + put("examineUrl", StringUtils.isNotBlank(finalExamineUrl) ? Pictures.ofLocal(imgUrl + "/" + finalQualityUrl).create() : null); + put("qualityUrl", StringUtils.isNotBlank(finalQualityUrl) ? Pictures.ofLocal(imgUrl + "/" + finalQualityUrl).create() : null); + put("examineTime", internalReport.getExamineTime() != null ? internalReport.getExamineTime().format(formatter) : null); + put("qualityTime", internalReport.getQualityTime() != null ? internalReport.getQualityTime().format(formatter) : 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-manage/src/main/java/com/ruoyi/manage/service/impl/ManageControlPlanListServiceImpl.java b/cnas-manage/src/main/java/com/ruoyi/manage/service/impl/ManageControlPlanListServiceImpl.java new file mode 100644 index 0000000..ecad4e0 --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/service/impl/ManageControlPlanListServiceImpl.java @@ -0,0 +1,124 @@ +package com.ruoyi.manage.service.impl; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.baomidou.mybatisplus.core.toolkit.StringUtils; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.deepoove.poi.XWPFTemplate; +import com.deepoove.poi.config.Configure; +import com.deepoove.poi.data.Pictures; +import com.ruoyi.common.utils.DateImageUtil; +import com.ruoyi.framework.exception.ErrorException; +import com.ruoyi.inspect.util.HackLoopTableRenderPolicy; +import com.ruoyi.manage.mapper.ManageControlPlanListMapper; +import com.ruoyi.manage.pojo.ManageControlPlanList; +import com.ruoyi.manage.service.ManageControlPlanListService; +import com.ruoyi.manage.vo.ManageControlPlanListVo; +import com.ruoyi.system.mapper.UserMapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Service; + +import javax.servlet.http.HttpServletResponse; +import java.io.InputStream; +import java.io.OutputStream; +import java.net.URLEncoder; +import java.util.HashMap; + +/** + * <p> + * 閲嶅ぇ椋庨櫓鍥犵礌鍒嗘瀽鍙婃帶鍒惰鍒掓竻鍗� 鏈嶅姟瀹炵幇绫� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-15 02:58:30 + */ +@Service +public class ManageControlPlanListServiceImpl extends ServiceImpl<ManageControlPlanListMapper, ManageControlPlanList> implements ManageControlPlanListService { + + @Autowired + private UserMapper userMapper; + + @Value("${file.path}") + private String imgUrl; + + @Override + public IPage<ManageControlPlanListVo> getPageList(Page page) { + return baseMapper.getPageList(page, false); + } + + @Override + public void exportPersonTraining(HttpServletResponse response) { + // 鏌ヨ璇︽儏 + IPage<ManageControlPlanListVo> detailedDtos = baseMapper.getPageList(new Page(1, -1), true); + if (detailedDtos.getRecords().isEmpty()) { + throw new ErrorException("瀹℃牳閫氳繃鐨勬暟鎹负绌猴紒璇峰鏍搁�氳繃鍚庡湪瀵煎嚭"); + } + ManageControlPlanListVo manageRiskAssessmentResultsVo = detailedDtos.getRecords().get(0); + + //鑾峰彇缂栧埗浜虹殑绛惧悕鍦板潃 + String writeUrl = userMapper.selectById(manageRiskAssessmentResultsVo.getEditor()).getSignatureUrl(); + if (ObjectUtils.isEmpty(writeUrl) || writeUrl.equals("")) { + throw new ErrorException("鎵句笉鍒版楠屼汉鐨勭鍚�"); + } + + //鑾峰彇澶嶆牳浜虹殑绛惧悕鍦板潃 + String examineUrl = null; + if (manageRiskAssessmentResultsVo.getApproval() != null) { + examineUrl = userMapper.selectById(manageRiskAssessmentResultsVo.getApproval()).getSignatureUrl(); + if (StringUtils.isBlank(examineUrl)) { + throw new ErrorException("鎵句笉鍒板鏍镐汉鐨勭鍚�"); + } + } + + //鑾峰彇鎵瑰噯浜虹殑绛惧悕鍦板潃 + String ratifyUrl = null; + if (manageRiskAssessmentResultsVo.getApproval() != null) { + ratifyUrl = userMapper.selectById(manageRiskAssessmentResultsVo.getApproval()).getSignatureUrl(); + if (StringUtils.isBlank(ratifyUrl)) { + throw new ErrorException("鎵句笉鍒板鏍镐汉鐨勭鍚�"); + } + } + + int index = 1; + for (ManageControlPlanListVo detailedDto : detailedDtos.getRecords()) { + detailedDto.setIndex(index); + index++; + } + // 鑾峰彇璺緞 + InputStream inputStream = this.getClass().getResourceAsStream("/static/analysis-risk-factors.docx"); + String finalExamineUrl = examineUrl; + String finalRatifyUrl = ratifyUrl; + Configure configure = Configure.builder() + .bind("trainingDetailedList", new HackLoopTableRenderPolicy()) + .build(); + XWPFTemplate template = XWPFTemplate.compile(inputStream, configure).render( + new HashMap<String, Object>() {{ + put("trainingDetailedList", detailedDtos.getRecords()); + 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", manageRiskAssessmentResultsVo.getEditorDate() != null ? + Pictures.ofStream(DateImageUtil.createDateImage(manageRiskAssessmentResultsVo.getEditorDate())).create() : null); + put("examineDateUrl", manageRiskAssessmentResultsVo.getApproveDate() != null ? + Pictures.ofStream(DateImageUtil.createDateImage(manageRiskAssessmentResultsVo.getApproveDate())).create() : null); + put("ratifyDateUrl", manageRiskAssessmentResultsVo.getApproveDate() != null ? + Pictures.ofStream(DateImageUtil.createDateImage(manageRiskAssessmentResultsVo.getApproveDate())).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-manage/src/main/java/com/ruoyi/manage/service/impl/ManageDocumentAlterServiceImpl.java b/cnas-manage/src/main/java/com/ruoyi/manage/service/impl/ManageDocumentAlterServiceImpl.java new file mode 100644 index 0000000..b2f8120 --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/service/impl/ManageDocumentAlterServiceImpl.java @@ -0,0 +1,283 @@ +package com.ruoyi.manage.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.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.common.utils.QueryWrappers; +import com.ruoyi.common.utils.SecurityUtils; +import com.ruoyi.system.mapper.UserMapper; +import com.ruoyi.manage.mapper.*; +import com.ruoyi.manage.pojo.*; +import com.ruoyi.manage.service.ManageDocumentAlterService; +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.FileInputStream; +import java.io.IOException; +import java.io.OutputStream; +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-11 11:04:01 + */ +@Service +@Transactional(rollbackFor = Exception.class) +public class ManageDocumentAlterServiceImpl extends ServiceImpl<ManageDocumentAlterMapper, ManageDocumentAlter> implements ManageDocumentAlterService { + + @Resource + private ManageDocumentAlterMapper manageDocumentAlterMapper; + + @Resource + private ManageRecordCheckMapper manageRecordCheckMapper; + + @Value("${wordUrl}") + private String wordUrl; + + @Resource + private UserMapper userMapper; + + @Resource + private ManageDocumentListMapper manageDocumentListMapper; + + @Resource + private ManageDocumentCancelMapper manageDocumentCancelMapper; + + @Resource + private ManageRecordAuditMapper manageRecordAuditMapper; + + + @Override + public IPage<ManageDocumentAlter> pageManageDocumentAlter(Page page, ManageDocumentAlter manageDocumentAlter) { + return manageDocumentAlterMapper.pageManageDocumentAlter(page, QueryWrappers.queryWrappers(manageDocumentAlter)); + } + + @Override + public ManageDocumentAlter getManageDocumentAlter(Integer id) { + ManageDocumentAlter manageDocumentAlter = manageDocumentAlterMapper.getManageDocumentAlter(id); + String limsName = userMapper.selectUserDepartmentLimsName(manageDocumentAlter.getCreateUser()); + manageDocumentAlter.setCreateUserDepartLims(limsName); + return manageDocumentAlter; + } + + @Override + public int addManageDocumentAlter(ManageDocumentAlter manageDocumentAlter) { + /*鏂板8.4鐨勬枃浠朵慨璁㈢敵璇峰鎵硅褰�*/ + ManageRecordAudit manageRecordAudit = new ManageRecordAudit(); + manageRecordAudit.setDocumentCode(manageDocumentAlter.getAlterBeforeCode()); + manageRecordAudit.setDocumentName(manageDocumentAlter.getAlterBeforeName()); + manageRecordAudit.setBeforeVersion(manageDocumentAlter.getAlterBeforeVersion()); + manageRecordAudit.setAfterVersion(manageDocumentAlter.getAlterAfterVersion()); + manageRecordAudit.setReason(manageDocumentAlter.getAlterNote()); + manageRecordAudit.setAlterUser(SecurityUtils.getUserId().intValue()); + manageRecordAudit.setMethod("淇"); + if (ObjectUtils.isNotEmpty(manageDocumentAlter.getFile())) { + String urlString; + String pathName; + String path; + MultipartFile file = manageDocumentAlter.getFile(); + //涓婁紶鏂版枃浠� + path = wordUrl; + try { + File realpath = new File(path); + if (!realpath.exists()) { + realpath.mkdirs(); + } + pathName = UUID.randomUUID() + "_" + file.getOriginalFilename(); + urlString = realpath + "/" + pathName; + file.transferTo(new File(urlString)); + } catch (Exception e) { + e.printStackTrace(); + System.err.println("闄勪欢涓婁紶閿欒"); + return 0; + } + manageDocumentAlter.setAlterAfterUrl(pathName); + manageRecordAudit.setAfterUrl(pathName); + } + manageRecordAuditMapper.insert(manageRecordAudit); + return manageDocumentAlterMapper.insert(manageDocumentAlter); + } + + @Override + public int doManageDocumentAlter(ManageDocumentAlter manageDocumentAlter) { + ManageDocumentAlter manageDocumentAlter1= manageDocumentAlterMapper.selectById(manageDocumentAlter.getId()); + if (ObjectUtils.isNotEmpty(manageDocumentAlter.getFile())) { + if (ObjectUtils.isNotEmpty(manageDocumentAlter1.getAlterAfterUrl())) { + // 鍒犻櫎鏃ф枃浠� + File oldFile = new File(wordUrl + "/" + manageDocumentAlter1.getAlterAfterUrl()); + oldFile.delete(); + } + //涓婁紶鏂版枃浠� + String urlString; + String pathName; + String path; + MultipartFile file = manageDocumentAlter.getFile(); + path = wordUrl; + try { + File realpath = new File(path); + if (!realpath.exists()) { + realpath.mkdirs(); + } + pathName = UUID.randomUUID() + "_" + file.getOriginalFilename(); + urlString = realpath + "/" + pathName; + file.transferTo(new File(urlString)); + manageDocumentAlter.setAlterAfterUrl(pathName); + } catch (Exception e) { + e.printStackTrace(); + System.err.println("闄勪欢涓婁紶閿欒"); + return 0; + } + } + return manageDocumentAlterMapper.updateById(manageDocumentAlter); + } + + @Override + public int checkManageDocumentAlter(ManageDocumentAlter manageDocumentAlter) { + ManageDocumentAlter oldManageDocumentAlter = manageDocumentAlterMapper.selectById(manageDocumentAlter.getId()); + if (manageDocumentAlter.getState().equals("閫氳繃")) { + /*灏嗘枃浠剁洊绔�*/ + // 鍒犻櫎鏃ф枃浠� + File oldFile = new File(wordUrl + "/" + oldManageDocumentAlter.getAlterAfterUrl()); + oldFile.delete(); + //涓婁紶鏂版枃浠� + String urlString; + String pathName; + String path; + MultipartFile file = manageDocumentAlter.getFile(); + path = wordUrl; + try { + File realpath = new File(path); + if (!realpath.exists()) { + realpath.mkdirs(); + } + pathName = UUID.randomUUID() + "_" + file.getOriginalFilename(); + urlString = realpath + "/" + pathName; + file.transferTo(new File(urlString)); + manageDocumentAlter.setAlterAfterUrl(pathName); + } catch (Exception e) { + e.printStackTrace(); + System.err.println("闄勪欢涓婁紶閿欒"); + return 0; + } + /*鍏朵綑鐩稿叧澶勭悊*/ + if (oldManageDocumentAlter.getMethod().equals("浣滃簾")){ + //鏂板鍒颁綔搴熺敵璇烽噷闈� + ManageDocumentCancel manageDocumentCancel = new ManageDocumentCancel(); + manageDocumentCancel.setDocumentCode(oldManageDocumentAlter.getAlterBeforeCode()); + manageDocumentCancel.setName(oldManageDocumentAlter.getAlterBeforeName()); + manageDocumentCancel.setVersion(oldManageDocumentAlter.getAlterBeforeVersion()); + manageDocumentCancel.setCancelNote("鏂囦欢鍙樻洿,鍙樻洿鐨勬枃浠剁紪鍙锋槸"+oldManageDocumentAlter.getAlterAfterCode()); + manageDocumentCancelMapper.insert(manageDocumentCancel); + //鍒犻櫎鏂囦欢娓呭崟 + manageDocumentListMapper.delete(Wrappers.<ManageDocumentList>lambdaQuery() + .eq(ManageDocumentList::getDocumentCode,oldManageDocumentAlter.getAlterBeforeCode())); + //鏂板鏂囦欢娓呭崟 + ManageDocumentList manageDocumentList = new ManageDocumentList(); + manageDocumentList.setDocumentCode(oldManageDocumentAlter.getAlterAfterCode()); + manageDocumentList.setName(oldManageDocumentAlter.getAlterAfterName()); + manageDocumentList.setVersion(oldManageDocumentAlter.getAlterAfterVersion()); + manageDocumentList.setState("鏈夋晥"); + manageDocumentList.setEffectiveDate(LocalDate.now()); + manageDocumentList.setUrl(pathName); + manageDocumentListMapper.insert(manageDocumentList); + /*鏂板8.4鐨勬枃浠朵慨璁㈢敵璇峰鎵硅褰�*/ + ManageRecordAudit manageRecordAudit = new ManageRecordAudit(); + manageRecordAudit.setDocumentCode(manageDocumentCancel.getDocumentCode()); + manageRecordAudit.setDocumentName(manageDocumentCancel.getName()); + manageRecordAudit.setAlterThing("浣滃簾"); + manageRecordAudit.setMethod("浣滃簾"); + manageRecordAuditMapper.insert(manageRecordAudit); + }else { + //濡傛灉鏄瓨妗d笉鍙敤,閭e氨灏嗘枃浠舵竻鍗曠殑鐘舵�佹敼涓烘棤鏁� + manageDocumentListMapper.update(null,Wrappers.<ManageDocumentList>lambdaUpdate() + .eq(ManageDocumentList::getDocumentCode,oldManageDocumentAlter.getAlterBeforeCode()) + .set(ManageDocumentList::getState,"鏃犳晥")); + } + } + /*鏂板8.4鐨勬枃浠跺鎵硅褰�*/ + ManageRecordCheck manageRecordCheck = new ManageRecordCheck(); + manageRecordCheck.setDocumentCode(oldManageDocumentAlter.getAlterAfterCode()); + manageRecordCheck.setDocumentName(oldManageDocumentAlter.getAlterAfterName()); + manageRecordCheck.setDocumentVersion(oldManageDocumentAlter.getAlterAfterVersion()); + manageRecordCheck.setWriteUser(oldManageDocumentAlter.getCreateUser()); + manageRecordCheck.setCheckUser(oldManageDocumentAlter.getCheckUser()); + manageRecordCheck.setCheckState(manageDocumentAlter.getState()); + manageRecordCheck.setRemark(manageDocumentAlter.getAlterNote()); + manageRecordCheckMapper.insert(manageRecordCheck); + return manageDocumentAlterMapper.updateById(manageDocumentAlter); + } + + @Override + public void checkManageDocumentAlterPdf(Long id, HttpServletResponse response) throws Exception { + ManageDocumentAlter manageDocumentAlter = manageDocumentAlterMapper.selectById(id); + File file = new File(wordUrl + "/" + manageDocumentAlter.getAlterAfterUrl()); + FileInputStream fileInputStream = new FileInputStream(file); + response.setContentType("application/pdf"); + response.setCharacterEncoding("UTF-8"); + response.setHeader("Content-disposition", "inline;filename=" + file.getName()); + response.setContentLength((int)file.length()); + OutputStream os = response.getOutputStream(); + // 灏嗘枃浠跺唴瀹瑰啓鍏ヨ緭鍑烘祦 + byte[] buffer = new byte[4096]; + int bytesRead; + while ((bytesRead = fileInputStream.read(buffer)) != -1) { + os.write(buffer, 0, bytesRead); + } + os.flush(); + os.close(); + } + + @Override + public void exportManageDocumentAlter(ManageDocumentAlter manageDocumentAlter, HttpServletResponse response) throws Exception { + List<ManageDocumentAlter> data = manageDocumentAlterMapper.pageManageDocumentAlter(new Page(-1, -1), QueryWrappers.queryWrappers(manageDocumentAlter)).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(ManageDocumentAlter.class).build(); + excelWriter.write(data, mainSheet); + // 鍏抽棴娴� + excelWriter.finish(); + } catch (IOException e) { + throw new RuntimeException("瀵煎嚭澶辫触"); + } + } + + @Override + public int delManageDocumentAlter(Integer id) { + ManageDocumentAlter manageDocumentAlter = manageDocumentAlterMapper.selectById(id); + /*鍒犻櫎8.4鐨勬枃浠朵慨璁㈢敵璇峰鎵硅褰�*/ + manageRecordAuditMapper.delete(Wrappers.<ManageRecordAudit>lambdaQuery() + .eq(ManageRecordAudit::getDocumentCode,manageDocumentAlter.getAlterBeforeCode()) + .eq(ManageRecordAudit::getDocumentName,manageDocumentAlter.getAlterBeforeName()) + .eq(ManageRecordAudit::getBeforeVersion,manageDocumentAlter.getAlterBeforeVersion()) + .eq(ManageRecordAudit::getAfterVersion,manageDocumentAlter.getAlterAfterVersion()) + .eq(ManageRecordAudit::getReason,manageDocumentAlter.getAlterNote()) + .eq(ManageRecordAudit::getAlterUser,manageDocumentAlter.getCreateUser()) + .eq(ManageRecordAudit::getMethod,"淇")); + return manageDocumentAlterMapper.deleteById(id); + } +} diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/service/impl/ManageDocumentCancelServiceImpl.java b/cnas-manage/src/main/java/com/ruoyi/manage/service/impl/ManageDocumentCancelServiceImpl.java new file mode 100644 index 0000000..79090ae --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/service/impl/ManageDocumentCancelServiceImpl.java @@ -0,0 +1,141 @@ +package com.ruoyi.manage.service.impl; + +import com.alibaba.excel.EasyExcel; +import com.alibaba.excel.ExcelWriter; +import com.alibaba.excel.write.metadata.WriteSheet; +import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.common.utils.QueryWrappers; +import com.ruoyi.system.mapper.UserMapper; +import com.ruoyi.manage.mapper.ManageDocumentCancelMapper; +import com.ruoyi.manage.mapper.ManageDocumentListMapper; +import com.ruoyi.manage.mapper.ManageRecordAuditMapper; +import com.ruoyi.manage.mapper.ManageRecordCheckMapper; +import com.ruoyi.manage.pojo.ManageDocumentCancel; +import com.ruoyi.manage.pojo.ManageDocumentList; +import com.ruoyi.manage.pojo.ManageRecordAudit; +import com.ruoyi.manage.pojo.ManageRecordCheck; +import com.ruoyi.manage.service.ManageDocumentCancelService; +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-09 02:37:35 + */ +@Service +@Transactional(rollbackFor = Exception.class) +public class ManageDocumentCancelServiceImpl extends ServiceImpl<ManageDocumentCancelMapper, ManageDocumentCancel> implements ManageDocumentCancelService { + + @Resource + private ManageDocumentCancelMapper manageDocumentCancelMapper; + + @Resource + private ManageRecordCheckMapper manageRecordCheckMapper; + + @Resource + private ManageRecordAuditMapper manageRecordAuditMapper; + + @Resource + private ManageDocumentListMapper manageDocumentListMapper; + + @Resource + private UserMapper userMapper; + + @Override + public IPage<ManageDocumentCancel> pageManageDocumentCancel(Page page, ManageDocumentCancel manageDocumentCancel) { + return manageDocumentCancelMapper.pageManageDocumentCancel(page, QueryWrappers.queryWrappers(manageDocumentCancel)); + } + + @Override + public int addManageDocumentCancel(ManageDocumentCancel manageDocumentCancel) { + manageDocumentCancel.setState("寰呭鏍�"); + /*鏂板8.4鐨勬枃浠朵慨璁㈢敵璇峰鎵硅褰�*/ + ManageRecordAudit manageRecordAudit = new ManageRecordAudit(); + manageRecordAudit.setDocumentCode(manageDocumentCancel.getDocumentCode()); + manageRecordAudit.setDocumentName(manageDocumentCancel.getName()); + manageRecordAudit.setAlterThing("浣滃簾"); + manageRecordAudit.setMethod("浣滃簾"); + manageRecordAuditMapper.insert(manageRecordAudit); + return manageDocumentCancelMapper.insert(manageDocumentCancel); + } + + @Override + public int checkManageDocumentCancel(Integer id, String state) { + ManageDocumentCancel manageDocumentCancel = manageDocumentCancelMapper.selectById(id); + if (state.equals("閫氳繃")){ + //鍒犻櫎鏂囦欢娓呭崟瀵瑰簲鏁版嵁 + manageDocumentListMapper.delete(Wrappers.<ManageDocumentList>lambdaQuery().eq(ManageDocumentList::getDocumentCode,manageDocumentCancel.getDocumentCode())); + } + manageDocumentCancel.setState(state); + /*鏂板8.4鐨勬枃浠跺鎵硅褰�*/ + ManageRecordCheck manageRecordCheck = new ManageRecordCheck(); + manageRecordCheck.setDocumentCode(manageDocumentCancel.getDocumentCode()); + manageRecordCheck.setDocumentName(manageDocumentCancel.getName()); + manageRecordCheck.setDocumentVersion(manageDocumentCancel.getVersion()); + manageRecordCheck.setWriteUser(manageDocumentCancel.getCreateUser()); + manageRecordCheck.setCheckUser(manageDocumentCancel.getCheckUser()); + manageRecordCheck.setCheckState(manageDocumentCancel.getState()); + manageRecordCheck.setRemark(manageDocumentCancel.getCancelNote()); + manageRecordCheckMapper.insert(manageRecordCheck); + return manageDocumentCancelMapper.updateById(manageDocumentCancel); + } + + @Override + public ManageDocumentCancel getManageDocumentCancel(Integer id) { + ManageDocumentCancel manageDocumentCancel = manageDocumentCancelMapper.getManageDocumentCancel(id); + String limsName = userMapper.selectUserDepartmentLimsName(manageDocumentCancel.getCreateUser()); + manageDocumentCancel.setCreateUserDepartLims(limsName); + return manageDocumentCancel; + } + + @Override + public void exportManageDocumentCancel(ManageDocumentCancel manageDocumentCancel, HttpServletResponse response) throws Exception{ + List<ManageDocumentCancel> data = manageDocumentCancelMapper.pageManageDocumentCancel(new Page(-1, -1), QueryWrappers.queryWrappers(manageDocumentCancel)).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(ManageDocumentCancel.class).build(); + excelWriter.write(data, mainSheet); + // 鍏抽棴娴� + excelWriter.finish(); + } catch (IOException e) { + throw new RuntimeException("瀵煎嚭澶辫触"); + } + } + + @Override + public int delManageDocumentCancel(Integer id) { + ManageDocumentCancel manageDocumentCancel = manageDocumentCancelMapper.selectById(id); + /*鍒犻櫎8.4鐨勬枃浠朵慨璁㈢敵璇峰鎵硅褰�*/ + manageRecordAuditMapper.delete(Wrappers.<ManageRecordAudit>lambdaQuery() + .eq(ManageRecordAudit::getDocumentCode,manageDocumentCancel.getDocumentCode()) + .eq(ManageRecordAudit::getDocumentName,manageDocumentCancel.getName()) + .eq(ManageRecordAudit::getMethod,"浣滃簾")); + return manageDocumentCancelMapper.deleteById(id); + } + + @Override + public int doManageDocumentCancel(ManageDocumentCancel manageDocumentCancel) { + return manageDocumentCancelMapper.updateById(manageDocumentCancel); + } +} diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/service/impl/ManageDocumentControlledServiceImpl.java b/cnas-manage/src/main/java/com/ruoyi/manage/service/impl/ManageDocumentControlledServiceImpl.java new file mode 100644 index 0000000..2528f4a --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/service/impl/ManageDocumentControlledServiceImpl.java @@ -0,0 +1,218 @@ +package com.ruoyi.manage.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.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.common.core.domain.entity.User; +import com.ruoyi.common.utils.QueryWrappers; +import com.ruoyi.manage.mapper.ManageDocumentControlledMapper; +import com.ruoyi.manage.mapper.ManageDocumentListMapper; +import com.ruoyi.manage.mapper.ManageRecordCheckMapper; +import com.ruoyi.manage.pojo.ManageDocumentControlled; +import com.ruoyi.manage.pojo.ManageDocumentList; +import com.ruoyi.manage.pojo.ManageRecordCheck; +import com.ruoyi.manage.service.ManageDocumentControlledService; +import com.ruoyi.system.mapper.UserMapper; +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.FileInputStream; +import java.io.OutputStream; +import java.time.LocalDate; +import java.util.HashMap; +import java.util.Map; + +/** + * <p> + * 鏂囦欢鍙楁帶 鏈嶅姟瀹炵幇绫� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-08 02:54:44 + */ +@Service +@Transactional(rollbackFor = Exception.class) +public class ManageDocumentControlledServiceImpl extends ServiceImpl<ManageDocumentControlledMapper, ManageDocumentControlled> implements ManageDocumentControlledService { + + @Resource + private ManageDocumentControlledMapper manageDocumentControlledMapper; + + @Resource + private ManageDocumentListMapper manageDocumentListMapper; + + @Resource + private ManageRecordCheckMapper manageRecordCheckMapper; + + @Value("${wordUrl}") + private String wordUrl; + + @Resource + private UserMapper userMapper; + + @Override + public IPage<ManageDocumentControlled> pageManageDocumentControlled(Page page, ManageDocumentControlled manageDocumentControlled) { + return manageDocumentControlledMapper.pageManageDocumentControlled(page, QueryWrappers.queryWrappers(manageDocumentControlled)); + } + + @Override + public int addManageDocumentControlled(ManageDocumentControlled manageDocumentControlled) { + manageDocumentControlled.setState("寰呭鏍�"); + String urlString; + String pathName; + String path; + if (ObjectUtils.isNotEmpty(manageDocumentControlled.getFile())) { + MultipartFile file = manageDocumentControlled.getFile(); + //涓婁紶鏂版枃浠� + path = wordUrl; + try { + File realpath = new File(path); + if (!realpath.exists()) { + realpath.mkdirs(); + } + pathName = UUID.randomUUID() + "_" + file.getOriginalFilename(); + urlString = realpath + "/" + pathName; + file.transferTo(new File(urlString)); + } catch (Exception e) { + e.printStackTrace(); + System.err.println("闄勪欢涓婁紶閿欒"); + return 0; + } + manageDocumentControlled.setUrl(pathName); + } + return manageDocumentControlledMapper.insert(manageDocumentControlled); + } + + @Override + public int delManageDocumentControlled(Long id) { + ManageDocumentControlled manageDocumentControlled = manageDocumentControlledMapper.selectById(id); + if (ObjectUtils.isNotEmpty(manageDocumentControlled.getUrl())) { + // 鍒犻櫎鏃ф枃浠� + File oldFile = new File(wordUrl + "/" + manageDocumentControlled.getUrl()); + oldFile.delete(); + } + return manageDocumentControlledMapper.deleteById(id); + } + + @Override + public ManageDocumentControlled getManageDocumentControlled(Long id) { + ManageDocumentControlled manageDocumentControlled = manageDocumentControlledMapper.getManageDocumentControlled(id); + //鑾峰彇閮ㄩ棬淇℃伅 + String departmentLimsName = userMapper.selectUserDepartmentLimsName(manageDocumentControlled.getCreateUser()); + manageDocumentControlled.setCreateUserDepartLims(departmentLimsName); + return manageDocumentControlled; + } + + @Override + public int doManageDocumentControlled(ManageDocumentControlled manageDocumentControlled) { + ManageDocumentControlled manageDocumentControlled1 = manageDocumentControlledMapper.selectById(manageDocumentControlled.getId()); + if (ObjectUtils.isNotEmpty(manageDocumentControlled.getFile())) { + if (ObjectUtils.isNotEmpty(manageDocumentControlled1.getUrl())) { + // 鍒犻櫎鏃ф枃浠� + File oldFile = new File(wordUrl + "/" + manageDocumentControlled1.getUrl()); + oldFile.delete(); + } + //涓婁紶鏂版枃浠� + String urlString; + String pathName; + String path; + MultipartFile file = manageDocumentControlled.getFile(); + path = wordUrl; + try { + File realpath = new File(path); + if (!realpath.exists()) { + realpath.mkdirs(); + } + pathName = UUID.randomUUID() + "_" + file.getOriginalFilename(); + urlString = realpath + "/" + pathName; + file.transferTo(new File(urlString)); + manageDocumentControlled.setUrl(pathName); + } catch (Exception e) { + e.printStackTrace(); + System.err.println("闄勪欢涓婁紶閿欒"); + return 0; + } + } + return manageDocumentControlledMapper.updateById(manageDocumentControlled); + } + + @Override + public int checkManageDocumentControlled(ManageDocumentControlled manageDocumentControlled) { + ManageDocumentControlled documentControlled = manageDocumentControlledMapper.selectById(manageDocumentControlled.getId()); + if (manageDocumentControlled.getState().equals("閫氳繃")) { + // 鍒犻櫎鏃ф枃浠� + File oldFile = new File(wordUrl + "/" + documentControlled.getUrl()); + oldFile.delete(); + //涓婁紶鏂版枃浠� + String urlString; + String pathName; + String path; + MultipartFile file = manageDocumentControlled.getFile(); + path = wordUrl; + try { + File realpath = new File(path); + if (!realpath.exists()) { + realpath.mkdirs(); + } + pathName = UUID.randomUUID() + "_" + file.getOriginalFilename(); + urlString = realpath + "/" + pathName; + file.transferTo(new File(urlString)); + manageDocumentControlled.setUrl(pathName); + } catch (Exception e) { + e.printStackTrace(); + System.err.println("闄勪欢涓婁紶閿欒"); + return 0; + } + //灏嗘枃浠跺彈鎺у凡鐭ユ枃浠舵竻鍗� + ManageDocumentList manageDocumentList = new ManageDocumentList(); + manageDocumentList.setDocumentCode(documentControlled.getDocumentCode()); + manageDocumentList.setType(documentControlled.getType()); + manageDocumentList.setName(documentControlled.getName()); + manageDocumentList.setVersion(documentControlled.getVersion()); + manageDocumentList.setWriter(documentControlled.getWriter()); + manageDocumentList.setEffectiveDate(LocalDate.now()); + manageDocumentList.setState("鏈夋晥"); + manageDocumentList.setUrl(manageDocumentControlled.getUrl()); + manageDocumentListMapper.insert(manageDocumentList); + } + /*鏂板8.4鐨勬枃浠跺鎵硅褰�*/ + ManageRecordCheck manageRecordCheck = new ManageRecordCheck(); + manageRecordCheck.setDocumentCode(documentControlled.getDocumentCode()); + manageRecordCheck.setDocumentName(documentControlled.getName()); + manageRecordCheck.setDocumentVersion(documentControlled.getVersion()); + manageRecordCheck.setWriteUser(userMapper.selectOne(Wrappers.<User>lambdaQuery().eq(User::getName,documentControlled.getWriter())).getId()); + manageRecordCheck.setCheckUser(documentControlled.getDutyUser()); + manageRecordCheck.setCheckState(manageDocumentControlled.getState()); + manageRecordCheck.setRemark(documentControlled.getInstructions()); + manageRecordCheckMapper.insert(manageRecordCheck); + return manageDocumentControlledMapper.updateById(manageDocumentControlled); + } + + @Override + public void checkManageDocumentControlledPdf(Long id, HttpServletResponse response) throws Exception { + ManageDocumentControlled manageDocumentControlled = manageDocumentControlledMapper.selectById(id); + File file = new File(wordUrl + "/" + manageDocumentControlled.getUrl()); + FileInputStream fileInputStream = new FileInputStream(file); + response.setContentType("application/pdf"); + response.setCharacterEncoding("UTF-8"); + response.setHeader("Content-disposition", "inline;filename=" + file.getName()); + response.setContentLength((int)file.length()); + OutputStream os = response.getOutputStream(); + // 灏嗘枃浠跺唴瀹瑰啓鍏ヨ緭鍑烘祦 + byte[] buffer = new byte[4096]; + int bytesRead; + while ((bytesRead = fileInputStream.read(buffer)) != -1) { + os.write(buffer, 0, bytesRead); + } + os.flush(); + os.close(); + } + +} diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/service/impl/ManageDocumentIssueRecycleServiceImpl.java b/cnas-manage/src/main/java/com/ruoyi/manage/service/impl/ManageDocumentIssueRecycleServiceImpl.java new file mode 100644 index 0000000..e6a58f5 --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/service/impl/ManageDocumentIssueRecycleServiceImpl.java @@ -0,0 +1,197 @@ +package com.ruoyi.manage.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.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.common.utils.QueryWrappers; +import com.ruoyi.manage.dto.ManageDocumentIssueRecycleDto; +import com.ruoyi.manage.mapper.ManageDocumentIssueRecycleMapper; +import com.ruoyi.manage.mapper.ManageRecordCheckMapper; +import com.ruoyi.manage.mapper.ManageRecordIssueRecycleMapper; +import com.ruoyi.manage.pojo.ManageDocumentIssueRecycle; +import com.ruoyi.manage.pojo.ManageRecordCheck; +import com.ruoyi.manage.pojo.ManageRecordIssueRecycle; +import com.ruoyi.manage.service.ManageDocumentIssueRecycleService; +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.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * <p> + * 鏂囦欢鍙戞斁鍥炴敹 鏈嶅姟瀹炵幇绫� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-09 09:18:24 + */ +@Service +@Transactional(rollbackFor = Exception.class) +public class ManageDocumentIssueRecycleServiceImpl extends ServiceImpl<ManageDocumentIssueRecycleMapper, ManageDocumentIssueRecycle> implements ManageDocumentIssueRecycleService { + + @Resource + private ManageDocumentIssueRecycleMapper manageDocumentIssueRecycleMapper; + + @Value("${wordUrl}") + private String wordUrl; + + @Resource + private ManageRecordCheckMapper manageRecordCheckMapper; + + @Resource + private ManageRecordIssueRecycleMapper manageRecordIssueRecycleMapper; + + @Override + public IPage<ManageDocumentIssueRecycleDto> pageManageDocumentIssueRecycle(Page page, ManageDocumentIssueRecycleDto manageDocumentIssueRecycleDto) { + return manageDocumentIssueRecycleMapper.pageManageDocumentIssueRecycle(page, QueryWrappers.queryWrappers(manageDocumentIssueRecycleDto)); + } + + @Override + public ManageDocumentIssueRecycleDto getManageDocumentIssueRecycle(Long id) { + return manageDocumentIssueRecycleMapper.getManageDocumentIssueRecycle(id); + } + + @Override + public void exportManageDocumentIssueRecycle(ManageDocumentIssueRecycleDto manageDocumentIssueRecycleDto, HttpServletResponse response)throws Exception { + List<ManageDocumentIssueRecycleDto> data = manageDocumentIssueRecycleMapper.pageManageDocumentIssueRecycle(new Page(-1, -1), QueryWrappers.queryWrappers(manageDocumentIssueRecycleDto)).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(ManageDocumentIssueRecycleDto.class).build(); + excelWriter.write(data, mainSheet); + // 鍏抽棴娴� + excelWriter.finish(); + } catch (IOException e) { + throw new RuntimeException("瀵煎嚭澶辫触"); + } + } + + @Override + public int checkManageDocumentIssueRecycle(Integer id, String documentState) { + ManageDocumentIssueRecycle manageDocumentIssueRecycle = manageDocumentIssueRecycleMapper.selectById(id); + manageDocumentIssueRecycle.setDocumentState(documentState); + /*鏂板8.4鐨勬枃浠跺鎵硅褰�*/ + ManageRecordCheck manageRecordCheck = new ManageRecordCheck(); + manageRecordCheck.setDocumentCode(manageDocumentIssueRecycle.getDocumentCode()); + manageRecordCheck.setDocumentName(manageDocumentIssueRecycle.getName()); + manageRecordCheck.setDocumentVersion(manageDocumentIssueRecycle.getVersion()); + manageRecordCheck.setCheckUser(manageDocumentIssueRecycle.getReceiveUser()); + manageRecordCheck.setCheckState(documentState); + manageRecordCheckMapper.insert(manageRecordCheck); + return manageDocumentIssueRecycleMapper.updateById(manageDocumentIssueRecycle); + } + + @Override + public int addManageDocumentIssueRecycle(ManageDocumentIssueRecycle manageDocumentIssueRecycle) { + manageDocumentIssueRecycle.setDocumentState("寰呭鏍�"); + if (ObjectUtils.isNotEmpty(manageDocumentIssueRecycle.getFile())){ + String urlString; + String pathName; + String path; + MultipartFile file = manageDocumentIssueRecycle.getFile(); + //涓婁紶鏂版枃浠� + path = wordUrl; + try { + File realpath = new File(path); + if (!realpath.exists()) { + realpath.mkdirs(); + } + pathName = UUID.randomUUID() + "_" + file.getOriginalFilename(); + urlString = realpath + "/" + pathName; + file.transferTo(new File(urlString)); + } catch (Exception e) { + e.printStackTrace(); + System.err.println("闄勪欢涓婁紶閿欒"); + return 0; + } + manageDocumentIssueRecycle.setUrl(pathName); + } + /*鏂板8.3鐨勫彂鏀句笌鍥炴敹璁板綍*/ + ManageRecordIssueRecycle manageRecordIssueRecycle = new ManageRecordIssueRecycle(); + manageRecordIssueRecycle.setDocumentCode(manageDocumentIssueRecycle.getDocumentCode()); + manageRecordIssueRecycle.setDocumentName(manageDocumentIssueRecycle.getName()); + manageRecordIssueRecycle.setDocumentVersion(manageDocumentIssueRecycle.getVersion()); + manageRecordIssueRecycle.setReceiveUser(manageDocumentIssueRecycle.getIssueUser()); + manageRecordIssueRecycle.setReceiveDate(manageDocumentIssueRecycle.getIssueDate()); + manageRecordIssueRecycleMapper.insert(manageRecordIssueRecycle); + return manageDocumentIssueRecycleMapper.insert(manageDocumentIssueRecycle); + } + + @Override + public int doManageDocumentIssueRecycle(ManageDocumentIssueRecycle manageDocumentIssueRecycle) { + ManageDocumentIssueRecycle documentIssueRecycle = manageDocumentIssueRecycleMapper.selectById(manageDocumentIssueRecycle.getId()); + //鍒よ鏄惁鏄洖鏀� + if (ObjectUtils.isNotEmpty(manageDocumentIssueRecycle.getRecycleUser())){ + /*鏂板8.3鐨勫彂鏀句笌鍥炴敹璁板綍*/ + ManageRecordIssueRecycle manageRecordIssueRecycle = manageRecordIssueRecycleMapper.selectOne(Wrappers.<ManageRecordIssueRecycle>lambdaQuery() + .eq(ManageRecordIssueRecycle::getDocumentCode, documentIssueRecycle.getDocumentCode()) + .eq(ManageRecordIssueRecycle::getDocumentName, documentIssueRecycle.getName()) + .eq(ManageRecordIssueRecycle::getDocumentVersion, documentIssueRecycle.getVersion()) + .eq(ManageRecordIssueRecycle::getReceiveUser, documentIssueRecycle.getIssueUser()) + .eq(ManageRecordIssueRecycle::getReceiveDate, documentIssueRecycle.getIssueDate())); + manageRecordIssueRecycle.setSignedUser(manageDocumentIssueRecycle.getRecycleUser()); + manageRecordIssueRecycle.setSignedDate(manageDocumentIssueRecycle.getRecycleDate()); + manageRecordIssueRecycleMapper.updateById(manageRecordIssueRecycle); + } + if (ObjectUtils.isNotEmpty(manageDocumentIssueRecycle.getFile())) { + if (ObjectUtils.isNotEmpty(documentIssueRecycle.getUrl())) { + // 鍒犻櫎鏃ф枃浠� + File oldFile = new File(wordUrl + "/" + documentIssueRecycle.getUrl()); + oldFile.delete(); + } + //涓婁紶鏂版枃浠� + String urlString; + String pathName; + String path; + MultipartFile file = manageDocumentIssueRecycle.getFile(); + path = wordUrl; + try { + File realpath = new File(path); + if (!realpath.exists()) { + realpath.mkdirs(); + } + pathName = UUID.randomUUID() + "_" + file.getOriginalFilename(); + urlString = realpath + "/" + pathName; + file.transferTo(new File(urlString)); + manageDocumentIssueRecycle.setUrl(pathName); + } catch (Exception e) { + e.printStackTrace(); + System.err.println("闄勪欢涓婁紶閿欒"); + return 0; + } + } + return manageDocumentIssueRecycleMapper.updateById(manageDocumentIssueRecycle); + } + + @Override + public int delManageDocumentIssueRecycle(Long id) { + ManageDocumentIssueRecycle documentIssueRecycle = manageDocumentIssueRecycleMapper.selectById(id); + manageRecordIssueRecycleMapper.delete(Wrappers.<ManageRecordIssueRecycle>lambdaQuery() + .eq(ManageRecordIssueRecycle::getDocumentCode, documentIssueRecycle.getDocumentCode()) + .eq(ManageRecordIssueRecycle::getDocumentName, documentIssueRecycle.getName()) + .eq(ManageRecordIssueRecycle::getDocumentVersion, documentIssueRecycle.getVersion()) + .eq(ManageRecordIssueRecycle::getReceiveUser, documentIssueRecycle.getIssueUser()) + .eq(ManageRecordIssueRecycle::getReceiveDate, documentIssueRecycle.getIssueDate())); + return manageDocumentIssueRecycleMapper.deleteById(id); + } +} diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/service/impl/ManageDocumentListServiceImpl.java b/cnas-manage/src/main/java/com/ruoyi/manage/service/impl/ManageDocumentListServiceImpl.java new file mode 100644 index 0000000..247d1d9 --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/service/impl/ManageDocumentListServiceImpl.java @@ -0,0 +1,122 @@ +package com.ruoyi.manage.service.impl; + +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.lang.UUID; +import com.aspose.words.License; +import com.aspose.words.SaveFormat; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.common.utils.QueryWrappers; +import com.ruoyi.manage.mapper.ManageDocumentListMapper; +import com.ruoyi.manage.pojo.ManageDocumentList; +import com.ruoyi.manage.service.ManageDocumentListService; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.core.io.ClassPathResource; +import org.springframework.stereotype.Service; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import java.io.File; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** + * <p> + * 鏂囦欢娓呭崟 + * 鏈嶅姟瀹炵幇绫� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-08 11:08:11 + */ +@Service +public class ManageDocumentListServiceImpl extends ServiceImpl<ManageDocumentListMapper, ManageDocumentList> implements ManageDocumentListService { + + @Resource + private ManageDocumentListMapper manageDocumentListMapper; + + @Value("${wordUrl}") + private String wordUrl; + + @Override + public IPage<ManageDocumentList> pageManageDocumentList(Page page, ManageDocumentList manageDocumentList) { + return manageDocumentListMapper.pageManageDocumentList(page, QueryWrappers.queryWrappers(manageDocumentList)); + } + + + @Override + public int uploadFile(Integer id, MultipartFile file) { + String urlString; + String pathName; + String path; + ManageDocumentList manageDocumentList = manageDocumentListMapper.selectById(id); + if (ObjectUtils.isNotEmpty(manageDocumentList.getUrl())){ + // 鍒犻櫎鏃ф枃浠� + File oldFile = new File(wordUrl + "/" + manageDocumentList.getUrl()); + oldFile.delete(); + } + //涓婁紶鏂版枃浠� + path = wordUrl; + try { + File realpath = new File(path); + if (!realpath.exists()) { + realpath.mkdirs(); + } + pathName = UUID.randomUUID() + "_" + file.getOriginalFilename(); + urlString = realpath + "/" + pathName; + file.transferTo(new File(urlString)); + } catch (Exception e) { + e.printStackTrace(); + System.err.println("闄勪欢涓婁紶閿欒"); + return 0; + } + manageDocumentList.setUrl(pathName); + return manageDocumentListMapper.updateById(manageDocumentList); + } + + @Override + public void importExcel(List<ManageDocumentList> list) { + if (CollectionUtil.isEmpty(list)) { + return; + } + list = list.stream().filter(manageDocumentList -> ObjectUtils.isNotEmpty(manageDocumentList.getName())).collect(Collectors.toList()); + saveBatch(list); + } + + public String wordToPdf(String wordPath, String pdfPath) { + FileOutputStream os = null; + try { + InputStream is = new ClassPathResource("/lib/license.xml").getInputStream(); + License license = new License(); + license.setLicense(is); + if (!license.getIsLicensed()) { + System.out.println("License楠岃瘉涓嶉�氳繃..."); + return null; + } + //鐢熸垚涓�涓┖鐨凱DF鏂囦欢 + File file = new File(pdfPath.replace(".pdf", ".pdf")); + os = new FileOutputStream(file); + //瑕佽浆鎹㈢殑word鏂囦欢 + com.aspose.words.Document doc = new com.aspose.words.Document(wordPath); + doc.save(os, SaveFormat.PDF); + } catch (Exception e) { + e.printStackTrace(); + } finally { + if (os != null) { + try { + os.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + return null; + } +} diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/service/impl/ManageMeetingParticipantsServiceImpl.java b/cnas-manage/src/main/java/com/ruoyi/manage/service/impl/ManageMeetingParticipantsServiceImpl.java new file mode 100644 index 0000000..b477e76 --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/service/impl/ManageMeetingParticipantsServiceImpl.java @@ -0,0 +1,42 @@ +package com.ruoyi.manage.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.manage.mapper.ManageMeetingMapper; +import com.ruoyi.manage.mapper.ManageMeetingParticipantsMapper; +import com.ruoyi.manage.pojo.ManageMeeting; +import com.ruoyi.manage.pojo.ManageMeetingParticipants; +import com.ruoyi.manage.service.ManageMeetingParticipantsService; +import com.ruoyi.manage.vo.MeetingParticipantsDetailsVo; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.List; + +/** + * <p> + * 鏈嶅姟瀹炵幇绫� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-11 09:34:27 + */ +@Service +public class ManageMeetingParticipantsServiceImpl extends ServiceImpl<ManageMeetingParticipantsMapper, ManageMeetingParticipants> implements ManageMeetingParticipantsService { + + + @Resource + private ManageMeetingMapper manageMeetingMapper; + + @Override + public MeetingParticipantsDetailsVo getParticipants(Integer id) { + ManageMeeting manageMeeting = manageMeetingMapper.selectById(id); + QueryWrapper<ManageMeetingParticipants> queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("meeting_id",id); + List<ManageMeetingParticipants> participantsList = this.baseMapper.selectList(queryWrapper); + MeetingParticipantsDetailsVo vo = new MeetingParticipantsDetailsVo(); + vo.setManageMeeting(manageMeeting); + vo.setParticipantsList(participantsList); + return vo; + } +} diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/service/impl/ManageMeetingServiceImpl.java b/cnas-manage/src/main/java/com/ruoyi/manage/service/impl/ManageMeetingServiceImpl.java new file mode 100644 index 0000000..61857da --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/service/impl/ManageMeetingServiceImpl.java @@ -0,0 +1,157 @@ +package com.ruoyi.manage.service.impl; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.deepoove.poi.XWPFTemplate; +import com.deepoove.poi.config.Configure; +import com.ruoyi.common.core.domain.entity.User; +import com.ruoyi.inspect.util.HackLoopTableRenderPolicy; +import com.ruoyi.manage.dto.ManageMeetingDto; +import com.ruoyi.manage.dto.ManageMeetingParticipantsDto; +import com.ruoyi.manage.mapper.ManageMeetingMapper; +import com.ruoyi.manage.mapper.ManageMeetingParticipantsMapper; +import com.ruoyi.manage.pojo.ManageMeeting; +import com.ruoyi.manage.pojo.ManageMeetingParticipants; +import com.ruoyi.manage.service.ManageMeetingService; +import com.ruoyi.system.mapper.UserMapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import java.io.InputStream; +import java.io.OutputStream; +import java.net.URLEncoder; +import java.time.format.DateTimeFormatter; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.stream.Collectors; + +/** + * <p> + * 鏈嶅姟瀹炵幇绫� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-11 09:33:47 + */ +@Service +public class ManageMeetingServiceImpl extends ServiceImpl<ManageMeetingMapper, ManageMeeting> implements ManageMeetingService { + + + @Resource + private ManageMeetingParticipantsMapper manageMeetingParticipantsMapper; + + @Autowired + private UserMapper userMapper; + + @Override + public IPage<ManageMeetingDto> page(Page page, String startTime, String endTime, String place) { + IPage<ManageMeetingDto> iPage = this.baseMapper.page(page, startTime, endTime, place); + for (ManageMeetingDto record : iPage.getRecords()) { + List<ManageMeetingParticipants> manageMeetingParticipants = manageMeetingParticipantsMapper.selectList(Wrappers.<ManageMeetingParticipants>lambdaQuery().eq(ManageMeetingParticipants::getMeetingId, record.getId())); + String collect = manageMeetingParticipants.stream().map(manageMeetingParticipants1 -> { + return manageMeetingParticipants1.getParticipants() + ""; + }).collect(Collectors.joining(",")); + record.setParticipant(collect); + } + return iPage; + } + + @Override + public void addMeeting(ManageMeetingDto dto) { + this.baseMapper.insert(dto); + + String[] ids = dto.getParticipant().split(","); + List<ManageMeetingParticipants> list = new ArrayList<>(); + for (String id : ids) { + User user = userMapper.selectById(id); + ManageMeetingParticipants participants = new ManageMeetingParticipants(); + participants.setMeetingId(dto.getId()); + participants.setParticipants(Integer.parseInt(id)); + participants.setDepartment(userMapper.selectUserDepartmentLimsName(user.getId())); + list.add(participants); + } + list.forEach(v -> manageMeetingParticipantsMapper.insert(v)); + } + + @Override + public int modifyMeeting(ManageMeetingDto manageMeetingDto) { + this.baseMapper.updateById(manageMeetingDto); + manageMeetingParticipantsMapper.delete(Wrappers.<ManageMeetingParticipants>lambdaQuery().eq(ManageMeetingParticipants::getMeetingId, manageMeetingDto.getId())); + String[] ids = manageMeetingDto.getParticipant().split(","); + List<ManageMeetingParticipants> list = new ArrayList<>(); + for (String id : ids) { + User user = userMapper.selectById(id); + ManageMeetingParticipants participants = new ManageMeetingParticipants(); + participants.setMeetingId(manageMeetingDto.getId()); + participants.setParticipants(Integer.parseInt(id)); + participants.setDepartment(userMapper.selectUserDepartmentLimsName(user.getId())); + list.add(participants); + } + list.forEach(v -> manageMeetingParticipantsMapper.insert(v)); + return 0; + } + + @Override + public void exportMeeting(Integer id, HttpServletResponse response) { + ManageMeeting meeting = baseMapper.selectById(id); + // 鏌ヨ鍙傚姞浜哄憳 + List<ManageMeetingParticipants> manageMeetingParticipants = manageMeetingParticipantsMapper.selectList(Wrappers.<ManageMeetingParticipants>lambdaQuery().eq(ManageMeetingParticipants::getMeetingId, id)); + + List<ManageMeetingParticipants> list = manageMeetingParticipants.stream().map(manageMeetingParticipants1 -> { + manageMeetingParticipants1.setUserName(userMapper.selectById(manageMeetingParticipants1.getParticipants()).getName()); + manageMeetingParticipants1.setDepartment(userMapper.selectUserDepartmentLimsName(manageMeetingParticipants1.getParticipants())); + return manageMeetingParticipants1; + }).collect(Collectors.toList()); + + + // 鍒涘缓绌哄璞� + List<ManageMeetingParticipantsDto> participants = new ArrayList<>(); + + // 娣诲姞鍙傚姞浜哄憳 + for (int i = 0; i < list.size(); i++) { + // 鍒ゆ柇鏈夋病鏈夊埌11琛� + if (i % 2 == 0) { + ManageMeetingParticipantsDto manageMeetingParticipantsDto = new ManageMeetingParticipantsDto(); + manageMeetingParticipantsDto.setUserName1(list.get(i).getUserName()); + manageMeetingParticipantsDto.setDepartment1(list.get(i).getDepartment()); + participants.add(manageMeetingParticipantsDto); + } else { + participants.get((i-1)/2).setUserName2(list.get(i).getUserName()); + participants.get((i-1)/2).setDepartment2(list.get(i).getDepartment()); + } + } + + InputStream inputStream = this.getClass().getResourceAsStream("/static/review-meet.docx"); + + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy骞碝M鏈坉d鏃�"); + Configure configure = Configure.builder() + .bind("meetingDetails", new HackLoopTableRenderPolicy()) + .build(); + XWPFTemplate template = XWPFTemplate.compile(inputStream, configure).render( + new HashMap<String, Object>() {{ + put("meeting", meeting); + put("meetingTime", meeting.getMeetingTime().format(formatter)); + put("meetingDetails", participants); + }}); + + 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-manage/src/main/java/com/ruoyi/manage/service/impl/ManageRecordAuditServiceImpl.java b/cnas-manage/src/main/java/com/ruoyi/manage/service/impl/ManageRecordAuditServiceImpl.java new file mode 100644 index 0000000..4dfe938 --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/service/impl/ManageRecordAuditServiceImpl.java @@ -0,0 +1,670 @@ +package com.ruoyi.manage.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.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.deepoove.poi.XWPFTemplate; +import com.deepoove.poi.config.Configure; +import com.deepoove.poi.config.ConfigureBuilder; +import com.deepoove.poi.data.*; +import com.deepoove.poi.data.style.*; +import com.ruoyi.common.utils.QueryWrappers; +import com.ruoyi.common.utils.SecurityUtils; +import com.ruoyi.framework.exception.ErrorException; +import com.ruoyi.manage.mapper.ManageRecordAuditMapper; +import com.ruoyi.manage.pojo.ManageRecordAudit; +import com.ruoyi.manage.service.ManageRecordAuditService; +import com.ruoyi.system.mapper.UserMapper; +import org.apache.commons.io.IOUtils; +import org.apache.poi.openxml4j.util.ZipSecureFile; +import org.apache.poi.xwpf.usermodel.*; +import org.openxmlformats.schemas.wordprocessingml.x2006.main.STMerge; +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.*; +import java.nio.file.Files; +import java.nio.file.Paths; +import java.time.LocalDate; +import java.util.*; + +/** + * <p> + * 鏂囦欢淇鐢宠瀹℃壒璁板綍 鏈嶅姟瀹炵幇绫� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-14 10:29:18 + */ +@Service +@Transactional(rollbackFor = Exception.class) +public class ManageRecordAuditServiceImpl extends ServiceImpl<ManageRecordAuditMapper, ManageRecordAudit> implements ManageRecordAuditService { + + @Resource + private ManageRecordAuditMapper manageRecordAuditMapper; + + @Resource + private UserMapper userMapper; + + @Value("${wordUrl}") + private String wordUrl; + + @Override + public IPage<ManageRecordAudit> pageManageRecordAudit(Page page, ManageRecordAudit manageRecordAudit) { + IPage<ManageRecordAudit> manageRecordAuditIPage = manageRecordAuditMapper.pageManageRecordAudit(page, QueryWrappers.queryWrappers(manageRecordAudit)); + for (ManageRecordAudit record : manageRecordAuditIPage.getRecords()) { + String limsName = userMapper.selectUserDepartmentLimsName(record.getCreateUser()); + record.setCreateUserDepart(limsName); + } + return manageRecordAuditIPage; + } + + @Override + public int addManageRecordAudit(ManageRecordAudit manageRecordAudit) { + if (ObjectUtils.isNotEmpty(manageRecordAudit.getFile())) { + String urlString; + String pathName; + String path; + MultipartFile file = manageRecordAudit.getFile(); + //涓婁紶鏂版枃浠� + path = wordUrl; + try { + File realpath = new File(path); + if (!realpath.exists()) { + realpath.mkdirs(); + } + pathName = UUID.randomUUID() + "_" + file.getOriginalFilename(); + urlString = realpath + "/" + pathName; + file.transferTo(new File(urlString)); + } catch (Exception e) { + e.printStackTrace(); + System.err.println("闄勪欢涓婁紶閿欒"); + return 0; + } + manageRecordAudit.setAfterUrl(pathName); + } + manageRecordAudit.setCreateTime(LocalDate.now()); + return manageRecordAuditMapper.insert(manageRecordAudit); + } + + @Override + public int doManageRecordAudit(ManageRecordAudit manageRecordAudit) { + ManageRecordAudit recordAudit= manageRecordAuditMapper.selectById(manageRecordAudit.getId()); + if (ObjectUtils.isNotEmpty(manageRecordAudit.getFile())) { + if (ObjectUtils.isNotEmpty(recordAudit.getAfterUrl())) { + // 鍒犻櫎鏃ф枃浠� + File oldFile = new File(wordUrl + "/" + recordAudit.getAfterUrl()); + oldFile.delete(); + } + //涓婁紶鏂版枃浠� + String urlString; + String pathName; + String path; + MultipartFile file = manageRecordAudit.getFile(); + path = wordUrl; + try { + File realpath = new File(path); + if (!realpath.exists()) { + realpath.mkdirs(); + } + pathName = UUID.randomUUID() + "_" + file.getOriginalFilename(); + urlString = realpath + "/" + pathName; + file.transferTo(new File(urlString)); + manageRecordAudit.setAfterUrl(pathName); + } catch (Exception e) { + e.printStackTrace(); + System.err.println("闄勪欢涓婁紶閿欒"); + return 0; + } + } + return manageRecordAuditMapper.updateById(manageRecordAudit); + } + + @Override + public int ratifyManageRecordAudit(Integer id) { + ManageRecordAudit recordAudit = manageRecordAuditMapper.selectById(id); + recordAudit.setRatifyUser(SecurityUtils.getUserId().intValue()); + return manageRecordAuditMapper.updateById(recordAudit); + } + + @Override + public String exportOutManageRecordAudit(ManageRecordAudit manageRecordAudit, HttpServletResponse response) { + List<ManageRecordAudit> manageRecordAuditList = manageRecordAuditMapper.pageManageRecordAudit(new Page(-1, -1), QueryWrappers.queryWrappers(manageRecordAudit)).getRecords(); + for (ManageRecordAudit record : manageRecordAuditList) { + String limsName = userMapper.selectUserDepartmentLimsName(record.getCreateUser()); + record.setCreateUserDepart(limsName); + } + //鐢熸垚妫�楠屾姤鍛婂彂鏀剧櫥璁拌〃 + String url; + try { + InputStream inputStream = this.getClass().getResourceAsStream("/static/audit-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>> auditList = new ArrayList<>(); + Integer index = 1; + Integer index1 = 1; + for (int c = 0; c < manageRecordAuditList.size(); c++) { + //瓒呰繃15琛屾崲椤� + if (c % 15 == 0) { + List<RowRenderData> rows = new ArrayList<>(); + //琛ㄦ牸鐨勮鏁� + for (int i = 0; i < 17; 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 < 11; 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.鈭�1"); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else if (j == 1) { + //绗簩鍒� + textRenderData.setText("鏂囦欢缂栧彿@File number鈭�2"); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else if (j == 2) { + //绗笁鍒� + textRenderData.setText("绔犺妭鍙稝Chapter number鈭�3"); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else if (j == 3) { + //绗洓鍒� + textRenderData.setText("椤电爜@Page number鈭�4"); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else if (j == 4) { + //绗簲鍒� + textRenderData.setText("淇娆℃暟@Number of revisions鈭�5"); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else if (j == 5 || j == 6) { + //绗叚鍒� + textRenderData.setText("鐗堟湰鍙� Version number鈭�6"); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else if (j == 7) { + //绗竷鍒� + textRenderData.setText("淇鍐呭@Revision of contents鈭�7"); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else if (j == 8) { + //绗叓鍒� + textRenderData.setText("淇浜篅Revised鈭�8"); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else if (j == 9 ) { + //绗節鍒� + textRenderData.setText("鎵瑰噯浜篅Approver鈭�9"); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else { + //绗崄鍒� + textRenderData.setText("鏃ユ湡@Date鈭�10"); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } + } + else if (i == 1) { + //绗竴琛� + if (j == 0) { + //绗竴鍒楀簭鍙� + textRenderData.setText("搴忓彿@No.鈭�1"); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else if (j == 1) { + //绗簩鍒� + textRenderData.setText("鏂囦欢缂栧彿@File number鈭�2"); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else if (j == 2) { + //绗笁鍒� + textRenderData.setText("绔犺妭鍙稝Chapter number鈭�3"); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else if (j == 3) { + //绗洓鍒� + textRenderData.setText("椤电爜@Page number鈭�4"); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else if (j == 4) { + //绗簲鍒� + textRenderData.setText("淇娆℃暟@Number of revisions鈭�5"); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else if (j == 5 ) { + //绗叚鍒� + textRenderData.setText("淇敼鍓岪Before modification"); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else if (j == 6) { + //绗竷鍒� + textRenderData.setText("淇敼鍚嶡After modification"); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } + else if (j == 7) { + //绗竷鍒� + textRenderData.setText("淇鍐呭@Revision of contents鈭�7"); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else if (j == 8) { + //绗叓鍒� + textRenderData.setText("淇浜篅Revised鈭�8"); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else if (j == 9 ) { + //绗節鍒� + textRenderData.setText("鎵瑰噯浜篅Approver鈭�9"); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else { + //绗崄鍒� + textRenderData.setText("鏃ユ湡@Date鈭�10"); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } + } + else { + //鍏朵粬琛� + if (j == 0) { + //绗竴鍒� + try { + String insReportCode = manageRecordAuditList.get((i - 2) + (index1 - 1) * 15).getDocumentCode(); + 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(manageRecordAuditList.get((i - 2) + (index1 - 1) * 15).getDocumentCode()); + } 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(manageRecordAuditList.get((i - 2) + (index1 - 1) * 15).getCapter()); + } 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(manageRecordAuditList.get((i - 2) + (index1 - 1) * 15).getPages()); + } 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(manageRecordAuditList.get((i - 2) + (index1 - 1) * 15).getNumber()+""); + } 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(manageRecordAuditList.get((i - 2) + (index1 - 1) * 15).getBeforeVersion()); + } 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(manageRecordAuditList.get((i - 2) + (index1 - 1) * 15).getAfterVersion()); + } 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(manageRecordAuditList.get((i - 2) + (index1 - 1) * 15).getAlterThing()); + } 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(manageRecordAuditList.get((i - 2) + (index1 - 1) * 15).getAlterUserName()); + } catch (Exception e) { + textRenderData.setText(""); + } + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + }else if (j == 9) { + try { + textRenderData.setText(manageRecordAuditList.get((i - 2) + (index1 - 1) * 15).getRatifyUserName()); + } catch (Exception e) { + textRenderData.setText(""); + } + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } + else { + try { + textRenderData.setText(manageRecordAuditList.get((i - 2) + (index1 - 1) * 15).getDate()+""); + } 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("audit", tableRenderData); + table.put("index1", index1); + auditList.add(table); + index1++; + } + } + Integer finalIndex = index1; + XWPFTemplate template = XWPFTemplate.compile(url, builder.build()).render( + new HashMap<String, Object>() {{ + put("size", finalIndex); + put("cancelList", auditList); + }}); + 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 { + ZipSecureFile.setMinInflateRatio(0.0001); + FileInputStream stream = new FileInputStream(path); + XWPFDocument document = new XWPFDocument(stream); + List<XWPFTable> xwpfTables = document.getTables(); + for (int i = 0; i < xwpfTables.size(); i++) { + Set<String> set1 = new HashSet<>(); + Map<String, Map<String, Integer>> maps = new HashMap<>(); + for (int j = 0; j < xwpfTables.get(i).getRows().size(); j++) { + for (int k = 0; k < xwpfTables.get(i).getRows().get(j).getTableCells().size(); k++) { + if (xwpfTables.get(i).getRows().get(j).getTableCells().get(k).getText().indexOf("鈭�") > -1) { + String[] split = xwpfTables.get(i).getRows().get(j).getTableCells().get(k).getText().split("鈭�"); + if (set1.add(split[1])) { + Map<String, Integer> map = new HashMap<>(); + map.put("sr", j); + map.put("sc", k); + map.put("er", j + 0); + map.put("ec", k + 0); + maps.put(split[1], map); + } else { + Map<String, Integer> map1 = maps.get(split[1]); + if (j == map1.get("sr")) { + map1.put("ec", map1.get("ec") + 1); + } else if (k == map1.get("sc")) { + map1.put("er", map1.get("er") + 1); + } + } + String str = xwpfTables.get(i).getRows().get(j).getTableCells().get(k).getText().split("鈭�")[0]; + xwpfTables.get(i).getRows().get(j).getTableCells().get(k).removeParagraph(0); + xwpfTables.get(i).getRows().get(j).getTableCells().get(k).setText(str); + xwpfTables.get(i).getRows().get(j).getTableCells().get(k).setVerticalAlignment(XWPFTableCell.XWPFVertAlign.CENTER); + xwpfTables.get(i).getRows().get(j).getTableCells().get(k).getParagraphArray(0).setAlignment(ParagraphAlignment.CENTER); + } + } + } + // 鍗曞厓鏍兼帓搴�, 閬垮厤鏍煎紡閿欎贡 + List<Map.Entry<String, Map<String, Integer>>> entries = new ArrayList<>(maps.entrySet()); + entries.sort((o1, o2) -> o1.getValue().get("sc") - o2.getValue().get("sc")); + // 鎸夌収椤哄簭娣诲姞杩涢泦鍚� + List<String> list = new ArrayList<>(); + for (Map.Entry<String, Map<String, Integer>> entry : entries) { + list.add(entry.getKey()); + } + for (int a = list.size() - 1; a >= 0; a--) { + Map<String, Integer> v = maps.get(list.get(a)); + for (int j = 0; j < v.get("er") - v.get("sr") + 1; j++) { + if (v.get("ec") > v.get("sc")) { + try { + mergeCellsHorizontally(xwpfTables.get(i), v.get("sr") + j, v.get("sc"), v.get("ec")); +// TableTools.mergeCellsHorizonal(xwpfTables.get(i), v.get("sr") + j, v.get("sc"), v.get("ec")); + } catch (Exception e) { + } + } + } + if (v.get("er") > v.get("sr")) { + try { + mergeCellsVertically(xwpfTables.get(i), v.get("sc"), v.get("sr"), v.get("er")); +// TableTools.mergeCellsVertically(xwpfTables.get(i), v.get("sc"), v.get("sr"), v.get("er")); + } catch (Exception e) { + } + } + } + } + FileOutputStream fileOutputStream = new FileOutputStream(path); + document.write(fileOutputStream); + fileOutputStream.close(); + } catch (FileNotFoundException e) { + throw new RuntimeException(e); + } catch (IOException e) { + throw new RuntimeException(e); + } + //澶勭悊涓嫳鏂囨崲琛岀殑闂 + try { + FileInputStream stream1 = new FileInputStream(path); + XWPFDocument document1 = new XWPFDocument(stream1); + List<XWPFTable> xwpfTables1 = document1.getTables(); + for (int i = 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; + } + + // 姘村钩鍚堝苟鍗曞厓鏍� + private static void mergeCellsHorizontally(XWPFTable table, int row, int fromCol, int toCol) { + for (int i = fromCol; i <= toCol; i++) { + if (i == fromCol) { + table.getRow(row).getCell(i).getCTTc().addNewTcPr().addNewHMerge().setVal(STMerge.RESTART); + } else { + table.getRow(row).getCell(i).getCTTc().addNewTcPr().addNewHMerge().setVal(STMerge.CONTINUE); + } + } + } + + // 鍨傜洿鍚堝苟鍗曞厓鏍� + private static void mergeCellsVertically(XWPFTable table, int col, int fromRow, int toRow) { + for (int i = fromRow; i <= toRow; i++) { + if (i == fromRow) { + table.getRow(i).getCell(col).getCTTc().addNewTcPr().addNewVMerge().setVal(STMerge.RESTART); + } else { + table.getRow(i).getCell(col).getCTTc().addNewTcPr().addNewVMerge().setVal(STMerge.CONTINUE); + } + } + } +} diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/service/impl/ManageRecordCancelServiceImpl.java b/cnas-manage/src/main/java/com/ruoyi/manage/service/impl/ManageRecordCancelServiceImpl.java new file mode 100644 index 0000000..fa8eb5f --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/service/impl/ManageRecordCancelServiceImpl.java @@ -0,0 +1,477 @@ +package com.ruoyi.manage.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.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.deepoove.poi.XWPFTemplate; +import com.deepoove.poi.config.Configure; +import com.deepoove.poi.config.ConfigureBuilder; +import com.deepoove.poi.data.*; +import com.deepoove.poi.data.style.*; +import com.ruoyi.common.core.domain.entity.User; +import com.ruoyi.common.utils.QueryWrappers; +import com.ruoyi.common.utils.SecurityUtils; +import com.ruoyi.framework.exception.ErrorException; +import com.ruoyi.manage.mapper.ManageRecordCancelMapper; +import com.ruoyi.manage.pojo.ManageRecordCancel; +import com.ruoyi.manage.service.ManageRecordCancelService; +import com.ruoyi.system.mapper.UserMapper; +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 org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import java.io.*; +import java.nio.file.Files; +import java.nio.file.Paths; +import java.time.LocalDate; +import java.time.format.DateTimeFormatter; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * <p> + * 浣滃簾鏂囦欢閿�榄傝褰� 鏈嶅姟瀹炵幇绫� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-13 01:27:22 + */ +@Service +@Transactional(rollbackFor = Exception.class) +public class ManageRecordCancelServiceImpl extends ServiceImpl<ManageRecordCancelMapper, ManageRecordCancel> implements ManageRecordCancelService { + + @Resource + private ManageRecordCancelMapper manageRecordCancelMapper; + + @Value("${wordUrl}") + private String wordUrl; + + @Resource + private UserMapper userMapper; + + @Override + public IPage<ManageRecordCancel> pageManageRecordCancel(Page page, ManageRecordCancel manageRecordCancel) { + return manageRecordCancelMapper.pageManageRecordCancel(page, QueryWrappers.queryWrappers(manageRecordCancel)); + } + + @Override + public int ratifyManageRecordCancel(Integer id, String ratifyState) { + Integer userId = SecurityUtils.getUserId().intValue(); + ManageRecordCancel manageRecordCancel = manageRecordCancelMapper.selectById(id); + manageRecordCancel.setRatifyUser(userId); + manageRecordCancel.setRatifyTime(LocalDate.now()); + manageRecordCancel.setRatifyState(ratifyState); + return manageRecordCancelMapper.updateById(manageRecordCancel); + } + + @Override + public String exportOutManageRecordCancel(ManageRecordCancel manageRecordCancel, HttpServletResponse response) { + List<ManageRecordCancel> manageRecordCancelList = manageRecordCancelMapper.pageManageRecordCancel(new Page(-1, -1), QueryWrappers.queryWrappers(manageRecordCancel)).getRecords(); + //鐢熸垚妫�楠屾姤鍛婂彂鏀剧櫥璁拌〃 + String url; + try { + InputStream inputStream = this.getClass().getResourceAsStream("/static/cancel-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>> cancelList = new ArrayList<>(); + Integer index = 1; + Integer index1 = 1; + for (int c = 0; c < manageRecordCancelList.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("鏂囦欢缂栧彿@File number"); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else if (j == 2) { + //绗笁鍒� + textRenderData.setText("鏂囦欢(璁板綍)鍚嶇О@File (record) name"); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else if (j == 3) { + //绗洓鍒� + textRenderData.setText("鏁伴噺@Quantity"); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else if (j == 4) { + //绗簲鍒� + textRenderData.setText("閿�姣佸師鍥燖Reason for destruction"); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else if (j == 5) { + //绗叚鍒� + textRenderData.setText("鐢宠浜篅Applicant"); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else if (j == 6) { + //绗竷鍒� + textRenderData.setText("鏃ユ湡@Date"); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else if (j == 7) { + //绗叓鍒� + textRenderData.setText("鎵瑰噯@Approve"); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else if (j == 8 ) { + //绗節鍒� + textRenderData.setText("鏃ユ湡@Date"); + 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 = manageRecordCancelList.get((i - 1) + (index1 - 1) * 15).getDocumentCode(); + 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(manageRecordCancelList.get((i - 1) + (index1 - 1) * 15).getDocumentCode()); + } 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(manageRecordCancelList.get((i - 1) + (index1 - 1) * 15).getDocumentName()); + } 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(manageRecordCancelList.get((i - 1) + (index1 - 1) * 15).getQty()+""); + } 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(manageRecordCancelList.get((i - 1) + (index1 - 1) * 15).getReason()); + } 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(manageRecordCancelList.get((i - 1) + (index1 - 1) * 15).getCreateUserName()); + } 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(manageRecordCancelList.get((i - 1) + (index1 - 1) * 15).getCreateTime()+""); + } 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(manageRecordCancelList.get((i - 1) + (index1 - 1) * 15).getRatifyUserName()); + } 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(manageRecordCancelList.get((i - 1) + (index1 - 1) * 15).getRatifyTime()+""); + } catch (Exception e) { + textRenderData.setText(""); + } + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + }else { + try { + textRenderData.setText(manageRecordCancelList.get((i - 1) + (index1 - 1) * 15).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("cancel", tableRenderData); + table.put("index1", index1); + cancelList.add(table); + index1++; + } + } + Integer finalIndex = index1; + XWPFTemplate template = XWPFTemplate.compile(url, builder.build()).render( + new HashMap<String, Object>() {{ + put("size", finalIndex); + put("cancelList", cancelList); + }}); + 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; + } + + @Override + public int exportInManageRecordCancel(MultipartFile file) { + List<ManageRecordCancel> manageRecordCancelList = new ArrayList<>(); + DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); + try { + InputStream inputStream = file.getInputStream(); + XWPFDocument document = new XWPFDocument(inputStream); + List<XWPFTable> tables = document.getTables(); + if (tables.isEmpty()) { + throw new ErrorException("鏂囨。涓病鏈夎〃鏍�"); + } + + for (XWPFTable table : tables) { + List<XWPFTableRow> rows = table.getRows(); + if (rows.size() <= 1) { + throw new ErrorException("琛ㄦ牸娌℃湁鏁版嵁琛�"); + } + for (int i = 1; i < rows.size(); i++) { // 浠庣浜岃寮�濮嬶紝璺宠繃琛ㄥご + XWPFTableRow row = rows.get(i); + if (row.getTableCells().size() != 10) { + System.out.println("琛� " + (i + 1) + " 鐨勫垪鏁颁笉鍖归厤锛岃烦杩囪琛�"); + continue; + } + if (ObjectUtils.isNotEmpty(row.getCell(1).getText())) { + ManageRecordCancel manageRecordCancel = new ManageRecordCancel(); + manageRecordCancel.setDocumentCode(row.getCell(1).getText()); + manageRecordCancel.setDocumentName(row.getCell(2).getText()); + manageRecordCancel.setQty(Integer.valueOf(row.getCell(3).getText())); + manageRecordCancel.setReason(row.getCell(4).getText()); + try { + manageRecordCancel.setCreateUser(userMapper.selectOne(Wrappers.<User>lambdaQuery() + .eq(User::getName, row.getCell(5).getText())).getId()); + } catch (Exception e) { + manageRecordCancel.setCreateUser(null); + } + try { + manageRecordCancel.setRatifyUser(userMapper.selectOne(Wrappers.<User>lambdaQuery() + .eq(User::getName, row.getCell(7).getText())).getId()); + } catch (Exception e) { + manageRecordCancel.setRatifyUser(null); + } + try { + manageRecordCancel.setCreateTime(LocalDate.parse(row.getCell(6).getText(), dateTimeFormatter)); + } catch (Exception e) { + manageRecordCancel.setCreateTime(null); + } + try { + manageRecordCancel.setRatifyTime(LocalDate.parse(row.getCell(8).getText(), dateTimeFormatter)); + } catch (Exception e) { + manageRecordCancel.setRatifyTime(null); + } + manageRecordCancel.setRemark(row.getCell(9).getText()); + ManageRecordCancel cancel = manageRecordCancelMapper.selectOne(Wrappers.<ManageRecordCancel>lambdaQuery() + .eq(ManageRecordCancel::getDocumentCode, manageRecordCancel.getDocumentCode()) + .eq(ManageRecordCancel::getDocumentName, manageRecordCancel.getDocumentName())); + if (ObjectUtils.isNotEmpty(cancel)) { + manageRecordCancel.setId(cancel.getId()); + } + manageRecordCancelList.add(manageRecordCancel); + } + } + } + saveOrUpdateBatch(manageRecordCancelList); + } catch (IOException e) { + e.printStackTrace(); + } + return 0; + } +} diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/service/impl/ManageRecordCheckServiceImpl.java b/cnas-manage/src/main/java/com/ruoyi/manage/service/impl/ManageRecordCheckServiceImpl.java new file mode 100644 index 0000000..92ca68f --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/service/impl/ManageRecordCheckServiceImpl.java @@ -0,0 +1,467 @@ +package com.ruoyi.manage.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.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.deepoove.poi.XWPFTemplate; +import com.deepoove.poi.config.Configure; +import com.deepoove.poi.config.ConfigureBuilder; +import com.deepoove.poi.data.*; +import com.deepoove.poi.data.style.*; +import com.ruoyi.common.core.domain.entity.User; +import com.ruoyi.common.utils.QueryWrappers; +import com.ruoyi.common.utils.SecurityUtils; +import com.ruoyi.framework.exception.ErrorException; +import com.ruoyi.manage.mapper.ManageRecordCheckMapper; +import com.ruoyi.manage.pojo.ManageRecordCheck; +import com.ruoyi.manage.service.ManageRecordCheckService; +import com.ruoyi.system.mapper.UserMapper; +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 org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import java.io.*; +import java.nio.file.Files; +import java.nio.file.Paths; +import java.time.LocalDate; +import java.time.format.DateTimeFormatter; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * <p> + * 鏂囦欢瀹℃壒璁板綍(鍚慨璁㈠悗鍐嶆瀹℃壒璁板綍) 鏈嶅姟瀹炵幇绫� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-12 02:31:36 + */ +@Service +@Transactional(rollbackFor = Exception.class) +public class ManageRecordCheckServiceImpl extends ServiceImpl<ManageRecordCheckMapper, ManageRecordCheck> implements ManageRecordCheckService { + + @Resource + private ManageRecordCheckMapper manageRecordCheckMapper; + + @Value("${wordUrl}") + private String wordUrl; + + @Resource + private UserMapper userMapper; + + @Override + public IPage<ManageRecordCheck> pageManageRecordCheck(Page page, ManageRecordCheck manageRecordCheck) { + return manageRecordCheckMapper.pageManageRecordCheck(page, QueryWrappers.queryWrappers(manageRecordCheck)); + } + + @Override + public int checkManageRecordCheck(Integer id, String checkState) { + Integer userId = SecurityUtils.getUserId().intValue(); + ManageRecordCheck manageRecordCheck = manageRecordCheckMapper.selectById(id); + manageRecordCheck.setCheckState(checkState); + manageRecordCheck.setCheckUser(userId); + return manageRecordCheckMapper.updateById(manageRecordCheck); + } + + @Override + public int ratifyManageRecordCheck(Integer id, String ratifyState) { + Integer userId = SecurityUtils.getUserId().intValue(); + ManageRecordCheck manageRecordCheck = manageRecordCheckMapper.selectById(id); + manageRecordCheck.setRatifyState(ratifyState); + manageRecordCheck.setRatifyUser(userId); + return manageRecordCheckMapper.updateById(manageRecordCheck); + } + + @Override + public String exportOutManageRecordCheck(ManageRecordCheck manageRecordCheck, HttpServletResponse response) { + List<ManageRecordCheck> manageRecordCheckList = manageRecordCheckMapper.pageManageRecordCheck(new Page(-1, -1), QueryWrappers.queryWrappers(manageRecordCheck)).getRecords(); + //鐢熸垚妫�楠屾姤鍛婂彂鏀剧櫥璁拌〃 + String url; + try { + InputStream inputStream = this.getClass().getResourceAsStream("/static/check-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>> checkList = new ArrayList<>(); + Integer index = 1; + Integer index1 = 1; + for (int c = 0; c < manageRecordCheckList.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 < 9; j++) { + CellRenderData cellRenderData = new CellRenderData(); + CellStyle cellStyle = new CellStyle(); + cellStyle.setVertAlign(XWPFTableCell.XWPFVertAlign.CENTER); + cellRenderData.setCellStyle(cellStyle); + List<ParagraphRenderData> paragraphRenderDataList = new ArrayList<>(); + ParagraphRenderData paragraphRenderData = new ParagraphRenderData(); + ParagraphStyle paragraphStyle = new ParagraphStyle(); + paragraphStyle.setAlign(ParagraphAlignment.CENTER); + paragraphRenderData.setParagraphStyle(paragraphStyle); + List<RenderData> renderData = new ArrayList<>(); + TextRenderData textRenderData = new TextRenderData(); + Style style = new Style(); + style.setFontFamily("瀹嬩綋"); + style.setColor("000000"); + textRenderData.setStyle(style); + if (i == 0) { + //绗竴琛� + if (j == 0) { + //绗竴鍒楀簭鍙� + textRenderData.setText("搴忓彿@No."); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else if (j == 1) { + //绗簩鍒� + textRenderData.setText("鏂囦欢鍚嶇О@File name"); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else if (j == 2) { + //绗笁鍒� + textRenderData.setText("鏂囦欢缂栧彿@File number"); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else if (j == 3) { + //绗洓鍒� + textRenderData.setText("鐗�/娆Edition/time"); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else if (j == 4) { + //绗簲鍒� + textRenderData.setText("缂栧埗@Editor"); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else if (j == 5) { + //绗叚鍒� + textRenderData.setText("瀹℃牳@Audit"); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else if (j == 6) { + //绗竷鍒� + textRenderData.setText("鎵瑰噯@Approve"); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else if (j == 7) { + //绗叓鍒� + textRenderData.setText("鎵瑰噯鏃ユ湡@Date of approve"); + 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 = manageRecordCheckList.get((i - 1) + (index1 - 1) * 20).getDocumentName(); + 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(manageRecordCheckList.get((i - 1) + (index1 - 1) * 20).getDocumentName()); + } 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(manageRecordCheckList.get((i - 1) + (index1 - 1) * 20).getDocumentCode()); + } 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(manageRecordCheckList.get((i - 1) + (index1 - 1) * 20).getDocumentVersion()); + } 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(manageRecordCheckList.get((i - 1) + (index1 - 1) * 20).getWriteUserName()); + } 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(manageRecordCheckList.get((i - 1) + (index1 - 1) * 20).getCheckUserName()); + } 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(manageRecordCheckList.get((i - 1) + (index1 - 1) * 20).getRatifyUserName()); + } 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(manageRecordCheckList.get((i - 1) + (index1 - 1) * 20).getRatifyDate() + ""); + } catch (Exception e) { + textRenderData.setText(""); + } + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else { + try { + textRenderData.setText(manageRecordCheckList.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("check", tableRenderData); + table.put("index1", index1); + checkList.add(table); + index1++; + } + } + Integer finalIndex = index1; + XWPFTemplate template = XWPFTemplate.compile(url, builder.build()).render( + new HashMap<String, Object>() {{ + put("size", finalIndex); + put("checkList", checkList); + }}); + 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; + } + + @Override + public int exportInManageRecordCheck(MultipartFile file) { + List<ManageRecordCheck> manageRecordCheckList = new ArrayList<>(); + DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); + try { + InputStream inputStream = file.getInputStream(); + XWPFDocument document = new XWPFDocument(inputStream); + List<XWPFTable> tables = document.getTables(); + if (tables.isEmpty()) { + throw new ErrorException("鏂囨。涓病鏈夎〃鏍�"); + } + + for (XWPFTable table : tables) { + List<XWPFTableRow> rows = table.getRows(); + if (rows.size() <= 1) { + throw new ErrorException("琛ㄦ牸娌℃湁鏁版嵁琛�"); + } + for (int i = 1; i < rows.size(); i++) { // 浠庣浜岃寮�濮嬶紝璺宠繃琛ㄥご + XWPFTableRow row = rows.get(i); + if (row.getTableCells().size() != 9) { + System.out.println("琛� " + (i + 1) + " 鐨勫垪鏁颁笉鍖归厤锛岃烦杩囪琛�"); + continue; + } + if (ObjectUtils.isNotEmpty(row.getCell(1).getText())) { + ManageRecordCheck manageRecordCheck = new ManageRecordCheck(); + manageRecordCheck.setDocumentName(row.getCell(1).getText()); + manageRecordCheck.setDocumentCode(row.getCell(2).getText()); + manageRecordCheck.setDocumentVersion(row.getCell(3).getText()); + try { + manageRecordCheck.setWriteUser(userMapper.selectOne(Wrappers.<User>lambdaQuery() + .eq(User::getName, row.getCell(4).getText())).getId()); + } catch (Exception e) { + manageRecordCheck.setWriteUser(null); + } + try { + manageRecordCheck.setCheckUser(userMapper.selectOne(Wrappers.<User>lambdaQuery() + .eq(User::getName, row.getCell(5).getText())).getId()); + } catch (Exception e) { + manageRecordCheck.setCheckUser(null); + } + try { + manageRecordCheck.setRatifyUser(userMapper.selectOne(Wrappers.<User>lambdaQuery() + .eq(User::getName, row.getCell(6).getText())).getId()); + } catch (Exception e) { + manageRecordCheck.setRatifyUser(null); + } + try { + manageRecordCheck.setRatifyDate(LocalDate.parse(row.getCell(7).getText(), dateTimeFormatter)); + } catch (Exception e) { + manageRecordCheck.setRatifyDate(null); + } + + manageRecordCheck.setRemark(row.getCell(8).getText()); + ManageRecordCheck check = manageRecordCheckMapper.selectOne(Wrappers.<ManageRecordCheck>lambdaQuery() + .eq(ManageRecordCheck::getDocumentCode, manageRecordCheck.getDocumentCode()) + .eq(ManageRecordCheck::getDocumentName, manageRecordCheck.getDocumentName()) + .eq(ManageRecordCheck::getDocumentVersion, manageRecordCheck.getDocumentVersion())); + if (ObjectUtils.isNotEmpty(check)) { + manageRecordCheck.setId(check.getId()); + } + manageRecordCheckList.add(manageRecordCheck); + } + } + } + saveOrUpdateBatch(manageRecordCheckList); + } catch (IOException e) { + e.printStackTrace(); + } + return 0; + } +} diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/service/impl/ManageRecordIntervalsServiceImpl.java b/cnas-manage/src/main/java/com/ruoyi/manage/service/impl/ManageRecordIntervalsServiceImpl.java new file mode 100644 index 0000000..99f949b --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/service/impl/ManageRecordIntervalsServiceImpl.java @@ -0,0 +1,524 @@ +package com.ruoyi.manage.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.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.deepoove.poi.XWPFTemplate; +import com.deepoove.poi.config.Configure; +import com.deepoove.poi.config.ConfigureBuilder; +import com.deepoove.poi.data.*; +import com.deepoove.poi.data.style.*; +import com.ruoyi.common.utils.QueryWrappers; +import com.ruoyi.framework.exception.ErrorException; +import com.ruoyi.manage.mapper.ManageRecordIntervalsMapper; +import com.ruoyi.manage.mapper.ManageRecordIntervalsTotalMapper; +import com.ruoyi.manage.pojo.ManageRecordIntervals; +import com.ruoyi.manage.pojo.ManageRecordIntervalsTotal; +import com.ruoyi.manage.service.ManageRecordIntervalsService; +import org.apache.commons.io.IOUtils; +import org.apache.poi.openxml4j.util.ZipSecureFile; +import org.apache.poi.xwpf.usermodel.*; +import org.openxmlformats.schemas.wordprocessingml.x2006.main.STMerge; +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.*; +import java.nio.file.Files; +import java.nio.file.Paths; +import java.time.LocalDate; +import java.time.format.DateTimeFormatter; +import java.util.*; + +/** + * <p> + * 鏂囦欢瀹氭湡瀹℃煡璁板綍 鏈嶅姟瀹炵幇绫� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-13 10:54:31 + */ +@Service +@Transactional(rollbackFor = Exception.class) +public class ManageRecordIntervalsServiceImpl extends ServiceImpl<ManageRecordIntervalsMapper, ManageRecordIntervals> implements ManageRecordIntervalsService { + + @Resource + private ManageRecordIntervalsMapper manageRecordIntervalsMapper; + + @Resource + private ManageRecordIntervalsTotalMapper manageRecordIntervalsTotalMapper; + + @Value("${wordUrl}") + private String wordUrl; + + @Override + public IPage<ManageRecordIntervals> pageManageRecordIntervals(Page page, ManageRecordIntervals manageRecordIntervals) { + return manageRecordIntervalsMapper.pageManageRecordIntervals(page, QueryWrappers.queryWrappers(manageRecordIntervals)); + } + + @Override + public String exportOutManageRecordIntervals(ManageRecordIntervals manageRecordIntervals, HttpServletResponse response) { + List<ManageRecordIntervals> manageRecordIntervalsList = manageRecordIntervalsMapper.pageManageRecordIntervals(new Page(-1, -1), QueryWrappers.queryWrappers(manageRecordIntervals)).getRecords(); + //鐢熸垚妫�楠屾姤鍛婂彂鏀剧櫥璁拌〃 + String url; + try { + InputStream inputStream = this.getClass().getResourceAsStream("/static/intervals-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>> intervalsList = new ArrayList<>(); + Integer index = 1; + Integer index1 = 1; + for (int c = 0; c < manageRecordIntervalsList.size(); c++) { + //瓒呰繃15琛屾崲椤� + if (c % 15 == 0) { + List<RowRenderData> rows = new ArrayList<>(); + //琛ㄦ牸鐨勮鏁� + for (int i = 0; i < 17; 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("鏂囦欢鍚嶇О@File name"); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else if (j == 2) { + //绗笁鍒� + textRenderData.setText("鏂囦欢缂栧彿@File number"); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else if (j == 3) { + //绗洓鍒� + textRenderData.setText("鐗堟湰鍙稝Version number"); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else if (j == 4) { + //绗簲鍒� + textRenderData.setText("淇鍙稝Revision number"); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else if (j == 5) { + //绗叚鍒� + textRenderData.setText("閫傚疁鎬Suitability"); + 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 (i == 16) { + //鏈�鍚庝竴琛� + textRenderData.setText("娉細閫傚疁鎬т竴鏍忔墦鈥溾垰鈥濊〃姝ゆ枃浠堕�傚疁锛屸�溍椻�濊〃绀轰笉閫傚疁锛屾枃浠堕渶淇鎴栦綔搴熴�侤Note:The鈥溾垰鈥漷able in the suitability column is suitable for this document, the鈥溍椻�漷able is not suitable,and the document needs to berevised or invalidated @瀹℃煡鏃ユ湡锛� @Review Date:@鍙傚姞瀹℃煡浜哄憳绛惧悕锛欯Signatures of the reviewers particip ating in the review:鈭�1"); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } + else { + //鍏朵粬琛� + if (j == 0) { + //绗竴鍒� + try { + String insReportCode = manageRecordIntervalsList.get((i - 1) + (index1 - 1) * 15).getDocumentCode(); + 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(manageRecordIntervalsList.get((i - 1) + (index1 - 1) * 15).getDocumentName()); + } 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(manageRecordIntervalsList.get((i - 1) + (index1 - 1) * 15).getDocumentCode()); + } 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(manageRecordIntervalsList.get((i - 1) + (index1 - 1) * 15).getDocumentVersion()); + } 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(manageRecordIntervalsList.get((i -1) + (index1 - 1) * 15).getRevision()); + } 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(manageRecordIntervalsList.get((i - 1) + (index1 - 1) * 15).getSuitability()); + } catch (Exception e) { + textRenderData.setText(""); + } + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else { + try { + textRenderData.setText(manageRecordIntervalsList.get((i - 1) + (index1 - 1) * 15).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("intervals", tableRenderData); + table.put("index1", index1); + intervalsList.add(table); + index1++; + } + } + Integer finalIndex = index1; + XWPFTemplate template = XWPFTemplate.compile(url, builder.build()).render( + new HashMap<String, Object>() {{ + put("size", finalIndex); + put("intervalsList", intervalsList); + }}); + 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 { + ZipSecureFile.setMinInflateRatio(0.0001); + FileInputStream stream = new FileInputStream(path); + XWPFDocument document = new XWPFDocument(stream); + List<XWPFTable> xwpfTables = document.getTables(); + for (int i = 0; i < xwpfTables.size(); i++) { + Set<String> set1 = new HashSet<>(); + Map<String, Map<String, Integer>> maps = new HashMap<>(); + for (int j = 0; j < xwpfTables.get(i).getRows().size(); j++) { + for (int k = 0; k < xwpfTables.get(i).getRows().get(j).getTableCells().size(); k++) { + if (xwpfTables.get(i).getRows().get(j).getTableCells().get(k).getText().indexOf("鈭�") > -1) { + String[] split = xwpfTables.get(i).getRows().get(j).getTableCells().get(k).getText().split("鈭�"); + if (set1.add(split[1])) { + Map<String, Integer> map = new HashMap<>(); + map.put("sr", j); + map.put("sc", k); + map.put("er", j + 0); + map.put("ec", k + 0); + maps.put(split[1], map); + } else { + Map<String, Integer> map1 = maps.get(split[1]); + if (j == map1.get("sr")) { + map1.put("ec", map1.get("ec") + 1); + } else if (k == map1.get("sc")) { + map1.put("er", map1.get("er") + 1); + } + } + String str = xwpfTables.get(i).getRows().get(j).getTableCells().get(k).getText().split("鈭�")[0]; + xwpfTables.get(i).getRows().get(j).getTableCells().get(k).removeParagraph(0); + xwpfTables.get(i).getRows().get(j).getTableCells().get(k).setText(str); + xwpfTables.get(i).getRows().get(j).getTableCells().get(k).setVerticalAlignment(XWPFTableCell.XWPFVertAlign.CENTER); + xwpfTables.get(i).getRows().get(j).getTableCells().get(k).getParagraphArray(0).setAlignment(ParagraphAlignment.CENTER); + } + } + } + // 鍗曞厓鏍兼帓搴�, 閬垮厤鏍煎紡閿欎贡 + List<Map.Entry<String, Map<String, Integer>>> entries = new ArrayList<>(maps.entrySet()); + entries.sort((o1, o2) -> o1.getValue().get("sc") - o2.getValue().get("sc")); + // 鎸夌収椤哄簭娣诲姞杩涢泦鍚� + List<String> list = new ArrayList<>(); + for (Map.Entry<String, Map<String, Integer>> entry : entries) { + list.add(entry.getKey()); + } + for (int a = list.size() - 1; a >= 0; a--) { + Map<String, Integer> v = maps.get(list.get(a)); + for (int j = 0; j < v.get("er") - v.get("sr") + 1; j++) { + if (v.get("ec") > v.get("sc")) { + try { + mergeCellsHorizontally(xwpfTables.get(i), v.get("sr") + j, v.get("sc"), v.get("ec")); +// TableTools.mergeCellsHorizonal(xwpfTables.get(i), v.get("sr") + j, v.get("sc"), v.get("ec")); + } catch (Exception e) { + } + } + } + if (v.get("er") > v.get("sr")) { + try { + mergeCellsVertically(xwpfTables.get(i), v.get("sc"), v.get("sr"), v.get("er")); +// TableTools.mergeCellsVertically(xwpfTables.get(i), v.get("sc"), v.get("sr"), v.get("er")); + } catch (Exception e) { + } + } + } + } + FileOutputStream fileOutputStream = new FileOutputStream(path); + document.write(fileOutputStream); + fileOutputStream.close(); + } catch (FileNotFoundException e) { + throw new RuntimeException(e); + } catch (IOException e) { + throw new RuntimeException(e); + } + //澶勭悊涓嫳鏂囨崲琛岀殑闂 + try { + FileInputStream stream1 = new FileInputStream(path); + XWPFDocument document1 = new XWPFDocument(stream1); + List<XWPFTable> xwpfTables1 = document1.getTables(); + for (int i = 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; + } + + @Override + public int exportInManageRecordIntervals(MultipartFile file) { + List<ManageRecordIntervals> manageRecordIntervalsList = new ArrayList<>(); + + DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); + //鑾峰彇褰撳墠骞翠唤 + LocalDate currentDate = LocalDate.now(); + // 瀹氫箟鏃ユ湡鏍煎紡 + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy"); + // 鏍煎紡鍖栧綋鍓嶆棩鏈� + String currentMonth = currentDate.format(formatter); + ManageRecordIntervalsTotal manageRecordIntervalsTotal = manageRecordIntervalsTotalMapper.selectOne(Wrappers.<ManageRecordIntervalsTotal>lambdaQuery().eq(ManageRecordIntervalsTotal::getYear, currentMonth)); + try { + InputStream inputStream = file.getInputStream(); + XWPFDocument document = new XWPFDocument(inputStream); + List<XWPFTable> tables = document.getTables(); + if (tables.isEmpty()) { + throw new ErrorException("鏂囨。涓病鏈夎〃鏍�"); + } + for (XWPFTable table : tables) { + List<XWPFTableRow> rows = table.getRows(); + if (rows.size() <= 1) { + throw new ErrorException("琛ㄦ牸娌℃湁鏁版嵁琛�"); + } + for (int i = 1; i < rows.size(); i++) { // 浠庣浜岃寮�濮嬶紝璺宠繃琛ㄥご + XWPFTableRow row = rows.get(i); + if (row.getTableCells().size() != 7) { + System.out.println("琛� " + (i + 1) + " 鐨勫垪鏁颁笉鍖归厤锛岃烦杩囪琛�"); + continue; + } + if (ObjectUtils.isNotEmpty(row.getCell(1).getText())) { + ManageRecordIntervals manageRecordIntervals = new ManageRecordIntervals(); + manageRecordIntervals.setDocumentName(row.getCell(1).getText()); + manageRecordIntervals.setDocumentCode(row.getCell(2).getText()); + manageRecordIntervals.setDocumentVersion(row.getCell(3).getText()); + manageRecordIntervals.setRevision(row.getCell(4).getText()); + manageRecordIntervals.setSuitability(row.getCell(5).getText()); + manageRecordIntervals.setRemark(row.getCell(6).getText()); + manageRecordIntervals.setRecordIntervalsTotalId(manageRecordIntervalsTotal.getId()); + ManageRecordIntervals intervals = manageRecordIntervalsMapper.selectOne(Wrappers.<ManageRecordIntervals>lambdaQuery() + .eq(ManageRecordIntervals::getDocumentCode, manageRecordIntervals.getDocumentCode()) + .eq(ManageRecordIntervals::getDocumentName, manageRecordIntervals.getDocumentName()) + .eq(ManageRecordIntervals::getRecordIntervalsTotalId, manageRecordIntervalsTotal.getId()) + .eq(ManageRecordIntervals::getDocumentVersion, manageRecordIntervals.getDocumentVersion())); + if (ObjectUtils.isNotEmpty(intervals)) { + manageRecordIntervals.setId(intervals.getId()); + } + manageRecordIntervalsList.add(manageRecordIntervals); + } + } + } + saveOrUpdateBatch(manageRecordIntervalsList); + } catch (IOException e) { + e.printStackTrace(); + } + return 0; + } + + @Override + public int addManageRecordIntervals(ManageRecordIntervals manageRecordIntervals) { + //鑾峰彇褰撳墠骞翠唤 + LocalDate currentDate = LocalDate.now(); + // 瀹氫箟鏃ユ湡鏍煎紡 + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy"); + // 鏍煎紡鍖栧綋鍓嶆棩鏈� + String currentMonth = currentDate.format(formatter); + ManageRecordIntervalsTotal manageRecordIntervalsTotal = manageRecordIntervalsTotalMapper.selectOne(Wrappers.<ManageRecordIntervalsTotal>lambdaQuery().eq(ManageRecordIntervalsTotal::getYear, currentMonth)); + manageRecordIntervals.setRecordIntervalsTotalId(manageRecordIntervalsTotal.getId()); + manageRecordIntervalsMapper.insert(manageRecordIntervals); + manageRecordIntervalsTotal.setTotalNum(1 + manageRecordIntervalsTotal.getTotalNum()); + return manageRecordIntervalsTotalMapper.updateById(manageRecordIntervalsTotal); + } + + @Override + public int delManageRecordIntervals(Integer id) { + ManageRecordIntervals manageRecordIntervals = manageRecordIntervalsMapper.selectById(id); + manageRecordIntervalsMapper.deleteById(id); + ManageRecordIntervalsTotal manageRecordIntervalsTotal = manageRecordIntervalsTotalMapper.selectById(manageRecordIntervals.getRecordIntervalsTotalId()); + manageRecordIntervalsTotal.setTotalNum(manageRecordIntervalsTotal.getTotalNum() - 1); + return manageRecordIntervalsTotalMapper.updateById(manageRecordIntervalsTotal); + } + + // 姘村钩鍚堝苟鍗曞厓鏍� + private static void mergeCellsHorizontally(XWPFTable table, int row, int fromCol, int toCol) { + for (int i = fromCol; i <= toCol; i++) { + if (i == fromCol) { + table.getRow(row).getCell(i).getCTTc().addNewTcPr().addNewHMerge().setVal(STMerge.RESTART); + } else { + table.getRow(row).getCell(i).getCTTc().addNewTcPr().addNewHMerge().setVal(STMerge.CONTINUE); + } + } + } + + // 鍨傜洿鍚堝苟鍗曞厓鏍� + private static void mergeCellsVertically(XWPFTable table, int col, int fromRow, int toRow) { + for (int i = fromRow; i <= toRow; i++) { + if (i == fromRow) { + table.getRow(i).getCell(col).getCTTc().addNewTcPr().addNewVMerge().setVal(STMerge.RESTART); + } else { + table.getRow(i).getCell(col).getCTTc().addNewTcPr().addNewVMerge().setVal(STMerge.CONTINUE); + } + } + } +} diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/service/impl/ManageRecordIntervalsTotalServiceImpl.java b/cnas-manage/src/main/java/com/ruoyi/manage/service/impl/ManageRecordIntervalsTotalServiceImpl.java new file mode 100644 index 0000000..d45ed07 --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/service/impl/ManageRecordIntervalsTotalServiceImpl.java @@ -0,0 +1,499 @@ +package com.ruoyi.manage.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.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.deepoove.poi.XWPFTemplate; +import com.deepoove.poi.config.Configure; +import com.deepoove.poi.config.ConfigureBuilder; +import com.deepoove.poi.data.*; +import com.deepoove.poi.data.style.*; +import com.ruoyi.common.core.domain.entity.User; +import com.ruoyi.common.utils.QueryWrappers; +import com.ruoyi.common.utils.SecurityUtils; +import com.ruoyi.framework.exception.ErrorException; +import com.ruoyi.manage.mapper.ManageRecordIntervalsMapper; +import com.ruoyi.manage.mapper.ManageRecordIntervalsTotalMapper; +import com.ruoyi.manage.pojo.ManageRecordIntervals; +import com.ruoyi.manage.pojo.ManageRecordIntervalsTotal; +import com.ruoyi.manage.service.ManageRecordIntervalsTotalService; +import com.ruoyi.system.mapper.UserMapper; +import org.apache.commons.io.IOUtils; +import org.apache.poi.openxml4j.util.ZipSecureFile; +import org.apache.poi.xwpf.usermodel.*; +import org.openxmlformats.schemas.wordprocessingml.x2006.main.STMerge; +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.LocalDate; +import java.time.format.DateTimeFormatter; +import java.util.*; + +/** + * <p> + * 鏂囦欢瀹氭湡瀹℃煡璁板綍鎬诲巻鍙茶褰曡〃 鏈嶅姟瀹炵幇绫� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-15 01:12:11 + */ +@Service +@Transactional(rollbackFor = Exception.class) +public class ManageRecordIntervalsTotalServiceImpl extends ServiceImpl<ManageRecordIntervalsTotalMapper, ManageRecordIntervalsTotal> implements ManageRecordIntervalsTotalService { + + @Value("${wordUrl}") + private String wordUrl; + + @Resource + private UserMapper userMapper; + + @Value("${file.path}") + private String imgUrl; + + @Resource + private ManageRecordIntervalsTotalMapper manageRecordIntervalsTotalMapper; + + @Resource + private ManageRecordIntervalsMapper manageRecordIntervalsMapper; + + @Override + public IPage<ManageRecordIntervalsTotal> pageManageRecordIntervalsTotal(Page page, ManageRecordIntervalsTotal manageRecordIntervalsTotal) { + return manageRecordIntervalsTotalMapper.pageManageRecordIntervalsTotal(page, QueryWrappers.queryWrappers(manageRecordIntervalsTotal)); + } + + @Override + public int submitManageRecordIntervalsTotal(Integer id) { + Integer userId = SecurityUtils.getUserId().intValue(); + User user = userMapper.selectById(userId); + if (ObjectUtils.isEmpty(user.getSignatureUrl())) throw new ErrorException("鏈壘鍒板~琛ㄤ汉鐨勭數瀛愮鍚�,璇蜂笂浼犺嚜宸辩殑鐢靛瓙绛惧悕!"); + ManageRecordIntervalsTotal manageRecordIntervalsTotal = manageRecordIntervalsTotalMapper.selectById(id); + manageRecordIntervalsTotal.setSubmitUser(userId); + manageRecordIntervalsTotal.setSubmitDate(LocalDate.now()); + manageRecordIntervalsTotal.setSubmitUrl(user.getSignatureUrl()); + //鐢熸垚鏍峰搧澶勭悊鐢宠琛ㄥ苟灏嗗~琛ㄤ汉鐨勭數瀛愮鍚嶅嵃涓� + manageRecordIntervalsTotal.setUrl(recordTotaldeal(id,user.getSignatureUrl())); + return manageRecordIntervalsTotalMapper.updateById(manageRecordIntervalsTotal); + } + + @Override + public int ratifyManageRecordIntervalsTotal(Integer id, String ratifyState) { + Integer userId = SecurityUtils.getUserId().intValue(); + User user = userMapper.selectById(userId); + if (ObjectUtils.isEmpty(user.getSignatureUrl())) throw new ErrorException("鏈壘鍒版壒鍑嗕汉鐨勭數瀛愮鍚�,璇蜂笂浼犺嚜宸辩殑鐢靛瓙绛惧悕!"); + ManageRecordIntervalsTotal manageRecordIntervalsTotal = manageRecordIntervalsTotalMapper.selectById(id); + manageRecordIntervalsTotal.setRatifyUser(userId); + manageRecordIntervalsTotal.setRatifyState(ratifyState); + manageRecordIntervalsTotal.setRatifyDate(LocalDate.now()); + manageRecordIntervalsTotal.setRatifyUrl(user.getSignatureUrl()); + //灏嗘壒鍑嗕汉鐨勭鍚嶅嵃涓� + String[] monthNames = {"January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"}; + wordInsertUrl(new HashMap<String, Object>() {{ + put("ratifyDateEn", monthNames[LocalDate.now().getMonthValue() - 1] + " " + LocalDate.now().getDayOfMonth() + ", " + LocalDate.now().getYear()); + put("ratifyDate", LocalDate.now().format(DateTimeFormatter.ofPattern("yyyy骞碝M鏈坉d鏃�"))); + put("ratifyUrl", new FilePictureRenderData(100,50,imgUrl + "/" + user.getSignatureUrl())); + }}, wordUrl+"/"+manageRecordIntervalsTotal.getUrl()); + return manageRecordIntervalsTotalMapper.updateById(manageRecordIntervalsTotal); + } + + 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; + } + + private String recordTotaldeal(Integer id,String signatureUrl){ + List<ManageRecordIntervals> manageRecordIntervalsList = manageRecordIntervalsMapper.selectList(Wrappers.<ManageRecordIntervals>lambdaQuery().eq(ManageRecordIntervals::getRecordIntervalsTotalId,id)); + String[] monthNames = {"January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"}; + //鐢熸垚妫�楠屾姤鍛婂彂鏀剧櫥璁拌〃 + String url; + try { + InputStream inputStream = this.getClass().getResourceAsStream("/static/intervals-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>> intervalsList = new ArrayList<>(); + Integer index = 1; + Integer index1 = 1; + for (int c = 0; c < manageRecordIntervalsList.size(); c++) { + //瓒呰繃15琛屾崲椤� + if (c % 15 == 0) { + List<RowRenderData> rows = new ArrayList<>(); + //琛ㄦ牸鐨勮鏁� + for (int i = 0; i < 17; 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("鏂囦欢鍚嶇О@File name"); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else if (j == 2) { + //绗笁鍒� + textRenderData.setText("鏂囦欢缂栧彿@File number"); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else if (j == 3) { + //绗洓鍒� + textRenderData.setText("鐗堟湰鍙稝Version number"); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else if (j == 4) { + //绗簲鍒� + textRenderData.setText("淇鍙稝Revision number"); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else if (j == 5) { + //绗叚鍒� + textRenderData.setText("閫傚疁鎬Suitability"); + 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 (i == 16) { + //鏈�鍚庝竴琛� + textRenderData.setText("娉細閫傚疁鎬т竴鏍忔墦鈥溾垰鈥濊〃姝ゆ枃浠堕�傚疁锛屸�溍椻�濊〃绀轰笉閫傚疁锛屾枃浠堕渶淇鎴栦綔搴熴�侤Note:The鈥溾垰鈥漷able in the suitability column is suitable for this document, the鈥溍椻�漷able is not suitable,and the document needs to berevised or invalidated @瀹℃煡鏃ユ湡锛� @Review Date:@鍙傚姞瀹℃煡浜哄憳绛惧悕锛欯Signatures of the reviewers particip ating in the review:鈭�22"); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } + else { + //鍏朵粬琛� + if (j == 0) { + //绗竴鍒� + try { + String insReportCode = manageRecordIntervalsList.get((i - 1) + (index1 - 1) * 15).getDocumentCode(); + 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(manageRecordIntervalsList.get((i - 1) + (index1 - 1) * 15).getDocumentName()); + } 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(manageRecordIntervalsList.get((i - 1) + (index1 - 1) * 15).getDocumentCode()); + } 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(manageRecordIntervalsList.get((i - 1) + (index1 - 1) * 15).getDocumentVersion()); + } 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(manageRecordIntervalsList.get((i -1) + (index1 - 1) * 15).getRevision()); + } 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(manageRecordIntervalsList.get((i - 1) + (index1 - 1) * 15).getSuitability()); + } catch (Exception e) { + textRenderData.setText(""); + } + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else { + try { + textRenderData.setText(manageRecordIntervalsList.get((i - 1) + (index1 - 1) * 15).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("intervals", tableRenderData); + table.put("index1", index1); + intervalsList.add(table); + index1++; + } + } + Integer finalIndex = index1; + XWPFTemplate template = XWPFTemplate.compile(url, builder.build()).render( + new HashMap<String, Object>() {{ + put("size", finalIndex); + put("intervalsList", intervalsList); + put("submitDate", LocalDate.now().format(DateTimeFormatter.ofPattern("yyyy骞碝M鏈坉d鏃�"))); + put("submitDateEn", monthNames[LocalDate.now().getMonthValue() - 1] + " " + LocalDate.now().getDayOfMonth() + ", " + LocalDate.now().getYear()); + put("ratifyDate", "{{ratifyDate}}"); + put("ratifyDateEn","{{ratifyDateEn}}"); + 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 { + ZipSecureFile.setMinInflateRatio(0.0001); + FileInputStream stream = new FileInputStream(path); + XWPFDocument document = new XWPFDocument(stream); + List<XWPFTable> xwpfTables = document.getTables(); + for (int i = 0; i < xwpfTables.size(); i++) { + Set<String> set1 = new HashSet<>(); + Map<String, Map<String, Integer>> maps = new HashMap<>(); + for (int j = 0; j < xwpfTables.get(i).getRows().size(); j++) { + for (int k = 0; k < xwpfTables.get(i).getRows().get(j).getTableCells().size(); k++) { + if (xwpfTables.get(i).getRows().get(j).getTableCells().get(k).getText().indexOf("鈭�") > -1) { + String[] split = xwpfTables.get(i).getRows().get(j).getTableCells().get(k).getText().split("鈭�"); + if (set1.add(split[1])) { + Map<String, Integer> map = new HashMap<>(); + map.put("sr", j); + map.put("sc", k); + map.put("er", j + 0); + map.put("ec", k + 0); + maps.put(split[1], map); + } else { + Map<String, Integer> map1 = maps.get(split[1]); + if (j == map1.get("sr")) { + map1.put("ec", map1.get("ec") + 1); + } else if (k == map1.get("sc")) { + map1.put("er", map1.get("er") + 1); + } + } + String str = xwpfTables.get(i).getRows().get(j).getTableCells().get(k).getText().split("鈭�")[0]; + xwpfTables.get(i).getRows().get(j).getTableCells().get(k).removeParagraph(0); + xwpfTables.get(i).getRows().get(j).getTableCells().get(k).setText(str); + xwpfTables.get(i).getRows().get(j).getTableCells().get(k).setVerticalAlignment(XWPFTableCell.XWPFVertAlign.CENTER); + xwpfTables.get(i).getRows().get(j).getTableCells().get(k).getParagraphArray(0).setAlignment(ParagraphAlignment.CENTER); + } + } + } + // 鍗曞厓鏍兼帓搴�, 閬垮厤鏍煎紡閿欎贡 + List<Map.Entry<String, Map<String, Integer>>> entries = new ArrayList<>(maps.entrySet()); + entries.sort((o1, o2) -> o1.getValue().get("sc") - o2.getValue().get("sc")); + // 鎸夌収椤哄簭娣诲姞杩涢泦鍚� + List<String> list = new ArrayList<>(); + for (Map.Entry<String, Map<String, Integer>> entry : entries) { + list.add(entry.getKey()); + } + for (int a = list.size() - 1; a >= 0; a--) { + Map<String, Integer> v = maps.get(list.get(a)); + for (int j = 0; j < v.get("er") - v.get("sr") + 1; j++) { + if (v.get("ec") > v.get("sc")) { + try { + mergeCellsHorizontally(xwpfTables.get(i), v.get("sr") + j, v.get("sc"), v.get("ec")); +// TableTools.mergeCellsHorizonal(xwpfTables.get(i), v.get("sr") + j, v.get("sc"), v.get("ec")); + } catch (Exception e) { + } + } + } + if (v.get("er") > v.get("sr")) { + try { + mergeCellsVertically(xwpfTables.get(i), v.get("sc"), v.get("sr"), v.get("er")); +// TableTools.mergeCellsVertically(xwpfTables.get(i), v.get("sc"), v.get("sr"), v.get("er")); + } catch (Exception e) { + } + } + } + } + FileOutputStream fileOutputStream = new FileOutputStream(path); + document.write(fileOutputStream); + fileOutputStream.close(); + } catch (FileNotFoundException e) { + throw new RuntimeException(e); + } catch (IOException e) { + throw new RuntimeException(e); + } + //澶勭悊涓嫳鏂囨崲琛岀殑闂 + try { + FileInputStream stream1 = new FileInputStream(path); + XWPFDocument document1 = new XWPFDocument(stream1); + List<XWPFTable> xwpfTables1 = document1.getTables(); + for (int i = 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; + } + + // 姘村钩鍚堝苟鍗曞厓鏍� + private static void mergeCellsHorizontally(XWPFTable table, int row, int fromCol, int toCol) { + for (int i = fromCol; i <= toCol; i++) { + if (i == fromCol) { + table.getRow(row).getCell(i).getCTTc().addNewTcPr().addNewHMerge().setVal(STMerge.RESTART); + } else { + table.getRow(row).getCell(i).getCTTc().addNewTcPr().addNewHMerge().setVal(STMerge.CONTINUE); + } + } + } + + // 鍨傜洿鍚堝苟鍗曞厓鏍� + private static void mergeCellsVertically(XWPFTable table, int col, int fromRow, int toRow) { + for (int i = fromRow; i <= toRow; i++) { + if (i == fromRow) { + table.getRow(i).getCell(col).getCTTc().addNewTcPr().addNewVMerge().setVal(STMerge.RESTART); + } else { + table.getRow(i).getCell(col).getCTTc().addNewTcPr().addNewVMerge().setVal(STMerge.CONTINUE); + } + } + } +} diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/service/impl/ManageRecordIssueRecycleServiceImpl.java b/cnas-manage/src/main/java/com/ruoyi/manage/service/impl/ManageRecordIssueRecycleServiceImpl.java new file mode 100644 index 0000000..08775b5 --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/service/impl/ManageRecordIssueRecycleServiceImpl.java @@ -0,0 +1,695 @@ +package com.ruoyi.manage.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.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.deepoove.poi.XWPFTemplate; +import com.deepoove.poi.config.Configure; +import com.deepoove.poi.config.ConfigureBuilder; +import com.deepoove.poi.data.*; +import com.deepoove.poi.data.style.*; +import com.ruoyi.common.core.domain.entity.User; +import com.ruoyi.common.utils.QueryWrappers; +import com.ruoyi.framework.exception.ErrorException; +import com.ruoyi.manage.mapper.ManageRecordIssueRecycleMapper; +import com.ruoyi.manage.pojo.ManageRecordIssueRecycle; +import com.ruoyi.manage.service.ManageRecordIssueRecycleService; +import com.ruoyi.system.mapper.UserMapper; +import org.apache.commons.io.IOUtils; +import org.apache.poi.openxml4j.util.ZipSecureFile; +import org.apache.poi.xwpf.usermodel.*; +import org.openxmlformats.schemas.wordprocessingml.x2006.main.STMerge; +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.*; +import java.nio.file.Files; +import java.nio.file.Paths; +import java.time.LocalDate; +import java.time.format.DateTimeFormatter; +import java.util.*; + +/** + * <p> + * 鎵�鏈夋枃浠�(鍐呫�佸閮ㄦ枃浠�)鐨勫彂鏀句笌鍥炴敹璁板綍 鏈嶅姟瀹炵幇绫� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-13 09:11:05 + */ +@Service +@Transactional(rollbackFor = Exception.class) +public class ManageRecordIssueRecycleServiceImpl extends ServiceImpl<ManageRecordIssueRecycleMapper, ManageRecordIssueRecycle> implements ManageRecordIssueRecycleService { + + @Resource + private ManageRecordIssueRecycleMapper manageRecordIssueRecycleMapper; + + @Value("${wordUrl}") + private String wordUrl; + + @Resource + private UserMapper userMapper; + + @Override + public IPage<ManageRecordIssueRecycle> pageManageRecordIssueRecycle(Page page, ManageRecordIssueRecycle manageRecordIssueRecycle) { + return manageRecordIssueRecycleMapper.pageManageRecordIssueRecycle(page, QueryWrappers.queryWrappers(manageRecordIssueRecycle)); + } + + @Override + public String exportOutManageRecordIssueRecycle(ManageRecordIssueRecycle manageRecordIssueRecycle, HttpServletResponse response) { + List<ManageRecordIssueRecycle> manageRecordIssueRecycleList = manageRecordIssueRecycleMapper.pageManageRecordIssueRecycle(new Page(-1, -1), QueryWrappers.queryWrappers(manageRecordIssueRecycle)).getRecords(); + //鐢熸垚妫�楠屾姤鍛婂彂鏀剧櫥璁拌〃 + String url; + try { + InputStream inputStream = this.getClass().getResourceAsStream("/static/recycle-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>> recycleList = new ArrayList<>(); + Integer index = 1; + Integer index1 = 1; + for (int c = 0; c < manageRecordIssueRecycleList.size(); c++) { + //瓒呰繃15琛屾崲椤� + if (c % 15 == 0) { + List<RowRenderData> rows = new ArrayList<>(); + //琛ㄦ牸鐨勮鏁� + for (int i = 0; i < 17; 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 < 12; j++) { + CellRenderData cellRenderData = new CellRenderData(); + CellStyle cellStyle = new CellStyle(); + cellStyle.setVertAlign(XWPFTableCell.XWPFVertAlign.CENTER); + cellRenderData.setCellStyle(cellStyle); + List<ParagraphRenderData> paragraphRenderDataList = new ArrayList<>(); + ParagraphRenderData paragraphRenderData = new ParagraphRenderData(); + ParagraphStyle paragraphStyle = new ParagraphStyle(); + paragraphStyle.setAlign(ParagraphAlignment.CENTER); + paragraphRenderData.setParagraphStyle(paragraphStyle); + List<RenderData> renderData = new ArrayList<>(); + TextRenderData textRenderData = new TextRenderData(); + Style style = new Style(); + style.setFontFamily("瀹嬩綋"); + style.setColor("000000"); + textRenderData.setStyle(style); + if (i == 0) { + //绗竴琛� + if (j == 0) { + //绗竴鍒楀簭鍙� + textRenderData.setText("搴忓彿@No.鈭�1"); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else if (j == 1) { + //绗簩鍒� + textRenderData.setText("鏂囦欢缂栧彿@File number鈭�2"); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else if (j == 2) { + //绗笁鍒� + textRenderData.setText("鏂囦欢鍚嶇О@File name鈭�3"); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else if (j == 3) { + //绗洓鍒� + textRenderData.setText("鐗堝彿@Edition number鈭�4"); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else if (j == 4) { + //绗簲鍒� + textRenderData.setText("浠芥暟@Number of copies鈭�5"); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else if (j == 5) { + //绗叚鍒� + textRenderData.setText("鏂囦欢绫诲埆@File category鈭�6"); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else if (j == 6) { + //绗竷鍒� + textRenderData.setText("鍒嗗彂鍙稝Distribution number鈭�7"); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else if (j == 7) { + //绗叓鍒� + textRenderData.setText("鎺ユ敹閮ㄩ棬@Receiving department鈭�8"); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else if (j == 8 || j == 9) { + //绗節鍒� + textRenderData.setText("鍙戞斁 Issue鈭�9"); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else if (j == 10 || j == 11) { + //绗叓鍒� + textRenderData.setText("鍥炴敹 Reclaim鈭�10"); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } + } + else if (i == 1) { + //绗竴琛� + if (j == 0) { + //绗竴鍒楀簭鍙� + textRenderData.setText("搴忓彿@No.鈭�1"); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else if (j == 1) { + //绗簩鍒� + textRenderData.setText("鏂囦欢缂栧彿@File number鈭�2"); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else if (j == 2) { + //绗笁鍒� + textRenderData.setText("鏂囦欢鍚嶇О@File name鈭�3"); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else if (j == 3) { + //绗洓鍒� + textRenderData.setText("鐗堝彿@Edition number鈭�4"); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else if (j == 4) { + //绗簲鍒� + textRenderData.setText("浠芥暟@Number of copies鈭�5"); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else if (j == 5) { + //绗叚鍒� + textRenderData.setText("鏂囦欢绫诲埆@File category鈭�6"); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else if (j == 6) { + //绗竷鍒� + textRenderData.setText("鍒嗗彂鍙稝Distribution number鈭�7"); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else if (j == 7) { + //绗叓鍒� + textRenderData.setText("鎺ユ敹閮ㄩ棬@Receiving department鈭�8"); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else if (j == 8) { + //绗節鍒� + textRenderData.setText("鎺ュ彈浜篅Recipients"); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else if (j == 9) { + //绗崄鍒� + textRenderData.setText("鏃ユ湡@Date"); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else if (j == 10) { + //绗崄涓�鍒� + textRenderData.setText("绛炬敹浜篅Signatory"); + 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 insReportCode = manageRecordIssueRecycleList.get((i - 2) + (index1 - 1) * 15).getDocumentCode(); + 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(manageRecordIssueRecycleList.get((i - 2) + (index1 - 1) * 15).getDocumentCode()); + } 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(manageRecordIssueRecycleList.get((i - 2) + (index1 - 1) * 15).getDocumentName()); + } 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(manageRecordIssueRecycleList.get((i - 2) + (index1 - 1) * 15).getDocumentVersion()); + } 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(manageRecordIssueRecycleList.get((i - 2) + (index1 - 1) * 15).getPages()); + } 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(manageRecordIssueRecycleList.get((i - 2) + (index1 - 1) * 15).getDocumentType()); + } 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(manageRecordIssueRecycleList.get((i - 2) + (index1 - 1) * 15).getNumber()); + } 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(manageRecordIssueRecycleList.get((i - 2) + (index1 - 1) * 15).getDepartLims()); + } 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(manageRecordIssueRecycleList.get((i - 2) + (index1 - 1) * 15).getReceiveUserName()); + } catch (Exception e) { + textRenderData.setText(""); + } + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else if (j == 9) { + try { + textRenderData.setText(manageRecordIssueRecycleList.get((i - 2) + (index1 - 1) * 15).getReceiveDate() + ""); + } catch (Exception e) { + textRenderData.setText(""); + } + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else if (j == 10) { + try { + textRenderData.setText(manageRecordIssueRecycleList.get((i - 2) + (index1 - 1) * 15).getSignedUserName()); + } catch (Exception e) { + textRenderData.setText(""); + } + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else { + try { + textRenderData.setText(manageRecordIssueRecycleList.get((i - 2) + (index1 - 1) * 15).getSignedDate() + ""); + } 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("recycle", tableRenderData); + table.put("index1", index1); + recycleList.add(table); + index1++; + } + } + Integer finalIndex = index1; + XWPFTemplate template = XWPFTemplate.compile(url, builder.build()).render( + new HashMap<String, Object>() {{ + put("size", finalIndex); + put("recycleList", recycleList); + }}); + 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 { + ZipSecureFile.setMinInflateRatio(0.0001); + FileInputStream stream = new FileInputStream(path); + XWPFDocument document = new XWPFDocument(stream); + List<XWPFTable> xwpfTables = document.getTables(); + for (int i = 0; i < xwpfTables.size(); i++) { + Set<String> set1 = new HashSet<>(); + Map<String, Map<String, Integer>> maps = new HashMap<>(); + for (int j = 0; j < xwpfTables.get(i).getRows().size(); j++) { + for (int k = 0; k < xwpfTables.get(i).getRows().get(j).getTableCells().size(); k++) { + if (xwpfTables.get(i).getRows().get(j).getTableCells().get(k).getText().indexOf("鈭�") > -1) { + String[] split = xwpfTables.get(i).getRows().get(j).getTableCells().get(k).getText().split("鈭�"); + if (set1.add(split[1])) { + Map<String, Integer> map = new HashMap<>(); + map.put("sr", j); + map.put("sc", k); + map.put("er", j + 0); + map.put("ec", k + 0); + maps.put(split[1], map); + } else { + Map<String, Integer> map1 = maps.get(split[1]); + if (j == map1.get("sr")) { + map1.put("ec", map1.get("ec") + 1); + } else if (k == map1.get("sc")) { + map1.put("er", map1.get("er") + 1); + } + } + String str = xwpfTables.get(i).getRows().get(j).getTableCells().get(k).getText().split("鈭�")[0]; + xwpfTables.get(i).getRows().get(j).getTableCells().get(k).removeParagraph(0); + xwpfTables.get(i).getRows().get(j).getTableCells().get(k).setText(str); + xwpfTables.get(i).getRows().get(j).getTableCells().get(k).setVerticalAlignment(XWPFTableCell.XWPFVertAlign.CENTER); + xwpfTables.get(i).getRows().get(j).getTableCells().get(k).getParagraphArray(0).setAlignment(ParagraphAlignment.CENTER); + } + } + } + // 鍗曞厓鏍兼帓搴�, 閬垮厤鏍煎紡閿欎贡 + List<Map.Entry<String, Map<String, Integer>>> entries = new ArrayList<>(maps.entrySet()); + entries.sort((o1, o2) -> o1.getValue().get("sc") - o2.getValue().get("sc")); + // 鎸夌収椤哄簭娣诲姞杩涢泦鍚� + List<String> list = new ArrayList<>(); + for (Map.Entry<String, Map<String, Integer>> entry : entries) { + list.add(entry.getKey()); + } + for (int a = list.size() - 1; a >= 0; a--) { + Map<String, Integer> v = maps.get(list.get(a)); + for (int j = 0; j < v.get("er") - v.get("sr") + 1; j++) { + if (v.get("ec") > v.get("sc")) { + try { + mergeCellsHorizontally(xwpfTables.get(i), v.get("sr") + j, v.get("sc"), v.get("ec")); +// TableTools.mergeCellsHorizonal(xwpfTables.get(i), v.get("sr") + j, v.get("sc"), v.get("ec")); + } catch (Exception e) { + } + } + } + if (v.get("er") > v.get("sr")) { + try { + mergeCellsVertically(xwpfTables.get(i), v.get("sc"), v.get("sr"), v.get("er")); +// TableTools.mergeCellsVertically(xwpfTables.get(i), v.get("sc"), v.get("sr"), v.get("er")); + } catch (Exception e) { + } + } + } + } + FileOutputStream fileOutputStream = new FileOutputStream(path); + document.write(fileOutputStream); + fileOutputStream.close(); + } catch (FileNotFoundException e) { + throw new RuntimeException(e); + } catch (IOException e) { + throw new RuntimeException(e); + } + //澶勭悊涓嫳鏂囨崲琛岀殑闂 + try { + FileInputStream stream1 = new FileInputStream(path); + XWPFDocument document1 = new XWPFDocument(stream1); + List<XWPFTable> xwpfTables1 = document1.getTables(); + for (int i = 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; + } + + @Override + public int exportInManageRecordIssueRecycle(MultipartFile file) { + List<ManageRecordIssueRecycle> manageRecordIssueRecycleList = new ArrayList<>(); + DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); + try { + InputStream inputStream = file.getInputStream(); + XWPFDocument document = new XWPFDocument(inputStream); + List<XWPFTable> tables = document.getTables(); + if (tables.isEmpty()) { + throw new ErrorException("鏂囨。涓病鏈夎〃鏍�"); + } + + for (XWPFTable table : tables) { + List<XWPFTableRow> rows = table.getRows(); + if (rows.size() <= 1) { + throw new ErrorException("琛ㄦ牸娌℃湁鏁版嵁琛�"); + } + for (int i = 2; i < rows.size(); i++) { // 浠庣涓夎寮�濮嬶紝璺宠繃琛ㄥご + XWPFTableRow row = rows.get(i); + if (row.getTableCells().size() != 12) { + System.out.println("琛� " + (i + 1) + " 鐨勫垪鏁颁笉鍖归厤锛岃烦杩囪琛�"); + continue; + } + if (ObjectUtils.isNotEmpty(row.getCell(1).getText())) { + ManageRecordIssueRecycle manageRecordIssueRecycle = new ManageRecordIssueRecycle(); + manageRecordIssueRecycle.setDocumentCode(row.getCell(1).getText()); + manageRecordIssueRecycle.setDocumentName(row.getCell(2).getText()); + manageRecordIssueRecycle.setDocumentVersion(row.getCell(3).getText()); + manageRecordIssueRecycle.setPages(row.getCell(4).getText()); + manageRecordIssueRecycle.setDocumentType(row.getCell(5).getText()); + manageRecordIssueRecycle.setNumber(row.getCell(6).getText()); + manageRecordIssueRecycle.setDepartLims(row.getCell(7).getText()); + try { + manageRecordIssueRecycle.setReceiveUser(userMapper.selectOne(Wrappers.<User>lambdaQuery() + .eq(User::getName, row.getCell(8).getText())).getId()); + } catch (Exception e) { + manageRecordIssueRecycle.setReceiveUser(null); + } + try { + manageRecordIssueRecycle.setSignedUser(userMapper.selectOne(Wrappers.<User>lambdaQuery() + .eq(User::getName, row.getCell(10).getText())).getId()); + } catch (Exception e) { + manageRecordIssueRecycle.setSignedUser(null); + } + try { + manageRecordIssueRecycle.setReceiveDate(LocalDate.parse(row.getCell(9).getText(), dateTimeFormatter)); + } catch (Exception e) { + manageRecordIssueRecycle.setReceiveDate(null); + } + try { + manageRecordIssueRecycle.setSignedDate(LocalDate.parse(row.getCell(11).getText(), dateTimeFormatter)); + } catch (Exception e) { + manageRecordIssueRecycle.setSignedDate(null); + } + + ManageRecordIssueRecycle issueRecycle = manageRecordIssueRecycleMapper.selectOne(Wrappers.<ManageRecordIssueRecycle>lambdaQuery() + .eq(ManageRecordIssueRecycle::getDocumentCode, manageRecordIssueRecycle.getDocumentCode()) + .eq(ManageRecordIssueRecycle::getDocumentName, manageRecordIssueRecycle.getDocumentName()) + .eq(ManageRecordIssueRecycle::getDocumentVersion, manageRecordIssueRecycle.getDocumentVersion())); + if (ObjectUtils.isNotEmpty(issueRecycle)) { + manageRecordIssueRecycle.setId(issueRecycle.getId()); + } + manageRecordIssueRecycleList.add(manageRecordIssueRecycle); + } + } + } + saveOrUpdateBatch(manageRecordIssueRecycleList); + } catch (IOException e) { + e.printStackTrace(); + } + return 0; + } + + @Override + public int addManageRecordIssueRecycle(ManageRecordIssueRecycle manageRecordIssueRecycle) { + return manageRecordIssueRecycleMapper.insert(manageRecordIssueRecycle); + } + + @Override + public int doManageRecordIssueRecycle(ManageRecordIssueRecycle manageRecordIssueRecycle) { + return manageRecordIssueRecycleMapper.updateById(manageRecordIssueRecycle); + } + + // 姘村钩鍚堝苟鍗曞厓鏍� + private static void mergeCellsHorizontally(XWPFTable table, int row, int fromCol, int toCol) { + for (int i = fromCol; i <= toCol; i++) { + if (i == fromCol) { + table.getRow(row).getCell(i).getCTTc().addNewTcPr().addNewHMerge().setVal(STMerge.RESTART); + } else { + table.getRow(row).getCell(i).getCTTc().addNewTcPr().addNewHMerge().setVal(STMerge.CONTINUE); + } + } + } + + // 鍨傜洿鍚堝苟鍗曞厓鏍� + private static void mergeCellsVertically(XWPFTable table, int col, int fromRow, int toRow) { + for (int i = fromRow; i <= toRow; i++) { + if (i == fromRow) { + table.getRow(i).getCell(col).getCTTc().addNewTcPr().addNewVMerge().setVal(STMerge.RESTART); + } else { + table.getRow(i).getCell(col).getCTTc().addNewTcPr().addNewVMerge().setVal(STMerge.CONTINUE); + } + } + } +} diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/service/impl/ManageRecordTotalServiceImpl.java b/cnas-manage/src/main/java/com/ruoyi/manage/service/impl/ManageRecordTotalServiceImpl.java new file mode 100644 index 0000000..8e0f8a5 --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/service/impl/ManageRecordTotalServiceImpl.java @@ -0,0 +1,421 @@ +package com.ruoyi.manage.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.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.deepoove.poi.XWPFTemplate; +import com.deepoove.poi.config.Configure; +import com.deepoove.poi.config.ConfigureBuilder; +import com.deepoove.poi.data.*; +import com.deepoove.poi.data.style.*; +import com.ruoyi.common.core.domain.entity.User; +import com.ruoyi.common.utils.QueryWrappers; +import com.ruoyi.common.utils.SecurityUtils; +import com.ruoyi.framework.exception.ErrorException; +import com.ruoyi.manage.mapper.ManageRecordTotalMapper; +import com.ruoyi.manage.mapper.ManageRecordVerifyMapper; +import com.ruoyi.manage.pojo.ManageRecordTotal; +import com.ruoyi.manage.pojo.ManageRecordVerify; +import com.ruoyi.manage.service.ManageRecordTotalService; +import com.ruoyi.system.mapper.UserMapper; +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 java.io.*; +import java.nio.file.Files; +import java.nio.file.Paths; +import java.time.LocalDate; +import java.time.format.DateTimeFormatter; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * <p> + * 澶栨潵鏂囦欢纭璁板綍鎬诲巻鍙茶褰曡〃 鏈嶅姟瀹炵幇绫� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-12 10:30:08 + */ +@Service +@Transactional(rollbackFor = Exception.class) +public class ManageRecordTotalServiceImpl extends ServiceImpl<ManageRecordTotalMapper, ManageRecordTotal> implements ManageRecordTotalService { + + @Resource + private ManageRecordTotalMapper manageRecordTotalMapper; + + @Value("${wordUrl}") + private String wordUrl; + + @Resource + private UserMapper userMapper; + + @Value("${file.path}") + private String imgUrl; + + @Resource + private ManageRecordVerifyMapper manageRecordVerifyMapper; + + @Override + public IPage<ManageRecordTotal> pageManageRecordTotal(Page page, ManageRecordTotal manageRecordTotal) { + return manageRecordTotalMapper.pageProcessTotaldeal(page, QueryWrappers.queryWrappers(manageRecordTotal)); + } + + @Override + public int submitManageRecordTotal(Integer id) { + Integer userId = SecurityUtils.getUserId().intValue(); + User user = userMapper.selectById(userId); + if (ObjectUtils.isEmpty(user.getSignatureUrl())) throw new ErrorException("鏈壘鍒板~琛ㄤ汉鐨勭數瀛愮鍚�,璇蜂笂浼犺嚜宸辩殑鐢靛瓙绛惧悕!"); + ManageRecordTotal manageRecordTotal = manageRecordTotalMapper.selectById(id); + manageRecordTotal.setSubmitUser(userId); + manageRecordTotal.setSubmitDate(LocalDate.now()); + manageRecordTotal.setSubmitUrl(user.getSignatureUrl()); + //鐢熸垚鏍峰搧澶勭悊鐢宠琛ㄥ苟灏嗗~琛ㄤ汉鐨勭數瀛愮鍚嶅嵃涓� + manageRecordTotal.setUrl(recordTotaldeal(id,user.getSignatureUrl())); + return manageRecordTotalMapper.updateById(manageRecordTotal); + } + + @Override + public int ratifyManageRecordTotal(Integer id, String ratifyState) { + Integer userId = SecurityUtils.getUserId().intValue(); + User user = userMapper.selectById(userId); + if (ObjectUtils.isEmpty(user.getSignatureUrl())) throw new ErrorException("鏈壘鍒版壒鍑嗕汉鐨勭數瀛愮鍚�,璇蜂笂浼犺嚜宸辩殑鐢靛瓙绛惧悕!"); + ManageRecordTotal manageRecordTotal = manageRecordTotalMapper.selectById(id); + manageRecordTotal.setRatifyUser(userId); + manageRecordTotal.setRatifyState(ratifyState); + manageRecordTotal.setRatifyDate(LocalDate.now()); + manageRecordTotal.setRatifyUrl(user.getSignatureUrl()); + //灏嗘壒鍑嗕汉鐨勭鍚嶅嵃涓� + String[] monthNames = {"January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"}; + wordInsertUrl(new HashMap<String, Object>() {{ + put("ratifyDateEn", monthNames[LocalDate.now().getMonthValue() - 1] + " " + LocalDate.now().getDayOfMonth() + ", " + LocalDate.now().getYear()); + put("ratifyDate", LocalDate.now().format(DateTimeFormatter.ofPattern("yyyy骞碝M鏈坉d鏃�"))); + put("ratifyUrl", new FilePictureRenderData(100,50,imgUrl + "/" + user.getSignatureUrl())); + }}, wordUrl+"/"+manageRecordTotal.getUrl()); + return manageRecordTotalMapper.updateById(manageRecordTotal); + } + + 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; + } + + + private String recordTotaldeal(Integer id,String signatureUrl){ + List<ManageRecordVerify> manageRecordVerifies = manageRecordVerifyMapper.selectList(Wrappers.<ManageRecordVerify>lambdaQuery().eq(ManageRecordVerify::getManageRecordTotalId,id)); + String url; + try { + InputStream inputStream = this.getClass().getResourceAsStream("/static/verify-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); + String[] monthNames = {"January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"}; + List<Map<String, Object>> verifyList = new ArrayList<>(); + Integer index = 1; + Integer index1 = 1; + for (int c = 0; c < manageRecordVerifies.size(); c++) { + //瓒呰繃21琛屾崲椤� + 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("搴忓彿@No."); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else if (j == 1) { + //绗簩鍒楁牱鍝佸悕绉� + textRenderData.setText("澶栨潵鏂囦欢鍚嶇О@Foreign file name"); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else if (j == 2) { + //绗笁鍒楁牱鍝佺紪鍙� + textRenderData.setText("鏂囦欢缂栧彿@File number"); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else if (j == 3) { + //绗洓鍒椾緵鏍峰崟浣� + textRenderData.setText("鏍囧噯瑙勮寖鍚嶇О@Standard specification name"); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else if (j == 4) { + //绗簲鍒楁暟閲� + textRenderData.setText("鏍囧噯鍙稝Stanard number"); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else if (j == 5) { + //绗叚鍒楀鐞嗘柟寮� + textRenderData.setText("鐢熸晥鏃ユ湡@Effective Date"); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else if (j == 6) { + //绗竷鍒楀鐞嗘柟寮� + textRenderData.setText("浣滃簾鏃ユ湡@Void date"); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + }else { + //绗叓鍒楁椂闂� + textRenderData.setText("澶囨敞@Remaek"); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } + } + else { + //鍏朵粬琛� + if (j == 0) { + //绗竴鍒� + try{ + String sampleName = manageRecordVerifies.get((i-1) + (index1 - 1) * 20).getDocumentName(); + 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(manageRecordVerifies.get((i-1) + (index1 - 1) * 20).getDocumentName()); + } 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(manageRecordVerifies.get((i-1) + (index1 - 1) * 20).getDocumentCode()); + } 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(manageRecordVerifies.get((i-1) + (index1 - 1) * 20).getStandardName()); + } 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(manageRecordVerifies.get((i-1) + (index1 - 1) * 20).getStandardCode()); + } 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(manageRecordVerifies.get((i-1) + (index1 - 1) * 20).getEffectiveDate()+""); + } 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(manageRecordVerifies.get((i-1) + (index1 - 1) * 20).getCancelDate()+""); + } catch (Exception e) { + textRenderData.setText(""); + } + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } + else { + try{ + textRenderData.setText(manageRecordVerifies.get((i-1) + (index1 - 1) * 20).getNote()); + } 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("verify", tableRenderData); + table.put("index1", index1); + verifyList.add(table); + index1++; + } + } + Integer finalIndex = index1; + XWPFTemplate template = XWPFTemplate.compile(url, builder.build()).render( + new HashMap<String, Object>() {{ + put("verifyList", verifyList); + put("size", finalIndex); + put("submitDate", LocalDate.now().format(DateTimeFormatter.ofPattern("yyyy骞碝M鏈坉d鏃�"))); + put("submitDateEn", monthNames[LocalDate.now().getMonthValue() - 1] + " " + LocalDate.now().getDayOfMonth() + ", " + LocalDate.now().getYear()); + put("ratifyDate", "{{ratifyDate}}"); + put("ratifyDateEn","{{ratifyDateEn}}"); + 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; + } +} diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/service/impl/ManageRecordVerifyServiceImpl.java b/cnas-manage/src/main/java/com/ruoyi/manage/service/impl/ManageRecordVerifyServiceImpl.java new file mode 100644 index 0000000..81ccc19 --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/service/impl/ManageRecordVerifyServiceImpl.java @@ -0,0 +1,155 @@ +package com.ruoyi.manage.service.impl; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.common.utils.QueryWrappers; +import com.ruoyi.framework.exception.ErrorException; +import com.ruoyi.manage.mapper.ManageRecordTotalMapper; +import com.ruoyi.manage.mapper.ManageRecordVerifyMapper; +import com.ruoyi.manage.pojo.ManageRecordTotal; +import com.ruoyi.manage.pojo.ManageRecordVerify; +import com.ruoyi.manage.service.ManageRecordVerifyService; +import org.apache.poi.xwpf.usermodel.XWPFDocument; +import org.apache.poi.xwpf.usermodel.XWPFTable; +import org.apache.poi.xwpf.usermodel.XWPFTableRow; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import java.io.IOException; +import java.io.InputStream; +import java.time.LocalDate; +import java.time.format.DateTimeFormatter; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * <p> + * 澶栨潵鏂囦欢纭璁板綍 鏈嶅姟瀹炵幇绫� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-12 10:29:44 + */ +@Service +@Transactional(rollbackFor = Exception.class) +public class ManageRecordVerifyServiceImpl extends ServiceImpl<ManageRecordVerifyMapper, ManageRecordVerify> implements ManageRecordVerifyService { + + @Resource + private ManageRecordVerifyMapper manageRecordVerifyMapper; + + @Resource + private ManageRecordTotalMapper manageRecordTotalMapper; + + @Override + public IPage<ManageRecordVerify> pageManageRecordVerify(Page page, ManageRecordVerify manageRecordVerify) { + if (ObjectUtils.isEmpty(manageRecordVerify.getManageRecordTotalId())) { + //鑾峰彇褰撳墠骞翠唤 + LocalDate currentDate = LocalDate.now(); + // 瀹氫箟鏃ユ湡鏍煎紡 + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy"); + // 鏍煎紡鍖栧綋鍓嶆棩鏈� + String currentMonth = currentDate.format(formatter); + //鏌ヨ鍘嗗彶 + ManageRecordTotal manageRecordTotal = manageRecordTotalMapper.selectOne(Wrappers.<ManageRecordTotal>lambdaQuery().eq(ManageRecordTotal::getYear, currentMonth)); + manageRecordVerify.setManageRecordTotalId(manageRecordTotal.getId()); + } + return manageRecordVerifyMapper.pageManageRecordVerify(page, QueryWrappers.queryWrappers(manageRecordVerify)); + } + + @Override + public int addManageRecordVerify(ManageRecordVerify manageRecordVerify) { + //鑾峰彇褰撳墠骞翠唤 + LocalDate currentDate = LocalDate.now(); + // 瀹氫箟鏃ユ湡鏍煎紡 + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy"); + // 鏍煎紡鍖栧綋鍓嶆棩鏈� + String currentMonth = currentDate.format(formatter); + ManageRecordTotal manageRecordTotal = manageRecordTotalMapper.selectOne(Wrappers.<ManageRecordTotal>lambdaQuery().eq(ManageRecordTotal::getYear, currentMonth)); + manageRecordVerify.setManageRecordTotalId(manageRecordTotal.getId()); + manageRecordVerifyMapper.insert(manageRecordVerify); + manageRecordTotal.setTotalNum(1 + manageRecordTotal.getTotalNum()); + return manageRecordTotalMapper.updateById(manageRecordTotal); + } + + @Override + public int delManageRecordVerify(Integer id) { + ManageRecordVerify manageRecordVerify = manageRecordVerifyMapper.selectById(id); + manageRecordVerifyMapper.deleteById(id); + ManageRecordTotal manageRecordTotal = manageRecordTotalMapper.selectById(manageRecordVerify.getManageRecordTotalId()); + manageRecordTotal.setTotalNum(manageRecordTotal.getTotalNum() - 1); + return manageRecordTotalMapper.updateById(manageRecordTotal); + } + + @Override + public int exportManageRecordVerify(MultipartFile file) { + List<ManageRecordVerify> manageRecordVerifyList = new ArrayList<>(); + DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); + //鑾峰彇褰撳墠骞翠唤 + LocalDate currentDate = LocalDate.now(); + // 瀹氫箟鏃ユ湡鏍煎紡 + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy"); + // 鏍煎紡鍖栧綋鍓嶆棩鏈� + String currentMonth = currentDate.format(formatter); + ManageRecordTotal manageRecordTotal = manageRecordTotalMapper.selectOne(Wrappers.<ManageRecordTotal>lambdaQuery().eq(ManageRecordTotal::getYear, currentMonth)); + try { + InputStream inputStream = file.getInputStream(); + XWPFDocument document = new XWPFDocument(inputStream); + List<XWPFTable> tables = document.getTables(); + if (tables.isEmpty()) { + throw new ErrorException("鏂囨。涓病鏈夎〃鏍�"); + } + + for (XWPFTable table : tables) { + List<XWPFTableRow> rows = table.getRows(); + if (rows.size() <= 1) { + throw new ErrorException("琛ㄦ牸娌℃湁鏁版嵁琛�"); + } + for (int i = 1; i < rows.size(); i++) { // 浠庣浜岃寮�濮嬶紝璺宠繃琛ㄥご + XWPFTableRow row = rows.get(i); + if (row.getTableCells().size() != 8) { + System.out.println("琛� " + (i + 1) + " 鐨勫垪鏁颁笉鍖归厤锛岃烦杩囪琛�"); + continue; + } + if (ObjectUtils.isNotEmpty(row.getCell(1).getText())) { + ManageRecordVerify manageRecordVerify = new ManageRecordVerify(); + manageRecordVerify.setDocumentName(row.getCell(1).getText()); + manageRecordVerify.setDocumentCode(row.getCell(2).getText()); + manageRecordVerify.setStandardName(row.getCell(3).getText()); + manageRecordVerify.setStandardCode(row.getCell(4).getText()); + try { + manageRecordVerify.setEffectiveDate(LocalDate.parse(row.getCell(5).getText(), dateTimeFormatter)); + } catch (Exception e) { + manageRecordVerify.setEffectiveDate(null); + } + try { + manageRecordVerify.setCancelDate(LocalDate.parse(row.getCell(6).getText(), dateTimeFormatter)); + } catch (Exception e) { + manageRecordVerify.setCancelDate(null); + } + manageRecordVerify.setNote(row.getCell(7).getText()); + manageRecordVerify.setManageRecordTotalId(manageRecordTotal.getId()); + if (manageRecordVerifyMapper.selectCount(Wrappers.<ManageRecordVerify>lambdaQuery() + .eq(ManageRecordVerify::getDocumentCode, manageRecordVerify.getDocumentCode()) + .eq(ManageRecordVerify::getDocumentName, manageRecordVerify.getDocumentName()) + .eq(ManageRecordVerify::getStandardName, manageRecordVerify.getStandardName()) + .eq(ManageRecordVerify::getStandardCode, manageRecordVerify.getStandardCode()) + .eq(ManageRecordVerify::getManageRecordTotalId, manageRecordVerify.getManageRecordTotalId())) <= 0) { + manageRecordVerifyList.add(manageRecordVerify); + } + } + } + } + saveBatch(manageRecordVerifyList); + } catch (IOException e) { + e.printStackTrace(); + } + return 0; + } +} diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/service/impl/ManageReviewProgramFileServiceImpl.java b/cnas-manage/src/main/java/com/ruoyi/manage/service/impl/ManageReviewProgramFileServiceImpl.java new file mode 100644 index 0000000..4bc7155 --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/service/impl/ManageReviewProgramFileServiceImpl.java @@ -0,0 +1,76 @@ +package com.ruoyi.manage.service.impl; + +import cn.hutool.core.lang.UUID; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.manage.mapper.ManageReviewProgramFileMapper; +import com.ruoyi.manage.mapper.ManageReviewProgramMapper; +import com.ruoyi.manage.pojo.ManageReviewProgram; +import com.ruoyi.manage.pojo.ManageReviewProgramFile; +import com.ruoyi.manage.service.ManageReviewProgramFileService; +import com.ruoyi.manage.vo.ReviewProgramDetailsVo; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Service; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import java.io.File; +import java.util.List; + +/** + * <p> + * 鏈嶅姟瀹炵幇绫� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-09 04:15:47 + */ +@Service +public class ManageReviewProgramFileServiceImpl extends ServiceImpl<ManageReviewProgramFileMapper, ManageReviewProgramFile> implements ManageReviewProgramFileService { + + @Value("${wordUrl}") + private String wordUrl; + + @Resource + ManageReviewProgramMapper manageReviewProgramMapper; + + @Override + public ReviewProgramDetailsVo selectFile(Integer id) { + ManageReviewProgram program = manageReviewProgramMapper.selectById(id); + LambdaQueryWrapper<ManageReviewProgramFile> queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(ManageReviewProgramFile::getReviewId, id); + List<ManageReviewProgramFile> files = list(queryWrapper); + ReviewProgramDetailsVo vo = new ReviewProgramDetailsVo(); + vo.setProgram(program); + vo.setFileList(files); + return vo; + } + + @Override + public void addFile(MultipartFile file, Integer id) { + String urlString; + String pathName; + String path; + String filename = file.getOriginalFilename(); + ManageReviewProgramFile manageReviewProgramFile = new ManageReviewProgramFile(); + manageReviewProgramFile.setFileName(filename); + manageReviewProgramFile.setReviewId(id); + // 鏄枃浠� + path = wordUrl; + try { + File realpath = new File(path); + if (!realpath.exists()) { + realpath.mkdirs(); + } + pathName = UUID.randomUUID() + "_" + file.getOriginalFilename(); + urlString = realpath + "/" + pathName; + file.transferTo(new File(urlString)); + manageReviewProgramFile.setUrl(pathName); + this.baseMapper.insert(manageReviewProgramFile); + } catch (Exception e) { + e.printStackTrace(); + System.err.println("闄勪欢涓婁紶閿欒"); + } + + } +} diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/service/impl/ManageReviewProgramServiceImpl.java b/cnas-manage/src/main/java/com/ruoyi/manage/service/impl/ManageReviewProgramServiceImpl.java new file mode 100644 index 0000000..ab8b505 --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/service/impl/ManageReviewProgramServiceImpl.java @@ -0,0 +1,121 @@ +package com.ruoyi.manage.service.impl; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.deepoove.poi.XWPFTemplate; +import com.deepoove.poi.config.Configure; +import com.deepoove.poi.config.ConfigureBuilder; +import com.deepoove.poi.data.FilePictureRenderData; +import com.ruoyi.common.core.domain.entity.User; +import com.ruoyi.common.utils.SecurityUtils; +import com.ruoyi.framework.exception.ErrorException; +import com.ruoyi.manage.mapper.ManageReviewProgramMapper; +import com.ruoyi.manage.pojo.ManageReviewProgram; +import com.ruoyi.manage.service.ManageReviewProgramService; +import com.ruoyi.system.mapper.UserMapper; +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.LocalDateTime; +import java.time.format.DateTimeFormatter; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.stream.Collectors; + +/** + * <p> + * 鏈嶅姟瀹炵幇绫� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-09 03:05:42 + */ +@Service +public class ManageReviewProgramServiceImpl extends ServiceImpl<ManageReviewProgramMapper, ManageReviewProgram> implements ManageReviewProgramService { + + + @Resource + private UserMapper userMapper; + + @Value("${file.path}") + private String imgUrl; + + @Override + public IPage<ManageReviewProgram> page(Page page, String startTime,String endTime, String judgingLocation) { + IPage<ManageReviewProgram> iPage = this.baseMapper.page(page,startTime,endTime,judgingLocation); + return iPage; + } + + @Override + public void exportReviewProgram(Integer id, HttpServletResponse response) { + ManageReviewProgram reviewProgram = baseMapper.selectById(id); + List<String> name = new ArrayList<>(); + for (String s : reviewProgram.getParticipants().split(",")) { + User user = userMapper.selectById(Integer.parseInt(s)); + name.add(user.getName()); + } + String participantsName = name.stream().collect(Collectors.joining(",")); + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy骞碝M鏈坉d鏃�"); + //缂栧埗浜虹鍚� + User user1 = userMapper.selectOne(Wrappers.<User>lambdaQuery().eq(User::getName, reviewProgram.getEditor())); + if (ObjectUtils.isEmpty(user1.getSignatureUrl())){ + throw new ErrorException(user1.getName()+"娌℃湁涓婁紶涓汉绛惧悕,璇蜂笂浼�!"); + } + String signatureUrl1 = user1.getSignatureUrl(); + //鎵瑰噯浜虹鍚� + if (ObjectUtils.isEmpty(reviewProgram.getApprove())){ + throw new ErrorException("娌℃湁杩涜鎵瑰噯"); + } + User user2 = userMapper.selectOne(Wrappers.<User>lambdaQuery().eq(User::getName, reviewProgram.getApprove())); + if (ObjectUtils.isEmpty(user2.getSignatureUrl())){ + throw new ErrorException(user2.getName()+"娌℃湁涓婁紶涓汉绛惧悕,璇蜂笂浼�!"); + } + String signatureUrl2 = user2.getSignatureUrl(); + + InputStream inputStream = this.getClass().getResourceAsStream("/static/review-program.docx"); + ConfigureBuilder builder = Configure.builder(); + builder.useSpringEL(true); + XWPFTemplate template = XWPFTemplate.compile(inputStream, builder.build()).render( + new HashMap<String, Object>() {{ + put("reviewProgram", reviewProgram); + put("writeUrl", new FilePictureRenderData(100,50,imgUrl + "/" + signatureUrl1)); + put("ratifyUrl", new FilePictureRenderData(100,50,imgUrl + "/" + signatureUrl2)); + put("editorDate", reviewProgram.getEditorDate().format(formatter)); + put("approveDate", reviewProgram.getApproveDate().format(formatter)); + put("participantsName",participantsName); + }}); + + 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 int addReviewProgram(ManageReviewProgram manageReviewProgram) { + Integer userId = SecurityUtils.getUserId().intValue(); + String name = userMapper.selectById(userId).getName(); + manageReviewProgram.setEditor(name); + manageReviewProgram.setEditorDate(LocalDateTime.now()); + return baseMapper.insert(manageReviewProgram); + } +} diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/service/impl/ManageReviewReportServiceImpl.java b/cnas-manage/src/main/java/com/ruoyi/manage/service/impl/ManageReviewReportServiceImpl.java new file mode 100644 index 0000000..bf5bfc0 --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/service/impl/ManageReviewReportServiceImpl.java @@ -0,0 +1,141 @@ +package com.ruoyi.manage.service.impl; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.deepoove.poi.XWPFTemplate; +import com.deepoove.poi.config.Configure; +import com.deepoove.poi.config.ConfigureBuilder; +import com.deepoove.poi.data.FilePictureRenderData; +import com.ruoyi.common.core.domain.entity.User; +import com.ruoyi.framework.exception.ErrorException; +import com.ruoyi.manage.mapper.ManageReviewReportMapper; +import com.ruoyi.manage.pojo.ManageReviewReport; +import com.ruoyi.manage.service.ManageReviewReportService; +import com.ruoyi.system.mapper.UserMapper; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import java.io.InputStream; +import java.io.OutputStream; +import java.net.URLEncoder; +import java.time.format.DateTimeFormatter; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.stream.Collectors; + +/** + * <p> + * 绠$悊璇勫鎶ュ憡 鏈嶅姟瀹炵幇绫� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-12 04:44:39 + */ +@Service +public class ManageReviewReportServiceImpl extends ServiceImpl<ManageReviewReportMapper, ManageReviewReport> implements ManageReviewReportService { + + @Resource + UserMapper userMapper; + + @Value("${file.path}") + private String imgUrl; + + @Override + public IPage<ManageReviewReport> page(Page page, String startTime, String endTime, String place) { + IPage<ManageReviewReport> iPage = this.baseMapper.page(page, startTime, endTime, place); + return iPage; + } + + @Override + public void exportReviewReport(Integer id, HttpServletResponse response) { + ManageReviewReport manageReviewReport = baseMapper.selectById(id); + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy骞碝M鏈坉d鏃�"); + //瀹屾垚鏃堕棿 + String completionDate = ""; + if (ObjectUtils.isNotEmpty(manageReviewReport.getCompletionDate())) { + completionDate = manageReviewReport.getCompletionDate().format(formatter); + } + //鍑哄腑浜哄憳 + String attendessName=null; + if (ObjectUtils.isNotEmpty(manageReviewReport.getAttendess())) { + List<String> name = new ArrayList<>(); + if(StringUtils.isNotBlank(manageReviewReport.getAttendess())){ + for (String s : manageReviewReport.getAttendess().split(",")) { + User user = userMapper.selectById(Integer.parseInt(s)); + name.add(user.getName()); + } + attendessName = name.stream().collect(Collectors.joining(",")); + } + } + //鏃ユ湡 + String createTime = manageReviewReport.getCreateTime().format(formatter); + //瀹℃牳浜� + String signatureUrl1 = null; + if (ObjectUtils.isNotEmpty(manageReviewReport.getAudit())) { + User user1 = userMapper.selectOne(Wrappers.<User>lambdaQuery().eq(User::getName, manageReviewReport.getAudit())); + if (ObjectUtils.isEmpty(user1.getSignatureUrl())) { + throw new ErrorException(user1.getName() + "鐨勪釜浜虹鍚嶆病鏈変笂浼�"); + } + signatureUrl1 = user1.getSignatureUrl(); + } + //鎵瑰噯浜� + String signatureUrl2 = null; + if (ObjectUtils.isNotEmpty(manageReviewReport.getApproval())) { + User user2 = userMapper.selectOne(Wrappers.<User>lambdaQuery().eq(User::getName, manageReviewReport.getApproval())); + if (ObjectUtils.isEmpty(user2.getSignatureUrl())) { + throw new ErrorException(user2.getName() + "鐨勪釜浜虹鍚嶆病鏈変笂浼�"); + } + signatureUrl2 = user2.getSignatureUrl(); + } + + + InputStream inputStream = this.getClass().getResourceAsStream("/static/review-report.docx"); + ConfigureBuilder builder = Configure.builder(); + builder.useSpringEL(true); + String finalCompletionDate = completionDate; + FilePictureRenderData picture1=null; + FilePictureRenderData picture2=null; + if (signatureUrl1!=null){ + picture1 = new FilePictureRenderData(100, 50, imgUrl + "/" + signatureUrl1); + } + if (signatureUrl2!=null) { + picture2 = new FilePictureRenderData(100, 50, imgUrl + "/" + signatureUrl2); + } + FilePictureRenderData finalPicture1 = picture1; + FilePictureRenderData finalPicture2 = picture2; + String finalAttendessName = attendessName; + XWPFTemplate template = XWPFTemplate.compile(inputStream, builder.build()).render( + new HashMap<String, Object>() {{ + put("report", manageReviewReport); + put("completionDate", finalCompletionDate); + put("date", manageReviewReport.getDate().format(formatter)); + put("createTime", createTime); + put("examineUrl", finalPicture1); + put("ratifyUrl", finalPicture2); + put("attendessName", finalAttendessName); + }}); + + 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-manage/src/main/java/com/ruoyi/manage/service/impl/ManageRiskAssessmentResultsServiceImpl.java b/cnas-manage/src/main/java/com/ruoyi/manage/service/impl/ManageRiskAssessmentResultsServiceImpl.java new file mode 100644 index 0000000..c275170 --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/service/impl/ManageRiskAssessmentResultsServiceImpl.java @@ -0,0 +1,124 @@ +package com.ruoyi.manage.service.impl; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.baomidou.mybatisplus.core.toolkit.StringUtils; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.deepoove.poi.XWPFTemplate; +import com.deepoove.poi.config.Configure; +import com.deepoove.poi.data.Pictures; +import com.ruoyi.common.utils.DateImageUtil; +import com.ruoyi.framework.exception.ErrorException; +import com.ruoyi.inspect.util.HackLoopTableRenderPolicy; +import com.ruoyi.manage.mapper.ManageRiskAssessmentResultsMapper; +import com.ruoyi.manage.pojo.ManageRiskAssessmentResults; +import com.ruoyi.manage.service.ManageRiskAssessmentResultsService; +import com.ruoyi.manage.vo.ManageRiskAssessmentResultsVo; +import com.ruoyi.system.mapper.UserMapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Service; + +import javax.servlet.http.HttpServletResponse; +import java.io.InputStream; +import java.io.OutputStream; +import java.net.URLEncoder; +import java.util.HashMap; + +/** + * <p> + * 鍗遍櫓鍥犵礌杈ㄨ瘑涓庨闄╄瘎浠风粨鏋滀竴瑙堣〃 鏈嶅姟瀹炵幇绫� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-11-15 02:58:51 + */ +@Service +public class ManageRiskAssessmentResultsServiceImpl extends ServiceImpl<ManageRiskAssessmentResultsMapper, ManageRiskAssessmentResults> implements ManageRiskAssessmentResultsService { + + @Autowired + private UserMapper userMapper; + + @Value("${file.path}") + private String imgUrl; + + @Override + public IPage<ManageRiskAssessmentResultsVo> getPageResults(Page page) { + return baseMapper.getPageResults(page, false); + } + + @Override + public void exportPersonTraining(HttpServletResponse response) { + // 鏌ヨ璇︽儏 + IPage<ManageRiskAssessmentResultsVo> detailedDtos = baseMapper.getPageResults(new Page(1, -1), true); + if (detailedDtos.getRecords().isEmpty()) { + throw new ErrorException("瀹℃牳閫氳繃鐨勬暟鎹负绌猴紒璇峰鏍搁�氳繃鍚庡湪瀵煎嚭"); + } + ManageRiskAssessmentResultsVo manageRiskAssessmentResultsVo = detailedDtos.getRecords().get(0); + + //鑾峰彇缂栧埗浜虹殑绛惧悕鍦板潃 + String writeUrl = userMapper.selectById(manageRiskAssessmentResultsVo.getEditor()).getSignatureUrl(); + if (ObjectUtils.isEmpty(writeUrl) || writeUrl.isEmpty()) { + throw new ErrorException("鎵句笉鍒版楠屼汉鐨勭鍚�"); + } + + //鑾峰彇澶嶆牳浜虹殑绛惧悕鍦板潃 + String examineUrl = null; + if (manageRiskAssessmentResultsVo.getApproval() != null) { + examineUrl = userMapper.selectById(manageRiskAssessmentResultsVo.getApproval()).getSignatureUrl(); + if (StringUtils.isBlank(examineUrl)) { + throw new ErrorException("鎵句笉鍒板鏍镐汉鐨勭鍚�"); + } + } + + //鑾峰彇鎵瑰噯浜虹殑绛惧悕鍦板潃 + String ratifyUrl = null; + if (manageRiskAssessmentResultsVo.getApproval() != null) { + ratifyUrl = userMapper.selectById(manageRiskAssessmentResultsVo.getApproval()).getSignatureUrl(); + if (StringUtils.isBlank(ratifyUrl)) { + throw new ErrorException("鎵句笉鍒板鏍镐汉鐨勭鍚�"); + } + } + + int index = 1; + for (ManageRiskAssessmentResultsVo detailedDto : detailedDtos.getRecords()) { + detailedDto.setIndex(index); + index++; + } + // 鑾峰彇璺緞 + InputStream inputStream = this.getClass().getResourceAsStream("/static/risk-factor-identification-risk.docx"); + String finalExamineUrl = examineUrl; + String finalRatifyUrl = ratifyUrl; + Configure configure = Configure.builder() + .bind("trainingDetailedList", new HackLoopTableRenderPolicy()) + .build(); + XWPFTemplate template = XWPFTemplate.compile(inputStream, configure).render( + new HashMap<String, Object>() {{ + put("trainingDetailedList", detailedDtos.getRecords()); + 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", manageRiskAssessmentResultsVo.getEditorDate() != null ? + Pictures.ofStream(DateImageUtil.createDateImage(manageRiskAssessmentResultsVo.getEditorDate())).create() : null); + put("examineDateUrl", manageRiskAssessmentResultsVo.getApproveDate() != null ? + Pictures.ofStream(DateImageUtil.createDateImage(manageRiskAssessmentResultsVo.getApproveDate())).create() : null); + put("ratifyDateUrl", manageRiskAssessmentResultsVo.getApproveDate() != null ? + Pictures.ofStream(DateImageUtil.createDateImage(manageRiskAssessmentResultsVo.getApproveDate())).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-manage/src/main/java/com/ruoyi/manage/vo/ManageControlPlanListVo.java b/cnas-manage/src/main/java/com/ruoyi/manage/vo/ManageControlPlanListVo.java new file mode 100644 index 0000000..d41e011 --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/vo/ManageControlPlanListVo.java @@ -0,0 +1,20 @@ +package com.ruoyi.manage.vo; + +import com.ruoyi.manage.pojo.ManageControlPlanList; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class ManageControlPlanListVo extends ManageControlPlanList { + @ApiModelProperty("缂栧埗濮撳悕") + private String editorName; + + @ApiModelProperty("瀹℃壒濮撳悕") + private String approvalName; + + @ApiModelProperty("鎵瑰噯濮撳悕") + private String approveName; + + @ApiModelProperty("瀵煎嚭") + private Integer index; +} diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/vo/ManageRiskAssessmentResultsVo.java b/cnas-manage/src/main/java/com/ruoyi/manage/vo/ManageRiskAssessmentResultsVo.java new file mode 100644 index 0000000..16499ce --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/vo/ManageRiskAssessmentResultsVo.java @@ -0,0 +1,21 @@ +package com.ruoyi.manage.vo; + +import com.ruoyi.manage.pojo.ManageRiskAssessmentResults; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class ManageRiskAssessmentResultsVo extends ManageRiskAssessmentResults { + + @ApiModelProperty("缂栧埗濮撳悕") + private String editorName; + + @ApiModelProperty("瀹℃壒濮撳悕") + private String approvalName; + + @ApiModelProperty("鎵瑰噯濮撳悕") + private String approveName; + + @ApiModelProperty("瀵煎嚭搴忓彿") + private Integer index; +} diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/vo/MeetingParticipantsDetailsVo.java b/cnas-manage/src/main/java/com/ruoyi/manage/vo/MeetingParticipantsDetailsVo.java new file mode 100644 index 0000000..1f6de8e --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/vo/MeetingParticipantsDetailsVo.java @@ -0,0 +1,15 @@ +package com.ruoyi.manage.vo; + +import com.ruoyi.manage.pojo.ManageMeeting; +import com.ruoyi.manage.pojo.ManageMeetingParticipants; +import lombok.Data; + +import java.util.List; + +@Data +public class MeetingParticipantsDetailsVo { + + private ManageMeeting manageMeeting; + + private List<ManageMeetingParticipants> participantsList; +} diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/vo/ReviewProgramDetailsVo.java b/cnas-manage/src/main/java/com/ruoyi/manage/vo/ReviewProgramDetailsVo.java new file mode 100644 index 0000000..713f4d8 --- /dev/null +++ b/cnas-manage/src/main/java/com/ruoyi/manage/vo/ReviewProgramDetailsVo.java @@ -0,0 +1,15 @@ +package com.ruoyi.manage.vo; + +import com.ruoyi.manage.pojo.ManageReviewProgram; +import com.ruoyi.manage.pojo.ManageReviewProgramFile; +import lombok.Data; + +import java.util.List; + +@Data +public class ReviewProgramDetailsVo { + + private ManageReviewProgram program; + + private List<ManageReviewProgramFile> fileList; +} diff --git a/cnas-manage/src/main/resources/lib/aspose-words-15.12.0-jdk16.jar b/cnas-manage/src/main/resources/lib/aspose-words-15.12.0-jdk16.jar new file mode 100644 index 0000000..84320cf --- /dev/null +++ b/cnas-manage/src/main/resources/lib/aspose-words-15.12.0-jdk16.jar Binary files differ diff --git a/cnas-manage/src/main/resources/lib/license.xml b/cnas-manage/src/main/resources/lib/license.xml new file mode 100644 index 0000000..ecd46c1 --- /dev/null +++ b/cnas-manage/src/main/resources/lib/license.xml @@ -0,0 +1,13 @@ +<License> + <Data> + <Products> + <Product>Aspose.Total for Java</Product> + <Product>Aspose.Words for Java</Product> + </Products> + <EditionType>Enterprise</EditionType> + <SubscriptionExpiry>20991231</SubscriptionExpiry> + <LicenseExpiry>20991231</LicenseExpiry> + <SerialNumber>8bfe198c-7f0c-4ef8-8ff0-acc3237bf0d7</SerialNumber> + </Data> + <Signature>sNLLKGMUdF0r8O1kKilWAGdgfs2BvJb/2Xp8p5iuDVfZXmhppo+d0Ran1P9TKdjV4ABwAgKXxJ3jcQTqE/2IRfqwnPf8itN8aFZlV3TJPYeD3yWE7IT55Gz6EijUpC7aKeoohTb4w2fpox58wWoF3SNp6sK6jDfiAUGEHYJ9pjU=</Signature> +</License> diff --git a/cnas-manage/src/main/resources/mapper/ClientSatisfactionAnalyseFileMapper.xml b/cnas-manage/src/main/resources/mapper/ClientSatisfactionAnalyseFileMapper.xml new file mode 100644 index 0000000..dfaa1cc --- /dev/null +++ b/cnas-manage/src/main/resources/mapper/ClientSatisfactionAnalyseFileMapper.xml @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > +<mapper namespace="com.yuanchu.mom.mapper.ClientSatisfactionAnalyseFileMapper"> + + <!-- 瀹㈡埛婊℃剰搴﹀垎鏋愰檮浠跺垪琛� --> + <select id="pageAnalyseFile" resultType="com.ruoyi.manage.pojo.ClientSatisfactionAnalyseFile"> + select * + from (select ccf.*, + u.name user_name + from cnas_client_satisfaction_analyse_file ccf + left join user u on u.id = ccf.create_user + order by ccf.create_time desc + ) a + <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''"> + ${ew.customSqlSegment} + </if> + </select> +</mapper> diff --git a/cnas-manage/src/main/resources/mapper/ClientSatisfactionMapper.xml b/cnas-manage/src/main/resources/mapper/ClientSatisfactionMapper.xml new file mode 100644 index 0000000..3363454 --- /dev/null +++ b/cnas-manage/src/main/resources/mapper/ClientSatisfactionMapper.xml @@ -0,0 +1,48 @@ +<?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.ClientSatisfactionMapper"> + + <!-- 瀹㈡埛婊℃剰搴﹁皟鏌� --> + <select id="pageClientSatisfaction" resultType="com.ruoyi.manage.pojo.ClientSatisfaction"> + select * + from (select * + from cnas_client_satisfaction + order by create_time desc + ) a + <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''"> + ${ew.customSqlSegment} + </if> + </select> + <select id="exportWordClientSatisfaction" resultType="com.ruoyi.manage.dto.ClientSatisfactionDto"> + select *, + CASE WHEN service_attitude = 0 THEN '鈽�' + ELSE '鈻�' END AS serviceAttitude0, + CASE WHEN service_attitude = 1 THEN '鈽�' + ELSE '鈻�' END AS serviceAttitude1, + CASE WHEN service_attitude = 2 THEN '鈽�' + ELSE '鈻�' END AS serviceAttitude2, + service_attitude_suggestion, + CASE WHEN technical_competence = 0 THEN '鈽�' + ELSE '鈻�' END AS technicalCompetence0, + CASE WHEN technical_competence = 1 THEN '鈽�' + ELSE '鈻�' END AS technicalCompetence1, + CASE WHEN technical_competence = 2 THEN '鈽�' + ELSE '鈻�' END AS technicalCompetence2, + technical_competence_suggestion, + CASE WHEN inspection_work = 0 THEN '鈽�' + ELSE '鈻�' END AS inspectionWork0, + CASE WHEN inspection_work = 1 THEN '鈽�' + ELSE '鈻�' END AS inspectionWork1, + CASE WHEN inspection_work = 2 THEN '鈽�' + ELSE '鈻�' END AS inspectionWork2, + inspection_work_suggestion, + CASE WHEN reasonable_fees = 0 THEN '鈽�' + ELSE '鈻�' END AS reasonableFees0, + CASE WHEN reasonable_fees = 1 THEN '鈽�' + ELSE '鈻�' END AS reasonableFees1, + CASE WHEN reasonable_fees = 2 THEN '鈽�' + ELSE '鈻�' END AS reasonableFees2 + from cnas_client_satisfaction + where client_satisfaction_id = #{clientSatisfactionId} + </select> +</mapper> diff --git a/cnas-manage/src/main/resources/mapper/InternalCheckMapper.xml b/cnas-manage/src/main/resources/mapper/InternalCheckMapper.xml new file mode 100644 index 0000000..3ef89c8 --- /dev/null +++ b/cnas-manage/src/main/resources/mapper/InternalCheckMapper.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.InternalCheckMapper"> + + <!-- 鍐呴儴瀹℃煡鍒嗛〉鏌ヨ --> + <select id="pageInternalCheck" resultType="com.ruoyi.manage.dto.InternalCheckDto"> + select * + from (select * + from cnas_internal_check + order by create_time desc) a + <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''"> + ${ew.customSqlSegment} + </if> + </select> +</mapper> diff --git a/cnas-manage/src/main/resources/mapper/InternalCorrectFileMapper.xml b/cnas-manage/src/main/resources/mapper/InternalCorrectFileMapper.xml new file mode 100644 index 0000000..5dc4ae7 --- /dev/null +++ b/cnas-manage/src/main/resources/mapper/InternalCorrectFileMapper.xml @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.yuanchu.mom.mapper.InternalCorrectFileMapper"> + + <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 --> + <resultMap id="BaseResultMap" type="com.ruoyi.manage.pojo.InternalCorrectFile"> + <id column="correct_file_id" property="correctFileId" /> + <result column="supervise_details_correct_file_id" property="superviseDetailsCorrectFileId" /> + <result column="correct_id" property="correctId" /> + <result column="type" property="type" /> + <result column="file_url" property="fileUrl" /> + <result column="file_name" property="fileName" /> + <result column="create_user" property="createUser" /> + <result column="create_time" property="createTime" /> + <result column="update_user" property="updateUser" /> + <result column="update_time" property="updateTime" /> + </resultMap> + +</mapper> diff --git a/cnas-manage/src/main/resources/mapper/InternalCorrectMapper.xml b/cnas-manage/src/main/resources/mapper/InternalCorrectMapper.xml new file mode 100644 index 0000000..32e6f13 --- /dev/null +++ b/cnas-manage/src/main/resources/mapper/InternalCorrectMapper.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.InternalCorrectMapper"> + + <select id="pageInternalAccording" resultType="com.ruoyi.manage.pojo.InternalCorrect"> + select * + from (select * + from cnas_internal_correct + order by create_time desc) a + <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''"> + ${ew.customSqlSegment} + </if> + </select> + +</mapper> diff --git a/cnas-manage/src/main/resources/mapper/InternalImplementMapper.xml b/cnas-manage/src/main/resources/mapper/InternalImplementMapper.xml new file mode 100644 index 0000000..c1c3631 --- /dev/null +++ b/cnas-manage/src/main/resources/mapper/InternalImplementMapper.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.InternalImplementMapper"> + <!-- 鍐呭瀹炴柦璁″垝鍒嗛〉鏌ヨ --> + <select id="pageInternalImplement" resultType="com.ruoyi.manage.dto.InternalImplementDto"> + select * + from (select * + from cnas_internal_implement + order by create_time desc) a + <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''"> + ${ew.customSqlSegment} + </if> + </select> +</mapper> diff --git a/cnas-manage/src/main/resources/mapper/InternalMeetingDetailMapper.xml b/cnas-manage/src/main/resources/mapper/InternalMeetingDetailMapper.xml new file mode 100644 index 0000000..3654cce --- /dev/null +++ b/cnas-manage/src/main/resources/mapper/InternalMeetingDetailMapper.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.InternalMeetingDetailMapper"> + + +</mapper> diff --git a/cnas-manage/src/main/resources/mapper/InternalMeetingMapper.xml b/cnas-manage/src/main/resources/mapper/InternalMeetingMapper.xml new file mode 100644 index 0000000..13f0ea1 --- /dev/null +++ b/cnas-manage/src/main/resources/mapper/InternalMeetingMapper.xml @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.yuanchu.mom.mapper.InternalMeetingMapper"> + + <select id="pageInternalMeeting" resultType="com.ruoyi.manage.dto.InternalMeetingDto"> + select * + from (select cim.*, + (select GROUP_CONCAT(name) + from user + where find_in_set(id, cim.participant)) participant_name + from cnas_internal_meeting cim + order by cim.create_time desc + ) a + <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''"> + ${ew.customSqlSegment} + </if> + </select> +</mapper> diff --git a/cnas-manage/src/main/resources/mapper/InternalPlanDetailMapper.xml b/cnas-manage/src/main/resources/mapper/InternalPlanDetailMapper.xml new file mode 100644 index 0000000..3ca2756 --- /dev/null +++ b/cnas-manage/src/main/resources/mapper/InternalPlanDetailMapper.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.InternalPlanDetailMapper"> + + +</mapper> diff --git a/cnas-manage/src/main/resources/mapper/InternalPlanMapper.xml b/cnas-manage/src/main/resources/mapper/InternalPlanMapper.xml new file mode 100644 index 0000000..72f4dd5 --- /dev/null +++ b/cnas-manage/src/main/resources/mapper/InternalPlanMapper.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.InternalPlanMapper"> + <!-- 鍐呭骞村害璁″垝鍒嗛〉鏌ヨ --> + <select id="pageInternalPlan" resultType="com.ruoyi.manage.dto.InternalPlanDto"> + select * + from (select * + from cnas_internal_plan + order by create_time desc) a + <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''"> + ${ew.customSqlSegment} + </if> + </select> +</mapper> diff --git a/cnas-manage/src/main/resources/mapper/InternalReportMapper.xml b/cnas-manage/src/main/resources/mapper/InternalReportMapper.xml new file mode 100644 index 0000000..afb1fbd --- /dev/null +++ b/cnas-manage/src/main/resources/mapper/InternalReportMapper.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.InternalReportMapper"> + <!-- 鍐呭鎶ュ憡鍒嗛〉鏌ヨ --> + <select id="pageInternalReport" resultType="com.ruoyi.manage.pojo.InternalReport"> + select * + from (select * + from cnas_internal_report + order by create_time desc) a + <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''"> + ${ew.customSqlSegment} + </if> + </select> +</mapper> diff --git a/cnas-manage/src/main/resources/mapper/ManageControlPlanListMapper.xml b/cnas-manage/src/main/resources/mapper/ManageControlPlanListMapper.xml new file mode 100644 index 0000000..4b460a9 --- /dev/null +++ b/cnas-manage/src/main/resources/mapper/ManageControlPlanListMapper.xml @@ -0,0 +1,33 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.yuanchu.mom.mapper.ManageControlPlanListMapper"> + + <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 --> + <resultMap id="BaseResultMap" type="com.ruoyi.manage.pojo.ManageControlPlanList"> + <id column="id" property="id" /> + <result column="job_activity" property="jobActivity" /> + <result column="category" property="category" /> + <result column="description" property="description" /> + <result column="result" property="result" /> + <result column="intolerable" property="intolerable" /> + <result column="plan" property="plan" /> + <result column="editor" property="editor" /> + <result column="editor_date" property="editorDate" /> + <result column="approval" property="approval" /> + <result column="approval_date" property="approvalDate" /> + <result column="approve" property="approve" /> + <result column="approve_date" property="approveDate" /> + </resultMap> + + <select id="getPageList" resultType="com.ruoyi.manage.vo.ManageControlPlanListVo"> + select c.*, u1.name editor_name, u2.name approval_name, u3.name approve_name + from cnas_manage_control_plan_list c + left join user u1 on u1.id = c.editor + left join user u2 on u2.id = c.approval + left join user u3 on u3.id = c.approve + <if test="itSExporting == true"> + where c.approve_status = 1 + and c.approval_status = 1 + </if> + </select> +</mapper> diff --git a/cnas-manage/src/main/resources/mapper/ManageDocumentAlterMapper.xml b/cnas-manage/src/main/resources/mapper/ManageDocumentAlterMapper.xml new file mode 100644 index 0000000..3f84de6 --- /dev/null +++ b/cnas-manage/src/main/resources/mapper/ManageDocumentAlterMapper.xml @@ -0,0 +1,48 @@ +<?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.ManageDocumentAlterMapper"> + <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 --> + <resultMap id="BaseResultMap" type="com.ruoyi.manage.pojo.ManageDocumentAlter"> + <id column="id" property="id"/> + <result column="code" property="code"/> + <result column="create_user" property="createUser"/> + <result column="createUserName" property="createUserName"/> + <result column="update_user" property="updateUser"/> + <result column="create_time" property="createTime"/> + <result column="update_time" property="updateTime"/> + <result column="expect_alter_date" property="expectAlterDate"/> + <result column="actually_alter_date" property="actuallyAlterDate"/> + <result column="state" property="state"/> + <result column="check_user" property="checkUser"/> + <result column="checkUserName" property="checkUserName"/> + <result column="alter_note" property="alterNote"/> + <result column="alter_before_code" property="alterBeforeCode"/> + <result column="alter_before_name" property="alterBeforeName"/> + <result column="alter_before_version" property="alterBeforeVersion"/> + <result column="alter_after_code" property="alterAfterCode"/> + <result column="alter_after_name" property="alterAfterName"/> + <result column="alter_after_version" property="alterAfterVersion"/> + <result column="alter_after_url" property="alterAfterUrl"/> + <result column="method" property="method"/> + </resultMap> + + <select id="pageManageDocumentAlter" resultMap="BaseResultMap"> + select * from (select cmda.*, + name createUserName + from cnas_manage_document_alter cmda + left join user u on cmda.create_user = u.id) A + <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''"> + ${ew.customSqlSegment} + </if> + </select> + + <select id="getManageDocumentAlter" resultMap="BaseResultMap"> + select cmda.*, + u1.name createUserName, + u2.name checkUserName + from cnas_manage_document_alter cmda + left join user u1 on cmda.create_user = u1.id + left join user u2 on cmda.check_user = u2.id + where cmda.id = #{id} + </select> +</mapper> diff --git a/cnas-manage/src/main/resources/mapper/ManageDocumentCancelMapper.xml b/cnas-manage/src/main/resources/mapper/ManageDocumentCancelMapper.xml new file mode 100644 index 0000000..552f766 --- /dev/null +++ b/cnas-manage/src/main/resources/mapper/ManageDocumentCancelMapper.xml @@ -0,0 +1,44 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.yuanchu.mom.mapper.ManageDocumentCancelMapper"> + <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 --> + <resultMap id="BaseResultMap" type="com.ruoyi.manage.pojo.ManageDocumentCancel"> + <id column="id" property="id"/> + <result column="create_user" property="createUser"/> + <result column="createUserName" property="createUserName"/> + <result column="update_user" property="updateUser"/> + <result column="create_time" property="createTime"/> + <result column="update_time" property="updateTime"/> + <result column="document_code" property="documentCode"/> + <result column="name" property="name"/> + <result column="version" property="version"/> + <result column="document_state" property="documentState"/> + <result column="method" property="method"/> + <result column="cancel_note" property="cancelNote"/> + <result column="check_user" property="checkUser"/> + <result column="checkUserName" property="checkUserName"/> + <result column="expect_cancel_date" property="expectCancelDate"/> + <result column="actually_cancel_date" property="actuallyCancelDate"/> + <result column="state" property="state"/> + </resultMap> + + <select id="pageManageDocumentCancel" resultMap="BaseResultMap"> + select * from (select mdc.*, + u.name createUserName + from cnas_manage_document_cancel mdc + left join user u on mdc.create_user = u.id)A + <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''"> + ${ew.customSqlSegment} + </if> + </select> + + <select id="getManageDocumentCancel" resultMap="BaseResultMap"> + select mdc.*, + u1.name createUserName, + u2.name checkUserName + from cnas_manage_document_cancel mdc + left join user u1 on mdc.create_user = u1.id + left join user u2 on mdc.check_user = u2.id + where mdc.id=#{id} + </select> +</mapper> diff --git a/cnas-manage/src/main/resources/mapper/ManageDocumentControlledMapper.xml b/cnas-manage/src/main/resources/mapper/ManageDocumentControlledMapper.xml new file mode 100644 index 0000000..ec28677 --- /dev/null +++ b/cnas-manage/src/main/resources/mapper/ManageDocumentControlledMapper.xml @@ -0,0 +1,42 @@ +<?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.ManageDocumentControlledMapper"> + <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 --> + <resultMap id="BaseResultMap" type="com.ruoyi.manage.pojo.ManageDocumentControlled"> + <id column="id" property="id"/> + <result column="document_code" property="documentCode"/> + <result column="type" property="type"/> + <result column="name" property="name"/> + <result column="version" property="version"/> + <result column="writer" property="writer"/> + <result column="submit_date" property="submitDate"/> + <result column="instructions" property="instructions"/> + <result column="state" property="state"/> + <result column="url" property="url"/> + <result column="duty_user" property="dutyUser"/> + <result column="dutyUserName" property="dutyUserName"/> + <result column="create_user" property="createUser"/> + <result column="createUserName" property="createUserName"/> + <result column="createUserDepartLims" property="createUserDepartLims"/> + <result column="update_user" property="updateUser"/> + <result column="create_time" property="createTime"/> + <result column="update_time" property="updateTime"/> + </resultMap> + + <select id="pageManageDocumentControlled" resultMap="BaseResultMap"> + select * from (select cmdc.*, u1.name createUserName, u2.name dutyUserName + from cnas_manage_document_controlled cmdc + left join user u1 on cmdc.create_user = u1.id + left join user u2 on cmdc.duty_user = u2.id)A + <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''"> + ${ew.customSqlSegment} + </if> + </select> + + <select id="getManageDocumentControlled" resultMap="BaseResultMap"> + select cmdc.*, u1.name createUserName, u2.name dutyUserName + from cnas_manage_document_controlled cmdc + left join user u1 on cmdc.create_user = u1.id + left join user u2 on cmdc.duty_user = u2.id + </select> +</mapper> diff --git a/cnas-manage/src/main/resources/mapper/ManageDocumentIssueRecycleMapper.xml b/cnas-manage/src/main/resources/mapper/ManageDocumentIssueRecycleMapper.xml new file mode 100644 index 0000000..c31ff1e --- /dev/null +++ b/cnas-manage/src/main/resources/mapper/ManageDocumentIssueRecycleMapper.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.ManageDocumentIssueRecycleMapper"> + <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 --> + <resultMap id="BaseResultMap" type="com.ruoyi.manage.pojo.ManageDocumentIssueRecycle"> + <id column="id" property="id"/> + <result column="document_code" property="documentCode"/> + <result column="name" property="name"/> + <result column="version" property="version"/> + <result column="state" property="state"/> + <result column="document_state" property="documentState"/> + <result column="issue_code" property="issueCode"/> + <result column="issue_user" property="issueUser"/> + <result column="issue_date" property="issueDate"/> + <result column="issue_note" property="issueNote"/> + <result column="receive_user" property="receiveUser"/> + <result column="receive_date" property="receiveDate"/> + <result column="recycle_code" property="recycleCode"/> + <result column="recycle_user" property="recycleUser"/> + <result column="recycle_date" property="recycleDate"/> + <result column="recycle_note" property="recycleNote"/> + <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="url" property="url"/> + </resultMap> + + <select id="pageManageDocumentIssueRecycle" resultType="com.ruoyi.manage.dto.ManageDocumentIssueRecycleDto"> + select * from (select cmdir.*, + u1.name issueUserName, + u2.name recycleUserName, + u3.name receiveUserName + from cnas_manage_document_issue_recycle cmdir + left join user u1 on issue_user=u1.id + left join user u2 on recycle_user=u2.id + left join user u3 on receive_user=u3.id) A + <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''"> + ${ew.customSqlSegment} + </if> + </select> + + <select id="getManageDocumentIssueRecycle" resultType="com.ruoyi.manage.dto.ManageDocumentIssueRecycleDto"> + select cmdir.*, + u1.name issueUserName, + u2.name recycleUserName, + u3.name receiveUserNmae + from cnas_manage_document_issue_recycle cmdir + left join user u1 on issue_user=u1.id + left join user u2 on recycle_user=u2.id + left join user u3 on receive_user=u3.id + where cmdir.id=#{id} + </select> +</mapper> diff --git a/cnas-manage/src/main/resources/mapper/ManageDocumentListMapper.xml b/cnas-manage/src/main/resources/mapper/ManageDocumentListMapper.xml new file mode 100644 index 0000000..d775843 --- /dev/null +++ b/cnas-manage/src/main/resources/mapper/ManageDocumentListMapper.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.ManageDocumentListMapper"> + <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 --> + <resultMap id="BaseResultMap" type="com.ruoyi.manage.pojo.ManageDocumentList"> + <id column="id" property="id"/> + <result column="document_code" property="documentCode"/> + <result column="type" property="type"/> + <result column="name" property="name"/> + <result column="version" property="version"/> + <result column="writer" property="writer"/> + <result column="effective_date" property="effectiveDate"/> + <result column="state" property="state"/> + <result column="url" property="url"/> + <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="pageManageDocumentList" resultType="com.ruoyi.manage.pojo.ManageDocumentList"> + select * from (select * from cnas_manage_document_list ) A + <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''"> + ${ew.customSqlSegment} + </if> + </select> +</mapper> diff --git a/cnas-manage/src/main/resources/mapper/ManageMeetingMapper.xml b/cnas-manage/src/main/resources/mapper/ManageMeetingMapper.xml new file mode 100644 index 0000000..07e58f3 --- /dev/null +++ b/cnas-manage/src/main/resources/mapper/ManageMeetingMapper.xml @@ -0,0 +1,32 @@ +<?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.ManageMeetingMapper"> + + <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 --> + <resultMap id="BaseResultMap" type="com.ruoyi.manage.pojo.ManageMeeting"> + <id column="id" property="id" /> + <result column="meeting_time" property="meetingTime" /> + <result column="place" property="place" /> + <result column="compere" property="compere" /> + <result column="content" property="content" /> + <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="page" resultType="com.ruoyi.manage.dto.ManageMeetingDto"> + select cmm.* from cnas_manage_meeting cmm + <where> + <if test="startTime != null and startTime != ''"> + meeting_time >= #{startTime} + </if> + <if test="endTime != null and endTime != ''"> + and #{endTime} >= meeting_time + </if> + <if test="place != null and place != ''"> + and place = #{place} + </if> + </where> + </select> + +</mapper> diff --git a/cnas-manage/src/main/resources/mapper/ManageMeetingParticipantsMapper.xml b/cnas-manage/src/main/resources/mapper/ManageMeetingParticipantsMapper.xml new file mode 100644 index 0000000..f11d7e4 --- /dev/null +++ b/cnas-manage/src/main/resources/mapper/ManageMeetingParticipantsMapper.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.ManageMeetingParticipantsMapper"> + + <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 --> + <resultMap id="BaseResultMap" type="com.ruoyi.manage.pojo.ManageMeetingParticipants"> + <id column="id" property="id" /> + <result column="participants" property="participants" /> + <result column="department" property="department" /> + <result column="meeting_id" property="meetingId" /> + <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-manage/src/main/resources/mapper/ManageRecordAuditMapper.xml b/cnas-manage/src/main/resources/mapper/ManageRecordAuditMapper.xml new file mode 100644 index 0000000..da2ca90 --- /dev/null +++ b/cnas-manage/src/main/resources/mapper/ManageRecordAuditMapper.xml @@ -0,0 +1,50 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.yuanchu.mom.mapper.ManageRecordAuditMapper"> + <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 --> + <resultMap id="BaseResultMap" type="com.ruoyi.manage.pojo.ManageRecordAudit"> + <id column="id" property="id"/> + <result column="document_code" property="documentCode"/> + <result column="document_name" property="documentName"/> + <result column="capter" property="capter"/> + <result column="pages" property="pages"/> + <result column="number" property="number"/> + <result column="before_version" property="beforeVersion"/> + <result column="after_version" property="afterVersion"/> + <result column="alter_thing" property="alterThing"/> + <result column="alter_user" property="alterUser"/> + <result column="alterUserName" property="alterUserName"/> + <result column="ratify_user" property="ratifyUser"/> + <result column="ratifyUserName" property="ratifyUserName"/> + <result column="ratifyUserUrl" property="ratifyUserUrl"/> + <result column="date" property="date"/> + <result column="create_user" property="createUser"/> + <result column="createUserName" property="createUserName"/> + <result column="createUserDepart" property="createUserDepart"/> + <result column="update_user" property="updateUser"/> + <result column="create_time" property="createTime"/> + <result column="update_time" property="updateTime"/> + <result column="reason" property="reason"/> + <result column="before_depart" property="beforeDepart"/> + <result column="after_depart" property="afterDepart"/> + <result column="applicant" property="applicant"/> + <result column="formulation" property="formulation"/> + <result column="audit" property="audit"/> + <result column="method" property="method"/> + </resultMap> + + <select id="pageManageRecordAudit" resultMap="BaseResultMap"> + select * from (select cmra.*, + u1.name createUserName, + u2.name alterUserName, + u3.signature_url ratifyUserUrl, + u3.name ratifyUserName + from cnas_manage_record_audit cmra + left join user u1 on cmra.create_user = u1.id + left join user u2 on cmra.alter_user = u2.id + left join user u3 on cmra.ratify_user = u3.id)A + <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''"> + ${ew.customSqlSegment} + </if> + </select> +</mapper> diff --git a/cnas-manage/src/main/resources/mapper/ManageRecordCancelMapper.xml b/cnas-manage/src/main/resources/mapper/ManageRecordCancelMapper.xml new file mode 100644 index 0000000..e6ddc49 --- /dev/null +++ b/cnas-manage/src/main/resources/mapper/ManageRecordCancelMapper.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.ManageRecordCancelMapper"> + <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 --> + <resultMap id="BaseResultMap" type="com.ruoyi.manage.pojo.ManageRecordCancel"> + <id column="id" property="id"/> + <result column="document_code" property="documentCode"/> + <result column="document_name" property="documentName"/> + <result column="qty" property="qty"/> + <result column="reason" property="reason"/> + <result column="create_user" property="createUser"/> + <result column="createUserName" property="createUserName"/> + <result column="update_user" property="updateUser"/> + <result column="create_time" property="createTime"/> + <result column="update_time" property="updateTime"/> + <result column="ratify_user" property="ratifyUser"/> + <result column="ratify_state" property="ratifyState"/> + <result column="ratifyUserName" property="ratifyUserName"/> + <result column="ratify_time" property="ratifyTime"/> + <result column="remark" property="remark"/> + </resultMap> + + <select id="pageManageRecordCancel" resultMap="BaseResultMap"> + select * from (select cmrc.*, + u1.name createUserName, + u2.name ratifyUserName + from cnas_manage_record_cancel cmrc + left join user u1 on cmrc.create_user = u1.id + left join user u2 on cmrc.ratify_user = u2.id)A + <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''"> + ${ew.customSqlSegment} + </if> + </select> +</mapper> diff --git a/cnas-manage/src/main/resources/mapper/ManageRecordCheckMapper.xml b/cnas-manage/src/main/resources/mapper/ManageRecordCheckMapper.xml new file mode 100644 index 0000000..c0be1d4 --- /dev/null +++ b/cnas-manage/src/main/resources/mapper/ManageRecordCheckMapper.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.ManageRecordCheckMapper"> + <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 --> + <resultMap id="BaseResultMap" type="com.ruoyi.manage.pojo.ManageRecordCheck"> + <id column="id" property="id"/> + <result column="document_name" property="documentName"/> + <result column="document_code" property="documentCode"/> + <result column="document_version" property="documentVersion"/> + <result column="write_user" property="writeUser"/> + <result column="writeUserName" property="writeUserName"/> + <result column="check_user" property="checkUser"/> + <result column="checkUserName" property="checkUserName"/> + <result column="check_state" property="checkState"/> + <result column="ratify_user" property="ratifyUser"/> + <result column="ratifyUserName" property="ratifyUserName"/> + <result column="ratify_state" property="ratifyState"/> + <result column="ratify_date" property="ratifyDate"/> + <result column="remark" property="remark"/> + </resultMap> + + <select id="pageManageRecordCheck" resultMap="BaseResultMap"> + select * from (select cmrc.*, + u1.name writeUserName, + u2.name checkUserName, + u3.name ratifyUserName + from cnas_manage_record_check cmrc + left join user u1 on write_user=u1.id + left join user u2 on check_user=u2.id + left join user u3 on ratify_user=u3.id)A + <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''"> + ${ew.customSqlSegment} + </if> + </select> +</mapper> diff --git a/cnas-manage/src/main/resources/mapper/ManageRecordIntervalsMapper.xml b/cnas-manage/src/main/resources/mapper/ManageRecordIntervalsMapper.xml new file mode 100644 index 0000000..4c314bd --- /dev/null +++ b/cnas-manage/src/main/resources/mapper/ManageRecordIntervalsMapper.xml @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.yuanchu.mom.mapper.ManageRecordIntervalsMapper"> + <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 --> + <resultMap id="BaseResultMap" type="com.ruoyi.manage.pojo.ManageRecordIntervals"> + <id column="id" property="id"/> + <result column="document_name" property="documentName"/> + <result column="document_code" property="documentCode"/> + <result column="document_version" property="documentVersion"/> + <result column="revision" property="revision"/> + <result column="suitability" property="suitability"/> + <result column="remark" property="remark"/> + <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="record_intervals_total_id" property="recordIntervalsTotalId"/> + </resultMap> + + <select id="pageManageRecordIntervals" resultMap="BaseResultMap"> + select * + from (select * from cnas_manage_record_intervals) A + <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''"> + ${ew.customSqlSegment} + </if> + </select> +</mapper> diff --git a/cnas-manage/src/main/resources/mapper/ManageRecordIntervalsTotalMapper.xml b/cnas-manage/src/main/resources/mapper/ManageRecordIntervalsTotalMapper.xml new file mode 100644 index 0000000..0d79681 --- /dev/null +++ b/cnas-manage/src/main/resources/mapper/ManageRecordIntervalsTotalMapper.xml @@ -0,0 +1,33 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.yuanchu.mom.mapper.ManageRecordIntervalsTotalMapper"> + + <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 --> + <resultMap id="BaseResultMap" type="com.ruoyi.manage.pojo.ManageRecordIntervalsTotal"> + <id column="id" property="id" /> + <result column="ratify_user" property="ratifyUser"/> + <result column="ratifyUserName" property="ratifyUserName"/> + <result column="ratify_state" property="ratifyState"/> + <result column="ratify_date" property="ratifyDate"/> + <result column="ratify_url" property="ratifyUrl"/> + <result column="submit_user" property="submitUser"/> + <result column="submitUserName" property="submitUserName"/> + <result column="submit_url" property="submitUrl"/> + <result column="submit_date" property="submitDate"/> + <result column="year" property="year"/> + <result column="total_num" property="totalNum"/> + <result column="url" property="url"/> + </resultMap> + + <select id="pageManageRecordIntervalsTotal" resultMap="BaseResultMap"> + select * from (select cmrit.*, + u1.name submitUserName, + u2.name ratifyUserName + from cnas_manage_record_intervals_total cmrit + left join user u1 on u1.id=submit_user + left join user u2 on u2.id=ratify_user)A + <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''"> + ${ew.customSqlSegment} + </if> + </select> +</mapper> diff --git a/cnas-manage/src/main/resources/mapper/ManageRecordIssueRecycleMapper.xml b/cnas-manage/src/main/resources/mapper/ManageRecordIssueRecycleMapper.xml new file mode 100644 index 0000000..1d9616e --- /dev/null +++ b/cnas-manage/src/main/resources/mapper/ManageRecordIssueRecycleMapper.xml @@ -0,0 +1,33 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.yuanchu.mom.mapper.ManageRecordIssueRecycleMapper"> + <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 --> + <resultMap id="BaseResultMap" type="com.ruoyi.manage.pojo.ManageRecordIssueRecycle"> + <id column="id" property="id"/> + <result column="document_code" property="documentCode"/> + <result column="document_name" property="documentName"/> + <result column="document_version" property="documentVersion"/> + <result column="pages" property="pages"/> + <result column="document_type" property="documentType"/> + <result column="number" property="number"/> + <result column="depart_lims" property="departLims"/> + <result column="receive_user" property="receiveUser"/> + <result column="receiveUserName" property="receiveUserName"/> + <result column="receive_date" property="receiveDate"/> + <result column="signed_user" property="signedUser"/> + <result column="signedUserName" property="signedUserName"/> + <result column="signed_date" property="signedDate"/> + </resultMap> + + <select id="pageManageRecordIssueRecycle" resultMap="BaseResultMap"> + select * from (select cmrir.*, + u1.name receiveUserName, + u2.name signedUserName + from cnas_manage_record_issue_recycle cmrir + left join user u1 on receive_user=u1.id + left join user u2 on signed_user=u2.id)A + <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''"> + ${ew.customSqlSegment} + </if> + </select> +</mapper> diff --git a/cnas-manage/src/main/resources/mapper/ManageRecordTotalMapper.xml b/cnas-manage/src/main/resources/mapper/ManageRecordTotalMapper.xml new file mode 100644 index 0000000..db979cd --- /dev/null +++ b/cnas-manage/src/main/resources/mapper/ManageRecordTotalMapper.xml @@ -0,0 +1,32 @@ +<?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.ManageRecordTotalMapper"> + <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 --> + <resultMap id="BaseResultMap" type="com.ruoyi.manage.pojo.ManageRecordTotal"> + <id column="id" property="id"/> + <result column="ratify_user" property="ratifyUser"/> + <result column="ratifyUserName" property="ratifyUserName"/> + <result column="ratify_state" property="ratifyState"/> + <result column="ratify_date" property="ratifyDate"/> + <result column="ratify_url" property="ratifyUrl"/> + <result column="submit_user" property="submitUser"/> + <result column="submitUserName" property="submitUserName"/> + <result column="submit_url" property="submitUrl"/> + <result column="submit_date" property="submitDate"/> + <result column="year" property="year"/> + <result column="total_num" property="totalNum"/> + <result column="url" property="url"/> + </resultMap> + + <select id="pageProcessTotaldeal" resultMap="BaseResultMap"> + select * from (select cmrt.*, + u1.name submitUserName, + u2.name ratifyUserName + from cnas_manage_record_total cmrt + left join user u1 on u1.id=submit_user + left join user u2 on u2.id=ratify_user)A + <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''"> + ${ew.customSqlSegment} + </if> + </select> +</mapper> diff --git a/cnas-manage/src/main/resources/mapper/ManageRecordVerifyMapper.xml b/cnas-manage/src/main/resources/mapper/ManageRecordVerifyMapper.xml new file mode 100644 index 0000000..dad537b --- /dev/null +++ b/cnas-manage/src/main/resources/mapper/ManageRecordVerifyMapper.xml @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.yuanchu.mom.mapper.ManageRecordVerifyMapper"> + <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 --> + <resultMap id="BaseResultMap" type="com.ruoyi.manage.pojo.ManageRecordVerify"> + <id column="id" property="id"/> + <result column="document_name" property="documentName"/> + <result column="document_code" property="documentCode"/> + <result column="standard_name" property="standardName"/> + <result column="standard_code" property="standardCode"/> + <result column="effective_date" property="effectiveDate"/> + <result column="cancel_date" property="cancelDate"/> + <result column="note" property="note"/> + <result column="manage_record_total_id" property="manageRecordTotalId"/> + </resultMap> + + <select id="pageManageRecordVerify" resultMap="BaseResultMap"> + select * from (select * from cnas_manage_record_verify)A + <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''"> + ${ew.customSqlSegment} + </if> + </select> +</mapper> diff --git a/cnas-manage/src/main/resources/mapper/ManageReviewProgramFileMapper.xml b/cnas-manage/src/main/resources/mapper/ManageReviewProgramFileMapper.xml new file mode 100644 index 0000000..f02a0d4 --- /dev/null +++ b/cnas-manage/src/main/resources/mapper/ManageReviewProgramFileMapper.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.ManageReviewProgramFileMapper"> + + <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 --> + <resultMap id="BaseResultMap" type="com.ruoyi.manage.pojo.ManageReviewProgramFile"> + <id column="id" property="id" /> + <result column="file_name" property="fileName" /> + <result column="review_id" property="reviewId" /> + <result column="url" property="url" /> + <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-manage/src/main/resources/mapper/ManageReviewProgramMapper.xml b/cnas-manage/src/main/resources/mapper/ManageReviewProgramMapper.xml new file mode 100644 index 0000000..08b19a6 --- /dev/null +++ b/cnas-manage/src/main/resources/mapper/ManageReviewProgramMapper.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.ManageReviewProgramMapper"> + + <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 --> + <resultMap id="BaseResultMap" type="com.ruoyi.manage.pojo.ManageReviewProgram"> + <id column="id" property="id" /> + <result column="review_time" property="reviewTime" /> + <result column="judging_location" property="judgingLocation" /> + <result column="judging_purpose" property="judgingPurpose" /> + <result column="judging_method" property="judgingMethod" /> + <result column="participants" property="participants" /> + <result column="judging_scope" property="judgingScope" /> + <result column="judging_basis" property="judgingBasis" /> + <result column="main_context" property="mainContext" /> + <result column="preparation_requirements" property="preparationRequirements" /> + <result column="editor" property="editor" /> + <result column="editor_date" property="editorDate" /> + <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="page" resultType="com.ruoyi.manage.pojo.ManageReviewProgram"> + select * from cnas_manage_review_program + <where> + <if test="startTime != null and startTime != ''"> + review_time >= #{startTime} + </if> + <if test="endTime != null and endTime != ''"> + and #{endTime} >= review_time + </if> + <if test="judgingLocation != null and judgingLocation != ''"> + and judging_location = #{judgingLocation} + </if> + </where> + </select> + +</mapper> diff --git a/cnas-manage/src/main/resources/mapper/ManageReviewReportMapper.xml b/cnas-manage/src/main/resources/mapper/ManageReviewReportMapper.xml new file mode 100644 index 0000000..9837a99 --- /dev/null +++ b/cnas-manage/src/main/resources/mapper/ManageReviewReportMapper.xml @@ -0,0 +1,48 @@ +<?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.ManageReviewReportMapper"> + + <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 --> + <resultMap id="BaseResultMap" type="com.ruoyi.manage.pojo.ManageReviewReport"> + <id column="id" property="id" /> + <result column="objective" property="objective" /> + <result column="place" property="place" /> + <result column="compere" property="compere" /> + <result column="record_people" property="recordPeople" /> + <result column="date" property="date" /> + <result column="page" property="page" /> + <result column="judging_method" property="judgingMethod" /> + <result column="review_basis" property="reviewBasis" /> + <result column="attendess" property="attendess" /> + <result column="review_inputs" property="reviewInputs" /> + <result column="review_process" property="reviewProcess" /> + <result column="main_topic" property="mainTopic" /> + <result column="matters" property="matters" /> + <result column="head" property="head" /> + <result column="completion_date" property="completionDate" /> + <result column="tracking_confirmed" property="trackingConfirmed" /> + <result column="foller_up" property="follerUp" /> + <result column="overall_evaluation" property="overallEvaluation" /> + <result column="audit" property="audit" /> + <result column="approval" property="approval" /> + <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="page" resultType="com.ruoyi.manage.pojo.ManageReviewReport"> + select * from cnas_manage_review_report + <where> + <if test="startTime != null and startTime != ''"> + `date` >= #{startTime} + </if> + <if test="endTime != null and endTime != ''"> + and #{endTime} >= `date` + </if> + <if test="place != null and place != ''"> + and place = #{place} + </if> + </where> + </select> + +</mapper> diff --git a/cnas-manage/src/main/resources/mapper/ManageRiskAssessmentResultsMapper.xml b/cnas-manage/src/main/resources/mapper/ManageRiskAssessmentResultsMapper.xml new file mode 100644 index 0000000..099738a --- /dev/null +++ b/cnas-manage/src/main/resources/mapper/ManageRiskAssessmentResultsMapper.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.ManageRiskAssessmentResultsMapper"> + + <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 --> + <resultMap id="BaseResultMap" type="com.ruoyi.manage.pojo.ManageRiskAssessmentResults"> + <id column="id" property="id" /> + <result column="venue" property="venue" /> + <result column="hazard" property="hazard" /> + <result column="accidents" property="accidents" /> + <result column="injury" property="injury" /> + <result column="risk_L" property="riskL" /> + <result column="risk_E" property="riskE" /> + <result column="risk_C" property="riskC" /> + <result column="risk_D" property="riskD" /> + <result column="level" property="level" /> + <result column="conclusion" property="conclusion" /> + <result column="measures" property="measures" /> + <result column="editor" property="editor" /> + <result column="editor_date" property="editorDate" /> + <result column="approval" property="approval" /> + <result column="approval_date" property="approvalDate" /> + <result column="approve" property="approve" /> + <result column="approve_date" property="approveDate" /> + </resultMap> + + <select id="getPageResults" resultType="com.ruoyi.manage.vo.ManageRiskAssessmentResultsVo"> + select c.*, u1.name editor_name, u2.name approval_name, u3.name approve_name + from cnas_manage_risk_assessment_results c + left join user u1 on u1.id = c.editor + left join user u2 on u2.id = c.approval + left join user u3 on u3.id = c.approve + <if test="itSExporting == true"> + where c.approve_status = 1 + and c.approval_status = 1 + </if> + </select> +</mapper> diff --git a/cnas-manage/src/main/resources/static/analysis-risk-factors.docx b/cnas-manage/src/main/resources/static/analysis-risk-factors.docx new file mode 100644 index 0000000..e6d0e8a --- /dev/null +++ b/cnas-manage/src/main/resources/static/analysis-risk-factors.docx Binary files differ diff --git a/cnas-manage/src/main/resources/static/audit-deal.docx b/cnas-manage/src/main/resources/static/audit-deal.docx new file mode 100644 index 0000000..3975bec --- /dev/null +++ b/cnas-manage/src/main/resources/static/audit-deal.docx Binary files differ diff --git a/cnas-manage/src/main/resources/static/cancel-deal.docx b/cnas-manage/src/main/resources/static/cancel-deal.docx new file mode 100644 index 0000000..8ff99ca --- /dev/null +++ b/cnas-manage/src/main/resources/static/cancel-deal.docx Binary files differ diff --git a/cnas-manage/src/main/resources/static/check-deal.docx b/cnas-manage/src/main/resources/static/check-deal.docx new file mode 100644 index 0000000..594c8eb --- /dev/null +++ b/cnas-manage/src/main/resources/static/check-deal.docx Binary files differ diff --git a/cnas-manage/src/main/resources/static/customer-satisfaction-questionnaire.docx b/cnas-manage/src/main/resources/static/customer-satisfaction-questionnaire.docx new file mode 100644 index 0000000..f231417 --- /dev/null +++ b/cnas-manage/src/main/resources/static/customer-satisfaction-questionnaire.docx Binary files differ diff --git a/cnas-manage/src/main/resources/static/internal-check.docx b/cnas-manage/src/main/resources/static/internal-check.docx new file mode 100644 index 0000000..90f7739 --- /dev/null +++ b/cnas-manage/src/main/resources/static/internal-check.docx Binary files differ diff --git a/cnas-manage/src/main/resources/static/internal-correct.docx b/cnas-manage/src/main/resources/static/internal-correct.docx new file mode 100644 index 0000000..6a99be5 --- /dev/null +++ b/cnas-manage/src/main/resources/static/internal-correct.docx Binary files differ diff --git a/cnas-manage/src/main/resources/static/internal-implement.docx b/cnas-manage/src/main/resources/static/internal-implement.docx new file mode 100644 index 0000000..e295ae2 --- /dev/null +++ b/cnas-manage/src/main/resources/static/internal-implement.docx Binary files differ diff --git a/cnas-manage/src/main/resources/static/internal-meeting.docx b/cnas-manage/src/main/resources/static/internal-meeting.docx new file mode 100644 index 0000000..6459a92 --- /dev/null +++ b/cnas-manage/src/main/resources/static/internal-meeting.docx Binary files differ diff --git a/cnas-manage/src/main/resources/static/internal-plan.docx b/cnas-manage/src/main/resources/static/internal-plan.docx new file mode 100644 index 0000000..1e1bf70 --- /dev/null +++ b/cnas-manage/src/main/resources/static/internal-plan.docx Binary files differ diff --git a/cnas-manage/src/main/resources/static/internal-report.docx b/cnas-manage/src/main/resources/static/internal-report.docx new file mode 100644 index 0000000..055ada8 --- /dev/null +++ b/cnas-manage/src/main/resources/static/internal-report.docx Binary files differ diff --git a/cnas-manage/src/main/resources/static/intervals-deal.docx b/cnas-manage/src/main/resources/static/intervals-deal.docx new file mode 100644 index 0000000..1bdf546 --- /dev/null +++ b/cnas-manage/src/main/resources/static/intervals-deal.docx Binary files differ diff --git a/cnas-manage/src/main/resources/static/recycle-deal.docx b/cnas-manage/src/main/resources/static/recycle-deal.docx new file mode 100644 index 0000000..3d7fde4 --- /dev/null +++ b/cnas-manage/src/main/resources/static/recycle-deal.docx Binary files differ diff --git a/cnas-manage/src/main/resources/static/review-meet.docx b/cnas-manage/src/main/resources/static/review-meet.docx new file mode 100644 index 0000000..4ed5d98 --- /dev/null +++ b/cnas-manage/src/main/resources/static/review-meet.docx Binary files differ diff --git a/cnas-manage/src/main/resources/static/review-program.docx b/cnas-manage/src/main/resources/static/review-program.docx new file mode 100644 index 0000000..141cd5b --- /dev/null +++ b/cnas-manage/src/main/resources/static/review-program.docx Binary files differ diff --git a/cnas-manage/src/main/resources/static/review-report.docx b/cnas-manage/src/main/resources/static/review-report.docx new file mode 100644 index 0000000..c33abaf --- /dev/null +++ b/cnas-manage/src/main/resources/static/review-report.docx Binary files differ diff --git a/cnas-manage/src/main/resources/static/risk-factor-identification-risk.docx b/cnas-manage/src/main/resources/static/risk-factor-identification-risk.docx new file mode 100644 index 0000000..f0898be --- /dev/null +++ b/cnas-manage/src/main/resources/static/risk-factor-identification-risk.docx Binary files differ diff --git a/cnas-manage/src/main/resources/static/verify-deal.docx b/cnas-manage/src/main/resources/static/verify-deal.docx new file mode 100644 index 0000000..139d7ae --- /dev/null +++ b/cnas-manage/src/main/resources/static/verify-deal.docx Binary files differ diff --git a/inspect-server/pom.xml b/inspect-server/pom.xml index fc8d299..ed779d7 100644 --- a/inspect-server/pom.xml +++ b/inspect-server/pom.xml @@ -12,18 +12,54 @@ <artifactId>inspect-server</artifactId> <dependencies> + <!-- 閫氱敤宸ュ叿--> <dependency> <groupId>com.ruoyi</groupId> <artifactId>ruoyi-common</artifactId> </dependency> + + <!-- 鏍稿績妯″潡--> <dependency> <groupId>com.ruoyi</groupId> <artifactId>ruoyi-framework</artifactId> </dependency> + + <!--鍩虹妯″潡--> + <dependency> + <groupId>com.ruoyi</groupId> + <artifactId>basic-server</artifactId> + </dependency> + + <!-- 绯荤粺妯″潡--> <dependency> <groupId>com.ruoyi</groupId> <artifactId>ruoyi-system</artifactId> </dependency> + + <!-- 缁╂晥鏈ㄥ潡 --> + <dependency> + <groupId>com.ruoyi</groupId> + <artifactId>performance-server</artifactId> + </dependency> + + <!-- poi-tl鍖呯敓鎴愭姤鍛� --> + <dependency> + <groupId>com.deepoove</groupId> + <artifactId>poi-tl</artifactId> + </dependency> + + <!--word杞琾df--> + <!--mvn install:install-file -Dfile=aspose-words-15.12.0-jdk16.jar -DgroupId=com.aspose -DartifactId=aspose-words -Dversion=15.12.0 -Dpackaging=jar--> + <dependency> + <groupId>com.aspose</groupId> + <artifactId>aspose-words</artifactId> + <version>15.12.0</version> + </dependency> + <dependency> + <groupId>com.itextpdf</groupId> + <artifactId>itextpdf</artifactId> + <version>5.0.6</version> + </dependency> </dependencies> <properties> diff --git a/inspect-server/src/main/java/com/ruoyi/basic/pojo/InsSample.java b/inspect-server/src/main/java/com/ruoyi/basic/pojo/InsSample.java deleted file mode 100644 index fc15a45..0000000 --- a/inspect-server/src/main/java/com/ruoyi/basic/pojo/InsSample.java +++ /dev/null @@ -1,123 +0,0 @@ -package com.ruoyi.basic.pojo; - -import com.baomidou.mybatisplus.annotation.*; -import com.fasterxml.jackson.annotation.JsonFormat; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -import java.io.Serializable; -import java.time.LocalDateTime; - -/** - * 妫�楠屾牱鍝� - * @TableName ins_sample - */ -@TableName(value ="ins_sample") -@Data -public class InsSample implements Serializable { - /** - * - */ - @TableId(type = IdType.AUTO) - private Integer id; - - /** - * 1锛氬悎鏍� 0锛氫笉鍚堟牸 - */ - private Integer insResult; - - /** - * 澶栭敭锛歩ns_order琛╥d - */ - private Integer insOrderId; - - /** - * 閰嶅鏍峰搧鍨嬪彿 - */ - private String joinModel; - - /** - * 閰嶅鏍峰搧鍚嶇О - */ - private String joinName; - - /** - * 閰嶅鏍峰搧鏁伴噺 - */ - private Integer joinNum; - - /** - * 鏍峰搧缂栫爜 - */ - private String sampleCode; - - /** - * 妫�楠屽伐鍘� - */ - private String factory; - - /** - * 瀹為獙瀹ゅ悕绉� - */ - private String laboratory; - - /** - * 鏍峰搧绫诲瀷 - */ - private String sampleType; - - /** - * 鏍峰搧鍚嶇О - */ - private String sample; - - /** - * 瑙勬牸鍨嬪彿 - */ - private String model; - - /** - * 妫�楠岀姸鎬�(0锛氬緟妫�楠�1:妫�楠屼腑 2:宸叉楠�3锛氬緟澶嶆牳4锛氬鏍告湭閫氳繃5锛氬鏍搁�氳繃) - */ - private Integer insState; - - /** - * 澶囨敞 - */ - private String remark; - - private Integer standardMethodListId; - - @ApiModelProperty("鏍峰搧鍗曚綅") - private String unit; - - private Integer cellId; - - @TableField(fill = FieldFill.INSERT) - private Integer createUser; - - @ApiModelProperty("鍒涘缓鏃堕棿") - @TableField(fill = FieldFill.INSERT) - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime createTime; - - @TableField(fill = FieldFill.INSERT_UPDATE) - private Integer updateUser; - - @ApiModelProperty("淇敼鏃堕棿") - @TableField(fill = FieldFill.INSERT_UPDATE) - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime updateTime; - - private Integer parentId; - - @ApiModelProperty("鏁伴噺") - private Integer quantity; - - @ApiModelProperty("鐗规畩鏍囧噯鏂规硶") - private String specialStandardMethod; - - @TableField(select = false,exist = false) - private Integer num=1; - -} diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/pojo/InsSample.java b/inspect-server/src/main/java/com/ruoyi/inspect/pojo/InsSample.java new file mode 100644 index 0000000..f3657e4 --- /dev/null +++ b/inspect-server/src/main/java/com/ruoyi/inspect/pojo/InsSample.java @@ -0,0 +1,123 @@ +package com.ruoyi.inspect.pojo; + +import com.baomidou.mybatisplus.annotation.*; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + * 妫�楠屾牱鍝� + * @TableName ins_sample + */ +@TableName(value ="ins_sample") +@Data +public class InsSample implements Serializable { + /** + * + */ + @TableId(type = IdType.AUTO) + private Integer id; + + /** + * 1锛氬悎鏍� 0锛氫笉鍚堟牸 + */ + private Integer insResult; + + /** + * 澶栭敭锛歩ns_order琛╥d + */ + private Integer insOrderId; + + /** + * 閰嶅鏍峰搧鍨嬪彿 + */ + private String joinModel; + + /** + * 閰嶅鏍峰搧鍚嶇О + */ + private String joinName; + + /** + * 閰嶅鏍峰搧鏁伴噺 + */ + private Integer joinNum; + + /** + * 鏍峰搧缂栫爜 + */ + private String sampleCode; + + /** + * 妫�楠屽伐鍘� + */ + private String factory; + + /** + * 瀹為獙瀹ゅ悕绉� + */ + private String laboratory; + + /** + * 鏍峰搧绫诲瀷 + */ + private String sampleType; + + /** + * 鏍峰搧鍚嶇О + */ + private String sample; + + /** + * 瑙勬牸鍨嬪彿 + */ + private String model; + + /** + * 妫�楠岀姸鎬�(0锛氬緟妫�楠�1:妫�楠屼腑 2:宸叉楠�3锛氬緟澶嶆牳4锛氬鏍告湭閫氳繃5锛氬鏍搁�氳繃) + */ + private Integer insState; + + /** + * 澶囨敞 + */ + private String remark; + + private Integer standardMethodListId; + + @ApiModelProperty("鏍峰搧鍗曚綅") + private String unit; + + private Integer cellId; + + @TableField(fill = FieldFill.INSERT) + private Integer createUser; + + @ApiModelProperty("鍒涘缓鏃堕棿") + @TableField(fill = FieldFill.INSERT) + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime createTime; + + @TableField(fill = FieldFill.INSERT_UPDATE) + private Integer updateUser; + + @ApiModelProperty("淇敼鏃堕棿") + @TableField(fill = FieldFill.INSERT_UPDATE) + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime updateTime; + + private Integer parentId; + + @ApiModelProperty("鏁伴噺") + private Integer quantity; + + @ApiModelProperty("鐗规畩鏍囧噯鏂规硶") + private String specialStandardMethod; + + @TableField(select = false,exist = false) + private Integer num=1; + +} diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/util/HackLoopTableRenderPolicy.java b/inspect-server/src/main/java/com/ruoyi/inspect/util/HackLoopTableRenderPolicy.java new file mode 100644 index 0000000..9343a26 --- /dev/null +++ b/inspect-server/src/main/java/com/ruoyi/inspect/util/HackLoopTableRenderPolicy.java @@ -0,0 +1,154 @@ +/* + * Copyright 2014-2020 Sayi + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.ruoyi.inspect.util; + +import com.deepoove.poi.XWPFTemplate; +import com.deepoove.poi.exception.RenderException; +import com.deepoove.poi.policy.RenderPolicy; +import com.deepoove.poi.render.compute.RenderDataCompute; +import com.deepoove.poi.render.processor.DocumentProcessor; +import com.deepoove.poi.resolver.TemplateResolver; +import com.deepoove.poi.template.ElementTemplate; +import com.deepoove.poi.template.MetaTemplate; +import com.deepoove.poi.template.run.RunTemplate; +import com.deepoove.poi.util.ReflectionUtils; +import com.deepoove.poi.util.TableTools; +import org.apache.poi.xwpf.usermodel.*; +import org.apache.xmlbeans.XmlCursor; +import org.apache.xmlbeans.XmlObject; +import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTRow; +import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTTcPr; +import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTVMerge; +import org.openxmlformats.schemas.wordprocessingml.x2006.main.STMerge; + +import java.util.Iterator; +import java.util.List; + +/** + * Hack for loop table row + * + * @author Sayi + * + */ +public class HackLoopTableRenderPolicy implements RenderPolicy { + + private String prefix; + private String suffix; + private boolean onSameLine; + + public HackLoopTableRenderPolicy() { + this(false); + } + + public HackLoopTableRenderPolicy(boolean onSameLine) { + this("[", "]", onSameLine); + } + + public HackLoopTableRenderPolicy(String prefix, String suffix) { + this(prefix, suffix, false); + } + + public HackLoopTableRenderPolicy(String prefix, String suffix, boolean onSameLine) { + this.prefix = prefix; + this.suffix = suffix; + this.onSameLine = onSameLine; + } + + @Override + public void render(ElementTemplate eleTemplate, Object data, XWPFTemplate template) { + RunTemplate runTemplate = (RunTemplate) eleTemplate; + XWPFRun run = runTemplate.getRun(); + try { + if (!TableTools.isInsideTable(run)) { + throw new IllegalStateException( + "The template tag " + runTemplate.getSource() + " must be inside a table"); + } + XWPFTableCell tagCell = (XWPFTableCell) ((XWPFParagraph) run.getParent()).getBody(); + XWPFTable table = tagCell.getTableRow().getTable(); + run.setText("", 0); + + int templateRowIndex = getTemplateRowIndex(tagCell); + if (null != data && data instanceof Iterable) { + Iterator<?> iterator = ((Iterable<?>) data).iterator(); + XWPFTableRow templateRow = table.getRow(templateRowIndex); + int insertPosition = templateRowIndex; + + TemplateResolver resolver = new TemplateResolver(template.getConfig().copy(prefix, suffix)); + boolean firstFlag = true; + while (iterator.hasNext()) { + insertPosition = templateRowIndex++; + XWPFTableRow nextRow = table.insertNewTableRow(insertPosition); + setTableRow(table, templateRow, insertPosition); + + // double set row + XmlCursor newCursor = templateRow.getCtRow().newCursor(); + newCursor.toPrevSibling(); + XmlObject object = newCursor.getObject(); + nextRow = new XWPFTableRow((CTRow) object, table); + if (!firstFlag) { + // update VMerge cells for non-first row + List<XWPFTableCell> tableCells = nextRow.getTableCells(); + for (XWPFTableCell cell : tableCells) { + CTTcPr tcPr = TableTools.getTcPr(cell); + CTVMerge vMerge = tcPr.getVMerge(); + if (null == vMerge) continue; + if (STMerge.RESTART == vMerge.getVal()) { + vMerge.setVal(STMerge.CONTINUE); + } + } + } else { + firstFlag = false; + } + setTableRow(table, nextRow, insertPosition); + + RenderDataCompute dataCompute = template.getConfig().getRenderDataComputeFactory() + .newCompute(iterator.next()); + List<XWPFTableCell> cells = nextRow.getTableCells(); + cells.forEach(cell -> { + List<MetaTemplate> templates = resolver.resolveBodyElements(cell.getBodyElements()); + new DocumentProcessor(template, resolver, dataCompute).process(templates); + }); + } + } + + table.removeRow(templateRowIndex); + afterloop(table, data); + } catch (Exception e) { + throw new RenderException("HackLoopTable for " + eleTemplate + "error: " + e.getMessage(), e); + } + } + + private int getTemplateRowIndex(XWPFTableCell tagCell) { + XWPFTableRow tagRow = tagCell.getTableRow(); + return onSameLine ? getRowIndex(tagRow) : (getRowIndex(tagRow) + 1); + } + + protected void afterloop(XWPFTable table, Object data) { + } + + @SuppressWarnings("unchecked") + private void setTableRow(XWPFTable table, XWPFTableRow templateRow, int pos) { + List<XWPFTableRow> rows = (List<XWPFTableRow>) ReflectionUtils.getValue("tableRows", table); + rows.set(pos, templateRow); + table.getCTTbl().setTrArray(pos, templateRow.getCtRow()); + } + + private int getRowIndex(XWPFTableRow row) { + List<XWPFTableRow> rows = row.getTable().getRows(); + return rows.indexOf(row); + } + +} diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/util/UserUtils.java b/inspect-server/src/main/java/com/ruoyi/inspect/util/UserUtils.java new file mode 100644 index 0000000..4ea9c59 --- /dev/null +++ b/inspect-server/src/main/java/com/ruoyi/inspect/util/UserUtils.java @@ -0,0 +1,90 @@ +package com.ruoyi.inspect.util; + +import com.baomidou.mybatisplus.core.toolkit.StringUtils; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.deepoove.poi.data.PictureRenderData; +import com.deepoove.poi.data.Pictures; +import com.ruoyi.common.core.domain.entity.User; +import com.ruoyi.framework.exception.ErrorException; +import com.ruoyi.system.mapper.UserMapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Component; + +/** + * Author: yuan + * Date: 2024-12-17 鏄熸湡浜� 10:35:50 + * Description: User宸ュ叿绫� + */ +@Component +public class UserUtils { + private static UserMapper userMapper; + + private static String imgUrl; + + @Autowired + public void setUserMapper(UserMapper userMapper) { + UserUtils.userMapper = userMapper; + } + + @Autowired + public void setImgUrl(@Value("${file.path}") String imgUrl) { + UserUtils.imgUrl = imgUrl; + } + + /** + * 閫氳繃浜哄憳id鑾峰彇鐢ㄦ埛绛惧悕鍦板潃 + * @param userId 浜哄憳id + * @return 鐢ㄦ埛绛惧悕鍦板潃 + */ + public static String getUserSignatureUrl(Integer userId) { + String userSignatureUrl = null; + if (userId != null) { + userSignatureUrl = userMapper.selectOne(Wrappers.<User>lambdaQuery() + .eq(User::getId, userId)) + .getSignatureUrl(); + if (StringUtils.isBlank(userSignatureUrl)) { + throw new ErrorException("鎵句笉鍒拌浜哄憳绛惧悕"); + } + return imgUrl + "\\" + userSignatureUrl; + } else { + return null; + } + } + + /** + * 閫氳繃浜哄憳id鑾峰彇娓叉煋Word鐢ㄦ埛绛惧悕瀵硅薄 + * @param userId 浜哄憳id + * @return 鐢ㄦ埛绛惧悕瀵硅薄 or null + */ + public static PictureRenderData getFinalUserSignatureUrl(Integer userId) { + String userSignatureUrl = null; + if (userId != null) { + userSignatureUrl = userMapper.selectById(userId) + .getSignatureUrl(); + if (StringUtils.isBlank(userSignatureUrl)) { + throw new ErrorException("鎵句笉鍒拌浜哄憳绛惧悕"); + } + } + return StringUtils.isNotBlank(userSignatureUrl) ? Pictures.ofLocal(imgUrl + "/" + userSignatureUrl).create() : null; + } + + + /** + * 閫氳繃鍚嶅瓧鑾峰彇娓叉煋Word鐢ㄦ埛绛惧悕瀵硅薄 + * @param userName 浜哄憳鍚嶅瓧 + * @return 鐢ㄦ埛绛惧悕瀵硅薄 or null + */ + public static PictureRenderData getFinalUserSignatureUrl(String userName) { + String userSignatureUrl = null; + if (userName != null) { + userSignatureUrl = userMapper.selectOne(Wrappers.<User>lambdaQuery() + .eq(User::getName, userName)) + .getSignatureUrl(); + if (StringUtils.isBlank(userSignatureUrl)) { + throw new ErrorException("鎵句笉鍒拌浜哄憳绛惧悕"); + } + } + return StringUtils.isNotBlank(userSignatureUrl) ? Pictures.ofLocal(imgUrl + "/" + userSignatureUrl).create() : null; + } +} diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/util/XWPFDocumentUtils.java b/inspect-server/src/main/java/com/ruoyi/inspect/util/XWPFDocumentUtils.java new file mode 100644 index 0000000..386c987 --- /dev/null +++ b/inspect-server/src/main/java/com/ruoyi/inspect/util/XWPFDocumentUtils.java @@ -0,0 +1,119 @@ +package com.ruoyi.inspect.util; + +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import org.apache.poi.xwpf.usermodel.*; +import org.openxmlformats.schemas.wordprocessingml.x2006.main.STMerge; + +import java.util.*; + +/** + * @Author zhuo + * @Date 2024/11/16 + */ +public class XWPFDocumentUtils { + + public static void updateMergeByDocument(XWPFDocument document) { + // 澶勭悊鍚堝苟鍗曞厓鏍肩殑闂 + List<XWPFTable> xwpfTables = document.getTables(); + for (int i = 0; i < xwpfTables.size(); i++) { + Set<String> set1 = new HashSet<>(); + Map<String, Map<String, Integer>> maps = new HashMap<>(); + for (int j = 0; j < xwpfTables.get(i).getRows().size(); j++) { + for (int k = 0; k < xwpfTables.get(i).getRows().get(j).getTableCells().size(); k++) { + if (xwpfTables.get(i).getRows().get(j).getTableCells().get(k).getText().contains("鈭�")) { + String[] split = xwpfTables.get(i).getRows().get(j).getTableCells().get(k).getText().split("鈭�"); + if (set1.add(split[1])) { + Map<String, Integer> map = new HashMap<>(); + map.put("sr", j); + map.put("sc", k); + map.put("er", j + 0); + map.put("ec", k + 0); + maps.put(split[1], map); + } else { + Map<String, Integer> map1 = maps.get(split[1]); + if (j == map1.get("sr")) { + map1.put("ec", map1.get("ec") + 1); + } else if (k == map1.get("sc")) { + map1.put("er", map1.get("er") + 1); + } + } + String str = xwpfTables.get(i).getRows().get(j).getTableCells().get(k).getText().split("鈭�")[0]; + xwpfTables.get(i).getRows().get(j).getTableCells().get(k).removeParagraph(0); + xwpfTables.get(i).getRows().get(j).getTableCells().get(k).setText(str); + xwpfTables.get(i).getRows().get(j).getTableCells().get(k).setVerticalAlignment(XWPFTableCell.XWPFVertAlign.CENTER); + xwpfTables.get(i).getRows().get(j).getTableCells().get(k).getParagraphArray(0).setAlignment(ParagraphAlignment.CENTER); + } + } + } + // 鍗曞厓鏍兼帓搴�, 閬垮厤鏍煎紡閿欎贡 + List<Map.Entry<String, Map<String, Integer>>> entries = new ArrayList<>(maps.entrySet()); + entries.sort((o1, o2) -> o1.getValue().get("sc") - o2.getValue().get("sc")); + // 鎸夌収椤哄簭娣诲姞杩涢泦鍚� + List<String> list = new ArrayList<>(); + for (Map.Entry<String, Map<String, Integer>> entry : entries) { + list.add(entry.getKey()); + } + for (int a = list.size() - 1; a >= 0; a--) { + Map<String, Integer> v = maps.get(list.get(a)); + for (int j = 0; j < v.get("er") - v.get("sr") + 1; j++) { + if (v.get("ec") > v.get("sc")) { + try { + mergeCellsHorizontally(xwpfTables.get(i), v.get("sr") + j, v.get("sc"), v.get("ec")); + } catch (Exception e) { + } + } + } + if (v.get("er") > v.get("sr")) { + try { + mergeCellsVertically(xwpfTables.get(i), v.get("sc"), v.get("sr"), v.get("er")); + } catch (Exception e) { + } + } + } + } + //澶勭悊涓嫳鏂囨崲琛岀殑闂 + List<XWPFTable> xwpfTables1 = document.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); + } + } + } + } + } + + // 姘村钩鍚堝苟鍗曞厓鏍� + private static void mergeCellsHorizontally(XWPFTable table, int row, int fromCol, int toCol) { + for (int i = fromCol; i <= toCol; i++) { + if (i == fromCol) { + table.getRow(row).getCell(i).getCTTc().addNewTcPr().addNewHMerge().setVal(STMerge.RESTART); + } else { + table.getRow(row).getCell(i).getCTTc().addNewTcPr().addNewHMerge().setVal(STMerge.CONTINUE); + } + } + } + + // 鍨傜洿鍚堝苟鍗曞厓鏍� + private static void mergeCellsVertically(XWPFTable table, int col, int fromRow, int toRow) { + for (int i = fromRow; i <= toRow; i++) { + if (i == fromRow) { + table.getRow(i).getCell(col).getCTTc().addNewTcPr().addNewVMerge().setVal(STMerge.RESTART); + } else { + table.getRow(i).getCell(col).getCTTc().addNewTcPr().addNewVMerge().setVal(STMerge.CONTINUE); + } + } + } +} + diff --git a/performance-server/src/main/java/com/ruoyi/performance/mapper/AuxiliaryCorrectionHoursMapper.java b/performance-server/src/main/java/com/ruoyi/performance/mapper/AuxiliaryCorrectionHoursMapper.java index 96db341..d1f2978 100644 --- a/performance-server/src/main/java/com/ruoyi/performance/mapper/AuxiliaryCorrectionHoursMapper.java +++ b/performance-server/src/main/java/com/ruoyi/performance/mapper/AuxiliaryCorrectionHoursMapper.java @@ -20,7 +20,7 @@ */ public interface AuxiliaryCorrectionHoursMapper extends BaseMapper<AuxiliaryCorrectionHours> { - IPage<AuxiliaryCorrectionHoursDto> selectAuxiliaryCorrectionHours(Page page, @Param("ew") QueryWrapper<AuxiliaryCorrectionHoursDto> ew, @Param("ids") List<Long> ids); + IPage<AuxiliaryCorrectionHoursDto> selectAuxiliaryCorrectionHours(Page page, @Param("ew") QueryWrapper<AuxiliaryCorrectionHoursDto> ew, @Param("ids") List<Integer> ids); List<Integer> selDepartLimsByName(String departLims); diff --git a/performance-server/src/main/java/com/ruoyi/performance/mapper/AuxiliaryOutputWorkingHoursMapper.java b/performance-server/src/main/java/com/ruoyi/performance/mapper/AuxiliaryOutputWorkingHoursMapper.java index a563f4a..15afc60 100644 --- a/performance-server/src/main/java/com/ruoyi/performance/mapper/AuxiliaryOutputWorkingHoursMapper.java +++ b/performance-server/src/main/java/com/ruoyi/performance/mapper/AuxiliaryOutputWorkingHoursMapper.java @@ -23,25 +23,25 @@ */ public interface AuxiliaryOutputWorkingHoursMapper extends BaseMapper<AuxiliaryOutputWorkingHours> { - IPage<AuxiliaryOutputWorkingHoursDto> selectAuxiliaryOutputWorkingHours(Page page, @Param("ew") QueryWrapper<AuxiliaryOutputWorkingHoursDto> ew, @Param("ids") List<Long> ids); + IPage<AuxiliaryOutputWorkingHoursDto> selectAuxiliaryOutputWorkingHours(Page page, @Param("ew") QueryWrapper<AuxiliaryOutputWorkingHoursDto> ew, @Param("ids") List<Integer> ids); //鏌ヨ缁熻宸ユ椂瀵煎嚭鏁版嵁 - List<AuxiliaryOutputWorkingHoursDto> selectDataByUser(@Param("ids") List<Long> ids); + List<AuxiliaryOutputWorkingHoursDto> selectDataByUser(@Param("ids") List<Integer> ids); //鏌ヨ璇ユ湀鐨勪骇閲忓伐鏃� - List<Map<String, Object>> totalHours(@Param("month") String month, @Param("ids") List<Long> ids, @Param("type") String type); + List<Map<String, Object>> totalHours(@Param("month") String month, @Param("ids") List<Integer> ids, @Param("type") String type); - List<AuxiliaryOutputWorkingHours> selectListByIds(@Param("ids") List<Long> ids); + List<AuxiliaryOutputWorkingHours> selectListByIds(@Param("ids") List<Integer> ids); - List<AuxiliaryOutputWorkingHours> selectLists(@Param("ew") QueryWrapper<AuxiliaryOutputWorkingHours> ew, @Param("ids") List<Long> ids); + List<AuxiliaryOutputWorkingHours> selectLists(@Param("ew") QueryWrapper<AuxiliaryOutputWorkingHours> ew, @Param("ids") List<Integer> ids); /** * 鏌ヨ * @param dto * @return */ - List<AuxiliaryAllDto> selectAuxiliaryAllByMonth(@Param("dto") AuxiliaryOriginalHoursLookDto dto, @Param("userIds") List<Long> userIds); + List<AuxiliaryAllDto> selectAuxiliaryAllByMonth(@Param("dto") AuxiliaryOriginalHoursLookDto dto, @Param("userIds") List<Integer> userIds); /** * 鏌ヨ杈呭姪宸ユ椂 @@ -49,7 +49,7 @@ * @param userIds * @return */ - List<AuxiliaryAllDto> selectSubsidiaryAllByMonth(@Param("dto") AuxiliaryOriginalHoursLookDto dto, @Param("userIds") List<Long> userIds); + List<AuxiliaryAllDto> selectSubsidiaryAllByMonth(@Param("dto") AuxiliaryOriginalHoursLookDto dto, @Param("userIds") List<Integer> userIds); - List<AuxiliaryOutputWorkingHoursDto> selectAuxiliaryOutputWorkingHoursList(@Param("ew") QueryWrapper<AuxiliaryOutputWorkingHoursDto> ew, @Param("ids") List<Long> ids); + List<AuxiliaryOutputWorkingHoursDto> selectAuxiliaryOutputWorkingHoursList(@Param("ew") QueryWrapper<AuxiliaryOutputWorkingHoursDto> ew, @Param("ids") List<Integer> ids); } diff --git a/performance-server/src/main/java/com/ruoyi/performance/mapper/AuxiliaryWorkingHoursDayMapper.java b/performance-server/src/main/java/com/ruoyi/performance/mapper/AuxiliaryWorkingHoursDayMapper.java index 58d7e12..6dc4532 100644 --- a/performance-server/src/main/java/com/ruoyi/performance/mapper/AuxiliaryWorkingHoursDayMapper.java +++ b/performance-server/src/main/java/com/ruoyi/performance/mapper/AuxiliaryWorkingHoursDayMapper.java @@ -21,17 +21,17 @@ */ public interface AuxiliaryWorkingHoursDayMapper extends BaseMapper<AuxiliaryWorkingHoursDay> { - IPage<AuxiliaryWorkingHoursDayDto> selectAuxiliaryWorkingHoursDay(Page page, @Param("ew") QueryWrapper<AuxiliaryWorkingHoursDayDto> ew, @Param("ids") List<Long> ids); + IPage<AuxiliaryWorkingHoursDayDto> selectAuxiliaryWorkingHoursDay(Page page, @Param("ew") QueryWrapper<AuxiliaryWorkingHoursDayDto> ew, @Param("ids") List<Integer> ids); //鏌ヨ杈呭姪宸ユ椂瀵煎嚭淇℃伅 - List<AuxiliaryWorkingHoursDayDto> selectDataByUser(@Param("ids") List<Long> ids); + List<AuxiliaryWorkingHoursDayDto> selectDataByUser(@Param("ids") List<Integer> ids); - List<AuxiliaryWorkingHoursDay> selectListByIds(@Param("ids") List<Long> ids); + List<AuxiliaryWorkingHoursDay> selectListByIds(@Param("ids") List<Integer> ids); //鏌ヨ璇ユ湀鐨勮緟鍔╁伐鏃� - List<Map<String, Object>> totalHours(@Param("month") String month, @Param("ids") List<Long> ids); + List<Map<String, Object>> totalHours(@Param("month") String month, @Param("ids") List<Integer> ids); - List<AuxiliaryWorkingHoursDay> selectLists(@Param("ew") QueryWrapper<AuxiliaryWorkingHoursDay> ew, @Param("ids") List<Long> ids); + List<AuxiliaryWorkingHoursDay> selectLists(@Param("ew") QueryWrapper<AuxiliaryWorkingHoursDay> ew, @Param("ids") List<Integer> ids); /** * 鏌ヨ杈呭姪宸ユ椂闆嗗悎 @@ -39,5 +39,5 @@ * @param ids * @return */ - List<AuxiliaryWorkingHoursDayDto> selectAuxiliaryWorkingHoursDayList(@Param("ew") QueryWrapper<AuxiliaryWorkingHoursDayDto> ew, @Param("ids") List<Long> ids); + List<AuxiliaryWorkingHoursDayDto> selectAuxiliaryWorkingHoursDayList(@Param("ew") QueryWrapper<AuxiliaryWorkingHoursDayDto> ew, @Param("ids") List<Integer> ids); } diff --git a/performance-server/src/main/java/com/ruoyi/performance/service/impl/AuxiliaryCorrectionHoursServiceImpl.java b/performance-server/src/main/java/com/ruoyi/performance/service/impl/AuxiliaryCorrectionHoursServiceImpl.java index 3cc5139..9afc078 100644 --- a/performance-server/src/main/java/com/ruoyi/performance/service/impl/AuxiliaryCorrectionHoursServiceImpl.java +++ b/performance-server/src/main/java/com/ruoyi/performance/service/impl/AuxiliaryCorrectionHoursServiceImpl.java @@ -45,7 +45,7 @@ @Override public IPage<AuxiliaryCorrectionHoursDto> selectAuxiliaryCorrectionHours(Page page, AuxiliaryCorrectionHoursDto auxiliaryCorrectionHoursDto) { - List<Long> ids = new ArrayList<>(); + List<Integer> ids = new ArrayList<>(); String departLims = auxiliaryCorrectionHoursDto.getDepartLims(); auxiliaryCorrectionHoursDto.setDepartLims(null); if (ObjectUtils.isNotEmpty(departLims)) { @@ -63,7 +63,8 @@ if (ids.size() == 0) { ids = null; } - return auxiliaryCorrectionHoursMapper.selectAuxiliaryCorrectionHours(page, QueryWrappers.queryWrappers(auxiliaryCorrectionHoursDto).eq("month", auxiliaryCorrectionHoursDto.getMonth()), ids); + return auxiliaryCorrectionHoursMapper.selectAuxiliaryCorrectionHours(page, QueryWrappers.queryWrappers(auxiliaryCorrectionHoursDto) + .eq("month", auxiliaryCorrectionHoursDto.getMonth()), ids); } //瀵煎叆涓婁紶 diff --git a/performance-server/src/main/java/com/ruoyi/performance/service/impl/AuxiliaryOriginalHoursServiceImpl.java b/performance-server/src/main/java/com/ruoyi/performance/service/impl/AuxiliaryOriginalHoursServiceImpl.java index 490b042..2bacdd7 100644 --- a/performance-server/src/main/java/com/ruoyi/performance/service/impl/AuxiliaryOriginalHoursServiceImpl.java +++ b/performance-server/src/main/java/com/ruoyi/performance/service/impl/AuxiliaryOriginalHoursServiceImpl.java @@ -58,7 +58,7 @@ @Override public IPage<AuxiliaryOriginalHoursDto> selectAuxiliaryOriginalHours(Page page, AuxiliaryOriginalHoursLookDto auxiliaryOriginalHoursLookDto) { - List<Long> ids = new ArrayList<>(); + List<Integer> ids = new ArrayList<>(); String departLims = auxiliaryOriginalHoursLookDto.getDepartLims(); auxiliaryOriginalHoursLookDto.setDepartLims(null); String name = auxiliaryOriginalHoursLookDto.getName(); @@ -207,7 +207,7 @@ if (StringUtils.isBlank(dto.getMonth())) { throw new BaseException("缂哄皯鏈堜唤"); } - List<Long> userIds = new ArrayList<>(); + List<Integer> userIds = new ArrayList<>(); String name = dto.getName(); if (ObjectUtils.isNotEmpty(name)) { diff --git a/performance-server/src/main/java/com/ruoyi/performance/service/impl/AuxiliaryOutputWorkingHoursServiceImpl.java b/performance-server/src/main/java/com/ruoyi/performance/service/impl/AuxiliaryOutputWorkingHoursServiceImpl.java index d087d07..a8524ef 100644 --- a/performance-server/src/main/java/com/ruoyi/performance/service/impl/AuxiliaryOutputWorkingHoursServiceImpl.java +++ b/performance-server/src/main/java/com/ruoyi/performance/service/impl/AuxiliaryOutputWorkingHoursServiceImpl.java @@ -59,7 +59,7 @@ String week = auxiliaryOutputWorkingHoursDto.getWeek(); auxiliaryOutputWorkingHoursDto.setDateTime(null); auxiliaryOutputWorkingHoursDto.setWeek(null); - List<Long> ids = new ArrayList<>(); + List<Integer> ids = new ArrayList<>(); if (ids.size() == 0) { ids = null; } @@ -106,7 +106,7 @@ public Map<String, Object> collectWorkingHours(AuxiliaryOutputWorkingHoursDto auxiliaryOutputWorkingHoursDto) { AuxiliaryOutputWorkingHours outputWorkingHours = new AuxiliaryOutputWorkingHours(); AuxiliaryWorkingHoursDay workingHoursDay = new AuxiliaryWorkingHoursDay(); - List<Long> ids = new ArrayList<>(); + List<Integer> ids = new ArrayList<>(); if (ObjectUtils.isNotEmpty(auxiliaryOutputWorkingHoursDto.getWeekDay())){ outputWorkingHours.setWeekDay(auxiliaryOutputWorkingHoursDto.getWeekDay()); workingHoursDay.setWeekDay(auxiliaryOutputWorkingHoursDto.getWeekDay()); @@ -172,7 +172,7 @@ public void exportWorkingHours(HttpServletResponse response) throws IOException { List<AuxiliaryOutputWorkingHoursDto> auxiliaryOutputWorkingHoursDtos = new ArrayList<>(); List<AuxiliaryWorkingHoursDayDto> auxiliaryWorkingHoursDayDtos = new ArrayList<>(); - List<Long> ids = new ArrayList<>(); + List<Integer> ids = new ArrayList<>(); //鏌ヨ杈呭姪宸ユ椂 auxiliaryWorkingHoursDayDtos = auxiliaryWorkingHoursDayMapper.selectDataByUser(ids); //鏌ヨ缁熻宸ユ椂 @@ -210,7 +210,7 @@ auxiliaryOutputWorkingHoursDto.setDateTime(null); auxiliaryOutputWorkingHoursDto.setWeek(null); - List<Long> ids = new ArrayList<>(); + List<Integer> ids = new ArrayList<>(); String name = auxiliaryOutputWorkingHoursDto.getName(); if (ObjectUtils.isNotEmpty(name)) { ids.addAll(userMapper.selectList(Wrappers.<User>lambdaQuery().like(User::getName, name)).stream().map(User::getId).collect(Collectors.toList())); diff --git a/performance-server/src/main/java/com/ruoyi/performance/service/impl/AuxiliaryWorkingHoursDayServiceImpl.java b/performance-server/src/main/java/com/ruoyi/performance/service/impl/AuxiliaryWorkingHoursDayServiceImpl.java index 55fa4c2..b9f48d0 100644 --- a/performance-server/src/main/java/com/ruoyi/performance/service/impl/AuxiliaryWorkingHoursDayServiceImpl.java +++ b/performance-server/src/main/java/com/ruoyi/performance/service/impl/AuxiliaryWorkingHoursDayServiceImpl.java @@ -68,7 +68,7 @@ auxiliaryWorkingHoursDayDto.setDateTime(null); auxiliaryWorkingHoursDayDto.setWeek(null); Map<String, Object> map = new HashMap<>(); - List<Long> ids = new ArrayList<>(); + List<Integer> ids = new ArrayList<>(); if (ids.size() == 0) { ids = null; } @@ -184,7 +184,7 @@ String week = auxiliaryWorkingHoursDayDto.getWeek(); auxiliaryWorkingHoursDayDto.setDateTime(null); auxiliaryWorkingHoursDayDto.setWeek(null); - List<Long> ids = new ArrayList<>(); + List<Integer> ids = new ArrayList<>(); String name = auxiliaryWorkingHoursDayDto.getName(); if (ObjectUtils.isNotEmpty(name)) { ids.addAll(userMapper.selectList(Wrappers.<User>lambdaQuery().like(User::getName, name)).stream().map(User::getId).collect(Collectors.toList())); diff --git a/pom.xml b/pom.xml index ab947ba..8b5bb9f 100644 --- a/pom.xml +++ b/pom.xml @@ -44,6 +44,7 @@ <okhttp.version>4.9.0</okhttp.version> <hutool.version>5.8.18</hutool.version> <easyexcel.version>3.3.2</easyexcel.version> + <poi.tl.version>1.12.2</poi.tl.version> </properties> <!-- 渚濊禆澹版槑 --> @@ -234,6 +235,34 @@ <version>${ruoyi.version}</version> </dependency> + <!--鍩虹妯″潡--> + <dependency> + <groupId>com.ruoyi</groupId> + <artifactId>basic-server</artifactId> + <version>${ruoyi.version}</version> + </dependency> + + <!--涓氬姟妯″潡--> + <dependency> + <groupId>com.ruoyi</groupId> + <artifactId>inspect-server</artifactId> + <version>${ruoyi.version}</version> + </dependency> + + <!--缁╂晥妯″潡--> + <dependency> + <groupId>com.ruoyi</groupId> + <artifactId>performance-server</artifactId> + <version>${ruoyi.version}</version> + </dependency> + + <!--cnas浣撶郴绠$悊瑕佹眰--> + <dependency> + <groupId>com.ruoyi</groupId> + <artifactId>cnas-manage</artifactId> + <version>${ruoyi.version}</version> + </dependency> + <!-- minio --> <dependency> @@ -253,6 +282,13 @@ <groupId>com.squareup.okhttp3</groupId> <artifactId>okhttp</artifactId> <version>${okhttp.version}</version> + </dependency> + + <!-- poi-tl鍖呯敓鎴愭姤鍛� --> + <dependency> + <groupId>com.deepoove</groupId> + <artifactId>poi-tl</artifactId> + <version>${poi.tl.version}</version> </dependency> </dependencies> </dependencyManagement> @@ -339,6 +375,7 @@ <module>basic-server</module> <module>inspect-server</module> <module>performance-server</module> + <module>cnas-manage</module> </modules> <packaging>pom</packaging> diff --git a/ruoyi-admin/pom.xml b/ruoyi-admin/pom.xml index 0009314..b3f8e8c 100644 --- a/ruoyi-admin/pom.xml +++ b/ruoyi-admin/pom.xml @@ -87,6 +87,11 @@ <version>${ruoyi.version}</version> </dependency> + <!--cnas浣撶郴绠$悊瑕佹眰--> + <dependency> + <groupId>com.ruoyi</groupId> + <artifactId>cnas-manage</artifactId> + </dependency> </dependencies> <build> diff --git a/ruoyi-admin/src/main/resources/application-druid.yml b/ruoyi-admin/src/main/resources/application-druid.yml index 1db419e..84a6399 100644 --- a/ruoyi-admin/src/main/resources/application-druid.yml +++ b/ruoyi-admin/src/main/resources/application-druid.yml @@ -1,3 +1,19 @@ + +# 鐓х墖瀛樺偍璺緞+++++++++++++++++++++++++++杩愮淮闇�瑕侀厤缃�+++++++++++++++++++++++++++ +file: + path: D:\椤圭洰鏂囦欢瀛樺偍\img + # 杞琾df鏂囦欢璺緞 + licenseUrl: D:\maven_data\yuanchu\center-lims-after\inspect-server\src\main\resources\lib\license.xml + # 涓婁紶鏂囦欢鍏佽鐨勬墿灞曞悕 + allowed: png,jpg,jpeg,gif,pdf + +wordUrl: D:\椤圭洰鏂囦欢瀛樺偍\word +twoCode: D:\椤圭洰鏂囦欢瀛樺偍\two_code +phoneQrCode: http://114.132.189.42:8001/qr/qrScan?code= #浜岀淮鐮佹壂鐮乽rl + +excelUrl: D:\椤圭洰鏂囦欢瀛樺偍\excel + + # 鏁版嵁婧愰厤缃� spring: datasource: @@ -6,8 +22,8 @@ druid: # 涓诲簱鏁版嵁婧� master: -# url: jdbc:mysql://114.132.189.42:9004/lims-ruoyi?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 - url: jdbc:mysql://127.0.0.1:3307/center-lims-test?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 + url: jdbc:mysql://114.132.189.42:9004/center-lims-ruoyi?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 +# url: jdbc:mysql://127.0.0.1:3307/center-lims-test?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 username: root password: 123456 # 浠庡簱鏁版嵁婧� diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/User.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/User.java index 29d18a7..eb50fe3 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/User.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/User.java @@ -18,10 +18,10 @@ @ApiModelProperty(value = "涓婚敭") @TableId(type = IdType.AUTO) - private Long id; + private Integer id; @ApiModelProperty(value = "閮ㄩ棬ID") - private Long deptId; + private Integer deptId; @ApiModelProperty(value = "鐢ㄦ埛璐﹀彿") private String account; diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/DateImageUtil.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/DateImageUtil.java new file mode 100644 index 0000000..7fb91ee --- /dev/null +++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/DateImageUtil.java @@ -0,0 +1,61 @@ +package com.ruoyi.common.utils; + +import javax.imageio.ImageIO; +import java.awt.*; +import java.awt.font.FontRenderContext; +import java.awt.geom.Rectangle2D; +import java.awt.image.BufferedImage; +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; + +/** + * @Author zhuo + * @Date 2024/9/28 + */ +public class DateImageUtil { + + /** + * 鐢熸垚 褰撳墠鏃ユ湡鐨勭敾甯� + * @return + */ + public static InputStream createDateImage(LocalDateTime date) { + int width = 80; + int height = 20; + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy.MM.dd"); + if (date == null) { + date = LocalDateTime.now(); + } + String s = date.format(formatter); + + Font font = new Font("Serif", Font.BOLD, 10); + // 鍒涘缓涓�涓敾甯冿紙鑳屾櫙閫忔槑锛� + BufferedImage bi = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB); + // 鑾峰彇鐢诲竷鐨勭敾绗� + Graphics2D g2 = (Graphics2D) bi.getGraphics(); + // 寮�濮嬬粯鍥� + g2.setComposite(AlphaComposite.Src); // 纭繚缁樺浘鏃舵槸閫忔槑鑳屾櫙 + g2.setBackground(new Color(0, 0, 0, 0)); // 鑳屾櫙鑹蹭负閫忔槑 + g2.clearRect(0, 0, width, height); + g2.setPaint(new Color(0, 0, 0)); // 璁剧疆缁樺埗棰滆壊 + FontRenderContext context = g2.getFontRenderContext(); + Rectangle2D bounds = font.getStringBounds(s, context); + double x = (width - bounds.getWidth()) / 2; + double y = (height - bounds.getHeight()) / 2; + double ascent = -bounds.getY(); + double baseY = y + ascent; + g2.drawString(s, (int) x, (int) baseY); + g2.dispose(); // 閲婃斁鐢荤瑪璧勬簮 + ByteArrayOutputStream os = new ByteArrayOutputStream(); + + try { + ImageIO.write(bi, "png", os); + } catch (IOException e) { + throw new RuntimeException(e); + } + return new ByteArrayInputStream(os.toByteArray()); + } +} diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/exception/ErrorException.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/exception/ErrorException.java new file mode 100644 index 0000000..4a39760 --- /dev/null +++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/exception/ErrorException.java @@ -0,0 +1,9 @@ +package com.ruoyi.framework.exception; + +public class ErrorException extends RuntimeException{ + + public ErrorException(String msg){ + super(msg); + } + +} diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/exception/MyFileException.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/exception/MyFileException.java new file mode 100644 index 0000000..95bfc18 --- /dev/null +++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/exception/MyFileException.java @@ -0,0 +1,18 @@ +package com.ruoyi.framework.exception; + +public class MyFileException extends RuntimeException{ + public MyFileException() { + } + + public MyFileException(String message) { + super(message); + } + + public MyFileException(Throwable cause) { + super(cause); + } + + public MyFileException(String message, Throwable cause) { + super(message, cause); + } +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/UserMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/UserMapper.java index 0f3eafd..c320557 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/UserMapper.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/UserMapper.java @@ -1,7 +1,12 @@ package com.ruoyi.system.mapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ruoyi.common.core.domain.entity.User; +import org.apache.ibatis.annotations.Param; + +import java.util.List; +import java.util.Map; /** * 鐢ㄦ埛淇℃伅琛� @@ -11,5 +16,34 @@ */ public interface UserMapper extends BaseMapper<User> { + /** + * 鏍规嵁鏉′欢鑾峰彇鐢ㄦ埛鍒楄〃 + * @param ew + * @param type + * @return + */ + List<User> selectUserCondition(@Param("ew") QueryWrapper<User> ew, @Param("type") String type); + + /** + * 鑾峰彇鐢ㄦ埛閮ㄩ棬 + * @param userId + * @return + */ + String selectUserDepartmentLimsName(@Param("userId") Integer userId); + + /** + * 鏌ヨ鐢ㄦ埛鍜岄儴闂� + * @param participant + * @return + */ + List<Map<String, String>> selectNameAnddepartment(@Param("participant") String participant); + + /** + * 鑾峰彇褰撳墠鐧诲綍鐨勫鎴蜂俊鎭� + * @param userId + * @return + */ + User getUserNow(@Param("userId") int userId); + } diff --git a/ruoyi-system/src/main/resources/mapper/system/UserMapper.xml b/ruoyi-system/src/main/resources/mapper/system/UserMapper.xml new file mode 100644 index 0000000..6487371 --- /dev/null +++ b/ruoyi-system/src/main/resources/mapper/system/UserMapper.xml @@ -0,0 +1,63 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > +<mapper namespace="com.ruoyi.system.mapper.UserMapper"> + + <!--鏍规嵁鏉′欢鑾峰彇鐢ㄦ埛鍒楄〃--> + <select id="selectUserCondition" resultType="com.ruoyi.common.core.domain.entity.User"> + select * from (select id, + dept_id, + account, + name, + name_en, + user_type, + email, + phone, + sex, + age, + signature_url, + picture_url, + status, + del_flag, + login_ip, + login_date, + depart_lims_id, + company, + is_custom + from user + where del_flag = '0') a + <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''"> + ${ew.customSqlSegment} + </if> + </select> + + <!-- 鑾峰彇鐢ㄦ埛閮ㄩ棬 --> + <select id="selectUserDepartmentLimsName" resultType="java.lang.String"> + select dl.name + from user u + left join department_lims dl on find_in_set(dl.id, u.depart_lims_id) and dl.id != 1 + where u.id = #{userId} + limit 1 + </select> + + <!-- 鏌ヨ鐢ㄦ埛鍜岄儴闂� --> + <select id="selectNameAnddepartment" resultType="java.util.Map"> + select u.name userName, + dl.name department + from user u + left join department_lims dl on find_in_set(dl.id, u.depart_lims_id) and dl.id != 1 + where find_in_set(u.id, #{participant}) + </select> + + <!-- 鑾峰彇褰撳墠鐧诲綍鐢ㄦ埛淇℃伅 --> + <select id="getUserNow" resultType="com.ruoyi.common.core.domain.entity.User"> + select u.id, + c.company, + u.name, + c.code, + u.phone, + c.id departId + from user u + left join custom c on u.company = c.id + where u.id = #{userId} + </select> +</mapper> -- Gitblit v1.9.3