From 07877f589f64db67564e7f41d029156fa40dba16 Mon Sep 17 00:00:00 2001 From: FCL Date: Fri, 10 Oct 2025 10:45:45 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E5=90=88=E5=B9=B6=E3=80=81?= =?UTF-8?q?=E8=B0=83=E6=95=B4=E6=8A=A5=E5=90=8D=EF=BC=9B=E7=BC=96=E8=AF=91?= =?UTF-8?q?=E9=80=9A=E8=BF=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../module/qms/enums/ErrorCodeConstants.java | 17 +- .../module/qms/enums/QmsCommonConstant.java | 83 ++ zt-module-qms/zt-module-qms-server/pom.xml | 10 +- .../plat/module/qms/QmsServerApplication.java | 16 - .../BusinessAssayProjectDataController.java | 4 +- .../BusinessAssayReportDataController.java | 108 ++ .../admin/BusinessAssayTaskController.java | 109 ++ .../BusinessAssayTaskDataController.java | 14 +- .../BusinessAssayTaskDetailController.java | 108 ++ .../admin/BusinessBaseSampleController.java | 4 +- .../admin/BusinessDocumentDataController.java | 108 ++ .../admin/BusinessDocumentMainController.java | 108 ++ .../BusinessHandoverRecordSubController.java | 5 +- ...QualityControlSampleProjectController.java | 108 ++ .../BusinessSampleAssayResultController.java | 4 +- ...BusinessSampleEntrustDetailController.java | 19 +- ...usinessSampleEntrustProjectController.java | 4 +- ...ssSampleEntrustRegistrationController.java | 5 +- .../BusinessSampleHandoverController.java | 4 +- ...usinessSampleHandoverDetailController.java | 4 +- .../BusinessStandardSampleController.java | 108 ++ ...sinessStandardSampleProjectController.java | 108 ++ .../BusinessSubParentSampleController.java | 4 +- ...inessSubSampleAnalysisGroupController.java | 108 ++ ...BusinessSubSampleAssessmentController.java | 4 +- .../admin/BusinessSubSampleController.java | 23 +- .../BusinessTeamAssessmentController.java | 108 ++ .../admin/SampleAnalysisAuditController.java | 36 + .../admin/SampleAnalysisController.java | 49 + .../admin/SampleEntrustController.java | 77 +- .../admin/SampleFlowController.java | 123 ++ .../admin/SampleTaskAssignController.java | 71 ++ .../vo/BatchSampleAnalysisColumnRespVO.java | 65 + .../BusinessAssayParameterDataPageReqVO.java | 14 +- .../vo/BusinessAssayParameterDataReqVO.java | 47 + .../vo/BusinessAssayParameterDataRespVO.java | 22 +- .../BusinessAssayParameterDataSaveReqVO.java | 18 +- ...usinessAssayProjectAndParameterRespVO.java | 61 + .../vo/BusinessAssayProjectDataPageReqVO.java | 12 +- .../vo/BusinessAssayProjectDataReqVO.java | 53 + .../vo/BusinessAssayProjectDataRespVO.java | 18 +- .../vo/BusinessAssayProjectDataSaveReqVO.java | 18 +- .../vo/BusinessAssayReportDataPageReqVO.java | 50 + .../vo/BusinessAssayReportDataRespVO.java | 63 + .../vo/BusinessAssayReportDataSaveReqVO.java | 49 + ...sAssayTaskAnalysisSampleProjectRespVO.java | 54 + .../vo/BusinessAssayTaskDataGroupRespVO.java | 28 + .../vo/BusinessAssayTaskDataPageReqVO.java | 48 +- .../vo/BusinessAssayTaskDataReqVO.java | 48 +- .../vo/BusinessAssayTaskDataRespVO.java | 68 +- .../vo/BusinessAssayTaskDataSaveReqVO.java | 60 +- .../vo/BusinessAssayTaskDetailPageReqVO.java | 15 +- .../vo/BusinessAssayTaskDetailReqVO.java | 51 + .../vo/BusinessAssayTaskDetailRespVO.java | 22 +- .../vo/BusinessAssayTaskDetailSaveReqVO.java | 18 +- .../vo/BusinessAssayTaskExtendRespVO.java | 25 + .../vo/BusinessAssayTaskPageReqVO.java | 32 +- .../vo/BusinessAssayTaskRespVO.java | 42 +- .../vo/BusinessAssayTaskSaveReqVO.java | 37 +- .../vo/BusinessBaseSamplePageReqVO.java | 31 +- .../vo/BusinessBaseSampleRespVO.java | 42 +- .../vo/BusinessBaseSampleSaveReqVO.java | 42 +- .../vo/BusinessDocumentDataPageReqVO.java | 35 + .../vo/BusinessDocumentDataRespVO.java | 43 + .../vo/BusinessDocumentDataSaveReqVO.java | 32 + .../vo/BusinessDocumentMainPageReqVO.java | 73 ++ .../vo/BusinessDocumentMainRespVO.java | 91 ++ .../vo/BusinessDocumentMainSaveReqVO.java | 74 ++ .../BusinessHandoverRecordSubPageReqVO.java | 23 +- .../vo/BusinessHandoverRecordSubRespVO.java | 40 +- .../BusinessHandoverRecordSubSaveReqVO.java | 35 +- ...sQualityControlSampleProjectPageReqVO.java | 62 + ...nessQualityControlSampleProjectRespVO.java | 79 ++ ...sQualityControlSampleProjectSaveReqVO.java | 64 + .../BusinessSampleAssayResultPageReqVO.java | 8 +- .../vo/BusinessSampleAssayResultRespVO.java | 12 +- .../BusinessSampleAssayResultSaveReqVO.java | 14 +- ...sinessSampleEntrustDetailExtendRespVO.java | 3 + .../BusinessSampleEntrustDetailPageReqVO.java | 20 +- .../vo/BusinessSampleEntrustDetailReqVO.java | 63 + .../vo/BusinessSampleEntrustDetailRespVO.java | 28 +- .../BusinessSampleEntrustDetailSaveReqVO.java | 30 +- ...BusinessSampleEntrustProjectPageReqVO.java | 10 +- .../BusinessSampleEntrustProjectRespVO.java | 14 +- ...BusinessSampleEntrustProjectSaveReqVO.java | 16 +- ...SampleEntrustRegistrationExtendRespVO.java | 3 - ...essSampleEntrustRegistrationPageReqVO.java | 87 +- ...sinessSampleEntrustRegistrationRespVO.java | 116 +- ...essSampleEntrustRegistrationSaveReqVO.java | 102 +- ...BusinessSampleHandoverDetailPageReqVO.java | 12 +- .../BusinessSampleHandoverDetailRespVO.java | 18 +- ...BusinessSampleHandoverDetailSaveReqVO.java | 15 +- .../vo/BusinessSampleHandoverPageReqVO.java | 21 +- .../vo/BusinessSampleHandoverRespVO.java | 32 +- .../vo/BusinessSampleHandoverSaveReqVO.java | 28 +- .../vo/BusinessStandardSamplePageReqVO.java | 41 + ...usinessStandardSampleProjectPageReqVO.java | 53 + .../BusinessStandardSampleProjectRespVO.java | 67 + ...usinessStandardSampleProjectSaveReqVO.java | 53 + .../vo/BusinessStandardSampleRespVO.java | 51 + .../vo/BusinessStandardSampleSaveReqVO.java | 41 + .../vo/BusinessSubParentSamplePageReqVO.java | 18 +- .../vo/BusinessSubParentSampleRespVO.java | 22 +- .../vo/BusinessSubParentSampleSaveReqVO.java | 20 +- ...sinessSubSampleAnalysisGroupPageReqVO.java | 54 + .../BusinessSubSampleAnalysisGroupRespVO.java | 67 + ...sinessSubSampleAnalysisGroupSaveReqVO.java | 55 + .../BusinessSubSampleAssessmentPageReqVO.java | 22 +- .../vo/BusinessSubSampleAssessmentRespVO.java | 32 +- .../BusinessSubSampleAssessmentSaveReqVO.java | 35 +- .../vo/BusinessSubSampleExtendRespVO.java | 8 + .../vo/BusinessSubSamplePageReqVO.java | 82 +- .../controller/vo/BusinessSubSampleReqVO.java | 86 +- .../vo/BusinessSubSampleRespVO.java | 103 +- .../vo/BusinessSubSampleSaveReqVO.java | 92 +- .../vo/BusinessTeamAssessmentPageReqVO.java | 66 + .../vo/BusinessTeamAssessmentRespVO.java | 83 ++ .../vo/BusinessTeamAssessmentSaveReqVO.java | 72 ++ .../BusinessAssayParameterDataDO.java | 4 +- .../BusinessAssayProjectDataDO.java | 2 +- .../dataobject/BusinessAssayReportDataDO.java | 85 ++ .../dal/dataobject/BusinessAssayTaskDO.java | 180 +++ .../dataobject/BusinessAssayTaskDataDO.java | 54 +- .../dataobject/BusinessAssayTaskDetailDO.java | 90 ++ .../dal/dataobject/BusinessBaseSampleDO.java | 31 +- .../dataobject/BusinessDocumentDataDO.java | 60 + .../dataobject/BusinessDocumentMainDO.java | 122 ++ .../BusinessHandoverRecordSubDO.java | 29 +- ...BusinessQualityControlSampleProjectDO.java | 105 ++ .../BusinessSampleAssayResultDO.java | 2 +- .../BusinessSampleEntrustDetailDO.java | 16 +- .../BusinessSampleEntrustProjectDO.java | 4 +- .../BusinessSampleEntrustRegistrationDO.java | 108 +- .../dataobject/BusinessSampleHandoverDO.java | 23 +- .../BusinessSampleHandoverDetailDO.java | 3 +- .../dataobject/BusinessStandardSampleDO.java | 70 ++ .../BusinessStandardSampleProjectDO.java | 90 ++ .../dataobject/BusinessSubParentSampleDO.java | 2 +- .../BusinessSubSampleAnalysisGroupDO.java | 91 ++ .../BusinessSubSampleAssessmentDO.java | 8 +- .../dal/dataobject/BusinessSubSampleDO.java | 77 +- .../dataobject/BusinessTeamAssessmentDO.java | 111 ++ .../BusinessAssayParameterDataMapper.java | 36 + .../BusinessAssayProjectDataMapper.java | 39 + .../mapper/BusinessAssayReportDataMapper.java | 35 + .../mapper/BusinessAssayTaskDataMapper.java | 36 +- .../mapper/BusinessAssayTaskDetailMapper.java | 36 + .../dal/mapper/BusinessAssayTaskMapper.java | 61 + .../dal/mapper/BusinessBaseSampleMapper.java | 11 +- .../mapper/BusinessDocumentDataMapper.java | 30 + .../mapper/BusinessDocumentMainMapper.java | 42 + .../BusinessHandoverRecordSubMapper.java | 7 +- ...nessQualityControlSampleProjectMapper.java | 39 + .../BusinessSampleAssayResultMapper.java | 3 - .../BusinessSampleEntrustDetailMapper.java | 41 +- .../BusinessSampleEntrustProjectMapper.java | 5 +- ...sinessSampleEntrustRegistrationMapper.java | 24 +- .../BusinessSampleHandoverDetailMapper.java | 3 +- .../mapper/BusinessSampleHandoverMapper.java | 10 +- .../mapper/BusinessStandardSampleMapper.java | 32 + .../BusinessStandardSampleProjectMapper.java | 36 + .../mapper/BusinessSubParentSampleMapper.java | 2 - .../BusinessSubSampleAnalysisGroupMapper.java | 36 + .../BusinessSubSampleAssessmentMapper.java | 3 +- .../dal/mapper/BusinessSubSampleMapper.java | 58 +- .../mapper/BusinessTeamAssessmentMapper.java | 40 + .../liteflow/param/SampleEntrustDetail.java | 2 +- .../liteflow/param/SampleEntrustParam.java | 7 +- .../param/SampleTaskAssignMethodParam.java | 21 + .../param/SampleTaskAssignSampleParam.java | 19 + .../sample/entrust/SampleEntrustCheckCmp.java | 16 +- .../entrust/SampleEntrustContextInitCmp.java | 20 +- .../entrust/SampleEntrustCreateDataCmp.java | 21 +- .../SampleEntrustGenSampleDataCmp.java | 358 ++++-- .../flow/SampleDataSaveOrUpdateCmp.java | 14 + .../flow/SampleHandoverRecordSubCmp.java | 20 +- .../sample/flow/SampleSubCheckCmp.java | 24 +- .../sample/flow/SampleSubHandoverCmp.java | 32 +- .../flow/SampleSubProcessUpdateCmp.java | 26 +- .../SampleTaskAssignContextInitCmp.java | 49 + .../SampleTaskAssignDataSaveOrUpdateCmp.java | 53 + .../liteflow/slot/SampleEntrustContext.java | 10 + .../bus/liteflow/slot/SampleFlowContext.java | 15 + .../slot/SampleTaskAssignContext.java | 79 ++ .../slot/SampleTaskAssignTypeEnum.java | 20 + .../BusinessAssayParameterDataService.java | 4 + ...BusinessAssayParameterDataServiceImpl.java | 4 +- .../BusinessAssayProjectDataService.java | 4 + .../BusinessAssayProjectDataServiceImpl.java | 4 +- .../BusinessAssayReportDataService.java | 66 + .../BusinessAssayReportDataServiceImpl.java | 93 ++ .../service/BusinessAssayTaskDataService.java | 12 +- .../BusinessAssayTaskDataServiceImpl.java | 12 +- .../BusinessAssayTaskDetailService.java | 66 + .../BusinessAssayTaskDetailServiceImpl.java | 93 ++ .../bus/service/BusinessAssayTaskService.java | 67 + .../service/BusinessAssayTaskServiceImpl.java | 94 ++ .../service/BusinessBaseSampleService.java | 4 + .../BusinessBaseSampleServiceImpl.java | 4 +- .../service/BusinessDocumentDataService.java | 66 + .../BusinessDocumentDataServiceImpl.java | 93 ++ .../service/BusinessDocumentMainService.java | 66 + .../BusinessDocumentMainServiceImpl.java | 93 ++ .../BusinessHandoverRecordSubService.java | 5 + .../BusinessHandoverRecordSubServiceImpl.java | 5 +- ...essQualityControlSampleProjectService.java | 66 + ...ualityControlSampleProjectServiceImpl.java | 93 ++ .../BusinessSampleAssayResultService.java | 4 + .../BusinessSampleAssayResultServiceImpl.java | 4 +- .../BusinessSampleEntrustDetailService.java | 17 +- ...usinessSampleEntrustDetailServiceImpl.java | 9 +- .../BusinessSampleEntrustProjectService.java | 4 + ...sinessSampleEntrustProjectServiceImpl.java | 4 +- ...inessSampleEntrustRegistrationService.java | 5 + ...sSampleEntrustRegistrationServiceImpl.java | 5 +- ...sinessSampleHandoverDetailServiceImpl.java | 4 +- .../BusinessSampleHandoverService.java | 4 + .../BusinessSampleHandoverServiceImpl.java | 4 +- .../BusinessStandardSampleProjectService.java | 66 + ...inessStandardSampleProjectServiceImpl.java | 93 ++ .../BusinessStandardSampleService.java | 66 + .../BusinessStandardSampleServiceImpl.java | 93 ++ .../BusinessSubParentSampleService.java | 4 + .../BusinessSubParentSampleServiceImpl.java | 4 +- ...BusinessSubSampleAnalysisGroupService.java | 66 + ...nessSubSampleAnalysisGroupServiceImpl.java | 93 ++ .../BusinessSubSampleAssessmentService.java | 4 + ...usinessSubSampleAssessmentServiceImpl.java | 4 +- .../bus/service/BusinessSubSampleService.java | 2 + .../service/BusinessSubSampleServiceImpl.java | 4 +- .../BusinessTeamAssessmentService.java | 66 + .../BusinessTeamAssessmentServiceImpl.java | 93 ++ .../service/SampleAnalysisAuditService.java | 19 + .../SampleAnalysisAuditServiceImpl.java | 47 + .../bus/service/SampleAnalysisService.java | 39 + .../service/SampleAnalysisServiceImpl.java | 311 +++++ .../bus/service/SampleTaskAssignService.java | 43 + .../service/SampleTaskAssignServiceImpl.java | 143 +++ .../admin/ConfigAssayMethodController.java | 2 +- .../ConfigAssayMethodProjectController.java | 4 +- ...AssayMethodProjectParameterController.java | 4 +- ...nfigAssayMethodProjectRangeController.java | 108 ++ .../admin/ConfigBaseSampleController.java | 4 +- .../admin/ConfigDocumentTypeController.java | 110 ++ .../admin/ConfigEntrustSourceController.java | 5 +- .../admin/ConfigProjectController.java | 4 +- .../admin/ConfigReportFieldController.java | 4 +- .../admin/ConfigReportTemplateController.java | 378 ++++++ .../admin/ConfigReportTypeController.java | 4 +- .../admin/ConfigSampleFlowController.java | 4 +- .../admin/ConfigSampleHandoverController.java | 4 +- .../admin/ConfigSampleReportController.java | 4 +- .../admin/ConfigSimpleFlowCodeController.java | 1 - ...ConfigStandardSampleProjectController.java | 4 +- .../ConfigStandardSampleTypeController.java | 4 +- .../admin/ConfigSubSampleController.java | 4 +- .../ConfigSubSampleMethodController.java | 4 +- .../ConfigSubSampleParentController.java | 4 +- ...WarehouseLocationInfomationController.java | 4 +- ...ssayStandardForecastProjectController.java | 108 ++ .../controller/vo/BaseSamplePageReqVO.java | 11 +- .../controller/vo/BaseSampleRespVO.java | 18 +- .../controller/vo/BaseSampleSaveReqVO.java | 15 +- .../vo/ConfigAssayMethodExtendRespVO.java | 1 - .../vo/ConfigAssayMethodPageReqVO.java | 22 +- .../vo/ConfigAssayMethodProjectPageReqVO.java | 12 +- ...gAssayMethodProjectParameterPageReqVO.java | 10 +- ...nfigAssayMethodProjectParameterRespVO.java | 20 +- ...gAssayMethodProjectParameterSaveReqVO.java | 15 +- ...onfigAssayMethodProjectRangePageReqVO.java | 53 + .../ConfigAssayMethodProjectRangeRespVO.java | 67 + ...onfigAssayMethodProjectRangeSaveReqVO.java | 54 + .../vo/ConfigAssayMethodProjectRespVO.java | 22 +- .../vo/ConfigAssayMethodProjectSaveReqVO.java | 17 +- .../controller/vo/ConfigAssayMethodReqVO.java | 22 +- .../vo/ConfigAssayMethodRespVO.java | 32 +- .../vo/ConfigAssayMethodSaveReqVO.java | 27 +- .../vo/ConfigBaseSamplePageReqVO.java | 10 +- .../controller/vo/ConfigBaseSampleRespVO.java | 18 +- .../vo/ConfigBaseSampleSaveReqVO.java | 15 +- .../vo/ConfigDocumentTypePageReqVO.java | 6 +- .../vo/ConfigDocumentTypeRespVO.java | 10 +- .../vo/ConfigDocumentTypeSaveReqVO.java | 7 +- .../vo/ConfigEntrustSourcePageReqVO.java | 15 +- .../vo/ConfigEntrustSourceReqVO.java | 16 +- .../vo/ConfigEntrustSourceRespVO.java | 28 +- .../vo/ConfigEntrustSourceSaveReqVO.java | 24 +- .../controller/vo/ConfigProjectPageReqVO.java | 6 +- .../controller/vo/ConfigProjectRespVO.java | 12 +- .../controller/vo/ConfigProjectSaveReqVO.java | 10 +- .../vo/ConfigReportFieldPageReqVO.java | 8 +- .../vo/ConfigReportFieldRespVO.java | 12 +- .../vo/ConfigReportFieldSaveReqVO.java | 9 +- .../vo/ConfigReportTemplatePageReqVO.java | 14 +- .../vo/ConfigReportTemplateRespVO.java | 19 +- .../vo/ConfigReportTemplateSaveReqVO.java | 15 +- .../vo/ConfigReportTypePageReqVO.java | 4 +- .../controller/vo/ConfigReportTypeRespVO.java | 10 +- .../vo/ConfigReportTypeSaveReqVO.java | 7 +- .../vo/ConfigSampleFlowPageReqVO.java | 12 +- .../controller/vo/ConfigSampleFlowRespVO.java | 20 +- .../vo/ConfigSampleFlowSaveReqVO.java | 13 +- .../vo/ConfigSampleHandoverPageReqVO.java | 8 +- .../vo/ConfigSampleHandoverRespVO.java | 16 +- .../vo/ConfigSampleHandoverSaveReqVO.java | 13 +- .../vo/ConfigSampleReportPageReqVO.java | 8 +- .../vo/ConfigSampleReportRespVO.java | 14 +- .../vo/ConfigSampleReportSaveReqVO.java | 11 +- .../vo/ConfigSimpleFlowCodePageReqVO.java | 4 +- .../vo/ConfigSimpleFlowCodeRespVO.java | 14 +- .../vo/ConfigSimpleFlowCodeSaveReqVO.java | 26 +- .../vo/ConfigSimpleFlowRulePageReqVO.java | 14 +- .../vo/ConfigSimpleFlowRuleReqVO.java | 14 +- .../vo/ConfigSimpleFlowRuleRespVO.java | 20 +- .../vo/ConfigSimpleFlowRuleSaveReqVO.java | 19 +- .../ConfigStandardSampleProjectPageReqVO.java | 12 +- .../vo/ConfigStandardSampleProjectRespVO.java | 20 +- .../ConfigStandardSampleProjectSaveReqVO.java | 18 +- .../vo/ConfigStandardSampleTypePageReqVO.java | 15 +- .../vo/ConfigStandardSampleTypeRespVO.java | 22 +- .../vo/ConfigStandardSampleTypeSaveReqVO.java | 21 +- .../vo/ConfigSubSampleMethodPageReqVO.java | 8 +- .../vo/ConfigSubSampleMethodRespVO.java | 14 +- .../vo/ConfigSubSampleMethodSaveReqVO.java | 11 +- .../vo/ConfigSubSamplePageReqVO.java | 14 +- .../vo/ConfigSubSampleParentPageReqVO.java | 11 +- .../vo/ConfigSubSampleParentRespVO.java | 18 +- .../vo/ConfigSubSampleParentSaveReqVO.java | 15 +- .../controller/vo/ConfigSubSampleRespVO.java | 22 +- .../vo/ConfigSubSampleSaveReqVO.java | 19 +- ...gWarehouseLocationInfomationPageReqVO.java | 2 +- ...nfigWarehouseLocationInfomationRespVO.java | 6 +- ...gWarehouseLocationInfomationSaveReqVO.java | 3 +- .../MaterialAssayStandardDetailPageReqVO.java | 15 +- .../vo/MaterialAssayStandardDetailRespVO.java | 26 +- .../MaterialAssayStandardDetailSaveReqVO.java | 19 +- ...AssayStandardForecastProjectPageReqVO.java | 50 + ...ialAssayStandardForecastProjectRespVO.java | 63 + ...AssayStandardForecastProjectSaveReqVO.java | 50 + .../MaterialAssayStandardMethodPageReqVO.java | 17 +- .../vo/MaterialAssayStandardMethodRespVO.java | 29 +- .../MaterialAssayStandardMethodSaveReqVO.java | 22 +- .../vo/MaterialAssayStandardRespVO.java | 1 - .../config/dal/dataobject/BaseSampleDO.java | 16 +- .../dal/dataobject/ConfigAssayMethodDO.java | 22 +- .../ConfigAssayMethodProjectDO.java | 8 +- .../ConfigAssayMethodProjectParameterDO.java | 8 +- .../ConfigAssayMethodProjectRangeDO.java | 90 ++ .../dal/dataobject/ConfigBaseSampleDO.java | 4 +- .../dal/dataobject/ConfigDocumentTypeDO.java | 85 ++ .../dal/dataobject/ConfigEntrustSourceDO.java | 18 +- .../dal/dataobject/ConfigReportFieldDO.java | 4 +- .../dataobject/ConfigReportTemplateDO.java | 20 +- .../dal/dataobject/ConfigSampleFlowDO.java | 12 +- .../dataobject/ConfigSampleHandoverDO.java | 6 +- .../dataobject/ConfigSimpleFlowRuleDO.java | 10 +- .../ConfigStandardSampleProjectDO.java | 4 +- .../ConfigStandardSampleTypeDO.java | 15 +- .../dal/dataobject/ConfigSubSampleDO.java | 10 + .../dataobject/ConfigSubSampleMethodDO.java | 2 +- .../dataobject/ConfigSubSampleParentDO.java | 5 + .../MaterialAssayStandardDetailDO.java | 7 +- .../MaterialAssayStandardDetailExtendDO.java | 2 +- .../MaterialAssayStandardExtendDO.java | 1 - ...aterialAssayStandardForecastProjectDO.java | 85 ++ .../MaterialAssayStandardMethodDO.java | 16 +- .../config/dal/mapper/BaseSampleMapper.java | 2 +- .../dal/mapper/ConfigAssayMethodMapper.java | 18 +- .../ConfigAssayMethodProjectMapper.java | 5 +- ...nfigAssayMethodProjectParameterMapper.java | 5 +- .../ConfigAssayMethodProjectRangeMapper.java | 36 + .../dal/mapper/ConfigBaseSampleMapper.java | 3 +- .../dal/mapper/ConfigDocumentTypeMapper.java | 35 + .../dal/mapper/ConfigEntrustSourceMapper.java | 8 +- .../dal/mapper/ConfigProjectMapper.java | 3 +- .../dal/mapper/ConfigReportFieldMapper.java | 5 +- .../mapper/ConfigReportTemplateMapper.java | 18 +- .../dal/mapper/ConfigReportTypeMapper.java | 3 +- .../dal/mapper/ConfigSampleFlowMapper.java | 18 +- .../mapper/ConfigSampleHandoverMapper.java | 7 +- .../dal/mapper/ConfigSampleReportMapper.java | 3 +- .../mapper/ConfigSimpleFlowRuleMapper.java | 4 + .../ConfigStandardSampleProjectMapper.java | 5 +- .../ConfigStandardSampleTypeMapper.java | 6 +- .../dal/mapper/ConfigSubSampleMapper.java | 5 +- .../mapper/ConfigSubSampleMethodMapper.java | 3 +- .../mapper/ConfigSubSampleParentMapper.java | 4 +- ...nfigWarehouseLocationInfomationMapper.java | 3 +- ...ialAssayStandardForecastProjectMapper.java | 35 + .../mapper/MaterialAssayStandardMapper.java | 3 +- .../MaterialAssayStandardMethodMapper.java | 4 +- ...figAssayMethodProjectParameterService.java | 4 + ...ssayMethodProjectParameterServiceImpl.java | 3 + .../ConfigAssayMethodProjectRangeService.java | 66 + ...figAssayMethodProjectRangeServiceImpl.java | 93 ++ .../ConfigAssayMethodProjectService.java | 4 + .../ConfigAssayMethodProjectServiceImpl.java | 3 + .../service/ConfigAssayMethodService.java | 2 + .../service/ConfigAssayMethodServiceImpl.java | 1 + .../service/ConfigBaseSampleService.java | 4 + .../service/ConfigBaseSampleServiceImpl.java | 3 + .../service/ConfigDocumentTypeService.java | 66 + .../ConfigDocumentTypeServiceImpl.java | 92 ++ .../service/ConfigEntrustSourceService.java | 5 + .../ConfigEntrustSourceServiceImpl.java | 4 + .../config/service/ConfigProjectService.java | 4 + .../service/ConfigProjectServiceImpl.java | 3 + .../service/ConfigReportFieldService.java | 4 + .../service/ConfigReportFieldServiceImpl.java | 3 + .../service/ConfigReportTypeService.java | 4 + .../service/ConfigReportTypeServiceImpl.java | 3 + .../service/ConfigSampleFlowService.java | 25 +- .../service/ConfigSampleFlowServiceImpl.java | 20 +- .../service/ConfigSampleHandoverService.java | 4 + .../ConfigSampleHandoverServiceImpl.java | 4 +- .../service/ConfigSampleReportService.java | 4 + .../ConfigSampleReportServiceImpl.java | 3 + .../ConfigSimpleFlowCodeServiceImpl.java | 2 - .../ConfigSimpleFlowRuleServiceImpl.java | 2 - .../ConfigStandardSampleProjectService.java | 4 + ...onfigStandardSampleProjectServiceImpl.java | 3 + .../ConfigStandardSampleTypeService.java | 4 + .../ConfigStandardSampleTypeServiceImpl.java | 3 + .../service/ConfigSubSampleMethodService.java | 4 + .../ConfigSubSampleMethodServiceImpl.java | 3 + .../service/ConfigSubSampleParentService.java | 4 + .../ConfigSubSampleParentServiceImpl.java | 3 + .../service/ConfigSubSampleService.java | 4 + .../service/ConfigSubSampleServiceImpl.java | 3 + ...figWarehouseLocationInfomationService.java | 4 + ...arehouseLocationInfomationServiceImpl.java | 3 + .../MaterialAssayStandardDetailService.java | 1 - ...aterialAssayStandardDetailServiceImpl.java | 1 - ...alAssayStandardForecastProjectService.java | 66 + ...sayStandardForecastProjectServiceImpl.java | 93 ++ .../vo/DictionaryParameterPageReqVO.java | 12 +- .../vo/DictionaryParameterRespVO.java | 20 +- .../vo/DictionaryParameterSaveReqVO.java | 17 +- .../vo/DictionaryProjectPageReqVO.java | 16 +- .../vo/DictionaryProjectRespVO.java | 24 +- .../vo/DictionaryProjectSaveReqVO.java | 17 +- .../vo/DictionarySampleFlowNodePageReqVO.java | 16 +- .../vo/DictionarySampleFlowNodeRespVO.java | 29 +- .../vo/DictionarySampleFlowNodeSaveReqVO.java | 20 +- .../vo/DictionarySampleTypeSaveReqVO.java | 1 - .../dal/dataobject/DictionaryParameterDO.java | 4 +- .../dal/dataobject/DictionaryProjectDO.java | 2 +- .../DictionarySampleFlowNodeDO.java | 17 +- .../dal/mapper/DictionaryParameterMapper.java | 3 +- .../dal/mapper/DictionaryProjectMapper.java | 1 + .../DictionarySampleFlowNodeMapper.java | 2 + .../admin/DataCollectionFieldController.java | 1 - .../controller/admin/DataFormController.java | 3 + .../vo/DataCollectionFieldRespVO.java | 2 - .../vo/DataCollectionSaveReqVO.java | 1 - .../data/dal/mapper/DataFormMapper.java | 1 + .../common/data/service/DataFormService.java | 3 + .../data/service/DataFormServiceImpl.java | 4 +- .../vo/DictionaryBusinessPageReqVO.java | 22 +- .../vo/DictionaryBusinessRespVO.java | 34 +- .../vo/DictionaryBusinessSaveReqVO.java | 21 +- .../dal/dataobject/DictionaryBusinessDO.java | 23 +- .../dal/mapper/DictionaryBusinessMapper.java | 2 + .../DictionaryBusinessServiceImpl.java | 3 + .../module/qms/core/code/CodeGenUtil.java | 2 - .../config/QlExpressRuleEngineConfig.java | 29 + .../core/qlexpress/function/package-info.java | 4 + .../qms/core/sampleflow/SampleFlowNode.java | 13 + .../qms/framework/gridreport/GridReport.java | 180 +++ .../qms/framework/gridreport/PdfHelper.java | 134 ++ .../gridreport/config/GridReportConfig.java | 27 + .../exception/GridReportException.java | 27 + .../rpc/config/RpcConfiguration.java | 4 +- .../IotConnectManagerStatsController.java | 221 ++++ .../module/qms/iot/mapper/IotHelloMapper.java | 8 + .../qms/iot/service/IIotHelloService.java | 13 + .../iot/service/impl/IotHelloServiceImpl.java | 19 + .../qms/iot/tcpserver/IgnorePacket.java | 33 + .../qms/iot/tcpserver/IotDataUtils.java | 144 +++ .../qms/iot/tcpserver/IotDeviceType.java | 50 + .../module/qms/iot/tcpserver/IotPacket.java | 26 + .../iot/tcpserver/IotServerAioListener.java | 92 ++ .../iot/tcpserver/IotServerMsgHandler.java | 137 ++ .../module/qms/iot/tcpserver/IotUtils.java | 71 ++ .../iot/tcpserver/IotWebSocketMsgHandler.java | 152 +++ .../IotCaaClientControlDeviceHander.java | 132 ++ .../caaclient/IotCaaClientRegisterHander.java | 55 + .../caaclient/bean/ControlDevice.java | 36 + .../IotConsoleClientCheckControlHander.java | 68 + .../IotConsoleClientRegisterHander.java | 94 ++ .../bean/ControlMeasurePoint.java | 36 + .../consoleclient/bean/MeasureData.java | 63 + .../bean/MeasurePointAutoWork.java | 33 + .../consoleclient/bean/Register.java | 33 + .../qms/iot/tcpserver/core/Balance.java | 33 + .../core/ChannelContextConstant.java | 35 + .../iot/tcpserver/core/ChannelStatInfo.java | 169 +++ .../qms/iot/tcpserver/core/ClientData.java | 28 + .../iot/tcpserver/core/ClientRegister.java | 39 + .../qms/iot/tcpserver/core/ClientType.java | 54 + .../qms/iot/tcpserver/core/Command.java | 58 + .../qms/iot/tcpserver/core/EventConstant.java | 40 + .../qms/iot/tcpserver/core/GroupConstant.java | 5 + .../qms/iot/tcpserver/core/Infrared.java | 37 + .../core/IotClientSessionContext.java | 59 + .../core/IotDeviceSessionContext.java | 104 ++ .../core/IotDeviceSessionForRedisContext.java | 55 + .../qms/iot/tcpserver/core/IotProtocol.java | 96 ++ .../qms/iot/tcpserver/core/MeasurePoint.java | 29 + .../qms/iot/tcpserver/core/ReplyResult.java | 113 ++ .../qms/iot/tcpserver/core/TrafficLight.java | 30 + .../iot/tcpserver/core/TrafficLightColor.java | 18 + .../core/VehicleRecognitionCamera.java | 41 + .../iot/tcpserver/core/VehicleWeighing.java | 52 + .../qms/iot/tcpserver/core/Weighbridge.java | 33 + .../qms/iot/tcpserver/core/WeightUnit.java | 57 + .../device/BalanceDataCommandLineRunner.java | 127 ++ .../device/RedisSessionComponent.java | 51 + .../handler/IotDeviceBalanceHandler.java | 229 ++++ .../handler/IotDeviceThermometerHandler.java | 71 ++ .../handler/IotDeviceWeighbridgeHandler.java | 24 + .../iot/tcpserver/event/BalanceDataEvent.java | 23 + .../event/HygrothermographEvent.java | 23 + .../event/IotDeviceRegisterEvent.java | 24 + .../tcpserver/event/MeasurePointEvent.java | 24 + .../event/MeasurePointRunLogsEvent.java | 24 + .../tcpserver/handler/IotClientHandler.java | 96 ++ .../iot/tcpserver/handler/IotDataHander.java | 19 + .../tcpserver/handler/IotDeviceHandler.java | 151 +++ .../qms/iot/tcpserver/handler/IotHander.java | 27 + .../handler/IotHeartbeatHandler.java | 36 + .../iot/tcpserver/inf/DecoderFunction.java | 34 + .../listener/BalanceDataListener.java | 46 + .../listener/HygrothermographListener.java | 46 + .../listener/IotDeviceRegisterListener.java | 94 ++ .../qms/iot/tcpserver/pojo/BalanceData.java | 37 + .../iot/tcpserver/pojo/Hygrothermograph.java | 54 + .../pojo/MeasurePointDeviceData.java | 44 + .../tcpserver/pojo/MeasurePointRunLogs.java | 36 + .../pojo/PinusDbMeasurePointRunLogs.java | 28 + .../tcpserver/proxy/ProxyProtocolDecoder.java | 233 ++++ .../tcpserver/proxy/ProxyProtocolMessage.java | 109 ++ .../publisher/BalanceDataPublisher.java | 42 + .../publisher/HygrothermographPublisher.java | 42 + .../publisher/IotDeviceRegisterPublisher.java | 32 + .../MeasurePointDeviceDataPublisher.java | 15 + .../publisher/MeasurePointPublisher.java | 31 + .../MeasurePointRunLogsPublisher.java | 43 + .../iot/tcpserver/utils/ByteBufferUtil.java | 1107 +++++++++++++++++ .../qms/iot/tcpserver/utils/HexUtils.java | 289 +++++ .../com/zt/plat/module/qms/manage/deleteme | 0 .../com/zt/plat/module/qms/office/deleteme | 0 .../admin/DeviceInfomationController.java | 124 ++ .../admin/DeviceProductController.java | 142 +++ .../vo/DeviceInfomationPageReqVO.java | 138 ++ .../controller/vo/DeviceInfomationRespVO.java | 171 +++ .../vo/DeviceInfomationSaveReqVO.java | 128 ++ .../controller/vo/DeviceProductPageReqVO.java | 82 ++ .../controller/vo/DeviceProductRespVO.java | 106 ++ .../controller/vo/DeviceProductSaveReqVO.java | 75 ++ .../dal/dataobject/DeviceInfomationDO.java | 218 ++++ .../dal/dataobject/DeviceProductDO.java | 136 ++ .../dal/mapper/DeviceInfomationMapper.java | 59 + .../dal/mapper/DeviceProductMapper.java | 45 + .../service/DeviceInfomationService.java | 65 + .../service/DeviceInfomationServiceImpl.java | 95 ++ .../device/service/DeviceProductService.java | 79 ++ .../service/DeviceProductServiceImpl.java | 217 ++++ .../admin/MaterialInfomationController.java | 127 ++ .../admin/MaterialProductController.java | 142 +++ .../vo/MaterialInfomationPageReqVO.java | 82 ++ .../vo/MaterialInfomationRespVO.java | 100 ++ .../vo/MaterialInfomationSaveReqVO.java | 69 + .../vo/MaterialProductPageReqVO.java | 98 ++ .../controller/vo/MaterialProductRespVO.java | 133 ++ .../vo/MaterialProductSaveReqVO.java | 91 ++ .../dal/dataobject/MaterialInfomationDO.java | 124 ++ .../dal/dataobject/MaterialProductDO.java | 162 +++ .../dal/mapper/MaterialInfomationMapper.java | 44 + .../dal/mapper/MaterialProductMapper.java | 51 + .../service/MaterialInfomationService.java | 65 + .../MaterialInfomationServiceImpl.java | 90 ++ .../service/MaterialProductService.java | 79 ++ .../service/MaterialProductServiceImpl.java | 215 ++++ .../BusinessAssayParameterDataMapper.xml | 0 .../mapper/BusinessAssayProjectDataMapper.xml | 0 .../mapper/BusinessAssayTaskDataMapper.xml | 0 .../dal/mapper/BusinessAssayTaskMapper.xml | 0 .../dal/mapper/BusinessBaseSampleMapper.xml | 0 .../BusinessSampleEntrustDetailMapper.xml | 0 .../BusinessSampleEntrustProjectMapper.xml | 0 .../BusinessSampleHandoverDetailMapper.xml | 0 .../mapper/BusinessSampleHandoverMapper.xml | 0 .../BusinessSubSampleAssessmentMapper.xml | 0 .../dal/mapper/BusinessSubSampleMapper.xml | 0 .../config/dal/mapper/BaseSampleMapper.xml | 0 .../dal/mapper/ConfigAssayMethodMapper.xml | 0 .../mapper/ConfigAssayMethodProjectMapper.xml | 0 ...onfigAssayMethodProjectParameterMapper.xml | 0 .../dal/mapper/ConfigBaseSampleMapper.xml | 0 .../dal/mapper/ConfigDocumentTypeMapper.xml | 0 .../dal/mapper/ConfigEntrustSourceMapper.xml | 0 .../config/dal/mapper/ConfigProjectMapper.xml | 0 .../dal/mapper/ConfigReportFieldMapper.xml | 0 .../dal/mapper/ConfigReportTemplateMapper.xml | 0 .../dal/mapper/ConfigReportTypeMapper.xml | 0 .../dal/mapper/ConfigSampleFlowMapper.xml | 0 .../dal/mapper/ConfigSampleHandoverMapper.xml | 0 .../dal/mapper/ConfigSampleReportMapper.xml | 0 .../dal/mapper/ConfigSimpleFlowCodeMapper.xml | 0 .../dal/mapper/ConfigSimpleFlowRuleMapper.xml | 0 .../ConfigStandardSampleProjectMapper.xml | 0 .../mapper/ConfigStandardSampleTypeMapper.xml | 0 .../dal/mapper/ConfigSubSampleMapper.xml | 0 .../mapper/ConfigSubSampleMethodMapper.xml | 0 .../mapper/ConfigSubSampleParentMapper.xml | 0 ...onfigWarehouseLocationInfomationMapper.xml | 0 .../MaterialAssayStandardDetailMapper.xml | 0 .../mapper/MaterialAssayStandardMapper.xml | 0 .../MaterialAssayStandardMethodMapper.xml | 0 .../dal/mapper/DictionaryParameterMapper.xml | 0 .../dal/mapper/DictionaryProjectMapper.xml | 0 .../mapper/DictionarySampleFlowNodeMapper.xml | 0 .../dal/mapper/DictionarySampleTypeMapper.xml | 0 624 files changed, 22199 insertions(+), 2185 deletions(-) create mode 100644 zt-module-qms/zt-module-qms-api/src/main/java/com/zt/plat/module/qms/enums/QmsCommonConstant.java delete mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/QmsServerApplication.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessAssayReportDataController.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessAssayTaskController.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessAssayTaskDetailController.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessDocumentDataController.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessDocumentMainController.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessQualityControlSampleProjectController.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessStandardSampleController.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessStandardSampleProjectController.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessSubSampleAnalysisGroupController.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessTeamAssessmentController.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/SampleAnalysisAuditController.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/SampleAnalysisController.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/SampleTaskAssignController.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BatchSampleAnalysisColumnRespVO.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayParameterDataReqVO.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayProjectAndParameterRespVO.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayProjectDataReqVO.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayReportDataPageReqVO.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayReportDataRespVO.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayReportDataSaveReqVO.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskAnalysisSampleProjectRespVO.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskDataGroupRespVO.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskDetailReqVO.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskExtendRespVO.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessDocumentDataPageReqVO.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessDocumentDataRespVO.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessDocumentDataSaveReqVO.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessDocumentMainPageReqVO.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessDocumentMainRespVO.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessDocumentMainSaveReqVO.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessQualityControlSampleProjectPageReqVO.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessQualityControlSampleProjectRespVO.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessQualityControlSampleProjectSaveReqVO.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleEntrustDetailReqVO.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessStandardSamplePageReqVO.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessStandardSampleProjectPageReqVO.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessStandardSampleProjectRespVO.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessStandardSampleProjectSaveReqVO.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessStandardSampleRespVO.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessStandardSampleSaveReqVO.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSubSampleAnalysisGroupPageReqVO.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSubSampleAnalysisGroupRespVO.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSubSampleAnalysisGroupSaveReqVO.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessTeamAssessmentPageReqVO.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessTeamAssessmentRespVO.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessTeamAssessmentSaveReqVO.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessAssayReportDataDO.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessAssayTaskDO.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessAssayTaskDetailDO.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessDocumentDataDO.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessDocumentMainDO.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessQualityControlSampleProjectDO.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessStandardSampleDO.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessStandardSampleProjectDO.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessSubSampleAnalysisGroupDO.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessTeamAssessmentDO.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessAssayReportDataMapper.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessAssayTaskDetailMapper.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessAssayTaskMapper.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessDocumentDataMapper.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessDocumentMainMapper.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessQualityControlSampleProjectMapper.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessStandardSampleMapper.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessStandardSampleProjectMapper.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessSubSampleAnalysisGroupMapper.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessTeamAssessmentMapper.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/param/SampleTaskAssignMethodParam.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/param/SampleTaskAssignSampleParam.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/taskassign/SampleTaskAssignContextInitCmp.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/taskassign/SampleTaskAssignDataSaveOrUpdateCmp.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/slot/SampleTaskAssignContext.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/slot/SampleTaskAssignTypeEnum.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessAssayReportDataService.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessAssayReportDataServiceImpl.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessAssayTaskDetailService.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessAssayTaskDetailServiceImpl.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessAssayTaskService.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessAssayTaskServiceImpl.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessDocumentDataService.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessDocumentDataServiceImpl.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessDocumentMainService.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessDocumentMainServiceImpl.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessQualityControlSampleProjectService.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessQualityControlSampleProjectServiceImpl.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessStandardSampleProjectService.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessStandardSampleProjectServiceImpl.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessStandardSampleService.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessStandardSampleServiceImpl.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSubSampleAnalysisGroupService.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSubSampleAnalysisGroupServiceImpl.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessTeamAssessmentService.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessTeamAssessmentServiceImpl.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleAnalysisAuditService.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleAnalysisAuditServiceImpl.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleAnalysisService.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleAnalysisServiceImpl.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleTaskAssignService.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleTaskAssignServiceImpl.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/admin/ConfigAssayMethodProjectRangeController.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/admin/ConfigDocumentTypeController.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/admin/MaterialAssayStandardForecastProjectController.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodProjectRangePageReqVO.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodProjectRangeRespVO.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodProjectRangeSaveReqVO.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/MaterialAssayStandardForecastProjectPageReqVO.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/MaterialAssayStandardForecastProjectRespVO.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/MaterialAssayStandardForecastProjectSaveReqVO.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/ConfigAssayMethodProjectRangeDO.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/ConfigDocumentTypeDO.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/MaterialAssayStandardForecastProjectDO.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/ConfigAssayMethodProjectRangeMapper.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/ConfigDocumentTypeMapper.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/MaterialAssayStandardForecastProjectMapper.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigAssayMethodProjectRangeService.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigAssayMethodProjectRangeServiceImpl.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigDocumentTypeService.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigDocumentTypeServiceImpl.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/MaterialAssayStandardForecastProjectService.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/MaterialAssayStandardForecastProjectServiceImpl.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/core/qlexpress/config/QlExpressRuleEngineConfig.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/core/qlexpress/function/package-info.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/framework/gridreport/GridReport.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/framework/gridreport/PdfHelper.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/framework/gridreport/config/GridReportConfig.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/framework/gridreport/exception/GridReportException.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/controller/admin/IotConnectManagerStatsController.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/mapper/IotHelloMapper.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/service/IIotHelloService.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/service/impl/IotHelloServiceImpl.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/IgnorePacket.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/IotDataUtils.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/IotDeviceType.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/IotPacket.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/IotServerAioListener.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/IotServerMsgHandler.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/IotUtils.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/IotWebSocketMsgHandler.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/caaclient/IotCaaClientControlDeviceHander.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/caaclient/IotCaaClientRegisterHander.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/caaclient/bean/ControlDevice.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/consoleclient/IotConsoleClientCheckControlHander.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/consoleclient/IotConsoleClientRegisterHander.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/consoleclient/bean/ControlMeasurePoint.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/consoleclient/bean/MeasureData.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/consoleclient/bean/MeasurePointAutoWork.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/consoleclient/bean/Register.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/core/Balance.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/core/ChannelContextConstant.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/core/ChannelStatInfo.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/core/ClientData.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/core/ClientRegister.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/core/ClientType.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/core/Command.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/core/EventConstant.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/core/GroupConstant.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/core/Infrared.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/core/IotClientSessionContext.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/core/IotDeviceSessionContext.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/core/IotDeviceSessionForRedisContext.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/core/IotProtocol.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/core/MeasurePoint.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/core/ReplyResult.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/core/TrafficLight.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/core/TrafficLightColor.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/core/VehicleRecognitionCamera.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/core/VehicleWeighing.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/core/Weighbridge.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/core/WeightUnit.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/device/BalanceDataCommandLineRunner.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/device/RedisSessionComponent.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/device/handler/IotDeviceBalanceHandler.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/device/handler/IotDeviceThermometerHandler.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/device/handler/IotDeviceWeighbridgeHandler.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/event/BalanceDataEvent.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/event/HygrothermographEvent.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/event/IotDeviceRegisterEvent.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/event/MeasurePointEvent.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/event/MeasurePointRunLogsEvent.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/handler/IotClientHandler.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/handler/IotDataHander.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/handler/IotDeviceHandler.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/handler/IotHander.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/handler/IotHeartbeatHandler.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/inf/DecoderFunction.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/listener/BalanceDataListener.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/listener/HygrothermographListener.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/listener/IotDeviceRegisterListener.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/pojo/BalanceData.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/pojo/Hygrothermograph.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/pojo/MeasurePointDeviceData.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/pojo/MeasurePointRunLogs.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/pojo/PinusDbMeasurePointRunLogs.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/proxy/ProxyProtocolDecoder.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/proxy/ProxyProtocolMessage.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/publisher/BalanceDataPublisher.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/publisher/HygrothermographPublisher.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/publisher/IotDeviceRegisterPublisher.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/publisher/MeasurePointDeviceDataPublisher.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/publisher/MeasurePointPublisher.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/publisher/MeasurePointRunLogsPublisher.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/utils/ByteBufferUtil.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/utils/HexUtils.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/manage/deleteme create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/office/deleteme create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/controller/admin/DeviceInfomationController.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/controller/admin/DeviceProductController.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/controller/vo/DeviceInfomationPageReqVO.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/controller/vo/DeviceInfomationRespVO.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/controller/vo/DeviceInfomationSaveReqVO.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/controller/vo/DeviceProductPageReqVO.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/controller/vo/DeviceProductRespVO.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/controller/vo/DeviceProductSaveReqVO.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/dal/dataobject/DeviceInfomationDO.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/dal/dataobject/DeviceProductDO.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/dal/mapper/DeviceInfomationMapper.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/dal/mapper/DeviceProductMapper.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/service/DeviceInfomationService.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/service/DeviceInfomationServiceImpl.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/service/DeviceProductService.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/service/DeviceProductServiceImpl.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/controller/admin/MaterialInfomationController.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/controller/admin/MaterialProductController.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/controller/vo/MaterialInfomationPageReqVO.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/controller/vo/MaterialInfomationRespVO.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/controller/vo/MaterialInfomationSaveReqVO.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/controller/vo/MaterialProductPageReqVO.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/controller/vo/MaterialProductRespVO.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/controller/vo/MaterialProductSaveReqVO.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/dal/dataobject/MaterialInfomationDO.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/dal/dataobject/MaterialProductDO.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/dal/mapper/MaterialInfomationMapper.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/dal/mapper/MaterialProductMapper.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/service/MaterialInfomationService.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/service/MaterialInfomationServiceImpl.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/service/MaterialProductService.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/service/MaterialProductServiceImpl.java rename zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/{qms => qms1}/business/bus/dal/mapper/BusinessAssayParameterDataMapper.xml (100%) rename zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/{qms => qms1}/business/bus/dal/mapper/BusinessAssayProjectDataMapper.xml (100%) rename zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/{qms => qms1}/business/bus/dal/mapper/BusinessAssayTaskDataMapper.xml (100%) rename zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/{qms => qms1}/business/bus/dal/mapper/BusinessAssayTaskMapper.xml (100%) rename zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/{qms => qms1}/business/bus/dal/mapper/BusinessBaseSampleMapper.xml (100%) rename zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/{qms => qms1}/business/bus/dal/mapper/BusinessSampleEntrustDetailMapper.xml (100%) rename zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/{qms => qms1}/business/bus/dal/mapper/BusinessSampleEntrustProjectMapper.xml (100%) rename zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/{qms => qms1}/business/bus/dal/mapper/BusinessSampleHandoverDetailMapper.xml (100%) rename zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/{qms => qms1}/business/bus/dal/mapper/BusinessSampleHandoverMapper.xml (100%) rename zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/{qms => qms1}/business/bus/dal/mapper/BusinessSubSampleAssessmentMapper.xml (100%) rename zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/{qms => qms1}/business/bus/dal/mapper/BusinessSubSampleMapper.xml (100%) rename zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/{qms => qms1}/business/config/dal/mapper/BaseSampleMapper.xml (100%) rename zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/{qms => qms1}/business/config/dal/mapper/ConfigAssayMethodMapper.xml (100%) rename zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/{qms => qms1}/business/config/dal/mapper/ConfigAssayMethodProjectMapper.xml (100%) rename zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/{qms => qms1}/business/config/dal/mapper/ConfigAssayMethodProjectParameterMapper.xml (100%) rename zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/{qms => qms1}/business/config/dal/mapper/ConfigBaseSampleMapper.xml (100%) rename zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/{qms => qms1}/business/config/dal/mapper/ConfigDocumentTypeMapper.xml (100%) rename zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/{qms => qms1}/business/config/dal/mapper/ConfigEntrustSourceMapper.xml (100%) rename zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/{qms => qms1}/business/config/dal/mapper/ConfigProjectMapper.xml (100%) rename zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/{qms => qms1}/business/config/dal/mapper/ConfigReportFieldMapper.xml (100%) rename zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/{qms => qms1}/business/config/dal/mapper/ConfigReportTemplateMapper.xml (100%) rename zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/{qms => qms1}/business/config/dal/mapper/ConfigReportTypeMapper.xml (100%) rename zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/{qms => qms1}/business/config/dal/mapper/ConfigSampleFlowMapper.xml (100%) rename zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/{qms => qms1}/business/config/dal/mapper/ConfigSampleHandoverMapper.xml (100%) rename zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/{qms => qms1}/business/config/dal/mapper/ConfigSampleReportMapper.xml (100%) rename zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/{qms => qms1}/business/config/dal/mapper/ConfigSimpleFlowCodeMapper.xml (100%) rename zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/{qms => qms1}/business/config/dal/mapper/ConfigSimpleFlowRuleMapper.xml (100%) rename zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/{qms => qms1}/business/config/dal/mapper/ConfigStandardSampleProjectMapper.xml (100%) rename zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/{qms => qms1}/business/config/dal/mapper/ConfigStandardSampleTypeMapper.xml (100%) rename zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/{qms => qms1}/business/config/dal/mapper/ConfigSubSampleMapper.xml (100%) rename zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/{qms => qms1}/business/config/dal/mapper/ConfigSubSampleMethodMapper.xml (100%) rename zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/{qms => qms1}/business/config/dal/mapper/ConfigSubSampleParentMapper.xml (100%) rename zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/{qms => qms1}/business/config/dal/mapper/ConfigWarehouseLocationInfomationMapper.xml (100%) rename zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/{qms => qms1}/business/config/dal/mapper/MaterialAssayStandardDetailMapper.xml (100%) rename zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/{qms => qms1}/business/config/dal/mapper/MaterialAssayStandardMapper.xml (100%) rename zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/{qms => qms1}/business/config/dal/mapper/MaterialAssayStandardMethodMapper.xml (100%) rename zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/{qms => qms1}/business/dic/dal/mapper/DictionaryParameterMapper.xml (100%) rename zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/{qms => qms1}/business/dic/dal/mapper/DictionaryProjectMapper.xml (100%) rename zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/{qms => qms1}/business/dic/dal/mapper/DictionarySampleFlowNodeMapper.xml (100%) rename zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/{qms => qms1}/business/dic/dal/mapper/DictionarySampleTypeMapper.xml (100%) diff --git a/zt-module-qms/zt-module-qms-api/src/main/java/com/zt/plat/module/qms/enums/ErrorCodeConstants.java b/zt-module-qms/zt-module-qms-api/src/main/java/com/zt/plat/module/qms/enums/ErrorCodeConstants.java index 147a1f8..08e832b 100644 --- a/zt-module-qms/zt-module-qms-api/src/main/java/com/zt/plat/module/qms/enums/ErrorCodeConstants.java +++ b/zt-module-qms/zt-module-qms-api/src/main/java/com/zt/plat/module/qms/enums/ErrorCodeConstants.java @@ -1,5 +1,6 @@ package com.zt.plat.module.qms.enums; + import com.zt.plat.framework.common.exception.ErrorCode; /** @@ -36,6 +37,7 @@ public interface ErrorCodeConstants { ErrorCode CONFIG_REPORT_TEMPLATE_NOT_EXISTS = new ErrorCode(1_032_050_000, "报表模版配置不存在"); ErrorCode CONFIG_ASSAY_METHOD_NOT_EXISTS = new ErrorCode(1_032_050_000, "检测方法配置不存在"); ErrorCode CONFIG_ASSAY_METHOD_PROJECT_NOT_EXISTS = new ErrorCode(1_032_050_000, "检测方法分析项目配置不存在"); + ErrorCode CONFIG_ASSAY_METHOD_PROJECT_RANGE_NOT_EXISTS = new ErrorCode(1_032_050_000, "检测方法分析项目区间不存在"); ErrorCode CONFIG_REPORT_FIELD_NOT_EXISTS = new ErrorCode(1_032_050_000, "报表字段配置不存在"); ErrorCode CONFIG_STANDARD_SAMPLE_TYPE_NOT_EXISTS = new ErrorCode(1_032_050_000, "标准样类型配置不存在"); ErrorCode CONFIG_STANDARD_SAMPLE_PROJECT_NOT_EXISTS = new ErrorCode(1_032_050_000, "标准样检测项目配置不存在"); @@ -58,6 +60,8 @@ public interface ErrorCodeConstants { ErrorCode MATERIAL_ASSAY_STANDARD_DETAIL_NOT_EXISTS = new ErrorCode(1_032_050_000, "检测标准明细不存在"); ErrorCode MATERIAL_ASSAY_STANDARD_NOT_EXISTS = new ErrorCode(1_032_050_000, "检测标准不存在"); ErrorCode MATERIAL_ASSAY_STANDARD_METHOD_NOT_EXISTS = new ErrorCode(1_032_050_000, "检测标准方法不存在"); + ErrorCode MATERIAL_ASSAY_STANDARD_FORECAST_PROJECT_NOT_EXISTS = new ErrorCode(1_032_050_000, "物料检测标准来样品位配置不存在"); + ErrorCode CONFIG_SAMPLE_HANDOVER_NOT_EXISTS = new ErrorCode(1_032_050_000, "样品交接配置不存在"); //dictionary @@ -84,7 +88,18 @@ public interface ErrorCodeConstants { ErrorCode BUSINESS_SAMPLE_HANDOVER_DETAIL_NOT_EXISTS = new ErrorCode(1_032_100_000, "样品交接明细不存在"); ErrorCode BUSINESS_ASSAY_TASK_NOT_EXISTS = new ErrorCode(1_032_100_000, "检测任务分配业务不存在"); ErrorCode BUSINESS_ASSAY_TASK_DETAIL_NOT_EXISTS = new ErrorCode(1_032_100_000, "检测任务分配明细不存在"); - + ErrorCode BUSINESS_SUB_SAMPLE_ANALYSIS_GROUP_NOT_EXISTS = new ErrorCode(1_032_100_000, "子样分析班组业务不存在"); + + ErrorCode BUSINESS_ASSAY_REPORT_DATA_NOT_EXISTS = new ErrorCode(1_032_100_000, "检测报表数据业务不存在"); + + ErrorCode BUSINESS_QUALITY_CONTROL_SAMPLE_PROJECT_NOT_EXISTS = new ErrorCode(1_032_100_000, "质控样检测项目业务不存在"); + ErrorCode BUSINESS_STANDARD_SAMPLE_NOT_EXISTS = new ErrorCode(1_032_100_000, "标准样业务不存在"); + ErrorCode BUSINESS_STANDARD_SAMPLE_PROJECT_NOT_EXISTS = new ErrorCode(1_032_100_000, "标准样检测项目业务不存在"); + + ErrorCode BUSINESS_TEAM_ASSESSMENT_NOT_EXISTS = new ErrorCode(1_032_100_000, "班组判定数据业务不存在"); + + ErrorCode BUSINESS_DOCUMENT_MAIN_NOT_EXISTS = new ErrorCode(1_032_100_000, "检测报告业务不存在"); + ErrorCode BUSINESS_DOCUMENT_DATA_NOT_EXISTS = new ErrorCode(1_032_100_000, "检测报告明细不存在"); /*=================================resource 资源管理 1_032_150_000 ~ 1_032_199_999 ==================================*/ ErrorCode DEVICE_INFOMATION_NOT_EXISTS = new ErrorCode(1_032_150_000, "设备_设备信息不存在"); diff --git a/zt-module-qms/zt-module-qms-api/src/main/java/com/zt/plat/module/qms/enums/QmsCommonConstant.java b/zt-module-qms/zt-module-qms-api/src/main/java/com/zt/plat/module/qms/enums/QmsCommonConstant.java new file mode 100644 index 0000000..ac7ee9a --- /dev/null +++ b/zt-module-qms/zt-module-qms-api/src/main/java/com/zt/plat/module/qms/enums/QmsCommonConstant.java @@ -0,0 +1,83 @@ +package com.zt.plat.module.qms.enums; + +/** + * QmsCommonConstant + *

+ * 更新历史: + *

 版本         更新时间            更新者        更新内容
+ * V1.0 2025年9月24日 wxr Add
+ * Copyright (C) 云南志者竟成科技有限公司 + *

+ * @author 王兴荣 + * @version V1.0 + * @since 2025年9月24日 + */ +public interface QmsCommonConstant { + + /** 是 **/ + Integer YES = 1; + + /** 否 **/ + Integer NO = 0; + + /** 成功 **/ + String SUCCESS = "success"; + + /** 失败 **/ + String FAILURE = "failure"; + + /** 已失败 **/ + String FAILED = "failed"; + + /** 正常 **/ + String NORMAL = "normal"; + + /** 隔离 **/ + String ISOLATION = "isolation"; + + /** 进行中 **/ + String IN_PROGRESS = "in_progress"; + + /** 提交 **/ + String SUBMIT = "submit"; + + /** 已提交 **/ + String SUBMITTED = "submitted"; + + /** 未开始 **/ + String NOT_START = "not_start"; + + /** 待处理 **/ + String PENDING = "pending"; + + /** 退回 **/ + String RETURN = "return"; + + /** 已退回 **/ + String RETURNED = "returned"; + + /** 同意 **/ + String APPROVE = "approve"; + + /** 已同意 **/ + String APPROVED = "approved"; + + /** 驳回 **/ + String REJECT = "reject"; + + /** 已驳回 **/ + String REJECTED = "rejected"; + + /** 作废 **/ + String VOID = "void"; + + /** 已完成 **/ + String COMPLETED = "completed"; + + /** 委托登记 **/ + String ENTRUST_REGISTRATION = "entrust_registration"; + + /** 检验委托 **/ + String ENTRUST_INSPECTION = "entrust_inspection"; + +} diff --git a/zt-module-qms/zt-module-qms-server/pom.xml b/zt-module-qms/zt-module-qms-server/pom.xml index ffde40c..97e6b34 100644 --- a/zt-module-qms/zt-module-qms-server/pom.xml +++ b/zt-module-qms/zt-module-qms-server/pom.xml @@ -189,11 +189,11 @@ - - - - - + + tech.zzjc.tio + zzjc-tio-spring-boot-starter + ${zzjc.tio.version} + diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/QmsServerApplication.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/QmsServerApplication.java deleted file mode 100644 index c328170..0000000 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/QmsServerApplication.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.zt.plat.module.qms; - -import org.springframework.boot.SpringApplication; -import org.springframework.boot.autoconfigure.SpringBootApplication; - -/** - * 项目的启动类 - */ -@SpringBootApplication -public class QmsServerApplication { - - public static void main(String[] args) { - SpringApplication.run(QmsServerApplication.class, args); - } - -} diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessAssayProjectDataController.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessAssayProjectDataController.java index 49b0b90..22318b6 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessAssayProjectDataController.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessAssayProjectDataController.java @@ -1,5 +1,8 @@ package com.zt.plat.module.qms.business.bus.controller.admin; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessAssayProjectDataPageReqVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessAssayProjectDataRespVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessAssayProjectDataSaveReqVO; import org.springframework.web.bind.annotation.*; import jakarta.annotation.Resource; import org.springframework.validation.annotation.Validated; @@ -10,7 +13,6 @@ import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.Operation; -import jakarta.validation.constraints.*; import jakarta.validation.*; import jakarta.servlet.http.*; import java.util.*; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessAssayReportDataController.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessAssayReportDataController.java new file mode 100644 index 0000000..9eee3be --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessAssayReportDataController.java @@ -0,0 +1,108 @@ +package com.zt.plat.module.qms.business.bus.controller.admin; + +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessAssayReportDataPageReqVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessAssayReportDataRespVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessAssayReportDataSaveReqVO; +import org.springframework.web.bind.annotation.*; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.security.access.prepost.PreAuthorize; +import com.zt.plat.framework.business.interceptor.BusinessControllerMarker; + +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Operation; + +import jakarta.validation.*; +import jakarta.servlet.http.*; +import java.util.*; +import java.io.IOException; + +import com.zt.plat.framework.common.pojo.vo.BatchDeleteReqVO; +import com.zt.plat.framework.common.pojo.PageParam; +import com.zt.plat.framework.common.pojo.PageResult; +import com.zt.plat.framework.common.pojo.CommonResult; +import com.zt.plat.framework.common.util.object.BeanUtils; +import static com.zt.plat.framework.common.pojo.CommonResult.success; + +import com.zt.plat.framework.excel.core.util.ExcelUtils; +import com.zt.plat.module.qms.business.bus.controller.vo.*; +import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayReportDataDO; +import com.zt.plat.module.qms.business.bus.service.BusinessAssayReportDataService; +import com.zt.plat.framework.apilog.core.annotation.ApiAccessLog; +import static com.zt.plat.framework.apilog.core.enums.OperateTypeEnum.*; + +@Tag(name = "管理后台 - 检测报表数据业务") +@RestController +@RequestMapping("/qms/business-assay-report-data") +@Validated +public class BusinessAssayReportDataController implements BusinessControllerMarker { + + + @Resource + private BusinessAssayReportDataService businessAssayReportDataService; + + @PostMapping("/create") + @Operation(summary = "创建检测报表数据业务") + @PreAuthorize("@ss.hasPermission('qms:business-assay-report-data:create')") + public CommonResult createBusinessAssayReportData(@Valid @RequestBody BusinessAssayReportDataSaveReqVO createReqVO) { + return success(businessAssayReportDataService.createBusinessAssayReportData(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新检测报表数据业务") + @PreAuthorize("@ss.hasPermission('qms:business-assay-report-data:update')") + public CommonResult updateBusinessAssayReportData(@Valid @RequestBody BusinessAssayReportDataSaveReqVO updateReqVO) { + businessAssayReportDataService.updateBusinessAssayReportData(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除检测报表数据业务") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('qms:business-assay-report-data:delete')") + public CommonResult deleteBusinessAssayReportData(@RequestParam("id") Long id) { + businessAssayReportDataService.deleteBusinessAssayReportData(id); + return success(true); + } + + @DeleteMapping("/delete-list") + @Parameter(name = "ids", description = "编号", required = true) + @Operation(summary = "批量删除检测报表数据业务") + @PreAuthorize("@ss.hasPermission('qms:business-assay-report-data:delete')") + public CommonResult deleteBusinessAssayReportDataList(@RequestBody BatchDeleteReqVO req) { + businessAssayReportDataService.deleteBusinessAssayReportDataListByIds(req.getIds()); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得检测报表数据业务") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('qms:business-assay-report-data:query')") + public CommonResult getBusinessAssayReportData(@RequestParam("id") Long id) { + BusinessAssayReportDataDO businessAssayReportData = businessAssayReportDataService.getBusinessAssayReportData(id); + return success(BeanUtils.toBean(businessAssayReportData, BusinessAssayReportDataRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得检测报表数据业务分页") + @PreAuthorize("@ss.hasPermission('qms:business-assay-report-data:query')") + public CommonResult> getBusinessAssayReportDataPage(@Valid BusinessAssayReportDataPageReqVO pageReqVO) { + PageResult pageResult = businessAssayReportDataService.getBusinessAssayReportDataPage(pageReqVO); + return success(BeanUtils.toBean(pageResult, BusinessAssayReportDataRespVO.class)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出检测报表数据业务 Excel") + @PreAuthorize("@ss.hasPermission('qms:business-assay-report-data:export')") + @ApiAccessLog(operateType = EXPORT) + public void exportBusinessAssayReportDataExcel(@Valid BusinessAssayReportDataPageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = businessAssayReportDataService.getBusinessAssayReportDataPage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "检测报表数据业务.xls", "数据", BusinessAssayReportDataRespVO.class, + BeanUtils.toBean(list, BusinessAssayReportDataRespVO.class)); + } + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessAssayTaskController.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessAssayTaskController.java new file mode 100644 index 0000000..664eb9d --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessAssayTaskController.java @@ -0,0 +1,109 @@ +package com.zt.plat.module.qms.business.bus.controller.admin; + +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessAssayTaskExtendRespVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessAssayTaskPageReqVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessAssayTaskRespVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessAssayTaskSaveReqVO; +import org.springframework.web.bind.annotation.*; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.security.access.prepost.PreAuthorize; +import com.zt.plat.framework.business.interceptor.BusinessControllerMarker; + +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Operation; + +import jakarta.validation.*; +import jakarta.servlet.http.*; +import java.util.*; +import java.io.IOException; + +import com.zt.plat.framework.common.pojo.vo.BatchDeleteReqVO; +import com.zt.plat.framework.common.pojo.PageParam; +import com.zt.plat.framework.common.pojo.PageResult; +import com.zt.plat.framework.common.pojo.CommonResult; +import com.zt.plat.framework.common.util.object.BeanUtils; +import static com.zt.plat.framework.common.pojo.CommonResult.success; + +import com.zt.plat.framework.excel.core.util.ExcelUtils; +import com.zt.plat.module.qms.business.bus.controller.vo.*; +import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayTaskDO; +import com.zt.plat.module.qms.business.bus.service.BusinessAssayTaskService; +import com.zt.plat.framework.apilog.core.annotation.ApiAccessLog; +import static com.zt.plat.framework.apilog.core.enums.OperateTypeEnum.*; + +@Tag(name = "管理后台 - 检测任务分配业务") +@RestController +@RequestMapping("/qms/business-assay-task") +@Validated +public class BusinessAssayTaskController implements BusinessControllerMarker { + + + @Resource + private BusinessAssayTaskService businessAssayTaskService; + + @PostMapping("/create") + @Operation(summary = "创建检测任务分配业务") + @PreAuthorize("@ss.hasPermission('qms:business-assay-task:create')") + public CommonResult createBusinessAssayTask(@Valid @RequestBody BusinessAssayTaskSaveReqVO createReqVO) { + return success(businessAssayTaskService.createBusinessAssayTask(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新检测任务分配业务") + @PreAuthorize("@ss.hasPermission('qms:business-assay-task:update')") + public CommonResult updateBusinessAssayTask(@Valid @RequestBody BusinessAssayTaskSaveReqVO updateReqVO) { + businessAssayTaskService.updateBusinessAssayTask(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除检测任务分配业务") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('qms:business-assay-task:delete')") + public CommonResult deleteBusinessAssayTask(@RequestParam("id") Long id) { + businessAssayTaskService.deleteBusinessAssayTask(id); + return success(true); + } + + @DeleteMapping("/delete-list") + @Parameter(name = "ids", description = "编号", required = true) + @Operation(summary = "批量删除检测任务分配业务") + @PreAuthorize("@ss.hasPermission('qms:business-assay-task:delete')") + public CommonResult deleteBusinessAssayTaskList(@RequestBody BatchDeleteReqVO req) { + businessAssayTaskService.deleteBusinessAssayTaskListByIds(req.getIds()); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得检测任务分配业务") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('qms:business-assay-task:query')") + public CommonResult getBusinessAssayTask(@RequestParam("id") Long id) { + BusinessAssayTaskDO businessAssayTask = businessAssayTaskService.getBusinessAssayTask(id); + return success(BeanUtils.toBean(businessAssayTask, BusinessAssayTaskRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得检测任务分配业务分页") + @PreAuthorize("@ss.hasPermission('qms:business-assay-task:query')") + public CommonResult> getBusinessAssayTaskPage(@Valid BusinessAssayTaskPageReqVO pageReqVO) { + PageResult pageResult = businessAssayTaskService.getBusinessAssayTaskPage(pageReqVO); + return success(pageResult); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出检测任务分配业务 Excel") + @PreAuthorize("@ss.hasPermission('qms:business-assay-task:export')") + @ApiAccessLog(operateType = EXPORT) + public void exportBusinessAssayTaskExcel(@Valid BusinessAssayTaskPageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = businessAssayTaskService.getBusinessAssayTaskPage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "检测任务分配业务.xls", "数据", BusinessAssayTaskRespVO.class, + BeanUtils.toBean(list, BusinessAssayTaskRespVO.class)); + } + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessAssayTaskDataController.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessAssayTaskDataController.java index 50c1237..06de1d3 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessAssayTaskDataController.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessAssayTaskDataController.java @@ -1,5 +1,6 @@ package com.zt.plat.module.qms.business.bus.controller.admin; +import com.zt.plat.module.qms.business.bus.controller.vo.*; import org.springframework.web.bind.annotation.*; import jakarta.annotation.Resource; import org.springframework.validation.annotation.Validated; @@ -10,7 +11,6 @@ import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.Operation; -import jakarta.validation.constraints.*; import jakarta.validation.*; import jakarta.servlet.http.*; import java.util.*; @@ -85,11 +85,19 @@ public class BusinessAssayTaskDataController implements BusinessControllerMarker @GetMapping("/getUnAssayTaskGroupList") @Operation(summary = "获得未指派的子样检测任务业务分组列表") @PreAuthorize("@ss.hasPermission('qms:business-assay-task-data:query')") - public CommonResult getUnAssayTaskGroupList() { - List> list = businessAssayTaskDataService.getUnAssayTaskGroupList(); + public CommonResult getUnAssayTaskGroupList(BusinessAssayTaskDataReqVO reqVO) { + List list = businessAssayTaskDataService.getUnAssayTaskGroupList(reqVO); return success(list); } + @GetMapping("/getUnAuditTaskGroupList") + @Operation(summary = "获得未审核的子样检测任务业务分组列表") + @PreAuthorize("@ss.hasPermission('qms:business-assay-task-data:query')") + public CommonResult getUnAuditTaskGroupList(BusinessAssayTaskDataReqVO reqVO) { + List list = businessAssayTaskDataService.getUnAuditTaskGroupList(reqVO); + return success(list); + } + @GetMapping("/list") @Operation(summary = "获得子样检测任务业务列表") @PreAuthorize("@ss.hasPermission('qms:business-assay-task-data:query')") diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessAssayTaskDetailController.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessAssayTaskDetailController.java new file mode 100644 index 0000000..bb5c69a --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessAssayTaskDetailController.java @@ -0,0 +1,108 @@ +package com.zt.plat.module.qms.business.bus.controller.admin; + +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessAssayTaskDetailPageReqVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessAssayTaskDetailRespVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessAssayTaskDetailSaveReqVO; +import org.springframework.web.bind.annotation.*; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.security.access.prepost.PreAuthorize; +import com.zt.plat.framework.business.interceptor.BusinessControllerMarker; + +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Operation; + +import jakarta.validation.*; +import jakarta.servlet.http.*; +import java.util.*; +import java.io.IOException; + +import com.zt.plat.framework.common.pojo.vo.BatchDeleteReqVO; +import com.zt.plat.framework.common.pojo.PageParam; +import com.zt.plat.framework.common.pojo.PageResult; +import com.zt.plat.framework.common.pojo.CommonResult; +import com.zt.plat.framework.common.util.object.BeanUtils; +import static com.zt.plat.framework.common.pojo.CommonResult.success; + +import com.zt.plat.framework.excel.core.util.ExcelUtils; +import com.zt.plat.module.qms.business.bus.controller.vo.*; +import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayTaskDetailDO; +import com.zt.plat.module.qms.business.bus.service.BusinessAssayTaskDetailService; +import com.zt.plat.framework.apilog.core.annotation.ApiAccessLog; +import static com.zt.plat.framework.apilog.core.enums.OperateTypeEnum.*; + +@Tag(name = "管理后台 - 检测任务分配明细") +@RestController +@RequestMapping("/qms/business-assay-task-detail") +@Validated +public class BusinessAssayTaskDetailController implements BusinessControllerMarker { + + + @Resource + private BusinessAssayTaskDetailService businessAssayTaskDetailService; + + @PostMapping("/create") + @Operation(summary = "创建检测任务分配明细") + @PreAuthorize("@ss.hasPermission('qms:business-assay-task-detail:create')") + public CommonResult createBusinessAssayTaskDetail(@Valid @RequestBody BusinessAssayTaskDetailSaveReqVO createReqVO) { + return success(businessAssayTaskDetailService.createBusinessAssayTaskDetail(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新检测任务分配明细") + @PreAuthorize("@ss.hasPermission('qms:business-assay-task-detail:update')") + public CommonResult updateBusinessAssayTaskDetail(@Valid @RequestBody BusinessAssayTaskDetailSaveReqVO updateReqVO) { + businessAssayTaskDetailService.updateBusinessAssayTaskDetail(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除检测任务分配明细") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('qms:business-assay-task-detail:delete')") + public CommonResult deleteBusinessAssayTaskDetail(@RequestParam("id") Long id) { + businessAssayTaskDetailService.deleteBusinessAssayTaskDetail(id); + return success(true); + } + + @DeleteMapping("/delete-list") + @Parameter(name = "ids", description = "编号", required = true) + @Operation(summary = "批量删除检测任务分配明细") + @PreAuthorize("@ss.hasPermission('qms:business-assay-task-detail:delete')") + public CommonResult deleteBusinessAssayTaskDetailList(@RequestBody BatchDeleteReqVO req) { + businessAssayTaskDetailService.deleteBusinessAssayTaskDetailListByIds(req.getIds()); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得检测任务分配明细") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('qms:business-assay-task-detail:query')") + public CommonResult getBusinessAssayTaskDetail(@RequestParam("id") Long id) { + BusinessAssayTaskDetailDO businessAssayTaskDetail = businessAssayTaskDetailService.getBusinessAssayTaskDetail(id); + return success(BeanUtils.toBean(businessAssayTaskDetail, BusinessAssayTaskDetailRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得检测任务分配明细分页") + @PreAuthorize("@ss.hasPermission('qms:business-assay-task-detail:query')") + public CommonResult> getBusinessAssayTaskDetailPage(@Valid BusinessAssayTaskDetailPageReqVO pageReqVO) { + PageResult pageResult = businessAssayTaskDetailService.getBusinessAssayTaskDetailPage(pageReqVO); + return success(BeanUtils.toBean(pageResult, BusinessAssayTaskDetailRespVO.class)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出检测任务分配明细 Excel") + @PreAuthorize("@ss.hasPermission('qms:business-assay-task-detail:export')") + @ApiAccessLog(operateType = EXPORT) + public void exportBusinessAssayTaskDetailExcel(@Valid BusinessAssayTaskDetailPageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = businessAssayTaskDetailService.getBusinessAssayTaskDetailPage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "检测任务分配明细.xls", "数据", BusinessAssayTaskDetailRespVO.class, + BeanUtils.toBean(list, BusinessAssayTaskDetailRespVO.class)); + } + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessBaseSampleController.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessBaseSampleController.java index cdd96cd..f2545eb 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessBaseSampleController.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessBaseSampleController.java @@ -1,5 +1,8 @@ package com.zt.plat.module.qms.business.bus.controller.admin; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessBaseSamplePageReqVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessBaseSampleRespVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessBaseSampleSaveReqVO; import org.springframework.web.bind.annotation.*; import jakarta.annotation.Resource; import org.springframework.validation.annotation.Validated; @@ -10,7 +13,6 @@ import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.Operation; -import jakarta.validation.constraints.*; import jakarta.validation.*; import jakarta.servlet.http.*; import java.util.*; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessDocumentDataController.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessDocumentDataController.java new file mode 100644 index 0000000..f4292d2 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessDocumentDataController.java @@ -0,0 +1,108 @@ +package com.zt.plat.module.qms.business.bus.controller.admin; + +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessDocumentDataPageReqVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessDocumentDataRespVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessDocumentDataSaveReqVO; +import org.springframework.web.bind.annotation.*; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.security.access.prepost.PreAuthorize; +import com.zt.plat.framework.business.interceptor.BusinessControllerMarker; + +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Operation; + +import jakarta.validation.*; +import jakarta.servlet.http.*; +import java.util.*; +import java.io.IOException; + +import com.zt.plat.framework.common.pojo.vo.BatchDeleteReqVO; +import com.zt.plat.framework.common.pojo.PageParam; +import com.zt.plat.framework.common.pojo.PageResult; +import com.zt.plat.framework.common.pojo.CommonResult; +import com.zt.plat.framework.common.util.object.BeanUtils; +import static com.zt.plat.framework.common.pojo.CommonResult.success; + +import com.zt.plat.framework.excel.core.util.ExcelUtils; +import com.zt.plat.module.qms.business.bus.controller.vo.*; +import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessDocumentDataDO; +import com.zt.plat.module.qms.business.bus.service.BusinessDocumentDataService; +import com.zt.plat.framework.apilog.core.annotation.ApiAccessLog; +import static com.zt.plat.framework.apilog.core.enums.OperateTypeEnum.*; + +@Tag(name = "管理后台 - 检测报告明细") +@RestController +@RequestMapping("/qms/business-document-data") +@Validated +public class BusinessDocumentDataController implements BusinessControllerMarker { + + + @Resource + private BusinessDocumentDataService businessDocumentDataService; + + @PostMapping("/create") + @Operation(summary = "创建检测报告明细") + @PreAuthorize("@ss.hasPermission('qms:business-document-data:create')") + public CommonResult createBusinessDocumentData(@Valid @RequestBody BusinessDocumentDataSaveReqVO createReqVO) { + return success(businessDocumentDataService.createBusinessDocumentData(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新检测报告明细") + @PreAuthorize("@ss.hasPermission('qms:business-document-data:update')") + public CommonResult updateBusinessDocumentData(@Valid @RequestBody BusinessDocumentDataSaveReqVO updateReqVO) { + businessDocumentDataService.updateBusinessDocumentData(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除检测报告明细") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('qms:business-document-data:delete')") + public CommonResult deleteBusinessDocumentData(@RequestParam("id") Long id) { + businessDocumentDataService.deleteBusinessDocumentData(id); + return success(true); + } + + @DeleteMapping("/delete-list") + @Parameter(name = "ids", description = "编号", required = true) + @Operation(summary = "批量删除检测报告明细") + @PreAuthorize("@ss.hasPermission('qms:business-document-data:delete')") + public CommonResult deleteBusinessDocumentDataList(@RequestBody BatchDeleteReqVO req) { + businessDocumentDataService.deleteBusinessDocumentDataListByIds(req.getIds()); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得检测报告明细") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('qms:business-document-data:query')") + public CommonResult getBusinessDocumentData(@RequestParam("id") Long id) { + BusinessDocumentDataDO businessDocumentData = businessDocumentDataService.getBusinessDocumentData(id); + return success(BeanUtils.toBean(businessDocumentData, BusinessDocumentDataRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得检测报告明细分页") + @PreAuthorize("@ss.hasPermission('qms:business-document-data:query')") + public CommonResult> getBusinessDocumentDataPage(@Valid BusinessDocumentDataPageReqVO pageReqVO) { + PageResult pageResult = businessDocumentDataService.getBusinessDocumentDataPage(pageReqVO); + return success(BeanUtils.toBean(pageResult, BusinessDocumentDataRespVO.class)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出检测报告明细 Excel") + @PreAuthorize("@ss.hasPermission('qms:business-document-data:export')") + @ApiAccessLog(operateType = EXPORT) + public void exportBusinessDocumentDataExcel(@Valid BusinessDocumentDataPageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = businessDocumentDataService.getBusinessDocumentDataPage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "检测报告明细.xls", "数据", BusinessDocumentDataRespVO.class, + BeanUtils.toBean(list, BusinessDocumentDataRespVO.class)); + } + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessDocumentMainController.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessDocumentMainController.java new file mode 100644 index 0000000..fa5fafc --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessDocumentMainController.java @@ -0,0 +1,108 @@ +package com.zt.plat.module.qms.business.bus.controller.admin; + +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessDocumentMainPageReqVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessDocumentMainRespVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessDocumentMainSaveReqVO; +import org.springframework.web.bind.annotation.*; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.security.access.prepost.PreAuthorize; +import com.zt.plat.framework.business.interceptor.BusinessControllerMarker; + +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Operation; + +import jakarta.validation.*; +import jakarta.servlet.http.*; +import java.util.*; +import java.io.IOException; + +import com.zt.plat.framework.common.pojo.vo.BatchDeleteReqVO; +import com.zt.plat.framework.common.pojo.PageParam; +import com.zt.plat.framework.common.pojo.PageResult; +import com.zt.plat.framework.common.pojo.CommonResult; +import com.zt.plat.framework.common.util.object.BeanUtils; +import static com.zt.plat.framework.common.pojo.CommonResult.success; + +import com.zt.plat.framework.excel.core.util.ExcelUtils; +import com.zt.plat.module.qms.business.bus.controller.vo.*; +import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessDocumentMainDO; +import com.zt.plat.module.qms.business.bus.service.BusinessDocumentMainService; +import com.zt.plat.framework.apilog.core.annotation.ApiAccessLog; +import static com.zt.plat.framework.apilog.core.enums.OperateTypeEnum.*; + +@Tag(name = "管理后台 - 检测报告业务") +@RestController +@RequestMapping("/qms/business-document-main") +@Validated +public class BusinessDocumentMainController implements BusinessControllerMarker { + + + @Resource + private BusinessDocumentMainService businessDocumentMainService; + + @PostMapping("/create") + @Operation(summary = "创建检测报告业务") + @PreAuthorize("@ss.hasPermission('qms:business-document-main:create')") + public CommonResult createBusinessDocumentMain(@Valid @RequestBody BusinessDocumentMainSaveReqVO createReqVO) { + return success(businessDocumentMainService.createBusinessDocumentMain(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新检测报告业务") + @PreAuthorize("@ss.hasPermission('qms:business-document-main:update')") + public CommonResult updateBusinessDocumentMain(@Valid @RequestBody BusinessDocumentMainSaveReqVO updateReqVO) { + businessDocumentMainService.updateBusinessDocumentMain(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除检测报告业务") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('qms:business-document-main:delete')") + public CommonResult deleteBusinessDocumentMain(@RequestParam("id") Long id) { + businessDocumentMainService.deleteBusinessDocumentMain(id); + return success(true); + } + + @DeleteMapping("/delete-list") + @Parameter(name = "ids", description = "编号", required = true) + @Operation(summary = "批量删除检测报告业务") + @PreAuthorize("@ss.hasPermission('qms:business-document-main:delete')") + public CommonResult deleteBusinessDocumentMainList(@RequestBody BatchDeleteReqVO req) { + businessDocumentMainService.deleteBusinessDocumentMainListByIds(req.getIds()); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得检测报告业务") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('qms:business-document-main:query')") + public CommonResult getBusinessDocumentMain(@RequestParam("id") Long id) { + BusinessDocumentMainDO businessDocumentMain = businessDocumentMainService.getBusinessDocumentMain(id); + return success(BeanUtils.toBean(businessDocumentMain, BusinessDocumentMainRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得检测报告业务分页") + @PreAuthorize("@ss.hasPermission('qms:business-document-main:query')") + public CommonResult> getBusinessDocumentMainPage(@Valid BusinessDocumentMainPageReqVO pageReqVO) { + PageResult pageResult = businessDocumentMainService.getBusinessDocumentMainPage(pageReqVO); + return success(BeanUtils.toBean(pageResult, BusinessDocumentMainRespVO.class)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出检测报告业务 Excel") + @PreAuthorize("@ss.hasPermission('qms:business-document-main:export')") + @ApiAccessLog(operateType = EXPORT) + public void exportBusinessDocumentMainExcel(@Valid BusinessDocumentMainPageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = businessDocumentMainService.getBusinessDocumentMainPage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "检测报告业务.xls", "数据", BusinessDocumentMainRespVO.class, + BeanUtils.toBean(list, BusinessDocumentMainRespVO.class)); + } + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessHandoverRecordSubController.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessHandoverRecordSubController.java index 0ce1d85..e6ea237 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessHandoverRecordSubController.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessHandoverRecordSubController.java @@ -1,5 +1,9 @@ package com.zt.plat.module.qms.business.bus.controller.admin; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessHandoverRecordSubExtendRespVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessHandoverRecordSubPageReqVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessHandoverRecordSubRespVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessHandoverRecordSubSaveReqVO; import org.springframework.web.bind.annotation.*; import jakarta.annotation.Resource; import org.springframework.validation.annotation.Validated; @@ -10,7 +14,6 @@ import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.Operation; -import jakarta.validation.constraints.*; import jakarta.validation.*; import jakarta.servlet.http.*; import java.util.*; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessQualityControlSampleProjectController.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessQualityControlSampleProjectController.java new file mode 100644 index 0000000..62642be --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessQualityControlSampleProjectController.java @@ -0,0 +1,108 @@ +package com.zt.plat.module.qms.business.bus.controller.admin; + +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessQualityControlSampleProjectPageReqVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessQualityControlSampleProjectRespVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessQualityControlSampleProjectSaveReqVO; +import org.springframework.web.bind.annotation.*; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.security.access.prepost.PreAuthorize; +import com.zt.plat.framework.business.interceptor.BusinessControllerMarker; + +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Operation; + +import jakarta.validation.*; +import jakarta.servlet.http.*; +import java.util.*; +import java.io.IOException; + +import com.zt.plat.framework.common.pojo.vo.BatchDeleteReqVO; +import com.zt.plat.framework.common.pojo.PageParam; +import com.zt.plat.framework.common.pojo.PageResult; +import com.zt.plat.framework.common.pojo.CommonResult; +import com.zt.plat.framework.common.util.object.BeanUtils; +import static com.zt.plat.framework.common.pojo.CommonResult.success; + +import com.zt.plat.framework.excel.core.util.ExcelUtils; +import com.zt.plat.module.qms.business.bus.controller.vo.*; +import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessQualityControlSampleProjectDO; +import com.zt.plat.module.qms.business.bus.service.BusinessQualityControlSampleProjectService; +import com.zt.plat.framework.apilog.core.annotation.ApiAccessLog; +import static com.zt.plat.framework.apilog.core.enums.OperateTypeEnum.*; + +@Tag(name = "管理后台 - 质控样检测项目业务") +@RestController +@RequestMapping("/qms/business-quality-control-sample-project") +@Validated +public class BusinessQualityControlSampleProjectController implements BusinessControllerMarker { + + + @Resource + private BusinessQualityControlSampleProjectService businessQualityControlSampleProjectService; + + @PostMapping("/create") + @Operation(summary = "创建质控样检测项目业务") + @PreAuthorize("@ss.hasPermission('qms:business-quality-control-sample-project:create')") + public CommonResult createBusinessQualityControlSampleProject(@Valid @RequestBody BusinessQualityControlSampleProjectSaveReqVO createReqVO) { + return success(businessQualityControlSampleProjectService.createBusinessQualityControlSampleProject(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新质控样检测项目业务") + @PreAuthorize("@ss.hasPermission('qms:business-quality-control-sample-project:update')") + public CommonResult updateBusinessQualityControlSampleProject(@Valid @RequestBody BusinessQualityControlSampleProjectSaveReqVO updateReqVO) { + businessQualityControlSampleProjectService.updateBusinessQualityControlSampleProject(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除质控样检测项目业务") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('qms:business-quality-control-sample-project:delete')") + public CommonResult deleteBusinessQualityControlSampleProject(@RequestParam("id") Long id) { + businessQualityControlSampleProjectService.deleteBusinessQualityControlSampleProject(id); + return success(true); + } + + @DeleteMapping("/delete-list") + @Parameter(name = "ids", description = "编号", required = true) + @Operation(summary = "批量删除质控样检测项目业务") + @PreAuthorize("@ss.hasPermission('qms:business-quality-control-sample-project:delete')") + public CommonResult deleteBusinessQualityControlSampleProjectList(@RequestBody BatchDeleteReqVO req) { + businessQualityControlSampleProjectService.deleteBusinessQualityControlSampleProjectListByIds(req.getIds()); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得质控样检测项目业务") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('qms:business-quality-control-sample-project:query')") + public CommonResult getBusinessQualityControlSampleProject(@RequestParam("id") Long id) { + BusinessQualityControlSampleProjectDO businessQualityControlSampleProject = businessQualityControlSampleProjectService.getBusinessQualityControlSampleProject(id); + return success(BeanUtils.toBean(businessQualityControlSampleProject, BusinessQualityControlSampleProjectRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得质控样检测项目业务分页") + @PreAuthorize("@ss.hasPermission('qms:business-quality-control-sample-project:query')") + public CommonResult> getBusinessQualityControlSampleProjectPage(@Valid BusinessQualityControlSampleProjectPageReqVO pageReqVO) { + PageResult pageResult = businessQualityControlSampleProjectService.getBusinessQualityControlSampleProjectPage(pageReqVO); + return success(BeanUtils.toBean(pageResult, BusinessQualityControlSampleProjectRespVO.class)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出质控样检测项目业务 Excel") + @PreAuthorize("@ss.hasPermission('qms:business-quality-control-sample-project:export')") + @ApiAccessLog(operateType = EXPORT) + public void exportBusinessQualityControlSampleProjectExcel(@Valid BusinessQualityControlSampleProjectPageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = businessQualityControlSampleProjectService.getBusinessQualityControlSampleProjectPage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "质控样检测项目业务.xls", "数据", BusinessQualityControlSampleProjectRespVO.class, + BeanUtils.toBean(list, BusinessQualityControlSampleProjectRespVO.class)); + } + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessSampleAssayResultController.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessSampleAssayResultController.java index 8917611..9ef10f7 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessSampleAssayResultController.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessSampleAssayResultController.java @@ -1,5 +1,8 @@ package com.zt.plat.module.qms.business.bus.controller.admin; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSampleAssayResultPageReqVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSampleAssayResultRespVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSampleAssayResultSaveReqVO; import org.springframework.web.bind.annotation.*; import jakarta.annotation.Resource; import org.springframework.validation.annotation.Validated; @@ -10,7 +13,6 @@ import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.Operation; -import jakarta.validation.constraints.*; import jakarta.validation.*; import jakarta.servlet.http.*; import java.util.*; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessSampleEntrustDetailController.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessSampleEntrustDetailController.java index 881c5bf..09bea7c 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessSampleEntrustDetailController.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessSampleEntrustDetailController.java @@ -1,5 +1,6 @@ package com.zt.plat.module.qms.business.bus.controller.admin; +import com.zt.plat.module.qms.business.bus.controller.vo.*; import org.springframework.web.bind.annotation.*; import jakarta.annotation.Resource; import org.springframework.validation.annotation.Validated; @@ -10,7 +11,6 @@ import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.Operation; -import jakarta.validation.constraints.*; import jakarta.validation.*; import jakarta.servlet.http.*; import java.util.*; @@ -82,14 +82,21 @@ public class BusinessSampleEntrustDetailController implements BusinessController return success(BeanUtils.toBean(businessSampleEntrustDetail, BusinessSampleEntrustDetailRespVO.class)); } - + + @GetMapping("/list") + @Operation(summary = "获得委检登记样品明细列表") + @PreAuthorize("@ss.hasPermission('qms:business-sample-entrust-detail:query')") + public CommonResult> getBusinessSampleEntrustDetailList(@Valid BusinessSampleEntrustDetailReqVO reqVO) { + List listResult = businessSampleEntrustDetailService.getBusinessSampleEntrustDetailList(reqVO); + return success(listResult); + } @GetMapping("/page") @Operation(summary = "获得委检登记样品明细分页") @PreAuthorize("@ss.hasPermission('qms:business-sample-entrust-detail:query')") - public CommonResult> getBusinessSampleEntrustDetailPage(@Valid BusinessSampleEntrustDetailPageReqVO pageReqVO) { - PageResult pageResult = businessSampleEntrustDetailService.getBusinessSampleEntrustDetailPage(pageReqVO); - return success(BeanUtils.toBean(pageResult, BusinessSampleEntrustDetailRespVO.class)); + public CommonResult> getBusinessSampleEntrustDetailPage(@Valid BusinessSampleEntrustDetailPageReqVO pageReqVO) { + PageResult pageResult = businessSampleEntrustDetailService.getBusinessSampleEntrustDetailPage(pageReqVO); + return success(pageResult); } @GetMapping("/export-excel") @@ -99,7 +106,7 @@ public class BusinessSampleEntrustDetailController implements BusinessController public void exportBusinessSampleEntrustDetailExcel(@Valid BusinessSampleEntrustDetailPageReqVO pageReqVO, HttpServletResponse response) throws IOException { pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); - List list = businessSampleEntrustDetailService.getBusinessSampleEntrustDetailPage(pageReqVO).getList(); + List list = businessSampleEntrustDetailService.getBusinessSampleEntrustDetailPage(pageReqVO).getList(); // 导出 Excel ExcelUtils.write(response, "委检登记样品明细.xls", "数据", BusinessSampleEntrustDetailRespVO.class, BeanUtils.toBean(list, BusinessSampleEntrustDetailRespVO.class)); diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessSampleEntrustProjectController.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessSampleEntrustProjectController.java index 83e3d4a..c2e8af1 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessSampleEntrustProjectController.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessSampleEntrustProjectController.java @@ -1,5 +1,8 @@ package com.zt.plat.module.qms.business.bus.controller.admin; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSampleEntrustProjectPageReqVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSampleEntrustProjectRespVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSampleEntrustProjectSaveReqVO; import org.springframework.web.bind.annotation.*; import jakarta.annotation.Resource; import org.springframework.validation.annotation.Validated; @@ -10,7 +13,6 @@ import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.Operation; -import jakarta.validation.constraints.*; import jakarta.validation.*; import jakarta.servlet.http.*; import java.util.*; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessSampleEntrustRegistrationController.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessSampleEntrustRegistrationController.java index 4a47beb..cc65ffa 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessSampleEntrustRegistrationController.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessSampleEntrustRegistrationController.java @@ -1,5 +1,9 @@ package com.zt.plat.module.qms.business.bus.controller.admin; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSampleEntrustRegistrationExtendRespVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSampleEntrustRegistrationPageReqVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSampleEntrustRegistrationRespVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSampleEntrustRegistrationSaveReqVO; import org.springframework.web.bind.annotation.*; import jakarta.annotation.Resource; import org.springframework.validation.annotation.Validated; @@ -10,7 +14,6 @@ import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.Operation; -import jakarta.validation.constraints.*; import jakarta.validation.*; import jakarta.servlet.http.*; import java.util.*; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessSampleHandoverController.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessSampleHandoverController.java index 50bb50c..8e62b8e 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessSampleHandoverController.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessSampleHandoverController.java @@ -1,5 +1,8 @@ package com.zt.plat.module.qms.business.bus.controller.admin; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSampleHandoverPageReqVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSampleHandoverRespVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSampleHandoverSaveReqVO; import org.springframework.web.bind.annotation.*; import jakarta.annotation.Resource; import org.springframework.validation.annotation.Validated; @@ -10,7 +13,6 @@ import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.Operation; -import jakarta.validation.constraints.*; import jakarta.validation.*; import jakarta.servlet.http.*; import java.util.*; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessSampleHandoverDetailController.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessSampleHandoverDetailController.java index 69edad6..c322284 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessSampleHandoverDetailController.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessSampleHandoverDetailController.java @@ -1,5 +1,8 @@ package com.zt.plat.module.qms.business.bus.controller.admin; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSampleHandoverDetailPageReqVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSampleHandoverDetailRespVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSampleHandoverDetailSaveReqVO; import org.springframework.web.bind.annotation.*; import jakarta.annotation.Resource; import org.springframework.validation.annotation.Validated; @@ -10,7 +13,6 @@ import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.Operation; -import jakarta.validation.constraints.*; import jakarta.validation.*; import jakarta.servlet.http.*; import java.util.*; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessStandardSampleController.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessStandardSampleController.java new file mode 100644 index 0000000..92b9a37 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessStandardSampleController.java @@ -0,0 +1,108 @@ +package com.zt.plat.module.qms.business.bus.controller.admin; + +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessStandardSamplePageReqVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessStandardSampleRespVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessStandardSampleSaveReqVO; +import org.springframework.web.bind.annotation.*; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.security.access.prepost.PreAuthorize; +import com.zt.plat.framework.business.interceptor.BusinessControllerMarker; + +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Operation; + +import jakarta.validation.*; +import jakarta.servlet.http.*; +import java.util.*; +import java.io.IOException; + +import com.zt.plat.framework.common.pojo.vo.BatchDeleteReqVO; +import com.zt.plat.framework.common.pojo.PageParam; +import com.zt.plat.framework.common.pojo.PageResult; +import com.zt.plat.framework.common.pojo.CommonResult; +import com.zt.plat.framework.common.util.object.BeanUtils; +import static com.zt.plat.framework.common.pojo.CommonResult.success; + +import com.zt.plat.framework.excel.core.util.ExcelUtils; +import com.zt.plat.module.qms.business.bus.controller.vo.*; +import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessStandardSampleDO; +import com.zt.plat.module.qms.business.bus.service.BusinessStandardSampleService; +import com.zt.plat.framework.apilog.core.annotation.ApiAccessLog; +import static com.zt.plat.framework.apilog.core.enums.OperateTypeEnum.*; + +@Tag(name = "管理后台 - 标准样业务") +@RestController +@RequestMapping("/qms/business-standard-sample") +@Validated +public class BusinessStandardSampleController implements BusinessControllerMarker { + + + @Resource + private BusinessStandardSampleService businessStandardSampleService; + + @PostMapping("/create") + @Operation(summary = "创建标准样业务") + @PreAuthorize("@ss.hasPermission('qms:business-standard-sample:create')") + public CommonResult createBusinessStandardSample(@Valid @RequestBody BusinessStandardSampleSaveReqVO createReqVO) { + return success(businessStandardSampleService.createBusinessStandardSample(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新标准样业务") + @PreAuthorize("@ss.hasPermission('qms:business-standard-sample:update')") + public CommonResult updateBusinessStandardSample(@Valid @RequestBody BusinessStandardSampleSaveReqVO updateReqVO) { + businessStandardSampleService.updateBusinessStandardSample(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除标准样业务") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('qms:business-standard-sample:delete')") + public CommonResult deleteBusinessStandardSample(@RequestParam("id") Long id) { + businessStandardSampleService.deleteBusinessStandardSample(id); + return success(true); + } + + @DeleteMapping("/delete-list") + @Parameter(name = "ids", description = "编号", required = true) + @Operation(summary = "批量删除标准样业务") + @PreAuthorize("@ss.hasPermission('qms:business-standard-sample:delete')") + public CommonResult deleteBusinessStandardSampleList(@RequestBody BatchDeleteReqVO req) { + businessStandardSampleService.deleteBusinessStandardSampleListByIds(req.getIds()); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得标准样业务") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('qms:business-standard-sample:query')") + public CommonResult getBusinessStandardSample(@RequestParam("id") Long id) { + BusinessStandardSampleDO businessStandardSample = businessStandardSampleService.getBusinessStandardSample(id); + return success(BeanUtils.toBean(businessStandardSample, BusinessStandardSampleRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得标准样业务分页") + @PreAuthorize("@ss.hasPermission('qms:business-standard-sample:query')") + public CommonResult> getBusinessStandardSamplePage(@Valid BusinessStandardSamplePageReqVO pageReqVO) { + PageResult pageResult = businessStandardSampleService.getBusinessStandardSamplePage(pageReqVO); + return success(BeanUtils.toBean(pageResult, BusinessStandardSampleRespVO.class)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出标准样业务 Excel") + @PreAuthorize("@ss.hasPermission('qms:business-standard-sample:export')") + @ApiAccessLog(operateType = EXPORT) + public void exportBusinessStandardSampleExcel(@Valid BusinessStandardSamplePageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = businessStandardSampleService.getBusinessStandardSamplePage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "标准样业务.xls", "数据", BusinessStandardSampleRespVO.class, + BeanUtils.toBean(list, BusinessStandardSampleRespVO.class)); + } + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessStandardSampleProjectController.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessStandardSampleProjectController.java new file mode 100644 index 0000000..91942ad --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessStandardSampleProjectController.java @@ -0,0 +1,108 @@ +package com.zt.plat.module.qms.business.bus.controller.admin; + +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessStandardSampleProjectPageReqVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessStandardSampleProjectRespVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessStandardSampleProjectSaveReqVO; +import org.springframework.web.bind.annotation.*; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.security.access.prepost.PreAuthorize; +import com.zt.plat.framework.business.interceptor.BusinessControllerMarker; + +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Operation; + +import jakarta.validation.*; +import jakarta.servlet.http.*; +import java.util.*; +import java.io.IOException; + +import com.zt.plat.framework.common.pojo.vo.BatchDeleteReqVO; +import com.zt.plat.framework.common.pojo.PageParam; +import com.zt.plat.framework.common.pojo.PageResult; +import com.zt.plat.framework.common.pojo.CommonResult; +import com.zt.plat.framework.common.util.object.BeanUtils; +import static com.zt.plat.framework.common.pojo.CommonResult.success; + +import com.zt.plat.framework.excel.core.util.ExcelUtils; +import com.zt.plat.module.qms.business.bus.controller.vo.*; +import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessStandardSampleProjectDO; +import com.zt.plat.module.qms.business.bus.service.BusinessStandardSampleProjectService; +import com.zt.plat.framework.apilog.core.annotation.ApiAccessLog; +import static com.zt.plat.framework.apilog.core.enums.OperateTypeEnum.*; + +@Tag(name = "管理后台 - 标准样检测项目业务") +@RestController +@RequestMapping("/qms/business-standard-sample-project") +@Validated +public class BusinessStandardSampleProjectController implements BusinessControllerMarker { + + + @Resource + private BusinessStandardSampleProjectService businessStandardSampleProjectService; + + @PostMapping("/create") + @Operation(summary = "创建标准样检测项目业务") + @PreAuthorize("@ss.hasPermission('qms:business-standard-sample-project:create')") + public CommonResult createBusinessStandardSampleProject(@Valid @RequestBody BusinessStandardSampleProjectSaveReqVO createReqVO) { + return success(businessStandardSampleProjectService.createBusinessStandardSampleProject(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新标准样检测项目业务") + @PreAuthorize("@ss.hasPermission('qms:business-standard-sample-project:update')") + public CommonResult updateBusinessStandardSampleProject(@Valid @RequestBody BusinessStandardSampleProjectSaveReqVO updateReqVO) { + businessStandardSampleProjectService.updateBusinessStandardSampleProject(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除标准样检测项目业务") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('qms:business-standard-sample-project:delete')") + public CommonResult deleteBusinessStandardSampleProject(@RequestParam("id") Long id) { + businessStandardSampleProjectService.deleteBusinessStandardSampleProject(id); + return success(true); + } + + @DeleteMapping("/delete-list") + @Parameter(name = "ids", description = "编号", required = true) + @Operation(summary = "批量删除标准样检测项目业务") + @PreAuthorize("@ss.hasPermission('qms:business-standard-sample-project:delete')") + public CommonResult deleteBusinessStandardSampleProjectList(@RequestBody BatchDeleteReqVO req) { + businessStandardSampleProjectService.deleteBusinessStandardSampleProjectListByIds(req.getIds()); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得标准样检测项目业务") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('qms:business-standard-sample-project:query')") + public CommonResult getBusinessStandardSampleProject(@RequestParam("id") Long id) { + BusinessStandardSampleProjectDO businessStandardSampleProject = businessStandardSampleProjectService.getBusinessStandardSampleProject(id); + return success(BeanUtils.toBean(businessStandardSampleProject, BusinessStandardSampleProjectRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得标准样检测项目业务分页") + @PreAuthorize("@ss.hasPermission('qms:business-standard-sample-project:query')") + public CommonResult> getBusinessStandardSampleProjectPage(@Valid BusinessStandardSampleProjectPageReqVO pageReqVO) { + PageResult pageResult = businessStandardSampleProjectService.getBusinessStandardSampleProjectPage(pageReqVO); + return success(BeanUtils.toBean(pageResult, BusinessStandardSampleProjectRespVO.class)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出标准样检测项目业务 Excel") + @PreAuthorize("@ss.hasPermission('qms:business-standard-sample-project:export')") + @ApiAccessLog(operateType = EXPORT) + public void exportBusinessStandardSampleProjectExcel(@Valid BusinessStandardSampleProjectPageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = businessStandardSampleProjectService.getBusinessStandardSampleProjectPage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "标准样检测项目业务.xls", "数据", BusinessStandardSampleProjectRespVO.class, + BeanUtils.toBean(list, BusinessStandardSampleProjectRespVO.class)); + } + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessSubParentSampleController.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessSubParentSampleController.java index c5a0df9..d0cc766 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessSubParentSampleController.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessSubParentSampleController.java @@ -1,5 +1,8 @@ package com.zt.plat.module.qms.business.bus.controller.admin; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSubParentSamplePageReqVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSubParentSampleRespVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSubParentSampleSaveReqVO; import org.springframework.web.bind.annotation.*; import jakarta.annotation.Resource; import org.springframework.validation.annotation.Validated; @@ -10,7 +13,6 @@ import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.Operation; -import jakarta.validation.constraints.*; import jakarta.validation.*; import jakarta.servlet.http.*; import java.util.*; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessSubSampleAnalysisGroupController.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessSubSampleAnalysisGroupController.java new file mode 100644 index 0000000..37ead9b --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessSubSampleAnalysisGroupController.java @@ -0,0 +1,108 @@ +package com.zt.plat.module.qms.business.bus.controller.admin; + +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSubSampleAnalysisGroupPageReqVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSubSampleAnalysisGroupRespVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSubSampleAnalysisGroupSaveReqVO; +import org.springframework.web.bind.annotation.*; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.security.access.prepost.PreAuthorize; +import com.zt.plat.framework.business.interceptor.BusinessControllerMarker; + +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Operation; + +import jakarta.validation.*; +import jakarta.servlet.http.*; +import java.util.*; +import java.io.IOException; + +import com.zt.plat.framework.common.pojo.vo.BatchDeleteReqVO; +import com.zt.plat.framework.common.pojo.PageParam; +import com.zt.plat.framework.common.pojo.PageResult; +import com.zt.plat.framework.common.pojo.CommonResult; +import com.zt.plat.framework.common.util.object.BeanUtils; +import static com.zt.plat.framework.common.pojo.CommonResult.success; + +import com.zt.plat.framework.excel.core.util.ExcelUtils; +import com.zt.plat.module.qms.business.bus.controller.vo.*; +import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSubSampleAnalysisGroupDO; +import com.zt.plat.module.qms.business.bus.service.BusinessSubSampleAnalysisGroupService; +import com.zt.plat.framework.apilog.core.annotation.ApiAccessLog; +import static com.zt.plat.framework.apilog.core.enums.OperateTypeEnum.*; + +@Tag(name = "管理后台 - 子样分析班组业务") +@RestController +@RequestMapping("/qms/business-sub-sample-analysis-group") +@Validated +public class BusinessSubSampleAnalysisGroupController implements BusinessControllerMarker { + + + @Resource + private BusinessSubSampleAnalysisGroupService businessSubSampleAnalysisGroupService; + + @PostMapping("/create") + @Operation(summary = "创建子样分析班组业务") + @PreAuthorize("@ss.hasPermission('qms:business-sub-sample-analysis-group:create')") + public CommonResult createBusinessSubSampleAnalysisGroup(@Valid @RequestBody BusinessSubSampleAnalysisGroupSaveReqVO createReqVO) { + return success(businessSubSampleAnalysisGroupService.createBusinessSubSampleAnalysisGroup(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新子样分析班组业务") + @PreAuthorize("@ss.hasPermission('qms:business-sub-sample-analysis-group:update')") + public CommonResult updateBusinessSubSampleAnalysisGroup(@Valid @RequestBody BusinessSubSampleAnalysisGroupSaveReqVO updateReqVO) { + businessSubSampleAnalysisGroupService.updateBusinessSubSampleAnalysisGroup(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除子样分析班组业务") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('qms:business-sub-sample-analysis-group:delete')") + public CommonResult deleteBusinessSubSampleAnalysisGroup(@RequestParam("id") Long id) { + businessSubSampleAnalysisGroupService.deleteBusinessSubSampleAnalysisGroup(id); + return success(true); + } + + @DeleteMapping("/delete-list") + @Parameter(name = "ids", description = "编号", required = true) + @Operation(summary = "批量删除子样分析班组业务") + @PreAuthorize("@ss.hasPermission('qms:business-sub-sample-analysis-group:delete')") + public CommonResult deleteBusinessSubSampleAnalysisGroupList(@RequestBody BatchDeleteReqVO req) { + businessSubSampleAnalysisGroupService.deleteBusinessSubSampleAnalysisGroupListByIds(req.getIds()); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得子样分析班组业务") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('qms:business-sub-sample-analysis-group:query')") + public CommonResult getBusinessSubSampleAnalysisGroup(@RequestParam("id") Long id) { + BusinessSubSampleAnalysisGroupDO businessSubSampleAnalysisGroup = businessSubSampleAnalysisGroupService.getBusinessSubSampleAnalysisGroup(id); + return success(BeanUtils.toBean(businessSubSampleAnalysisGroup, BusinessSubSampleAnalysisGroupRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得子样分析班组业务分页") + @PreAuthorize("@ss.hasPermission('qms:business-sub-sample-analysis-group:query')") + public CommonResult> getBusinessSubSampleAnalysisGroupPage(@Valid BusinessSubSampleAnalysisGroupPageReqVO pageReqVO) { + PageResult pageResult = businessSubSampleAnalysisGroupService.getBusinessSubSampleAnalysisGroupPage(pageReqVO); + return success(BeanUtils.toBean(pageResult, BusinessSubSampleAnalysisGroupRespVO.class)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出子样分析班组业务 Excel") + @PreAuthorize("@ss.hasPermission('qms:business-sub-sample-analysis-group:export')") + @ApiAccessLog(operateType = EXPORT) + public void exportBusinessSubSampleAnalysisGroupExcel(@Valid BusinessSubSampleAnalysisGroupPageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = businessSubSampleAnalysisGroupService.getBusinessSubSampleAnalysisGroupPage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "子样分析班组业务.xls", "数据", BusinessSubSampleAnalysisGroupRespVO.class, + BeanUtils.toBean(list, BusinessSubSampleAnalysisGroupRespVO.class)); + } + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessSubSampleAssessmentController.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessSubSampleAssessmentController.java index ade6c6d..41aa806 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessSubSampleAssessmentController.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessSubSampleAssessmentController.java @@ -1,5 +1,8 @@ package com.zt.plat.module.qms.business.bus.controller.admin; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSubSampleAssessmentPageReqVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSubSampleAssessmentRespVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSubSampleAssessmentSaveReqVO; import org.springframework.web.bind.annotation.*; import jakarta.annotation.Resource; import org.springframework.validation.annotation.Validated; @@ -10,7 +13,6 @@ import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.Operation; -import jakarta.validation.constraints.*; import jakarta.validation.*; import jakarta.servlet.http.*; import java.util.*; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessSubSampleController.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessSubSampleController.java index 74e0084..68e392f 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessSubSampleController.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessSubSampleController.java @@ -1,5 +1,6 @@ package com.zt.plat.module.qms.business.bus.controller.admin; +import com.zt.plat.module.qms.business.bus.controller.vo.*; import org.springframework.web.bind.annotation.*; import jakarta.annotation.Resource; import org.springframework.validation.annotation.Validated; @@ -10,7 +11,6 @@ import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.Operation; -import jakarta.validation.constraints.*; import jakarta.validation.*; import jakarta.servlet.http.*; import java.util.*; @@ -26,7 +26,9 @@ import static com.zt.plat.framework.common.pojo.CommonResult.success; import com.zt.plat.framework.excel.core.util.ExcelUtils; import com.zt.plat.module.qms.business.bus.controller.vo.*; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSubSampleDO; +import com.zt.plat.module.qms.business.bus.service.BusinessAssayTaskDataService; import com.zt.plat.module.qms.business.bus.service.BusinessSubSampleService; +import com.zt.plat.module.qms.enums.QmsCommonConstant; import com.zt.plat.framework.apilog.core.annotation.ApiAccessLog; import static com.zt.plat.framework.apilog.core.enums.OperateTypeEnum.*; @@ -39,6 +41,9 @@ public class BusinessSubSampleController implements BusinessControllerMarker { @Resource private BusinessSubSampleService businessSubSampleService; + + @Resource + private BusinessAssayTaskDataService businessAssayTaskDataService; @PostMapping("/create") @Operation(summary = "创建子样业务") @@ -97,6 +102,22 @@ public class BusinessSubSampleController implements BusinessControllerMarker { PageResult pageResult = businessSubSampleService.getBusinessSubSamplePage(pageReqVO); return success(pageResult); } + + @GetMapping("/page-task") + @Operation(summary = "获得子样业务分页") + @PreAuthorize("@ss.hasPermission('qms:business-sub-sample:query')") + public CommonResult> getBusinessSubSampleAndTaskPage(@Valid BusinessSubSamplePageReqVO pageReqVO) { + PageResult pageResult = businessSubSampleService.getBusinessSubSamplePage(pageReqVO); + List list = pageResult.getList(); + for (BusinessSubSampleExtendRespVO businessSubSampleExtendRespVO : list) { + BusinessAssayTaskDataReqVO search = new BusinessAssayTaskDataReqVO(); + search.setBusinessSubSampleId(businessSubSampleExtendRespVO.getId()); + search.setIsAssignTasked(QmsCommonConstant.NO); + List businessAssayTaskDataList = businessAssayTaskDataService.getBusinessAssayTaskDataList(search); + businessSubSampleExtendRespVO.setBusinessAssayTaskDataList(businessAssayTaskDataList); + } + return success(pageResult); + } @GetMapping("/getBySampleCodeAndFlowKey") @Operation(summary = "根据样品编号及样品流程节点key获取样品信息") diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessTeamAssessmentController.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessTeamAssessmentController.java new file mode 100644 index 0000000..127813c --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessTeamAssessmentController.java @@ -0,0 +1,108 @@ +package com.zt.plat.module.qms.business.bus.controller.admin; + +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessTeamAssessmentPageReqVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessTeamAssessmentRespVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessTeamAssessmentSaveReqVO; +import org.springframework.web.bind.annotation.*; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.security.access.prepost.PreAuthorize; +import com.zt.plat.framework.business.interceptor.BusinessControllerMarker; + +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Operation; + +import jakarta.validation.*; +import jakarta.servlet.http.*; +import java.util.*; +import java.io.IOException; + +import com.zt.plat.framework.common.pojo.vo.BatchDeleteReqVO; +import com.zt.plat.framework.common.pojo.PageParam; +import com.zt.plat.framework.common.pojo.PageResult; +import com.zt.plat.framework.common.pojo.CommonResult; +import com.zt.plat.framework.common.util.object.BeanUtils; +import static com.zt.plat.framework.common.pojo.CommonResult.success; + +import com.zt.plat.framework.excel.core.util.ExcelUtils; +import com.zt.plat.module.qms.business.bus.controller.vo.*; +import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessTeamAssessmentDO; +import com.zt.plat.module.qms.business.bus.service.BusinessTeamAssessmentService; +import com.zt.plat.framework.apilog.core.annotation.ApiAccessLog; +import static com.zt.plat.framework.apilog.core.enums.OperateTypeEnum.*; + +@Tag(name = "管理后台 - 班组判定数据业务") +@RestController +@RequestMapping("/qms/business-team-assessment") +@Validated +public class BusinessTeamAssessmentController implements BusinessControllerMarker { + + + @Resource + private BusinessTeamAssessmentService businessTeamAssessmentService; + + @PostMapping("/create") + @Operation(summary = "创建班组判定数据业务") + @PreAuthorize("@ss.hasPermission('qms:business-team-assessment:create')") + public CommonResult createBusinessTeamAssessment(@Valid @RequestBody BusinessTeamAssessmentSaveReqVO createReqVO) { + return success(businessTeamAssessmentService.createBusinessTeamAssessment(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新班组判定数据业务") + @PreAuthorize("@ss.hasPermission('qms:business-team-assessment:update')") + public CommonResult updateBusinessTeamAssessment(@Valid @RequestBody BusinessTeamAssessmentSaveReqVO updateReqVO) { + businessTeamAssessmentService.updateBusinessTeamAssessment(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除班组判定数据业务") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('qms:business-team-assessment:delete')") + public CommonResult deleteBusinessTeamAssessment(@RequestParam("id") Long id) { + businessTeamAssessmentService.deleteBusinessTeamAssessment(id); + return success(true); + } + + @DeleteMapping("/delete-list") + @Parameter(name = "ids", description = "编号", required = true) + @Operation(summary = "批量删除班组判定数据业务") + @PreAuthorize("@ss.hasPermission('qms:business-team-assessment:delete')") + public CommonResult deleteBusinessTeamAssessmentList(@RequestBody BatchDeleteReqVO req) { + businessTeamAssessmentService.deleteBusinessTeamAssessmentListByIds(req.getIds()); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得班组判定数据业务") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('qms:business-team-assessment:query')") + public CommonResult getBusinessTeamAssessment(@RequestParam("id") Long id) { + BusinessTeamAssessmentDO businessTeamAssessment = businessTeamAssessmentService.getBusinessTeamAssessment(id); + return success(BeanUtils.toBean(businessTeamAssessment, BusinessTeamAssessmentRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得班组判定数据业务分页") + @PreAuthorize("@ss.hasPermission('qms:business-team-assessment:query')") + public CommonResult> getBusinessTeamAssessmentPage(@Valid BusinessTeamAssessmentPageReqVO pageReqVO) { + PageResult pageResult = businessTeamAssessmentService.getBusinessTeamAssessmentPage(pageReqVO); + return success(BeanUtils.toBean(pageResult, BusinessTeamAssessmentRespVO.class)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出班组判定数据业务 Excel") + @PreAuthorize("@ss.hasPermission('qms:business-team-assessment:export')") + @ApiAccessLog(operateType = EXPORT) + public void exportBusinessTeamAssessmentExcel(@Valid BusinessTeamAssessmentPageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = businessTeamAssessmentService.getBusinessTeamAssessmentPage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "班组判定数据业务.xls", "数据", BusinessTeamAssessmentRespVO.class, + BeanUtils.toBean(list, BusinessTeamAssessmentRespVO.class)); + } + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/SampleAnalysisAuditController.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/SampleAnalysisAuditController.java new file mode 100644 index 0000000..f68c186 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/SampleAnalysisAuditController.java @@ -0,0 +1,36 @@ +package com.zt.plat.module.qms.business.bus.controller.admin; + +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import com.zt.plat.framework.common.pojo.CommonResult; +import com.zt.plat.module.qms.business.bus.service.SampleAnalysisAuditService; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.annotation.Resource; + +import static com.zt.plat.framework.common.pojo.CommonResult.success; + +/** + * 分析审核 + */ +@Tag(name = "管理后台 - 样品分析") +@RestController +@RequestMapping("/qms/bus/sample/analysis-audit") +@Validated +public class SampleAnalysisAuditController { + + @Resource + private SampleAnalysisAuditService sampleAnalysisAuditService; + + /** + * 交叉审核 + * @return + */ + @PostMapping("/crossAudit") + public CommonResult crossAudit(Long businessAssayTaskId, String auditStatus) { + sampleAnalysisAuditService.crossAuditByByTaskId(businessAssayTaskId, auditStatus); + return success("成功"); + } +} diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/SampleAnalysisController.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/SampleAnalysisController.java new file mode 100644 index 0000000..a345dda --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/SampleAnalysisController.java @@ -0,0 +1,49 @@ +package com.zt.plat.module.qms.business.bus.controller.admin; + +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.GetMapping; +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 com.zt.plat.framework.common.pojo.CommonResult; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessAssayTaskAnalysisSampleProjectRespVO; +import com.zt.plat.module.qms.business.bus.service.SampleAnalysisService; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.annotation.Resource; + +import static com.zt.plat.framework.common.pojo.CommonResult.success; + +/** + * 样品分析 + */ +@Tag(name = "管理后台 - 样品分析") +@RestController +@RequestMapping("/qms/bus/sample/analysis") +@Validated +public class SampleAnalysisController { + + @Resource + private SampleAnalysisService sampleAnalysisService ; + + @GetMapping("/batchSampleAnalysisByTaskId") + public CommonResult batchSampleAnalysisByTaskId(Long businessAssayTaskId) { + BusinessAssayTaskAnalysisSampleProjectRespVO businessAssayTaskAnalysisSampleProject = sampleAnalysisService.batchSampleAnalysisByTaskId(businessAssayTaskId); + return success(businessAssayTaskAnalysisSampleProject); + } + + @PostMapping("/saveBatchSampleAnalysis") + public CommonResult saveBatchSampleAnalysis(@RequestBody BusinessAssayTaskAnalysisSampleProjectRespVO vo) { + sampleAnalysisService.saveBatchSampleAnalysis(vo); + return success("成功"); + } + + + @PostMapping("/submitSampleAnalysisByTaskId") + public CommonResult submitSampleAnalysisByTaskId(Long businessAssayTaskId) { + sampleAnalysisService.submitSampleAnalysisByTaskId(businessAssayTaskId); + return success("成功"); + } + +} diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/SampleEntrustController.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/SampleEntrustController.java index 4ad0753..3530b91 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/SampleEntrustController.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/SampleEntrustController.java @@ -3,10 +3,8 @@ package com.zt.plat.module.qms.business.bus.controller.admin; import static com.zt.plat.framework.common.pojo.CommonResult.error; import static com.zt.plat.framework.common.pojo.CommonResult.success; -import java.time.LocalDateTime; -import java.util.ArrayList; -import java.util.List; - +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSampleEntrustRegistrationExtendRespVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSampleEntrustRegistrationSubmitReqVO; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.GetMapping; @@ -16,16 +14,12 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; -import com.alibaba.fastjson2.JSON; import com.yomahub.liteflow.core.FlowExecutor; import com.yomahub.liteflow.flow.LiteflowResponse; import com.zt.plat.framework.common.pojo.CommonResult; import com.zt.plat.framework.common.pojo.vo.BatchDeleteReqVO; -import com.zt.plat.framework.tenant.core.context.TenantContextHolder; import com.zt.plat.module.qms.business.bus.controller.vo.*; -import com.zt.plat.module.qms.business.bus.liteflow.param.SampleEntrustDetail; -import com.zt.plat.module.qms.business.bus.liteflow.param.SampleEntrustDetailProject; import com.zt.plat.module.qms.business.bus.liteflow.param.SampleEntrustParam; import com.zt.plat.module.qms.business.bus.liteflow.slot.SampleEntrustContext; import com.zt.plat.module.qms.business.bus.service.SampleEntrustService; @@ -103,71 +97,4 @@ public class SampleEntrustController { return success(true); } - @PostMapping("/test") - public CommonResult test() { - - Long tenantId = TenantContextHolder.getRequiredTenantId(); - - SampleEntrustDetail sampleEntrustDetail_1 = new SampleEntrustDetail(); - sampleEntrustDetail_1.setBaseSampleId(1000000000000000001L);//铜精矿(结算样) - sampleEntrustDetail_1.setDictionaryBusinessId(1965289473129664514L); - sampleEntrustDetail_1.setSampleName("铜精矿"); - sampleEntrustDetail_1.setEntrustSampleCode("SRC0001"); - sampleEntrustDetail_1.setEntrustSampleName("来样名称-铜精矿"); - sampleEntrustDetail_1.setSort(1); - sampleEntrustDetail_1.setAssayProject(""); - sampleEntrustDetail_1.setForecastResult(""); - sampleEntrustDetail_1.setRemark(""); - - List sampleEntrustDetailProjectList_1 = new ArrayList<>(); - SampleEntrustDetailProject sampleEntrustDetailProject_1_1 = new SampleEntrustDetailProject(); - sampleEntrustDetailProject_1_1.setMaterialAssayStandardDetailId(1000000000000000001L); - sampleEntrustDetailProject_1_1.setIsEnabled(1); - sampleEntrustDetailProjectList_1.add(sampleEntrustDetailProject_1_1); - sampleEntrustDetail_1.setSampleEntrustDetailProjectList(sampleEntrustDetailProjectList_1); - - SampleEntrustDetail sampleEntrustDetail_2 = new SampleEntrustDetail(); - sampleEntrustDetail_2.setBaseSampleId(1000000000000000001L);//铜精矿(结算样) - sampleEntrustDetail_2.setDictionaryBusinessId(1965289473129664514L); - sampleEntrustDetail_2.setSampleName("铜精矿"); - sampleEntrustDetail_2.setEntrustSampleCode("SRC0002"); - sampleEntrustDetail_2.setEntrustSampleName("来样名称-铜精矿"); - sampleEntrustDetail_2.setSort(2); - sampleEntrustDetail_2.setAssayProject(""); - sampleEntrustDetail_2.setForecastResult(""); - sampleEntrustDetail_2.setRemark(""); - - List sampleEntrustDetailProjectList_2 = new ArrayList<>(); - SampleEntrustDetailProject sampleEntrustDetailProject_2_1 = new SampleEntrustDetailProject(); - sampleEntrustDetailProject_2_1.setMaterialAssayStandardDetailId(1000000000000000001L); - sampleEntrustDetailProject_2_1.setIsEnabled(1); - sampleEntrustDetailProjectList_2.add(sampleEntrustDetailProject_2_1); - sampleEntrustDetail_2.setSampleEntrustDetailProjectList(sampleEntrustDetailProjectList_2); - - List sampleEntrustDetailList = new ArrayList<>(); - sampleEntrustDetailList.add(sampleEntrustDetail_1); - sampleEntrustDetailList.add(sampleEntrustDetail_2); - - - SampleEntrustParam sampleEntrustParam = new SampleEntrustParam(); - sampleEntrustParam.setId(1965960610828763137L); - sampleEntrustParam.setEntrustUnit("西南铜业"); - sampleEntrustParam.setSampleSender("送样人"); - sampleEntrustParam.setConfigEntrustSourceId(1000000000000000001L); - sampleEntrustParam.setSampleSendDate(LocalDateTime.now()); - sampleEntrustParam.setSampleQuantity(2); - sampleEntrustParam.setRemaineSampleRequirement("放弃1"); - sampleEntrustParam.setSampleEntrustDetailList(sampleEntrustDetailList); - - String jsonString = JSON.toJSONString(sampleEntrustParam); - System.out.println(jsonString); - - LiteflowResponse response = flowExecutor.execute2Resp("sampleEntrustChain" + tenantId, sampleEntrustParam, SampleEntrustContext.class); - if (response.isSuccess()) { - return success(response.getContextBean(SampleEntrustContext.class)); - } else { - return error(500, response.getMessage()); - } - //return success(FlowBus.getNodeMap()); - } } diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/SampleFlowController.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/SampleFlowController.java index 03f47fd..be7aadd 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/SampleFlowController.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/SampleFlowController.java @@ -47,4 +47,127 @@ public class SampleFlowController { return success(response.getContextBean(SampleFlowContext.class)); } + @GetMapping("/test") + public CommonResult test() { + + SampleFlowDefinition sampleFlowDefinition = new SampleFlowDefinition(); + sampleFlowDefinition.setFlowKey("flw_sub_sample_process"); + sampleFlowDefinition.setFlowName("子样样品流转流程"); + List flowNodeList = new ArrayList<>(); + + SampleFlowNode zxr = new SampleFlowNode(); + zxr.setNodeName("中心收样"); + zxr.setNodeKey("flw_zx_receive"); + zxr.setSort(3100); + + SampleFlowNode zxs = new SampleFlowNode(); + zxs.setNodeName("中心送样"); + zxs.setNodeKey("flw_zx_send"); + zxs.setSort(3200); + + SampleFlowNode bzr = new SampleFlowNode(); + bzr.setNodeName("班组收样"); + bzr.setNodeKey("flw_bz_receive"); + bzr.setSort(3300); + + SampleFlowNode ypbm = new SampleFlowNode(); + ypbm.setNodeName("样品编密"); + ypbm.setNodeKey("flw_ypbm"); + ypbm.setSort(3400); + + SampleFlowNode fxr = new SampleFlowNode(); + fxr.setNodeName("分析收样"); + fxr.setNodeKey("flw_fx_receive"); + fxr.setSort(3500); + + SampleFlowNode fxs = new SampleFlowNode(); + fxs.setNodeName("分析送样"); + fxs.setNodeKey("flw_fx_send"); + fxs.setSort(3600); + + SampleFlowNode bzs = new SampleFlowNode(); + bzs.setNodeName("班组送样"); + bzs.setNodeKey("flw_bz_send"); + bzs.setSort(3700); + + SampleFlowNode ypgk = new SampleFlowNode(); + ypgk.setNodeName("样品归库"); + ypgk.setNodeKey("flw_ypgk"); + ypgk.setSort(3800); + ypgk.setNextFlowNodeList(null); + flowNodeList.add(ypgk); + + + zxr.setNextFlowNodeList(new ArrayList() { + { + add(BeanUtils.toBean(zxs,SampleFlowNode.class).setIsDefault(true)); + } + }); + flowNodeList.add(zxr); + + + zxs.setNextFlowNodeList(new ArrayList<>() {{ + add(BeanUtils.toBean(bzr,SampleFlowNode.class).setIsDefault(true)); + }}); + flowNodeList.add(zxs); + + bzr.setNextFlowNodeList(new ArrayList<>() {{ + add(BeanUtils.toBean(ypbm,SampleFlowNode.class).setCondition("样品需要编密并且没编密过")); + add(BeanUtils.toBean(fxr,SampleFlowNode.class).setCondition("样品无需编密或样品已编密过")); + }}); + flowNodeList.add(bzr); + + + ypbm.setNextFlowNodeList(new ArrayList<>() {{ + add(BeanUtils.toBean(fxr,SampleFlowNode.class).setIsDefault(true)); + }}); + flowNodeList.add(ypbm); + + + fxr.setNextFlowNodeList(new ArrayList<>() {{ + add(BeanUtils.toBean(fxs,SampleFlowNode.class).setIsDefault(true)); + }}); + flowNodeList.add(fxr); + + + fxs.setNextFlowNodeList(new ArrayList<>() {{ + add(BeanUtils.toBean(bzs,SampleFlowNode.class).setIsDefault(true).setCondition("当前部门任务已全部分析完")); + }}); + flowNodeList.add(fxs); + + + bzs.setNextFlowNodeList(new ArrayList<>() {{ + add(BeanUtils.toBean(fxr,SampleFlowNode.class).setCondition("样品当前分析班组结果超差,需要发起复检")); + add(BeanUtils.toBean(bzr,SampleFlowNode.class).setCondition("当前部门数据已全部判断上报")); + add(BeanUtils.toBean(ypgk,SampleFlowNode.class).setCondition("当前样品所有分析任务已全部上报完")); + }}); + flowNodeList.add(bzs); + + sampleFlowDefinition.setFlowNodeList(flowNodeList); + + String jsonSampleFlowDefinition = JSON.toJSONString(sampleFlowDefinition); + + System.out.println(jsonSampleFlowDefinition); + + Long tenantId = TenantContextHolder.getRequiredTenantId(); + + List sampleFlowInfoList = new ArrayList<>(); + sampleFlowInfoList.add(new SampleFlowInfo().setId(1967550576457330690L).setIsWeighing(0)); + + SampleFlowParam sampleFlowParam = new SampleFlowParam(); + sampleFlowParam.setSampleSourceType(2); + sampleFlowParam.setCurrentSampleFlowKey("P3000"); + sampleFlowParam.setSampleFlowInfoList(sampleFlowInfoList); + + + + LiteflowResponse response = flowExecutor.execute2Resp("sampleFlowChain" + tenantId, sampleFlowParam, SampleFlowContext.class); + if (response.isSuccess()) { + return success(response.getContextBean(SampleFlowContext.class)); + } else { + return error(500, response.getMessage()); + } + //return success(FlowBus.getNodeMap()); + } + } diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/SampleTaskAssignController.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/SampleTaskAssignController.java new file mode 100644 index 0000000..fafa3d4 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/SampleTaskAssignController.java @@ -0,0 +1,71 @@ +package com.zt.plat.module.qms.business.bus.controller.admin; + +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.GetMapping; +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 static com.zt.plat.framework.common.pojo.CommonResult.success; + +import java.util.List; + +import com.zt.plat.framework.common.pojo.CommonResult; +import com.zt.plat.module.qms.business.bus.liteflow.param.SampleTaskAssignMethodParam; +import com.zt.plat.module.qms.business.bus.liteflow.param.SampleTaskAssignSampleParam; +import com.zt.plat.module.qms.business.bus.service.SampleTaskAssignService; +import com.zt.plat.module.system.api.user.dto.AdminUserRespDTO; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.annotation.Resource; + +@Tag(name = "管理后台 - 样品任务分配") +@RestController +@RequestMapping("/qms/bus/sample/task-assign") +@Validated +public class SampleTaskAssignController { + + @Resource + private SampleTaskAssignService sampleTaskAssignService; + + @Operation(description = "获取分配人员列表") + @GetMapping("/getAssignUserList") + public CommonResult getAssignUserList() { + List list = sampleTaskAssignService.getAssignUserList(); + return success(list); + } + + @PostMapping("/changeMethod") + public CommonResult changeMethod() { + + + return success("成功"); + } + + @PostMapping("/methodAssign") + public CommonResult methodAssign(@RequestBody SampleTaskAssignMethodParam param) { + sampleTaskAssignService.methodAssign(param); + return success("成功"); + } + + + @PostMapping("/sampleAssign") + public CommonResult sampleAssign(@RequestBody SampleTaskAssignSampleParam param) { + sampleTaskAssignService.sampleAssign(param); + return success("成功"); + } + + @PostMapping("/submitAssign") + public CommonResult submitAssign(Long id) { + sampleTaskAssignService.submitAssign(id); + return success("成功"); + } + + @PostMapping("/voidAssign") + public CommonResult voidAssign(Long id) { + sampleTaskAssignService.voidAssign(id); + return success("成功"); + } + +} diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BatchSampleAnalysisColumnRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BatchSampleAnalysisColumnRespVO.java new file mode 100644 index 0000000..7377cc2 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BatchSampleAnalysisColumnRespVO.java @@ -0,0 +1,65 @@ +package com.zt.plat.module.qms.business.bus.controller.vo; + +import java.io.Serializable; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * BatchSampleAnalysisColumn + *

+ * 更新历史: + *

 版本         更新时间            更新者        更新内容
+ * V1.0 2025年9月22日 wxr Add
+ * Copyright (C) 云南志者竟成科技有限公司 + *

+ * @author 王兴荣 + * @version V1.0 + * @since 2025年9月22日 + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class BatchSampleAnalysisColumnRespVO implements Serializable { + + private static final long serialVersionUID = 4283609584147441164L; + + @Schema(description = "列字索引名称") + private String fieldIndex; + + @Schema(description = "列字段名") + private String field; + + @Schema(description = "标题") + private String title; + + @Schema(description = "列宽度") + private String width; + + @Schema(description = "最小列宽度") + private String minWidth; + + @Schema(description = "数据类型,【字典】【jy_sample_data_type】string-字符串,int-整数,decimal-小数,date-日期,datetime-时间") + private String dataType; + + @Schema(description = "小数位数") + private Integer decimalPosition; + + @Schema(description = "数字间隔") + private Float step; + + @Schema(description = "计算公式") + private String formula; + + @Schema(description = "参数编号") + private Integer paramNo; + + @Schema(description = "是否允许编辑") + private Boolean isEdit; + + @Schema(description = "单位") + private String unit; +} diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayParameterDataPageReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayParameterDataPageReqVO.java index 1357787..62a98ea 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayParameterDataPageReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayParameterDataPageReqVO.java @@ -13,19 +13,19 @@ import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH @Data public class BusinessAssayParameterDataPageReqVO extends PageParam { - @Schema(description = "检测项目业务ID", example = "31068") + @Schema(description = "检测项目业务ID", example = "4202") private Long businessAssayProjectDataId; - @Schema(description = "检测方法分析项目参数配置表ID", example = "10849") + @Schema(description = "检测方法分析项目参数配置表ID", example = "9808") private Long configAssayMethodProjectParameterId; - @Schema(description = "参数ID,字典表【T_DIC_PRM】", example = "25302") + @Schema(description = "参数ID,字典表【T_DIC_PRM】", example = "22549") private Long dictionaryParameterId; - @Schema(description = "参数值") + @Schema(description = "值") private String value; - @Schema(description = "数据类型,【字典】【jy_sample_data_type】string-字符串,int-整数,decimal-小数,date-日期,datetime-时间", example = "2") + @Schema(description = "数据类型,字典表【T_DIC_BSN】string-字符串,int-整数,decimal-小数,date-日期,datetime-时间", example = "1") private String dataType; @Schema(description = "小数位") @@ -34,11 +34,11 @@ public class BusinessAssayParameterDataPageReqVO extends PageParam { @Schema(description = "所属部门") private String systemDepartmentCode; - @Schema(description = "创建日期") + @Schema(description = "创建时间") @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) private LocalDateTime[] createTime; - @Schema(description = "乐观锁", example = "7696") + @Schema(description = "乐观锁", example = "30975") private Integer updateCount; @Schema(description = "备注") diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayParameterDataReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayParameterDataReqVO.java new file mode 100644 index 0000000..37ec882 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayParameterDataReqVO.java @@ -0,0 +1,47 @@ +package com.zt.plat.module.qms.business.bus.controller.vo; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import com.zt.plat.framework.common.pojo.PageParam; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; + +import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 检测参数数据业务分页 Request VO") +@Data +public class BusinessAssayParameterDataReqVO { + + @Schema(description = "检测项目业务ID", example = "31068") + private Long businessAssayProjectDataId; + + @Schema(description = "检测方法分析项目参数配置表ID", example = "10849") + private Long configAssayMethodProjectParameterId; + + @Schema(description = "参数ID,字典表【T_DIC_PRM】", example = "25302") + private Long dictionaryParameterId; + + @Schema(description = "参数值") + private String value; + + @Schema(description = "数据类型,【字典】【jy_sample_data_type】string-字符串,int-整数,decimal-小数,date-日期,datetime-时间", example = "2") + private String dataType; + + @Schema(description = "小数位") + private Integer decimalPosition; + + @Schema(description = "所属部门") + private String systemDepartmentCode; + + @Schema(description = "创建日期") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "乐观锁", example = "7696") + private Integer updateCount; + + @Schema(description = "备注") + private String remark; + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayParameterDataRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayParameterDataRespVO.java index 0edb4b6..129f89b 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayParameterDataRespVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayParameterDataRespVO.java @@ -12,28 +12,28 @@ import com.alibaba.excel.annotation.*; @ExcelIgnoreUnannotated public class BusinessAssayParameterDataRespVO { - @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "15246") + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "4344") @ExcelProperty("ID") private Long id; - @Schema(description = "检测项目业务ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "31068") + @Schema(description = "检测项目业务ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "4202") @ExcelProperty("检测项目业务ID") private Long businessAssayProjectDataId; - @Schema(description = "检测方法分析项目参数配置表ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "10849") + @Schema(description = "检测方法分析项目参数配置表ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "9808") @ExcelProperty("检测方法分析项目参数配置表ID") private Long configAssayMethodProjectParameterId; - @Schema(description = "参数ID,字典表【T_DIC_PRM】", requiredMode = Schema.RequiredMode.REQUIRED, example = "25302") + @Schema(description = "参数ID,字典表【T_DIC_PRM】", requiredMode = Schema.RequiredMode.REQUIRED, example = "22549") @ExcelProperty("参数ID,字典表【T_DIC_PRM】") private Long dictionaryParameterId; - @Schema(description = "参数值") - @ExcelProperty("参数值") + @Schema(description = "值") + @ExcelProperty("值") private String value; - @Schema(description = "数据类型,【字典】【jy_sample_data_type】string-字符串,int-整数,decimal-小数,date-日期,datetime-时间", requiredMode = Schema.RequiredMode.REQUIRED, example = "2") - @ExcelProperty("数据类型,【字典】【jy_sample_data_type】string-字符串,int-整数,decimal-小数,date-日期,datetime-时间") + @Schema(description = "数据类型,字典表【T_DIC_BSN】string-字符串,int-整数,decimal-小数,date-日期,datetime-时间", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + @ExcelProperty("数据类型,字典表【T_DIC_BSN】string-字符串,int-整数,decimal-小数,date-日期,datetime-时间") private String dataType; @Schema(description = "小数位") @@ -44,11 +44,11 @@ public class BusinessAssayParameterDataRespVO { @ExcelProperty("所属部门") private String systemDepartmentCode; - @Schema(description = "创建日期", requiredMode = Schema.RequiredMode.REQUIRED) - @ExcelProperty("创建日期") + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("创建时间") private LocalDateTime createTime; - @Schema(description = "乐观锁", requiredMode = Schema.RequiredMode.REQUIRED, example = "7696") + @Schema(description = "乐观锁", requiredMode = Schema.RequiredMode.REQUIRED, example = "30975") @ExcelProperty("乐观锁") private Integer updateCount; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayParameterDataSaveReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayParameterDataSaveReqVO.java index 25101ef..d7deeaf 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayParameterDataSaveReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayParameterDataSaveReqVO.java @@ -9,37 +9,35 @@ import jakarta.validation.constraints.*; @Data public class BusinessAssayParameterDataSaveReqVO { - @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "15246") + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "4344") private Long id; - @Schema(description = "检测项目业务ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "31068") + @Schema(description = "检测项目业务ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "4202") @NotNull(message = "检测项目业务ID不能为空") private Long businessAssayProjectDataId; - @Schema(description = "检测方法分析项目参数配置表ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "10849") + @Schema(description = "检测方法分析项目参数配置表ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "9808") @NotNull(message = "检测方法分析项目参数配置表ID不能为空") private Long configAssayMethodProjectParameterId; - @Schema(description = "参数ID,字典表【T_DIC_PRM】", requiredMode = Schema.RequiredMode.REQUIRED, example = "25302") + @Schema(description = "参数ID,字典表【T_DIC_PRM】", requiredMode = Schema.RequiredMode.REQUIRED, example = "22549") @NotNull(message = "参数ID,字典表【T_DIC_PRM】不能为空") private Long dictionaryParameterId; - @Schema(description = "参数值") + @Schema(description = "值") private String value; - @Schema(description = "数据类型,【字典】【jy_sample_data_type】string-字符串,int-整数,decimal-小数,date-日期,datetime-时间", requiredMode = Schema.RequiredMode.REQUIRED, example = "2") - @NotEmpty(message = "数据类型,【字典】【jy_sample_data_type】string-字符串,int-整数,decimal-小数,date-日期,datetime-时间不能为空") + @Schema(description = "数据类型,字典表【T_DIC_BSN】string-字符串,int-整数,decimal-小数,date-日期,datetime-时间", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + @NotEmpty(message = "数据类型,字典表【T_DIC_BSN】string-字符串,int-整数,decimal-小数,date-日期,datetime-时间不能为空") private String dataType; @Schema(description = "小数位") private Integer decimalPosition; @Schema(description = "所属部门", requiredMode = Schema.RequiredMode.REQUIRED) - @NotEmpty(message = "所属部门不能为空") private String systemDepartmentCode; - @Schema(description = "乐观锁", requiredMode = Schema.RequiredMode.REQUIRED, example = "7696") - @NotNull(message = "乐观锁不能为空") + @Schema(description = "乐观锁", requiredMode = Schema.RequiredMode.REQUIRED, example = "30975") private Integer updateCount; @Schema(description = "备注") diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayProjectAndParameterRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayProjectAndParameterRespVO.java new file mode 100644 index 0000000..344928f --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayProjectAndParameterRespVO.java @@ -0,0 +1,61 @@ +package com.zt.plat.module.qms.business.bus.controller.vo; + +import java.io.Serializable; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +/** + * 分析项目与参数 + */ +@Data +public class BusinessAssayProjectAndParameterRespVO implements Serializable { + + private static final long serialVersionUID = 2468650244768205378L; + + /** id主键 **/ + private Long id; + + /** 元素或参数字典id **/ + private Long dicId; + + /** 元素或参数字典key **/ + private String dicKey; + + /** 元素或参数名称 **/ + @Schema(description = "元素或参数名称") + private String name; + + @Schema(description = "元素或参数显示名称") + private String showName; + + @Schema(description = "数据类型,【字典】【jy_sample_data_type】string-字符串,int-整数,decimal-小数,date-日期,datetime-时间") + private String dataType; + + @Schema(description = "小数位数") + private Integer decimalPosition; + + /** 元素或参数单位 **/ + @Schema(description = "元素或参数单位") + private String unit; + + /** 结果值 **/ + @Schema(description = "结果值") + private String value; + + @Schema(description = "是否允许为空") + private Integer isNull; + + /** 计算公式 **/ + @Schema(description = "计算公式") + private String formula; + + /** 元素或参数配置参数编号 **/ + @Schema(description = "元素或参数配置参数编号") + private Integer paramNo; + + /** 类型(1:元素,2:参数) **/ + @Schema(description = "类型(project:元素,2:参数)") + private String type; + +} diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayProjectDataPageReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayProjectDataPageReqVO.java index b4be45b..ff6a8b0 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayProjectDataPageReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayProjectDataPageReqVO.java @@ -13,19 +13,19 @@ import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH @Data public class BusinessAssayProjectDataPageReqVO extends PageParam { - @Schema(description = "检测任务ID", example = "16505") + @Schema(description = "检测任务ID", example = "15606") private Long businessAssayTaskDataId; - @Schema(description = "检测方法分析项目配置ID", example = "15654") + @Schema(description = "检测方法分析项目配置ID", example = "17620") private Long configAssayMethodProjectId; - @Schema(description = "检测项目字典ID,字典表【T_DIC_PRJ】", example = "5352") + @Schema(description = "检测项目字典ID,字典表【T_DIC_PRJ】", example = "19038") private Long dictionaryProjectId; @Schema(description = "值") private String value; - @Schema(description = "数据类型,【字典】【jy_sample_data_type】string-字符串,int-整数,decimal-小数,date-日期,datetime-时间", example = "1") + @Schema(description = "数据类型,字典表【T_DIC_BSN】string-字符串,int-整数,decimal-小数,date-日期,datetime-时间", example = "2") private String dataType; @Schema(description = "小数位") @@ -37,13 +37,13 @@ public class BusinessAssayProjectDataPageReqVO extends PageParam { @Schema(description = "是否启用") private Integer isEnabled; - @Schema(description = "乐观锁", example = "30037") + @Schema(description = "乐观锁", example = "30046") private Integer updateCount; @Schema(description = "所属部门") private String systemDepartmentCode; - @Schema(description = "创建日期") + @Schema(description = "创建时间") @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) private LocalDateTime[] createTime; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayProjectDataReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayProjectDataReqVO.java new file mode 100644 index 0000000..3ffa519 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayProjectDataReqVO.java @@ -0,0 +1,53 @@ +package com.zt.plat.module.qms.business.bus.controller.vo; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import com.zt.plat.framework.common.pojo.PageParam; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; + +import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 检测项目数据业务分页 Request VO") +@Data +public class BusinessAssayProjectDataReqVO { + + @Schema(description = "检测任务ID", example = "16505") + private Long businessAssayTaskDataId; + + @Schema(description = "检测方法分析项目配置ID", example = "15654") + private Long configAssayMethodProjectId; + + @Schema(description = "检测项目字典ID,字典表【T_DIC_PRJ】", example = "5352") + private Long dictionaryProjectId; + + @Schema(description = "值") + private String value; + + @Schema(description = "数据类型,【字典】【jy_sample_data_type】string-字符串,int-整数,decimal-小数,date-日期,datetime-时间", example = "1") + private String dataType; + + @Schema(description = "小数位") + private Integer decimalPosition; + + @Schema(description = "是否不参与超差判定") + private Integer isNotAssessment; + + @Schema(description = "是否启用") + private Integer isEnabled; + + @Schema(description = "乐观锁", example = "30037") + private Integer updateCount; + + @Schema(description = "所属部门") + private String systemDepartmentCode; + + @Schema(description = "创建日期") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "备注") + private String remark; + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayProjectDataRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayProjectDataRespVO.java index b973f6f..2f3f837 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayProjectDataRespVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayProjectDataRespVO.java @@ -12,19 +12,19 @@ import com.alibaba.excel.annotation.*; @ExcelIgnoreUnannotated public class BusinessAssayProjectDataRespVO { - @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "21103") + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "17927") @ExcelProperty("ID") private Long id; - @Schema(description = "检测任务ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "16505") + @Schema(description = "检测任务ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "15606") @ExcelProperty("检测任务ID") private Long businessAssayTaskDataId; - @Schema(description = "检测方法分析项目配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "15654") + @Schema(description = "检测方法分析项目配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "17620") @ExcelProperty("检测方法分析项目配置ID") private Long configAssayMethodProjectId; - @Schema(description = "检测项目字典ID,字典表【T_DIC_PRJ】", requiredMode = Schema.RequiredMode.REQUIRED, example = "5352") + @Schema(description = "检测项目字典ID,字典表【T_DIC_PRJ】", requiredMode = Schema.RequiredMode.REQUIRED, example = "19038") @ExcelProperty("检测项目字典ID,字典表【T_DIC_PRJ】") private Long dictionaryProjectId; @@ -32,8 +32,8 @@ public class BusinessAssayProjectDataRespVO { @ExcelProperty("值") private String value; - @Schema(description = "数据类型,【字典】【jy_sample_data_type】string-字符串,int-整数,decimal-小数,date-日期,datetime-时间", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") - @ExcelProperty("数据类型,【字典】【jy_sample_data_type】string-字符串,int-整数,decimal-小数,date-日期,datetime-时间") + @Schema(description = "数据类型,字典表【T_DIC_BSN】string-字符串,int-整数,decimal-小数,date-日期,datetime-时间", requiredMode = Schema.RequiredMode.REQUIRED, example = "2") + @ExcelProperty("数据类型,字典表【T_DIC_BSN】string-字符串,int-整数,decimal-小数,date-日期,datetime-时间") private String dataType; @Schema(description = "小数位") @@ -48,7 +48,7 @@ public class BusinessAssayProjectDataRespVO { @ExcelProperty("是否启用") private Integer isEnabled; - @Schema(description = "乐观锁", requiredMode = Schema.RequiredMode.REQUIRED, example = "30037") + @Schema(description = "乐观锁", requiredMode = Schema.RequiredMode.REQUIRED, example = "30046") @ExcelProperty("乐观锁") private Integer updateCount; @@ -56,8 +56,8 @@ public class BusinessAssayProjectDataRespVO { @ExcelProperty("所属部门") private String systemDepartmentCode; - @Schema(description = "创建日期", requiredMode = Schema.RequiredMode.REQUIRED) - @ExcelProperty("创建日期") + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("创建时间") private LocalDateTime createTime; @Schema(description = "备注") diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayProjectDataSaveReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayProjectDataSaveReqVO.java index 92afa21..eba9dea 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayProjectDataSaveReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayProjectDataSaveReqVO.java @@ -9,26 +9,26 @@ import jakarta.validation.constraints.*; @Data public class BusinessAssayProjectDataSaveReqVO { - @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "21103") + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "17927") private Long id; - @Schema(description = "检测任务ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "16505") + @Schema(description = "检测任务ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "15606") @NotNull(message = "检测任务ID不能为空") private Long businessAssayTaskDataId; - @Schema(description = "检测方法分析项目配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "15654") - @NotEmpty(message = "检测方法分析项目配置ID不能为空") + @Schema(description = "检测方法分析项目配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "17620") + @NotNull(message = "检测方法分析项目配置ID不能为空") private Long configAssayMethodProjectId; - @Schema(description = "检测项目字典ID,字典表【T_DIC_PRJ】", requiredMode = Schema.RequiredMode.REQUIRED, example = "5352") + @Schema(description = "检测项目字典ID,字典表【T_DIC_PRJ】", requiredMode = Schema.RequiredMode.REQUIRED, example = "19038") @NotNull(message = "检测项目字典ID,字典表【T_DIC_PRJ】不能为空") private Long dictionaryProjectId; @Schema(description = "值") private String value; - @Schema(description = "数据类型,【字典】【jy_sample_data_type】string-字符串,int-整数,decimal-小数,date-日期,datetime-时间", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") - @NotEmpty(message = "数据类型,【字典】【jy_sample_data_type】string-字符串,int-整数,decimal-小数,date-日期,datetime-时间不能为空") + @Schema(description = "数据类型,字典表【T_DIC_BSN】string-字符串,int-整数,decimal-小数,date-日期,datetime-时间", requiredMode = Schema.RequiredMode.REQUIRED, example = "2") + @NotEmpty(message = "数据类型,字典表【T_DIC_BSN】string-字符串,int-整数,decimal-小数,date-日期,datetime-时间不能为空") private String dataType; @Schema(description = "小数位") @@ -42,12 +42,10 @@ public class BusinessAssayProjectDataSaveReqVO { @NotNull(message = "是否启用不能为空") private Integer isEnabled; - @Schema(description = "乐观锁", requiredMode = Schema.RequiredMode.REQUIRED, example = "30037") - @NotNull(message = "乐观锁不能为空") + @Schema(description = "乐观锁", requiredMode = Schema.RequiredMode.REQUIRED, example = "30046") private Integer updateCount; @Schema(description = "所属部门", requiredMode = Schema.RequiredMode.REQUIRED) - @NotEmpty(message = "所属部门不能为空") private String systemDepartmentCode; @Schema(description = "备注") diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayReportDataPageReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayReportDataPageReqVO.java new file mode 100644 index 0000000..903412e --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayReportDataPageReqVO.java @@ -0,0 +1,50 @@ +package com.zt.plat.module.qms.business.bus.controller.vo; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import com.zt.plat.framework.common.pojo.PageParam; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; + +import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 检测报表数据业务分页 Request VO") +@Data +public class BusinessAssayReportDataPageReqVO extends PageParam { + + @Schema(description = "报表类型ID", example = "15805") + private Long configReportTypeId; + + @Schema(description = "报表配置ID", example = "24960") + private Long configSampleReportId; + + @Schema(description = "样品主样ID", example = "30453") + private Long businessBaseSampleId; + + @Schema(description = "样品编号") + private String sampleCode; + + @Schema(description = "分析数据") + private String assayData; + + @Schema(description = "流程code") + private String reportFlowCode; + + @Schema(description = "报告数据明细id", example = "6437") + private Long documentDataId; + + @Schema(description = "所属部门") + private String systemDepartmentCode; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "乐观锁", example = "378") + private Integer updateCount; + + @Schema(description = "备注") + private String remark; + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayReportDataRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayReportDataRespVO.java new file mode 100644 index 0000000..f244b68 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayReportDataRespVO.java @@ -0,0 +1,63 @@ +package com.zt.plat.module.qms.business.bus.controller.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; +import com.alibaba.excel.annotation.*; + +@Schema(description = "管理后台 - 检测报表数据业务 Response VO") +@Data +@ExcelIgnoreUnannotated +public class BusinessAssayReportDataRespVO { + + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "5943") + @ExcelProperty("ID") + private Long id; + + @Schema(description = "报表类型ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "15805") + @ExcelProperty("报表类型ID") + private Long configReportTypeId; + + @Schema(description = "报表配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "24960") + @ExcelProperty("报表配置ID") + private Long configSampleReportId; + + @Schema(description = "样品主样ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "30453") + @ExcelProperty("样品主样ID") + private Long businessBaseSampleId; + + @Schema(description = "样品编号", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("样品编号") + private String sampleCode; + + @Schema(description = "分析数据") + @ExcelProperty("分析数据") + private String assayData; + + @Schema(description = "流程code") + @ExcelProperty("流程code") + private String reportFlowCode; + + @Schema(description = "报告数据明细id", example = "6437") + @ExcelProperty("报告数据明细id") + private Long documentDataId; + + @Schema(description = "所属部门", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("所属部门") + private String systemDepartmentCode; + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("创建时间") + private LocalDateTime createTime; + + @Schema(description = "乐观锁", requiredMode = Schema.RequiredMode.REQUIRED, example = "378") + @ExcelProperty("乐观锁") + private Integer updateCount; + + @Schema(description = "备注") + @ExcelProperty("备注") + private String remark; + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayReportDataSaveReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayReportDataSaveReqVO.java new file mode 100644 index 0000000..458422c --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayReportDataSaveReqVO.java @@ -0,0 +1,49 @@ +package com.zt.plat.module.qms.business.bus.controller.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import jakarta.validation.constraints.*; + +@Schema(description = "管理后台 - 检测报表数据业务新增/修改 Request VO") +@Data +public class BusinessAssayReportDataSaveReqVO { + + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "5943") + private Long id; + + @Schema(description = "报表类型ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "15805") + @NotNull(message = "报表类型ID不能为空") + private Long configReportTypeId; + + @Schema(description = "报表配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "24960") + @NotNull(message = "报表配置ID不能为空") + private Long configSampleReportId; + + @Schema(description = "样品主样ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "30453") + @NotNull(message = "样品主样ID不能为空") + private Long businessBaseSampleId; + + @Schema(description = "样品编号", requiredMode = Schema.RequiredMode.REQUIRED) + @NotEmpty(message = "样品编号不能为空") + private String sampleCode; + + @Schema(description = "分析数据") + private String assayData; + + @Schema(description = "流程code") + private String reportFlowCode; + + @Schema(description = "报告数据明细id", example = "6437") + private Long documentDataId; + + @Schema(description = "所属部门", requiredMode = Schema.RequiredMode.REQUIRED) + private String systemDepartmentCode; + + @Schema(description = "乐观锁", requiredMode = Schema.RequiredMode.REQUIRED, example = "378") + private Integer updateCount; + + @Schema(description = "备注") + private String remark; + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskAnalysisSampleProjectRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskAnalysisSampleProjectRespVO.java new file mode 100644 index 0000000..10d8279 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskAnalysisSampleProjectRespVO.java @@ -0,0 +1,54 @@ +package com.zt.plat.module.qms.business.bus.controller.vo; + +import java.time.LocalDateTime; +import java.util.List; +import java.util.Map; + +import com.zt.plat.module.qms.business.config.controller.vo.ConfigAssayMethodProjectRangeRespVO; +import lombok.Data; + +/** + * 分配任务单分析样品项目 + */ +@Data +public class BusinessAssayTaskAnalysisSampleProjectRespVO { + + /** 分配任务单id **/ + private Long businessAssayTaskId; + + /** 任务分配单编号 **/ + private String businessAssayTasNo; + + /** 任务分配单名称 **/ + private String businessAssayTasName; + + /** 分析人员 **/ + private String assayOperator; + + /** 分析时间 **/ + private LocalDateTime assayTime; + + /** 检测方法id **/ + private Long configAssayMethodId; + + /** 检测方法名称 **/ + private String configAssayMethodName; + + /** 数据集key **/ + private String dataCollectionKey; + + /** 数据集id **/ + private Long dataCollectionId; + + /** 动态表单值 **/ + private String formValue; + + /** 分析的列 **/ + private List columns; + + /** 分析的数据 **/ + private List> datas; + + /** 检测方法范围 **/ + private List configAssayMethodProjectRangeList; +} diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskDataGroupRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskDataGroupRespVO.java new file mode 100644 index 0000000..1ae16f5 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskDataGroupRespVO.java @@ -0,0 +1,28 @@ +package com.zt.plat.module.qms.business.bus.controller.vo; + +import lombok.Data; + +/** + * BusinessAssayTaskDataGroupRespVO + *

+ * 更新历史: + *

 版本         更新时间            更新者        更新内容
+ * V1.0 2025年9月20日 wxr Add
+ * Copyright (C) 云南志者竟成科技有限公司 + *

+ * @author 王兴荣 + * @version V1.0 + * @since 2025年9月20日 + */ +@Data +public class BusinessAssayTaskDataGroupRespVO { + + private Long configAssayMethodId; + + private String configAssayMethodName; + + private String assayType; + + private Integer sampleTaskCount; + +} diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskDataPageReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskDataPageReqVO.java index 7cebfd7..c40dfc4 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskDataPageReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskDataPageReqVO.java @@ -13,36 +13,45 @@ import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH @Data public class BusinessAssayTaskDataPageReqVO extends PageParam { - @Schema(description = "样品主样ID", example = "11587") + @Schema(description = "样品主样ID", example = "23293") private Long businessBaseSampleId; - @Schema(description = "样品分样ID", example = "2157") + @Schema(description = "样品分样ID", example = "15024") private Long businessSubParentSampleId; - @Schema(description = "分样子样ID", example = "2427") + @Schema(description = "分样子样ID", example = "20464") private Long businessSubSampleId; - @Schema(description = "检测方法ID", example = "21835") + @Schema(description = "检测方法配置ID", example = "9130") private Long configAssayMethodId; - @Schema(description = "指派单ID", example = "15392") + @Schema(description = "指派单ID", example = "23566") private Long businessAssayTaskId; @Schema(description = "任务类型,【字典】【jy_sample_task_type】常规、抽查...", example = "2") private String taskType; - @Schema(description = "分析类型,【字典】【jy_sample_assay_type】单杯、双杯、平行...", example = "1") + @Schema(description = "分析类型,【字典】【jy_sample_assay_type】单杯、双杯、平行...", example = "2") private String assayType; + @Schema(description = "检测项目") + private String assayProject; + + @Schema(description = "分析部门ID", example = "16988") + private Long assayDepartmentId; + + @Schema(description = "分析部门名称", example = "芋艿") + private String assayDepartmentName; + @Schema(description = "分析人") private String assayOperator; - @Schema(description = "任务指派时间") + @Schema(description = "分配任务时间") @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] taskTime; + private LocalDateTime[] assignTaskTime; - @Schema(description = "是否已指派") - private Integer isTasked; + @Schema(description = "是否已分配任务") + private Integer isAssignTasked; @Schema(description = "是否已上报") private Integer isReported; @@ -54,19 +63,26 @@ public class BusinessAssayTaskDataPageReqVO extends PageParam { @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) private LocalDateTime[] reportTime; - @Schema(description = "流程节点") - private String flowNode; + @Schema(description = "样品流程配置ID", example = "10639") + private Long configSampleFlowId; - @Schema(description = "复检次数,0代表正常分析", example = "27671") - private Integer recheckCount; + @Schema(description = "样品流程节点KEY") + private String sampleFlowNodeKey; - @Schema(description = "乐观锁", example = "4946") + @Schema(description = "样品流程节点时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] sampleFlowNodeTime; + + @Schema(description = "分析次数,复检的累加次数", example = "13073") + private Integer analysisCount; + + @Schema(description = "乐观锁", example = "11435") private Integer updateCount; @Schema(description = "所属部门") private String systemDepartmentCode; - @Schema(description = "创建日期") + @Schema(description = "创建时间") @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) private LocalDateTime[] createTime; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskDataReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskDataReqVO.java index d42c011..136794e 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskDataReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskDataReqVO.java @@ -13,36 +13,45 @@ import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH @Data public class BusinessAssayTaskDataReqVO { - @Schema(description = "样品主样ID", example = "11587") + @Schema(description = "样品主样ID", example = "23293") private Long businessBaseSampleId; - @Schema(description = "样品分样ID", example = "2157") + @Schema(description = "样品分样ID", example = "15024") private Long businessSubParentSampleId; - @Schema(description = "分样子样ID", example = "2427") + @Schema(description = "分样子样ID", example = "20464") private Long businessSubSampleId; - @Schema(description = "检测方法ID", example = "21835") + @Schema(description = "检测方法配置ID", example = "9130") private Long configAssayMethodId; - @Schema(description = "指派单ID", example = "15392") + @Schema(description = "指派单ID", example = "23566") private Long businessAssayTaskId; @Schema(description = "任务类型,【字典】【jy_sample_task_type】常规、抽查...", example = "2") private String taskType; - @Schema(description = "分析类型,【字典】【jy_sample_assay_type】单杯、双杯、平行...", example = "1") + @Schema(description = "分析类型,【字典】【jy_sample_assay_type】单杯、双杯、平行...", example = "2") private String assayType; + @Schema(description = "检测项目") + private String assayProject; + + @Schema(description = "分析部门ID", example = "16988") + private Long assayDepartmentId; + + @Schema(description = "分析部门名称", example = "芋艿") + private String assayDepartmentName; + @Schema(description = "分析人") private String assayOperator; - @Schema(description = "任务指派时间") + @Schema(description = "分配任务时间") @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] taskTime; + private LocalDateTime[] assignTaskTime; - @Schema(description = "是否已指派") - private Integer isTasked; + @Schema(description = "是否已分配任务") + private Integer isAssignTasked; @Schema(description = "是否已上报") private Integer isReported; @@ -54,19 +63,26 @@ public class BusinessAssayTaskDataReqVO { @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) private LocalDateTime[] reportTime; - @Schema(description = "流程节点") - private String flowNode; + @Schema(description = "样品流程配置ID", example = "10639") + private Long configSampleFlowId; - @Schema(description = "复检次数,0代表正常分析", example = "27671") - private Integer recheckCount; + @Schema(description = "样品流程节点KEY") + private String sampleFlowNodeKey; - @Schema(description = "乐观锁", example = "4946") + @Schema(description = "样品流程节点时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] sampleFlowNodeTime; + + @Schema(description = "分析次数,复检的累加次数", example = "13073") + private Integer analysisCount; + + @Schema(description = "乐观锁", example = "11435") private Integer updateCount; @Schema(description = "所属部门") private String systemDepartmentCode; - @Schema(description = "创建日期") + @Schema(description = "创建时间") @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) private LocalDateTime[] createTime; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskDataRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskDataRespVO.java index af0a584..a21aef0 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskDataRespVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskDataRespVO.java @@ -12,27 +12,27 @@ import com.alibaba.excel.annotation.*; @ExcelIgnoreUnannotated public class BusinessAssayTaskDataRespVO { - @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "32383") + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "1089") @ExcelProperty("ID") private Long id; - @Schema(description = "样品主样ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "11587") + @Schema(description = "样品主样ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "23293") @ExcelProperty("样品主样ID") private Long businessBaseSampleId; - @Schema(description = "样品分样ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "2157") + @Schema(description = "样品分样ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "15024") @ExcelProperty("样品分样ID") private Long businessSubParentSampleId; - @Schema(description = "分样子样ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "2427") + @Schema(description = "分样子样ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "20464") @ExcelProperty("分样子样ID") private Long businessSubSampleId; - @Schema(description = "检测方法ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "21835") - @ExcelProperty("检测方法ID") - private String configAssayMethodId; + @Schema(description = "检测方法配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "9130") + @ExcelProperty("检测方法配置ID") + private Long configAssayMethodId; - @Schema(description = "指派单ID", example = "15392") + @Schema(description = "指派单ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "23566") @ExcelProperty("指派单ID") private Long businessAssayTaskId; @@ -40,21 +40,33 @@ public class BusinessAssayTaskDataRespVO { @ExcelProperty("任务类型,【字典】【jy_sample_task_type】常规、抽查...") private String taskType; - @Schema(description = "分析类型,【字典】【jy_sample_assay_type】单杯、双杯、平行...", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + @Schema(description = "分析类型,【字典】【jy_sample_assay_type】单杯、双杯、平行...", requiredMode = Schema.RequiredMode.REQUIRED, example = "2") @ExcelProperty("分析类型,【字典】【jy_sample_assay_type】单杯、双杯、平行...") private String assayType; + @Schema(description = "检测项目", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("检测项目") + private String assayProject; + + @Schema(description = "分析部门ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "16988") + @ExcelProperty("分析部门ID") + private Long assayDepartmentId; + + @Schema(description = "分析部门名称", example = "芋艿") + @ExcelProperty("分析部门名称") + private String assayDepartmentName; + @Schema(description = "分析人") @ExcelProperty("分析人") private String assayOperator; - @Schema(description = "任务指派时间") - @ExcelProperty("任务指派时间") - private LocalDateTime taskTime; + @Schema(description = "分配任务时间") + @ExcelProperty("分配任务时间") + private LocalDateTime assignTaskTime; - @Schema(description = "是否已指派") - @ExcelProperty("是否已指派") - private Integer isTasked; + @Schema(description = "是否已分配任务") + @ExcelProperty("是否已分配任务") + private Integer isAssignTasked; @Schema(description = "是否已上报") @ExcelProperty("是否已上报") @@ -68,15 +80,23 @@ public class BusinessAssayTaskDataRespVO { @ExcelProperty("上报时间") private LocalDateTime reportTime; - @Schema(description = "流程节点", requiredMode = Schema.RequiredMode.REQUIRED) - @ExcelProperty("流程节点") - private String flowNode; + @Schema(description = "样品流程配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "10639") + @ExcelProperty("样品流程配置ID") + private Long configSampleFlowId; - @Schema(description = "复检次数,0代表正常分析", requiredMode = Schema.RequiredMode.REQUIRED, example = "27671") - @ExcelProperty("复检次数,0代表正常分析") - private Integer recheckCount; + @Schema(description = "样品流程节点KEY", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("样品流程节点KEY") + private String sampleFlowNodeKey; - @Schema(description = "乐观锁", requiredMode = Schema.RequiredMode.REQUIRED, example = "4946") + @Schema(description = "样品流程节点时间", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("样品流程节点时间") + private LocalDateTime sampleFlowNodeTime; + + @Schema(description = "分析次数,复检的累加次数", requiredMode = Schema.RequiredMode.REQUIRED, example = "13073") + @ExcelProperty("分析次数,复检的累加次数") + private Integer analysisCount; + + @Schema(description = "乐观锁", requiredMode = Schema.RequiredMode.REQUIRED, example = "11435") @ExcelProperty("乐观锁") private Integer updateCount; @@ -84,8 +104,8 @@ public class BusinessAssayTaskDataRespVO { @ExcelProperty("所属部门") private String systemDepartmentCode; - @Schema(description = "创建日期", requiredMode = Schema.RequiredMode.REQUIRED) - @ExcelProperty("创建日期") + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("创建时间") private LocalDateTime createTime; @Schema(description = "备注") diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskDataSaveReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskDataSaveReqVO.java index 9070771..e098073 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskDataSaveReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskDataSaveReqVO.java @@ -11,44 +11,56 @@ import java.time.LocalDateTime; @Data public class BusinessAssayTaskDataSaveReqVO { - @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "32383") + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "1089") private Long id; - @Schema(description = "样品主样ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "11587") + @Schema(description = "样品主样ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "23293") @NotNull(message = "样品主样ID不能为空") private Long businessBaseSampleId; - @Schema(description = "样品分样ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "2157") + @Schema(description = "样品分样ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "15024") @NotNull(message = "样品分样ID不能为空") private Long businessSubParentSampleId; - @Schema(description = "分样子样ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "2427") + @Schema(description = "分样子样ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "20464") @NotNull(message = "分样子样ID不能为空") private Long businessSubSampleId; - @Schema(description = "检测方法ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "21835") - @NotEmpty(message = "检测方法ID不能为空") + @Schema(description = "检测方法配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "9130") + @NotNull(message = "检测方法配置ID不能为空") private Long configAssayMethodId; - @Schema(description = "指派单ID", example = "15392") + @Schema(description = "指派单ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "23566") + @NotNull(message = "指派单ID不能为空") private Long businessAssayTaskId; @Schema(description = "任务类型,【字典】【jy_sample_task_type】常规、抽查...", requiredMode = Schema.RequiredMode.REQUIRED, example = "2") @NotEmpty(message = "任务类型,【字典】【jy_sample_task_type】常规、抽查...不能为空") private String taskType; - @Schema(description = "分析类型,【字典】【jy_sample_assay_type】单杯、双杯、平行...", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + @Schema(description = "分析类型,【字典】【jy_sample_assay_type】单杯、双杯、平行...", requiredMode = Schema.RequiredMode.REQUIRED, example = "2") @NotEmpty(message = "分析类型,【字典】【jy_sample_assay_type】单杯、双杯、平行...不能为空") private String assayType; + @Schema(description = "检测项目", requiredMode = Schema.RequiredMode.REQUIRED) + @NotEmpty(message = "检测项目不能为空") + private String assayProject; + + @Schema(description = "分析部门ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "16988") + @NotNull(message = "分析部门ID不能为空") + private Long assayDepartmentId; + + @Schema(description = "分析部门名称", example = "芋艿") + private String assayDepartmentName; + @Schema(description = "分析人") private String assayOperator; - @Schema(description = "任务指派时间") - private LocalDateTime taskTime; + @Schema(description = "分配任务时间") + private LocalDateTime assignTaskTime; - @Schema(description = "是否已指派") - private Integer isTasked; + @Schema(description = "是否已分配任务") + private Integer isAssignTasked; @Schema(description = "是否已上报") private Integer isReported; @@ -59,20 +71,26 @@ public class BusinessAssayTaskDataSaveReqVO { @Schema(description = "上报时间") private LocalDateTime reportTime; - @Schema(description = "流程节点", requiredMode = Schema.RequiredMode.REQUIRED) - @NotEmpty(message = "流程节点不能为空") - private String flowNode; + @Schema(description = "样品流程配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "10639") + @NotNull(message = "样品流程配置ID不能为空") + private Long configSampleFlowId; - @Schema(description = "复检次数,0代表正常分析", requiredMode = Schema.RequiredMode.REQUIRED, example = "27671") - @NotNull(message = "复检次数,0代表正常分析不能为空") - private Integer recheckCount; + @Schema(description = "样品流程节点KEY", requiredMode = Schema.RequiredMode.REQUIRED) + @NotEmpty(message = "样品流程节点KEY不能为空") + private String sampleFlowNodeKey; - @Schema(description = "乐观锁", requiredMode = Schema.RequiredMode.REQUIRED, example = "4946") - @NotNull(message = "乐观锁不能为空") + @Schema(description = "样品流程节点时间", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "样品流程节点时间不能为空") + private LocalDateTime sampleFlowNodeTime; + + @Schema(description = "分析次数,复检的累加次数", requiredMode = Schema.RequiredMode.REQUIRED, example = "13073") + @NotNull(message = "分析次数,复检的累加次数不能为空") + private Integer analysisCount; + + @Schema(description = "乐观锁", requiredMode = Schema.RequiredMode.REQUIRED, example = "11435") private Integer updateCount; @Schema(description = "所属部门", requiredMode = Schema.RequiredMode.REQUIRED) - @NotEmpty(message = "所属部门不能为空") private String systemDepartmentCode; @Schema(description = "备注") diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskDetailPageReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskDetailPageReqVO.java index 33bff71..38f7127 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskDetailPageReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskDetailPageReqVO.java @@ -13,19 +13,16 @@ import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH @Data public class BusinessAssayTaskDetailPageReqVO extends PageParam { - @Schema(description = "指派单ID", example = "6438") + @Schema(description = "指派单ID", example = "21102") private Long businessAssayTaskId; - @Schema(description = "样品id", example = "26703") + @Schema(description = "样品id", example = "9299") private Long sampleId; @Schema(description = "指派编号") private String taskNo; - @Schema(description = "物料名称", example = "张三") - private String materialName; - - @Schema(description = "样品名称", example = "芋艿") + @Schema(description = "样品名称", example = "王五") private String sampleName; @Schema(description = "样品编号") @@ -37,8 +34,8 @@ public class BusinessAssayTaskDetailPageReqVO extends PageParam { @Schema(description = "数据来源类型,【字典】【jy_assay_task_data_source_type】正常,筛上,筛下", example = "1") private String dataSourceType; - @Schema(description = "序号") - private Integer sort; + @Schema(description = "排序号") + private Integer sortNo; @Schema(description = "任务退回状态,【字典】【jy_assay_task_rollback_status】默认;审批中;已审批(已退回);取消退回", example = "1") private String rollbackStatus; @@ -46,7 +43,7 @@ public class BusinessAssayTaskDetailPageReqVO extends PageParam { @Schema(description = "所属部门") private String systemDepartmentCode; - @Schema(description = "创建日期") + @Schema(description = "创建时间") @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) private LocalDateTime[] createTime; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskDetailReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskDetailReqVO.java new file mode 100644 index 0000000..35c7f8d --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskDetailReqVO.java @@ -0,0 +1,51 @@ +package com.zt.plat.module.qms.business.bus.controller.vo; + +import lombok.*; +import io.swagger.v3.oas.annotations.media.Schema; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; + +import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 检测任务分配明细分页 Request VO") +@Data +public class BusinessAssayTaskDetailReqVO { + + @Schema(description = "指派单ID", example = "21102") + private Long businessAssayTaskId; + + @Schema(description = "样品id", example = "9299") + private Long sampleId; + + @Schema(description = "指派编号") + private String taskNo; + + @Schema(description = "样品名称", example = "王五") + private String sampleName; + + @Schema(description = "样品编号") + private String sampleCode; + + @Schema(description = "杯号") + private String cupNumber; + + @Schema(description = "数据来源类型,【字典】【jy_assay_task_data_source_type】正常,筛上,筛下", example = "1") + private String dataSourceType; + + @Schema(description = "排序号") + private Integer sortNo; + + @Schema(description = "任务退回状态,【字典】【jy_assay_task_rollback_status】默认;审批中;已审批(已退回);取消退回", example = "1") + private String rollbackStatus; + + @Schema(description = "所属部门") + private String systemDepartmentCode; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "备注") + private String remark; + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskDetailRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskDetailRespVO.java index a06da26..720d878 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskDetailRespVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskDetailRespVO.java @@ -12,15 +12,15 @@ import com.alibaba.excel.annotation.*; @ExcelIgnoreUnannotated public class BusinessAssayTaskDetailRespVO { - @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "19713") + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "6020") @ExcelProperty("ID") private Long id; - @Schema(description = "指派单ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "6438") + @Schema(description = "指派单ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "21102") @ExcelProperty("指派单ID") private Long businessAssayTaskId; - @Schema(description = "样品id", requiredMode = Schema.RequiredMode.REQUIRED, example = "26703") + @Schema(description = "样品id", requiredMode = Schema.RequiredMode.REQUIRED, example = "9299") @ExcelProperty("样品id") private Long sampleId; @@ -28,11 +28,7 @@ public class BusinessAssayTaskDetailRespVO { @ExcelProperty("指派编号") private String taskNo; - @Schema(description = "物料名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三") - @ExcelProperty("物料名称") - private String materialName; - - @Schema(description = "样品名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿") + @Schema(description = "样品名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五") @ExcelProperty("样品名称") private String sampleName; @@ -48,9 +44,9 @@ public class BusinessAssayTaskDetailRespVO { @ExcelProperty("数据来源类型,【字典】【jy_assay_task_data_source_type】正常,筛上,筛下") private String dataSourceType; - @Schema(description = "序号") - @ExcelProperty("序号") - private Integer sort; + @Schema(description = "排序号", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("排序号") + private Integer sortNo; @Schema(description = "任务退回状态,【字典】【jy_assay_task_rollback_status】默认;审批中;已审批(已退回);取消退回", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") @ExcelProperty("任务退回状态,【字典】【jy_assay_task_rollback_status】默认;审批中;已审批(已退回);取消退回") @@ -60,8 +56,8 @@ public class BusinessAssayTaskDetailRespVO { @ExcelProperty("所属部门") private String systemDepartmentCode; - @Schema(description = "创建日期", requiredMode = Schema.RequiredMode.REQUIRED) - @ExcelProperty("创建日期") + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("创建时间") private LocalDateTime createTime; @Schema(description = "备注") diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskDetailSaveReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskDetailSaveReqVO.java index dc7e050..b9f32f2 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskDetailSaveReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskDetailSaveReqVO.java @@ -9,14 +9,14 @@ import jakarta.validation.constraints.*; @Data public class BusinessAssayTaskDetailSaveReqVO { - @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "19713") + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "6020") private Long id; - @Schema(description = "指派单ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "6438") + @Schema(description = "指派单ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "21102") @NotNull(message = "指派单ID不能为空") private Long businessAssayTaskId; - @Schema(description = "样品id", requiredMode = Schema.RequiredMode.REQUIRED, example = "26703") + @Schema(description = "样品id", requiredMode = Schema.RequiredMode.REQUIRED, example = "9299") @NotNull(message = "样品id不能为空") private Long sampleId; @@ -24,11 +24,7 @@ public class BusinessAssayTaskDetailSaveReqVO { @NotEmpty(message = "指派编号不能为空") private String taskNo; - @Schema(description = "物料名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三") - @NotEmpty(message = "物料名称不能为空") - private String materialName; - - @Schema(description = "样品名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿") + @Schema(description = "样品名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五") @NotEmpty(message = "样品名称不能为空") private String sampleName; @@ -43,15 +39,15 @@ public class BusinessAssayTaskDetailSaveReqVO { @NotEmpty(message = "数据来源类型,【字典】【jy_assay_task_data_source_type】正常,筛上,筛下不能为空") private String dataSourceType; - @Schema(description = "序号") - private Integer sort; + @Schema(description = "排序号", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "排序号不能为空") + private Integer sortNo; @Schema(description = "任务退回状态,【字典】【jy_assay_task_rollback_status】默认;审批中;已审批(已退回);取消退回", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") @NotEmpty(message = "任务退回状态,【字典】【jy_assay_task_rollback_status】默认;审批中;已审批(已退回);取消退回不能为空") private String rollbackStatus; @Schema(description = "所属部门", requiredMode = Schema.RequiredMode.REQUIRED) - @NotEmpty(message = "所属部门不能为空") private String systemDepartmentCode; @Schema(description = "备注") diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskExtendRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskExtendRespVO.java new file mode 100644 index 0000000..8c1b8ae --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskExtendRespVO.java @@ -0,0 +1,25 @@ +package com.zt.plat.module.qms.business.bus.controller.vo; + +import lombok.Data; + +/** + * BusinessAssayTaskExtendRespVO + *

+ * 更新历史: + *

 版本         更新时间            更新者        更新内容
+ * V1.0 2025年9月25日 wxr Add
+ * Copyright (C) 云南志者竟成科技有限公司 + *

+ * @author 王兴荣 + * @version V1.0 + * @since 2025年9月25日 + */ +@Data +public class BusinessAssayTaskExtendRespVO extends BusinessAssayTaskRespVO { + + /** 分析方法名称 **/ + private String configAssayMethodName; + + /** 分析任务数 **/ + private Long assayTaskCount; +} diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskPageReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskPageReqVO.java index 7b19c8e..3f1738a 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskPageReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskPageReqVO.java @@ -19,12 +19,18 @@ public class BusinessAssayTaskPageReqVO extends PageParam { @Schema(description = "指派单名称", example = "芋艿") private String taskName; - @Schema(description = "检测方法ID", example = "18615") + @Schema(description = "检测方法配置ID", example = "20503") private Long configAssayMethodId; - @Schema(description = "任务单来源", example = "1") + @Schema(description = "任务单来源", example = "2") private String taskSourceType; + @Schema(description = "任务单模板ID", example = "13752") + private Long configReportTemplateId; + + @Schema(description = "任务单模板key") + private String configReportTemplateKey; + @Schema(description = "指派人") private String taskOperator; @@ -32,9 +38,13 @@ public class BusinessAssayTaskPageReqVO extends PageParam { @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) private LocalDateTime[] taskOperatorTime; - @Schema(description = "指派分析人") + @Schema(description = "分析人") private String assayOperator; + @Schema(description = "分析时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] assayTime; + @Schema(description = "上报时间") @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) private LocalDateTime[] reportTime; @@ -49,16 +59,16 @@ public class BusinessAssayTaskPageReqVO extends PageParam { @Schema(description = "指派单状态,【字典】【jy_assay_task_status】0-初始状态,1-已提交", example = "1") private String taskStatus; - @Schema(description = "同步状态,【字典】【jy_assay_task_syn_status】0-未同步,1-已同步", example = "2") + @Schema(description = "同步状态,【字典】【jy_assay_task_syn_status】0-未同步,1-已同步", example = "1") private String synchronousStatus; - @Schema(description = "标样业务ID", example = "21760") + @Schema(description = "标样业务ID", example = "11493") private Long standardSampleId; @Schema(description = "标样编号") private String standardSampleCode; - @Schema(description = "标准样类型ID", example = "31587") + @Schema(description = "标准样类型ID", example = "18274") private Long standardSampleTypeId; @Schema(description = "质控样编号") @@ -68,11 +78,11 @@ public class BusinessAssayTaskPageReqVO extends PageParam { @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) private LocalDateTime[] qualitySampleAssayTime; - @Schema(description = "流程实例id", example = "15616") + @Schema(description = "流程实例id", example = "32335") private Long flowInstanceId; - @Schema(description = "顶部字段配置") - private String formConfig; + @Schema(description = "顶部字段数据集ID,T_DAT_COLT_FLD", example = "3868") + private Long formDataCollectionId; @Schema(description = "顶部字段值") private String formValue; @@ -83,13 +93,13 @@ public class BusinessAssayTaskPageReqVO extends PageParam { @Schema(description = "完成状态,【字典】【jy_assay_task_finish_status】默认;待处理;已完成(待提交);已提交", example = "2") private String finishStatus; - @Schema(description = "流程状态,【字典】【jy_assay_task_flow_status】默认;审批中;打回;已完成", example = "1") + @Schema(description = "流程状态,【字典】【jy_assay_task_flow_status】默认;审批中;打回;已完成", example = "2") private String flowStatus; @Schema(description = "所属部门") private String systemDepartmentCode; - @Schema(description = "创建日期") + @Schema(description = "创建时间") @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) private LocalDateTime[] createTime; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskRespVO.java index 835f71f..d0cb666 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskRespVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskRespVO.java @@ -12,7 +12,7 @@ import com.alibaba.excel.annotation.*; @ExcelIgnoreUnannotated public class BusinessAssayTaskRespVO { - @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "5973") + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "31525") @ExcelProperty("ID") private Long id; @@ -24,14 +24,20 @@ public class BusinessAssayTaskRespVO { @ExcelProperty("指派单名称") private String taskName; - @Schema(description = "检测方法ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "18615") - @ExcelProperty("检测方法ID") + @Schema(description = "检测方法配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "20503") + @ExcelProperty("检测方法配置ID") private Long configAssayMethodId; - @Schema(description = "任务单来源", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + @Schema(description = "任务单来源", requiredMode = Schema.RequiredMode.REQUIRED, example = "2") @ExcelProperty("任务单来源") private String taskSourceType; + @Schema(description = "任务单模板ID", example = "13752") + private Long configReportTemplateId; + + @Schema(description = "任务单模板key") + private String configReportTemplateKey; + @Schema(description = "指派人", requiredMode = Schema.RequiredMode.REQUIRED) @ExcelProperty("指派人") private String taskOperator; @@ -40,10 +46,14 @@ public class BusinessAssayTaskRespVO { @ExcelProperty("指派时间") private LocalDateTime taskOperatorTime; - @Schema(description = "指派分析人", requiredMode = Schema.RequiredMode.REQUIRED) - @ExcelProperty("指派分析人") + @Schema(description = "分析人") + @ExcelProperty("分析人") private String assayOperator; + @Schema(description = "分析时间") + @ExcelProperty("分析时间") + private LocalDateTime assayTime; + @Schema(description = "上报时间") @ExcelProperty("上报时间") private LocalDateTime reportTime; @@ -60,11 +70,11 @@ public class BusinessAssayTaskRespVO { @ExcelProperty("指派单状态,【字典】【jy_assay_task_status】0-初始状态,1-已提交") private String taskStatus; - @Schema(description = "同步状态,【字典】【jy_assay_task_syn_status】0-未同步,1-已同步", requiredMode = Schema.RequiredMode.REQUIRED, example = "2") + @Schema(description = "同步状态,【字典】【jy_assay_task_syn_status】0-未同步,1-已同步", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") @ExcelProperty("同步状态,【字典】【jy_assay_task_syn_status】0-未同步,1-已同步") private String synchronousStatus; - @Schema(description = "标样业务ID", example = "21760") + @Schema(description = "标样业务ID", example = "11493") @ExcelProperty("标样业务ID") private Long standardSampleId; @@ -72,7 +82,7 @@ public class BusinessAssayTaskRespVO { @ExcelProperty("标样编号") private String standardSampleCode; - @Schema(description = "标准样类型ID", example = "31587") + @Schema(description = "标准样类型ID", example = "18274") @ExcelProperty("标准样类型ID") private Long standardSampleTypeId; @@ -84,13 +94,13 @@ public class BusinessAssayTaskRespVO { @ExcelProperty("质控样分析时间") private LocalDateTime qualitySampleAssayTime; - @Schema(description = "流程实例id", example = "15616") + @Schema(description = "流程实例id", example = "32335") @ExcelProperty("流程实例id") private Long flowInstanceId; - @Schema(description = "顶部字段配置", requiredMode = Schema.RequiredMode.REQUIRED) - @ExcelProperty("顶部字段配置") - private String formConfig; + @Schema(description = "顶部字段数据集ID,T_DAT_COLT_FLD", requiredMode = Schema.RequiredMode.REQUIRED, example = "3868") + @ExcelProperty("顶部字段数据集ID,T_DAT_COLT_FLD") + private Long formDataCollectionId; @Schema(description = "顶部字段值") @ExcelProperty("顶部字段值") @@ -104,7 +114,7 @@ public class BusinessAssayTaskRespVO { @ExcelProperty("完成状态,【字典】【jy_assay_task_finish_status】默认;待处理;已完成(待提交);已提交") private String finishStatus; - @Schema(description = "流程状态,【字典】【jy_assay_task_flow_status】默认;审批中;打回;已完成", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + @Schema(description = "流程状态,【字典】【jy_assay_task_flow_status】默认;审批中;打回;已完成", requiredMode = Schema.RequiredMode.REQUIRED, example = "2") @ExcelProperty("流程状态,【字典】【jy_assay_task_flow_status】默认;审批中;打回;已完成") private String flowStatus; @@ -112,8 +122,8 @@ public class BusinessAssayTaskRespVO { @ExcelProperty("所属部门") private String systemDepartmentCode; - @Schema(description = "创建日期", requiredMode = Schema.RequiredMode.REQUIRED) - @ExcelProperty("创建日期") + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("创建时间") private LocalDateTime createTime; @Schema(description = "备注") diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskSaveReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskSaveReqVO.java index 020d44b..64a5afa 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskSaveReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskSaveReqVO.java @@ -11,7 +11,7 @@ import java.time.LocalDateTime; @Data public class BusinessAssayTaskSaveReqVO { - @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "5973") + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "31525") private Long id; @Schema(description = "指派编号", requiredMode = Schema.RequiredMode.REQUIRED) @@ -22,14 +22,20 @@ public class BusinessAssayTaskSaveReqVO { @NotEmpty(message = "指派单名称不能为空") private String taskName; - @Schema(description = "检测方法ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "18615") - @NotNull(message = "检测方法ID不能为空") + @Schema(description = "检测方法配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "20503") + @NotNull(message = "检测方法配置ID不能为空") private Long configAssayMethodId; - @Schema(description = "任务单来源", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + @Schema(description = "任务单来源", requiredMode = Schema.RequiredMode.REQUIRED, example = "2") @NotEmpty(message = "任务单来源不能为空") private String taskSourceType; + @Schema(description = "任务单模板ID", example = "13752") + private Long configReportTemplateId; + + @Schema(description = "任务单模板key") + private String configReportTemplateKey; + @Schema(description = "指派人", requiredMode = Schema.RequiredMode.REQUIRED) @NotEmpty(message = "指派人不能为空") private String taskOperator; @@ -38,10 +44,12 @@ public class BusinessAssayTaskSaveReqVO { @NotNull(message = "指派时间不能为空") private LocalDateTime taskOperatorTime; - @Schema(description = "指派分析人", requiredMode = Schema.RequiredMode.REQUIRED) - @NotEmpty(message = "指派分析人不能为空") + @Schema(description = "分析人") private String assayOperator; + @Schema(description = "分析时间") + private LocalDateTime assayTime; + @Schema(description = "上报时间") private LocalDateTime reportTime; @@ -56,17 +64,17 @@ public class BusinessAssayTaskSaveReqVO { @NotEmpty(message = "指派单状态,【字典】【jy_assay_task_status】0-初始状态,1-已提交不能为空") private String taskStatus; - @Schema(description = "同步状态,【字典】【jy_assay_task_syn_status】0-未同步,1-已同步", requiredMode = Schema.RequiredMode.REQUIRED, example = "2") + @Schema(description = "同步状态,【字典】【jy_assay_task_syn_status】0-未同步,1-已同步", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") @NotEmpty(message = "同步状态,【字典】【jy_assay_task_syn_status】0-未同步,1-已同步不能为空") private String synchronousStatus; - @Schema(description = "标样业务ID", example = "21760") + @Schema(description = "标样业务ID", example = "11493") private Long standardSampleId; @Schema(description = "标样编号") private String standardSampleCode; - @Schema(description = "标准样类型ID", example = "31587") + @Schema(description = "标准样类型ID", example = "18274") private Long standardSampleTypeId; @Schema(description = "质控样编号") @@ -75,12 +83,12 @@ public class BusinessAssayTaskSaveReqVO { @Schema(description = "质控样分析时间") private LocalDateTime qualitySampleAssayTime; - @Schema(description = "流程实例id", example = "15616") + @Schema(description = "流程实例id", example = "32335") private Long flowInstanceId; - @Schema(description = "顶部字段配置", requiredMode = Schema.RequiredMode.REQUIRED) - @NotEmpty(message = "顶部字段配置不能为空") - private String formConfig; + @Schema(description = "顶部字段数据集ID,T_DAT_COLT_FLD", requiredMode = Schema.RequiredMode.REQUIRED, example = "3868") + @NotNull(message = "顶部字段数据集ID,T_DAT_COLT_FLD不能为空") + private Long formDataCollectionId; @Schema(description = "顶部字段值") private String formValue; @@ -92,12 +100,11 @@ public class BusinessAssayTaskSaveReqVO { @NotEmpty(message = "完成状态,【字典】【jy_assay_task_finish_status】默认;待处理;已完成(待提交);已提交不能为空") private String finishStatus; - @Schema(description = "流程状态,【字典】【jy_assay_task_flow_status】默认;审批中;打回;已完成", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + @Schema(description = "流程状态,【字典】【jy_assay_task_flow_status】默认;审批中;打回;已完成", requiredMode = Schema.RequiredMode.REQUIRED, example = "2") @NotEmpty(message = "流程状态,【字典】【jy_assay_task_flow_status】默认;审批中;打回;已完成不能为空") private String flowStatus; @Schema(description = "所属部门", requiredMode = Schema.RequiredMode.REQUIRED) - @NotEmpty(message = "所属部门不能为空") private String systemDepartmentCode; @Schema(description = "备注") diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessBaseSamplePageReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessBaseSamplePageReqVO.java index e5b10e4..e957a3f 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessBaseSamplePageReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessBaseSamplePageReqVO.java @@ -13,53 +13,56 @@ import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH @Data public class BusinessBaseSamplePageReqVO extends PageParam { - @Schema(description = "样品名称", example = "芋艿") + @Schema(description = "样品名称", example = "张三") private String sampleName; + @Schema(description = "样品大类名称", example = "张三") + private String baseSampleName; + @Schema(description = "样品编号") private String sampleCode; - @Schema(description = "主样配置ID", example = "26608") + @Schema(description = "主样配置ID", example = "3221") private Long configBaseSampleId; - @Schema(description = "主样类型ID,字典表:【T_DIC_BSN】结算样、抽查样、委检样", example = "27887") + @Schema(description = "主样类型ID,字典表:【T_DIC_BSN】结算样、抽查样、委检样", example = "32376") private Long dictionaryBusinessId; @Schema(description = "样品生成时间") @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) private LocalDateTime[] sampleTime; - @Schema(description = "打印次数", example = "20143") + @Schema(description = "打印次数", example = "31445") private Integer printCount; @Schema(description = "末次打印时间") @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) private LocalDateTime[] printLastTime; - @Schema(description = "样品流程ID", example = "25222") - private Long sampleFlowId; + @Schema(description = "样品流程配置ID", example = "30581") + private Long configSampleFlowId; - @Schema(description = "样品流程KEY") - private String sampleFlowKey; + @Schema(description = "样品流程节点KEY") + private String sampleFlowNodeKey; @Schema(description = "样品流程节点时间") @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] sampleFlowTime; + private LocalDateTime[] sampleFlowNodeTime; @Schema(description = "样品状态,【字典】【jy_sample_status】normal-正常、isolation-隔离、void-作废", example = "1") private String sampleStatus; + @Schema(description = "操作人") + private String operator; + @Schema(description = "所属部门") private String systemDepartmentCode; - @Schema(description = "创建人名称") - private String operator; - - @Schema(description = "创建日期") + @Schema(description = "创建时间") @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) private LocalDateTime[] createTime; - @Schema(description = "乐观锁", example = "13116") + @Schema(description = "乐观锁", example = "24886") private Integer updateCount; @Schema(description = "备注") diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessBaseSampleRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessBaseSampleRespVO.java index a3a9566..7d12438 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessBaseSampleRespVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessBaseSampleRespVO.java @@ -12,23 +12,27 @@ import com.alibaba.excel.annotation.*; @ExcelIgnoreUnannotated public class BusinessBaseSampleRespVO { - @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "14424") + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "26968") @ExcelProperty("ID") private Long id; - @Schema(description = "样品名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿") + @Schema(description = "样品名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三") @ExcelProperty("样品名称") private String sampleName; + @Schema(description = "样品大类名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三") + @ExcelProperty("样品大类名称") + private String baseSampleName; + @Schema(description = "样品编号", requiredMode = Schema.RequiredMode.REQUIRED) @ExcelProperty("样品编号") private String sampleCode; - @Schema(description = "主样配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "26608") + @Schema(description = "主样配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "3221") @ExcelProperty("主样配置ID") private Long configBaseSampleId; - @Schema(description = "主样类型ID,字典表:【T_DIC_BSN】结算样、抽查样、委检样", requiredMode = Schema.RequiredMode.REQUIRED, example = "27887") + @Schema(description = "主样类型ID,字典表:【T_DIC_BSN】结算样、抽查样、委检样", requiredMode = Schema.RequiredMode.REQUIRED, example = "32376") @ExcelProperty("主样类型ID,字典表:【T_DIC_BSN】结算样、抽查样、委检样") private Long dictionaryBusinessId; @@ -36,7 +40,7 @@ public class BusinessBaseSampleRespVO { @ExcelProperty("样品生成时间") private LocalDateTime sampleTime; - @Schema(description = "打印次数", requiredMode = Schema.RequiredMode.REQUIRED, example = "20143") + @Schema(description = "打印次数", requiredMode = Schema.RequiredMode.REQUIRED, example = "31445") @ExcelProperty("打印次数") private Integer printCount; @@ -44,35 +48,35 @@ public class BusinessBaseSampleRespVO { @ExcelProperty("末次打印时间") private LocalDateTime printLastTime; - @Schema(description = "样品流程ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "25222") - @ExcelProperty("样品流程ID") - private Long sampleFlowId; + @Schema(description = "样品流程配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "30581") + @ExcelProperty("样品流程配置ID") + private Long configSampleFlowId; - @Schema(description = "样品流程KEY", requiredMode = Schema.RequiredMode.REQUIRED) - @ExcelProperty("样品流程KEY") - private String sampleFlowKey; + @Schema(description = "样品流程节点KEY", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("样品流程节点KEY") + private String sampleFlowNodeKey; @Schema(description = "样品流程节点时间", requiredMode = Schema.RequiredMode.REQUIRED) @ExcelProperty("样品流程节点时间") - private LocalDateTime sampleFlowTime; + private LocalDateTime sampleFlowNodeTime; @Schema(description = "样品状态,【字典】【jy_sample_status】normal-正常、isolation-隔离、void-作废", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") @ExcelProperty("样品状态,【字典】【jy_sample_status】normal-正常、isolation-隔离、void-作废") private String sampleStatus; + @Schema(description = "操作人", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("操作人") + private String operator; + @Schema(description = "所属部门", requiredMode = Schema.RequiredMode.REQUIRED) @ExcelProperty("所属部门") private String systemDepartmentCode; - @Schema(description = "创建人名称", requiredMode = Schema.RequiredMode.REQUIRED) - @ExcelProperty("创建人名称") - private String operator; - - @Schema(description = "创建日期", requiredMode = Schema.RequiredMode.REQUIRED) - @ExcelProperty("创建日期") + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("创建时间") private LocalDateTime createTime; - @Schema(description = "乐观锁", requiredMode = Schema.RequiredMode.REQUIRED, example = "13116") + @Schema(description = "乐观锁", requiredMode = Schema.RequiredMode.REQUIRED, example = "24886") @ExcelProperty("乐观锁") private Integer updateCount; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessBaseSampleSaveReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessBaseSampleSaveReqVO.java index 808fd09..326f1cf 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessBaseSampleSaveReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessBaseSampleSaveReqVO.java @@ -11,22 +11,26 @@ import java.time.LocalDateTime; @Data public class BusinessBaseSampleSaveReqVO { - @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "14424") + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "26968") private Long id; - @Schema(description = "样品名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿") + @Schema(description = "样品名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三") @NotEmpty(message = "样品名称不能为空") private String sampleName; + @Schema(description = "样品大类名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三") + @NotEmpty(message = "样品大类名称不能为空") + private String baseSampleName; + @Schema(description = "样品编号", requiredMode = Schema.RequiredMode.REQUIRED) @NotEmpty(message = "样品编号不能为空") private String sampleCode; - @Schema(description = "主样配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "26608") + @Schema(description = "主样配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "3221") @NotNull(message = "主样配置ID不能为空") private Long configBaseSampleId; - @Schema(description = "主样类型ID,字典表:【T_DIC_BSN】结算样、抽查样、委检样", requiredMode = Schema.RequiredMode.REQUIRED, example = "27887") + @Schema(description = "主样类型ID,字典表:【T_DIC_BSN】结算样、抽查样、委检样", requiredMode = Schema.RequiredMode.REQUIRED, example = "32376") @NotNull(message = "主样类型ID,字典表:【T_DIC_BSN】结算样、抽查样、委检样不能为空") private Long dictionaryBusinessId; @@ -34,39 +38,37 @@ public class BusinessBaseSampleSaveReqVO { @NotNull(message = "样品生成时间不能为空") private LocalDateTime sampleTime; - @Schema(description = "打印次数", requiredMode = Schema.RequiredMode.REQUIRED, example = "20143") + @Schema(description = "打印次数", requiredMode = Schema.RequiredMode.REQUIRED, example = "31445") @NotNull(message = "打印次数不能为空") private Integer printCount; @Schema(description = "末次打印时间") private LocalDateTime printLastTime; - @Schema(description = "样品流程ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "25222") - @NotNull(message = "样品流程ID不能为空") - private Long sampleFlowId; + @Schema(description = "样品流程配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "30581") + @NotNull(message = "样品流程配置ID不能为空") + private Long configSampleFlowId; - @Schema(description = "样品流程KEY", requiredMode = Schema.RequiredMode.REQUIRED) - @NotEmpty(message = "样品流程KEY不能为空") - private String sampleFlowKey; + @Schema(description = "样品流程节点KEY", requiredMode = Schema.RequiredMode.REQUIRED) + @NotEmpty(message = "样品流程节点KEY不能为空") + private String sampleFlowNodeKey; @Schema(description = "样品流程节点时间", requiredMode = Schema.RequiredMode.REQUIRED) @NotNull(message = "样品流程节点时间不能为空") - private LocalDateTime sampleFlowTime; + private LocalDateTime sampleFlowNodeTime; @Schema(description = "样品状态,【字典】【jy_sample_status】normal-正常、isolation-隔离、void-作废", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") @NotEmpty(message = "样品状态,【字典】【jy_sample_status】normal-正常、isolation-隔离、void-作废不能为空") private String sampleStatus; - @Schema(description = "所属部门", requiredMode = Schema.RequiredMode.REQUIRED) - @NotEmpty(message = "所属部门不能为空") - private String systemDepartmentCode; - - @Schema(description = "创建人名称", requiredMode = Schema.RequiredMode.REQUIRED) - @NotEmpty(message = "创建人名称不能为空") + @Schema(description = "操作人", requiredMode = Schema.RequiredMode.REQUIRED) + @NotEmpty(message = "操作人不能为空") private String operator; - @Schema(description = "乐观锁", requiredMode = Schema.RequiredMode.REQUIRED, example = "13116") - @NotNull(message = "乐观锁不能为空") + @Schema(description = "所属部门", requiredMode = Schema.RequiredMode.REQUIRED) + private String systemDepartmentCode; + + @Schema(description = "乐观锁", requiredMode = Schema.RequiredMode.REQUIRED, example = "24886") private Integer updateCount; @Schema(description = "备注") diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessDocumentDataPageReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessDocumentDataPageReqVO.java new file mode 100644 index 0000000..0fed57d --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessDocumentDataPageReqVO.java @@ -0,0 +1,35 @@ +package com.zt.plat.module.qms.business.bus.controller.vo; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import com.zt.plat.framework.common.pojo.PageParam; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; + +import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 检测报告明细分页 Request VO") +@Data +public class BusinessDocumentDataPageReqVO extends PageParam { + + @Schema(description = "报告ID", example = "26917") + private Long businessDocumentMainId; + + @Schema(description = "原始数据ID", example = "17211") + private Long sourceId; + + @Schema(description = "数据内容") + private String documentContent; + + @Schema(description = "所属部门") + private String systemDepartmentCode; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "备注") + private String remark; + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessDocumentDataRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessDocumentDataRespVO.java new file mode 100644 index 0000000..0a74189 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessDocumentDataRespVO.java @@ -0,0 +1,43 @@ +package com.zt.plat.module.qms.business.bus.controller.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; +import com.alibaba.excel.annotation.*; + +@Schema(description = "管理后台 - 检测报告明细 Response VO") +@Data +@ExcelIgnoreUnannotated +public class BusinessDocumentDataRespVO { + + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "18647") + @ExcelProperty("ID") + private Long id; + + @Schema(description = "报告ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "26917") + @ExcelProperty("报告ID") + private Long businessDocumentMainId; + + @Schema(description = "原始数据ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "17211") + @ExcelProperty("原始数据ID") + private Long sourceId; + + @Schema(description = "数据内容") + @ExcelProperty("数据内容") + private String documentContent; + + @Schema(description = "所属部门", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("所属部门") + private String systemDepartmentCode; + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("创建时间") + private LocalDateTime createTime; + + @Schema(description = "备注") + @ExcelProperty("备注") + private String remark; + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessDocumentDataSaveReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessDocumentDataSaveReqVO.java new file mode 100644 index 0000000..8bfc4b4 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessDocumentDataSaveReqVO.java @@ -0,0 +1,32 @@ +package com.zt.plat.module.qms.business.bus.controller.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import jakarta.validation.constraints.*; + +@Schema(description = "管理后台 - 检测报告明细新增/修改 Request VO") +@Data +public class BusinessDocumentDataSaveReqVO { + + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "18647") + private Long id; + + @Schema(description = "报告ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "26917") + @NotNull(message = "报告ID不能为空") + private Long businessDocumentMainId; + + @Schema(description = "原始数据ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "17211") + @NotNull(message = "原始数据ID不能为空") + private Long sourceId; + + @Schema(description = "数据内容") + private String documentContent; + + @Schema(description = "所属部门", requiredMode = Schema.RequiredMode.REQUIRED) + private String systemDepartmentCode; + + @Schema(description = "备注") + private String remark; + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessDocumentMainPageReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessDocumentMainPageReqVO.java new file mode 100644 index 0000000..f849829 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessDocumentMainPageReqVO.java @@ -0,0 +1,73 @@ +package com.zt.plat.module.qms.business.bus.controller.vo; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import com.zt.plat.framework.common.pojo.PageParam; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; + +import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 检测报告业务分页 Request VO") +@Data +public class BusinessDocumentMainPageReqVO extends PageParam { + + @Schema(description = "流程实例ID", example = "780") + private Long flowInstanceId; + + @Schema(description = "报告类型ID", example = "15259") + private Long configDocumentTypeId; + + @Schema(description = "流程模型Key") + private String modelKey; + + @Schema(description = "流程流水号") + private String flowSerialNumber; + + @Schema(description = "当前节点") + private String currentNode; + + @Schema(description = "报告编号") + private String documentCode; + + @Schema(description = "报告类型,【字典】【jy_doc_main_type】化验报告、典型性报告、检测报告", example = "1") + private String documentType; + + @Schema(description = "报告标题") + private String documentTitle; + + @Schema(description = "报告配置项") + private String documentConfig; + + @Schema(description = "报告签名信息") + private String documentSignature; + + @Schema(description = "报告发起时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] documentStartTime; + + @Schema(description = "报告结束时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] documentEndTime; + + @Schema(description = "报告表单数据") + private String formData; + + @Schema(description = "附件") + private String attachment; + + @Schema(description = "状态,【字典】【jy_doc_main_status】待编制、审批中、已结束", example = "2") + private String status; + + @Schema(description = "所属部门") + private String systemDepartmentCode; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "备注") + private String remark; + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessDocumentMainRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessDocumentMainRespVO.java new file mode 100644 index 0000000..47a6e6b --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessDocumentMainRespVO.java @@ -0,0 +1,91 @@ +package com.zt.plat.module.qms.business.bus.controller.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; +import com.alibaba.excel.annotation.*; + +@Schema(description = "管理后台 - 检测报告业务 Response VO") +@Data +@ExcelIgnoreUnannotated +public class BusinessDocumentMainRespVO { + + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "23015") + @ExcelProperty("ID") + private Long id; + + @Schema(description = "流程实例ID", example = "780") + @ExcelProperty("流程实例ID") + private Long flowInstanceId; + + @Schema(description = "报告类型ID", example = "15259") + @ExcelProperty("报告类型ID") + private Long configDocumentTypeId; + + @Schema(description = "流程模型Key") + @ExcelProperty("流程模型Key") + private String modelKey; + + @Schema(description = "流程流水号") + @ExcelProperty("流程流水号") + private String flowSerialNumber; + + @Schema(description = "当前节点", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("当前节点") + private String currentNode; + + @Schema(description = "报告编号") + @ExcelProperty("报告编号") + private String documentCode; + + @Schema(description = "报告类型,【字典】【jy_doc_main_type】化验报告、典型性报告、检测报告", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + @ExcelProperty("报告类型,【字典】【jy_doc_main_type】化验报告、典型性报告、检测报告") + private String documentType; + + @Schema(description = "报告标题", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("报告标题") + private String documentTitle; + + @Schema(description = "报告配置项", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("报告配置项") + private String documentConfig; + + @Schema(description = "报告签名信息", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("报告签名信息") + private String documentSignature; + + @Schema(description = "报告发起时间") + @ExcelProperty("报告发起时间") + private LocalDateTime documentStartTime; + + @Schema(description = "报告结束时间") + @ExcelProperty("报告结束时间") + private LocalDateTime documentEndTime; + + @Schema(description = "报告表单数据") + @ExcelProperty("报告表单数据") + private String formData; + + @Schema(description = "附件") + @ExcelProperty("附件") + private String attachment; + + @Schema(description = "状态,【字典】【jy_doc_main_status】待编制、审批中、已结束", requiredMode = Schema.RequiredMode.REQUIRED, example = "2") + @ExcelProperty("状态,【字典】【jy_doc_main_status】待编制、审批中、已结束") + private String status; + + @Schema(description = "所属部门", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("所属部门") + private String systemDepartmentCode; + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("创建时间") + private LocalDateTime createTime; + + @Schema(description = "备注") + @ExcelProperty("备注") + private String remark; + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessDocumentMainSaveReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessDocumentMainSaveReqVO.java new file mode 100644 index 0000000..8894079 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessDocumentMainSaveReqVO.java @@ -0,0 +1,74 @@ +package com.zt.plat.module.qms.business.bus.controller.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import jakarta.validation.constraints.*; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; + +@Schema(description = "管理后台 - 检测报告业务新增/修改 Request VO") +@Data +public class BusinessDocumentMainSaveReqVO { + + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "23015") + private Long id; + + @Schema(description = "流程实例ID", example = "780") + private Long flowInstanceId; + + @Schema(description = "报告类型ID", example = "15259") + private Long configDocumentTypeId; + + @Schema(description = "流程模型Key") + private String modelKey; + + @Schema(description = "流程流水号") + private String flowSerialNumber; + + @Schema(description = "当前节点", requiredMode = Schema.RequiredMode.REQUIRED) + @NotEmpty(message = "当前节点不能为空") + private String currentNode; + + @Schema(description = "报告编号") + private String documentCode; + + @Schema(description = "报告类型,【字典】【jy_doc_main_type】化验报告、典型性报告、检测报告", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + @NotEmpty(message = "报告类型,【字典】【jy_doc_main_type】化验报告、典型性报告、检测报告不能为空") + private String documentType; + + @Schema(description = "报告标题", requiredMode = Schema.RequiredMode.REQUIRED) + @NotEmpty(message = "报告标题不能为空") + private String documentTitle; + + @Schema(description = "报告配置项", requiredMode = Schema.RequiredMode.REQUIRED) + @NotEmpty(message = "报告配置项不能为空") + private String documentConfig; + + @Schema(description = "报告签名信息", requiredMode = Schema.RequiredMode.REQUIRED) + @NotEmpty(message = "报告签名信息不能为空") + private String documentSignature; + + @Schema(description = "报告发起时间") + private LocalDateTime documentStartTime; + + @Schema(description = "报告结束时间") + private LocalDateTime documentEndTime; + + @Schema(description = "报告表单数据") + private String formData; + + @Schema(description = "附件") + private String attachment; + + @Schema(description = "状态,【字典】【jy_doc_main_status】待编制、审批中、已结束", requiredMode = Schema.RequiredMode.REQUIRED, example = "2") + @NotEmpty(message = "状态,【字典】【jy_doc_main_status】待编制、审批中、已结束不能为空") + private String status; + + @Schema(description = "所属部门", requiredMode = Schema.RequiredMode.REQUIRED) + private String systemDepartmentCode; + + @Schema(description = "备注") + private String remark; + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessHandoverRecordSubPageReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessHandoverRecordSubPageReqVO.java index c91950a..9872acf 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessHandoverRecordSubPageReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessHandoverRecordSubPageReqVO.java @@ -14,14 +14,14 @@ import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH @Data public class BusinessHandoverRecordSubPageReqVO extends PageParam { - @Schema(description = "样品子样ID", example = "7268") + @Schema(description = "分样子样ID", example = "15157") private Long businessSubSampleId; - @Schema(description = "样品流程ID", example = "27410") - private Long sampleFlowId; + @Schema(description = "样品流程配置ID", example = "9154") + private Long configSampleFlowId; - @Schema(description = "样品流程KEY") - private String sampleFlowKey; + @Schema(description = "样品流程节点KEY") + private String sampleFlowNodeKey; @Schema(description = "样品编号") private String sampleCode; @@ -29,6 +29,9 @@ public class BusinessHandoverRecordSubPageReqVO extends PageParam { @Schema(description = "样品重量") private BigDecimal sampleWeight; + @Schema(description = "天平编号") + private String balanceCode; + @Schema(description = "操作时间") @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) private LocalDateTime[] operationTime; @@ -36,7 +39,7 @@ public class BusinessHandoverRecordSubPageReqVO extends PageParam { @Schema(description = "操作人") private String operator; - @Schema(description = "操作人ID", example = "9370") + @Schema(description = "操作人ID", example = "19708") private Long operatorId; @Schema(description = "送样人") @@ -45,10 +48,16 @@ public class BusinessHandoverRecordSubPageReqVO extends PageParam { @Schema(description = "收样人") private String receiveSampleOperator; + @Schema(description = "上一个交接记录ID", example = "5605") + private Long upSampleRecordId; + + @Schema(description = "下一个交接记录ID", example = "31634") + private Long nextSampleRecordId; + @Schema(description = "所属部门") private String systemDepartmentCode; - @Schema(description = "创建日期") + @Schema(description = "创建时间") @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) private LocalDateTime[] createTime; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessHandoverRecordSubRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessHandoverRecordSubRespVO.java index b732e00..bb27827 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessHandoverRecordSubRespVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessHandoverRecordSubRespVO.java @@ -13,23 +13,23 @@ import com.alibaba.excel.annotation.*; @ExcelIgnoreUnannotated public class BusinessHandoverRecordSubRespVO { - @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "3962") + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "20889") @ExcelProperty("ID") private Long id; - @Schema(description = "样品子样ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "7268") - @ExcelProperty("样品子样ID") + @Schema(description = "分样子样ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "15157") + @ExcelProperty("分样子样ID") private Long businessSubSampleId; - @Schema(description = "样品流程ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "27410") - @ExcelProperty("样品流程ID") - private Long sampleFlowId; + @Schema(description = "样品流程配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "9154") + @ExcelProperty("样品流程配置ID") + private Long configSampleFlowId; - @Schema(description = "样品流程KEY", requiredMode = Schema.RequiredMode.REQUIRED) - @ExcelProperty("样品流程KEY") - private String sampleFlowKey; + @Schema(description = "样品流程节点KEY", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("样品流程节点KEY") + private String sampleFlowNodeKey; - @Schema(description = "样品编号") + @Schema(description = "样品编号", requiredMode = Schema.RequiredMode.REQUIRED) @ExcelProperty("样品编号") private String sampleCode; @@ -37,6 +37,10 @@ public class BusinessHandoverRecordSubRespVO { @ExcelProperty("样品重量") private BigDecimal sampleWeight; + @Schema(description = "天平编号") + @ExcelProperty("天平编号") + private String balanceCode; + @Schema(description = "操作时间", requiredMode = Schema.RequiredMode.REQUIRED) @ExcelProperty("操作时间") private LocalDateTime operationTime; @@ -45,7 +49,7 @@ public class BusinessHandoverRecordSubRespVO { @ExcelProperty("操作人") private String operator; - @Schema(description = "操作人ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "9370") + @Schema(description = "操作人ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "19708") @ExcelProperty("操作人ID") private Long operatorId; @@ -57,12 +61,20 @@ public class BusinessHandoverRecordSubRespVO { @ExcelProperty("收样人") private String receiveSampleOperator; - @Schema(description = "所属部门", requiredMode = Schema.RequiredMode.REQUIRED) + @Schema(description = "上一个交接记录ID", example = "5605") + @ExcelProperty("上一个交接记录ID") + private Long upSampleRecordId; + + @Schema(description = "下一个交接记录ID", example = "31634") + @ExcelProperty("下一个交接记录ID") + private Long nextSampleRecordId; + + @Schema(description = "所属部门") @ExcelProperty("所属部门") private String systemDepartmentCode; - @Schema(description = "创建日期", requiredMode = Schema.RequiredMode.REQUIRED) - @ExcelProperty("创建日期") + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("创建时间") private LocalDateTime createTime; @Schema(description = "备注") diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessHandoverRecordSubSaveReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessHandoverRecordSubSaveReqVO.java index 33e407b..69d6962 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessHandoverRecordSubSaveReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessHandoverRecordSubSaveReqVO.java @@ -12,27 +12,31 @@ import java.time.LocalDateTime; @Data public class BusinessHandoverRecordSubSaveReqVO { - @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "3962") + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "20889") private Long id; - @Schema(description = "样品子样ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "7268") - @NotNull(message = "样品子样ID不能为空") + @Schema(description = "分样子样ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "15157") + @NotNull(message = "分样子样ID不能为空") private Long businessSubSampleId; - @Schema(description = "样品流程ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "27410") - @NotNull(message = "样品流程ID不能为空") - private Long sampleFlowId; + @Schema(description = "样品流程配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "9154") + @NotNull(message = "样品流程配置ID不能为空") + private Long configSampleFlowId; - @Schema(description = "样品流程KEY", requiredMode = Schema.RequiredMode.REQUIRED) - @NotEmpty(message = "样品流程KEY不能为空") - private String sampleFlowKey; + @Schema(description = "样品流程节点KEY", requiredMode = Schema.RequiredMode.REQUIRED) + @NotEmpty(message = "样品流程节点KEY不能为空") + private String sampleFlowNodeKey; - @Schema(description = "样品编号") + @Schema(description = "样品编号", requiredMode = Schema.RequiredMode.REQUIRED) + @NotEmpty(message = "样品编号不能为空") private String sampleCode; @Schema(description = "样品重量") private BigDecimal sampleWeight; + @Schema(description = "天平编号") + private String balanceCode; + @Schema(description = "操作时间", requiredMode = Schema.RequiredMode.REQUIRED) @NotNull(message = "操作时间不能为空") private LocalDateTime operationTime; @@ -41,7 +45,7 @@ public class BusinessHandoverRecordSubSaveReqVO { @NotEmpty(message = "操作人不能为空") private String operator; - @Schema(description = "操作人ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "9370") + @Schema(description = "操作人ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "19708") @NotNull(message = "操作人ID不能为空") private Long operatorId; @@ -53,8 +57,13 @@ public class BusinessHandoverRecordSubSaveReqVO { @NotEmpty(message = "收样人不能为空") private String receiveSampleOperator; - @Schema(description = "所属部门", requiredMode = Schema.RequiredMode.REQUIRED) - @NotEmpty(message = "所属部门不能为空") + @Schema(description = "上一个交接记录ID", example = "5605") + private Long upSampleRecordId; + + @Schema(description = "下一个交接记录ID", example = "31634") + private Long nextSampleRecordId; + + @Schema(description = "所属部门") private String systemDepartmentCode; @Schema(description = "备注") diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessQualityControlSampleProjectPageReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessQualityControlSampleProjectPageReqVO.java new file mode 100644 index 0000000..8854a81 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessQualityControlSampleProjectPageReqVO.java @@ -0,0 +1,62 @@ +package com.zt.plat.module.qms.business.bus.controller.vo; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import com.zt.plat.framework.common.pojo.PageParam; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; + +import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 质控样检测项目业务分页 Request VO") +@Data +public class BusinessQualityControlSampleProjectPageReqVO extends PageParam { + + @Schema(description = "指派单ID", example = "11066") + private Long businessAssayTaskId; + + @Schema(description = "标准样元素配置ID", example = "15889") + private Long configStandardSampleProjectId; + + @Schema(description = "检测项目ID,字典表:【T_DIC_PRJ】", example = "32665") + private Long dictionaryProjectId; + + @Schema(description = "检测项目名称,字典表:【UNT】", example = "李四") + private String dictionaryProjectName; + + @Schema(description = "检测项目单位") + private String dictionaryProjectUnit; + + @Schema(description = "标准值") + private String standardValue; + + @Schema(description = "允差值") + private String toleraanceValue; + + @Schema(description = "质控样值") + private String qualityControlValue; + + @Schema(description = "数据类型,【字典】【jy_sample_data_type】string-字符串,int-整数,decimal-小数,date-日期,datetime-时间", example = "2") + private String dataType; + + @Schema(description = "小数位") + private Integer decimalPosition; + + @Schema(description = "排序号") + private Integer sortNo; + + @Schema(description = "所属部门") + private String systemDepartmentCode; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "乐观锁", example = "14124") + private Integer updateCount; + + @Schema(description = "备注") + private String remark; + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessQualityControlSampleProjectRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessQualityControlSampleProjectRespVO.java new file mode 100644 index 0000000..39ddc76 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessQualityControlSampleProjectRespVO.java @@ -0,0 +1,79 @@ +package com.zt.plat.module.qms.business.bus.controller.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; +import com.alibaba.excel.annotation.*; + +@Schema(description = "管理后台 - 质控样检测项目业务 Response VO") +@Data +@ExcelIgnoreUnannotated +public class BusinessQualityControlSampleProjectRespVO { + + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "5422") + @ExcelProperty("ID") + private Long id; + + @Schema(description = "指派单ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "11066") + @ExcelProperty("指派单ID") + private Long businessAssayTaskId; + + @Schema(description = "标准样元素配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "15889") + @ExcelProperty("标准样元素配置ID") + private Long configStandardSampleProjectId; + + @Schema(description = "检测项目ID,字典表:【T_DIC_PRJ】", requiredMode = Schema.RequiredMode.REQUIRED, example = "32665") + @ExcelProperty("检测项目ID,字典表:【T_DIC_PRJ】") + private Long dictionaryProjectId; + + @Schema(description = "检测项目名称,字典表:【UNT】", requiredMode = Schema.RequiredMode.REQUIRED, example = "李四") + @ExcelProperty("检测项目名称,字典表:【UNT】") + private String dictionaryProjectName; + + @Schema(description = "检测项目单位") + @ExcelProperty("检测项目单位") + private String dictionaryProjectUnit; + + @Schema(description = "标准值") + @ExcelProperty("标准值") + private String standardValue; + + @Schema(description = "允差值", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("允差值") + private String toleraanceValue; + + @Schema(description = "质控样值") + @ExcelProperty("质控样值") + private String qualityControlValue; + + @Schema(description = "数据类型,【字典】【jy_sample_data_type】string-字符串,int-整数,decimal-小数,date-日期,datetime-时间", requiredMode = Schema.RequiredMode.REQUIRED, example = "2") + @ExcelProperty("数据类型,【字典】【jy_sample_data_type】string-字符串,int-整数,decimal-小数,date-日期,datetime-时间") + private String dataType; + + @Schema(description = "小数位", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("小数位") + private Integer decimalPosition; + + @Schema(description = "排序号") + @ExcelProperty("排序号") + private Integer sortNo; + + @Schema(description = "所属部门", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("所属部门") + private String systemDepartmentCode; + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("创建时间") + private LocalDateTime createTime; + + @Schema(description = "乐观锁", requiredMode = Schema.RequiredMode.REQUIRED, example = "14124") + @ExcelProperty("乐观锁") + private Integer updateCount; + + @Schema(description = "备注") + @ExcelProperty("备注") + private String remark; + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessQualityControlSampleProjectSaveReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessQualityControlSampleProjectSaveReqVO.java new file mode 100644 index 0000000..f3a78d2 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessQualityControlSampleProjectSaveReqVO.java @@ -0,0 +1,64 @@ +package com.zt.plat.module.qms.business.bus.controller.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import jakarta.validation.constraints.*; + +@Schema(description = "管理后台 - 质控样检测项目业务新增/修改 Request VO") +@Data +public class BusinessQualityControlSampleProjectSaveReqVO { + + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "5422") + private Long id; + + @Schema(description = "指派单ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "11066") + @NotNull(message = "指派单ID不能为空") + private Long businessAssayTaskId; + + @Schema(description = "标准样元素配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "15889") + @NotNull(message = "标准样元素配置ID不能为空") + private Long configStandardSampleProjectId; + + @Schema(description = "检测项目ID,字典表:【T_DIC_PRJ】", requiredMode = Schema.RequiredMode.REQUIRED, example = "32665") + @NotNull(message = "检测项目ID,字典表:【T_DIC_PRJ】不能为空") + private Long dictionaryProjectId; + + @Schema(description = "检测项目名称,字典表:【UNT】", requiredMode = Schema.RequiredMode.REQUIRED, example = "李四") + @NotEmpty(message = "检测项目名称,字典表:【UNT】不能为空") + private String dictionaryProjectName; + + @Schema(description = "检测项目单位") + private String dictionaryProjectUnit; + + @Schema(description = "标准值") + private String standardValue; + + @Schema(description = "允差值", requiredMode = Schema.RequiredMode.REQUIRED) + @NotEmpty(message = "允差值不能为空") + private String toleraanceValue; + + @Schema(description = "质控样值") + private String qualityControlValue; + + @Schema(description = "数据类型,【字典】【jy_sample_data_type】string-字符串,int-整数,decimal-小数,date-日期,datetime-时间", requiredMode = Schema.RequiredMode.REQUIRED, example = "2") + @NotEmpty(message = "数据类型,【字典】【jy_sample_data_type】string-字符串,int-整数,decimal-小数,date-日期,datetime-时间不能为空") + private String dataType; + + @Schema(description = "小数位", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "小数位不能为空") + private Integer decimalPosition; + + @Schema(description = "排序号") + private Integer sortNo; + + @Schema(description = "所属部门", requiredMode = Schema.RequiredMode.REQUIRED) + private String systemDepartmentCode; + + @Schema(description = "乐观锁", requiredMode = Schema.RequiredMode.REQUIRED, example = "14124") + private Integer updateCount; + + @Schema(description = "备注") + private String remark; + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleAssayResultPageReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleAssayResultPageReqVO.java index c31af41..edcc998 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleAssayResultPageReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleAssayResultPageReqVO.java @@ -13,13 +13,13 @@ import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH @Data public class BusinessSampleAssayResultPageReqVO extends PageParam { - @Schema(description = "委托登记样品明细ID", example = "5711") + @Schema(description = "委托登记样品明细ID", example = "26226") private Long businessSampleEntrustDetailId; - @Schema(description = "样品主样ID", example = "22353") + @Schema(description = "样品主样ID", example = "9132") private Long businessBaseSampleId; - @Schema(description = "来样品位") + @Schema(description = "来样品位(JSON数据)") private String data; @Schema(description = "所属部门") @@ -29,7 +29,7 @@ public class BusinessSampleAssayResultPageReqVO extends PageParam { @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) private LocalDateTime[] createTime; - @Schema(description = "乐观锁", example = "18328") + @Schema(description = "乐观锁", example = "31515") private Integer updateCount; @Schema(description = "备注") diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleAssayResultRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleAssayResultRespVO.java index 2073359..18ce6d7 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleAssayResultRespVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleAssayResultRespVO.java @@ -12,20 +12,20 @@ import com.alibaba.excel.annotation.*; @ExcelIgnoreUnannotated public class BusinessSampleAssayResultRespVO { - @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "31437") + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "21507") @ExcelProperty("ID") private Long id; - @Schema(description = "委托登记样品明细ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "5711") + @Schema(description = "委托登记样品明细ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "26226") @ExcelProperty("委托登记样品明细ID") private Long businessSampleEntrustDetailId; - @Schema(description = "样品主样ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "22353") + @Schema(description = "样品主样ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "9132") @ExcelProperty("样品主样ID") private Long businessBaseSampleId; - @Schema(description = "来样品位", requiredMode = Schema.RequiredMode.REQUIRED) - @ExcelProperty("来样品位") + @Schema(description = "来样品位(JSON数据)", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("来样品位(JSON数据)") private String data; @Schema(description = "所属部门", requiredMode = Schema.RequiredMode.REQUIRED) @@ -36,7 +36,7 @@ public class BusinessSampleAssayResultRespVO { @ExcelProperty("创建时间") private LocalDateTime createTime; - @Schema(description = "乐观锁", requiredMode = Schema.RequiredMode.REQUIRED, example = "18328") + @Schema(description = "乐观锁", requiredMode = Schema.RequiredMode.REQUIRED, example = "31515") @ExcelProperty("乐观锁") private Integer updateCount; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleAssayResultSaveReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleAssayResultSaveReqVO.java index ded75d3..2331b28 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleAssayResultSaveReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleAssayResultSaveReqVO.java @@ -9,27 +9,25 @@ import jakarta.validation.constraints.*; @Data public class BusinessSampleAssayResultSaveReqVO { - @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "31437") + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "21507") private Long id; - @Schema(description = "委托登记样品明细ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "5711") + @Schema(description = "委托登记样品明细ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "26226") @NotNull(message = "委托登记样品明细ID不能为空") private Long businessSampleEntrustDetailId; - @Schema(description = "样品主样ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "22353") + @Schema(description = "样品主样ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "9132") @NotNull(message = "样品主样ID不能为空") private Long businessBaseSampleId; - @Schema(description = "来样品位", requiredMode = Schema.RequiredMode.REQUIRED) - @NotEmpty(message = "来样品位不能为空") + @Schema(description = "来样品位(JSON数据)", requiredMode = Schema.RequiredMode.REQUIRED) + @NotEmpty(message = "来样品位(JSON数据)不能为空") private String data; @Schema(description = "所属部门", requiredMode = Schema.RequiredMode.REQUIRED) - @NotEmpty(message = "所属部门不能为空") private String systemDepartmentCode; - @Schema(description = "乐观锁", requiredMode = Schema.RequiredMode.REQUIRED, example = "18328") - @NotNull(message = "乐观锁不能为空") + @Schema(description = "乐观锁", requiredMode = Schema.RequiredMode.REQUIRED, example = "31515") private Integer updateCount; @Schema(description = "备注") diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleEntrustDetailExtendRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleEntrustDetailExtendRespVO.java index d2b23d4..5f93c30 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleEntrustDetailExtendRespVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleEntrustDetailExtendRespVO.java @@ -7,6 +7,9 @@ import lombok.Data; @Data public class BusinessSampleEntrustDetailExtendRespVO extends BusinessSampleEntrustDetailRespVO { + /** 样品大类名称 **/ + private String baseSampleName; + private List sampleEntrustDetailProjectList; } diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleEntrustDetailPageReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleEntrustDetailPageReqVO.java index af26f26..e7cccb9 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleEntrustDetailPageReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleEntrustDetailPageReqVO.java @@ -13,19 +13,19 @@ import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH @Data public class BusinessSampleEntrustDetailPageReqVO extends PageParam { - @Schema(description = "检验委托登记ID", example = "3509") + @Schema(description = "检验委托登记ID", example = "17352") private Long businessSampleEntrustRegistrationId; - @Schema(description = "主样业务ID", example = "24710") + @Schema(description = "主样业务ID", example = "9560") private Long businessBaseSampleId; - @Schema(description = "样品大类ID", example = "10243") + @Schema(description = "样品大类ID", example = "1920") private Long baseSampleId; - @Schema(description = "样品类型ID,字典表:【T_DIC_BSN】结算样、委检样、生产样等", example = "27392") - private Long dictionaryBusinessId; + @Schema(description = "样品类型ID,字典表:【T_DIC_SMP_TP】西南铜委托样、商检委托样、内部委托样、抽查委托样、内审委托样等", example = "5244") + private Long sampleTypeDictionaryBusinessId; - @Schema(description = "样品名称", example = "芋艿") + @Schema(description = "样品名称", example = "李四") private String sampleName; @Schema(description = "样品编号") @@ -37,15 +37,15 @@ public class BusinessSampleEntrustDetailPageReqVO extends PageParam { @Schema(description = "委托样品编号") private String entrustSampleCode; - @Schema(description = "排序") - private Integer sort; - @Schema(description = "检测项目") private String assayProject; @Schema(description = "预报结果") private String forecastResult; + @Schema(description = "排序") + private Integer sort; + @Schema(description = "是否称重,1-启用,0-不启用") private Integer isWeighing; @@ -56,7 +56,7 @@ public class BusinessSampleEntrustDetailPageReqVO extends PageParam { @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) private LocalDateTime[] createTime; - @Schema(description = "乐观锁", example = "12540") + @Schema(description = "乐观锁", example = "18310") private Integer updateCount; @Schema(description = "备注") diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleEntrustDetailReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleEntrustDetailReqVO.java new file mode 100644 index 0000000..6fa1b09 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleEntrustDetailReqVO.java @@ -0,0 +1,63 @@ +package com.zt.plat.module.qms.business.bus.controller.vo; + +import lombok.*; +import io.swagger.v3.oas.annotations.media.Schema; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; + +import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 委检登记样品明细分页 Request VO") +@Data +public class BusinessSampleEntrustDetailReqVO { + + @Schema(description = "检验委托登记ID", example = "17352") + private Long businessSampleEntrustRegistrationId; + + @Schema(description = "主样业务ID", example = "9560") + private Long businessBaseSampleId; + + @Schema(description = "样品大类ID", example = "1920") + private Long baseSampleId; + + @Schema(description = "样品类型ID,字典表:【T_DIC_SMP_TP】西南铜委托样、商检委托样、内部委托样、抽查委托样、内审委托样等", example = "5244") + private Long sampleTypeDictionaryBusinessId; + + @Schema(description = "样品名称", example = "李四") + private String sampleName; + + @Schema(description = "样品编号") + private String sampleCode; + + @Schema(description = "委托样品名称", example = "赵六") + private String entrustSampleName; + + @Schema(description = "委托样品编号") + private String entrustSampleCode; + + @Schema(description = "检测项目") + private String assayProject; + + @Schema(description = "预报结果") + private String forecastResult; + + @Schema(description = "排序") + private Integer sort; + + @Schema(description = "是否称重,1-启用,0-不启用") + private Integer isWeighing; + + @Schema(description = "所属部门") + private String systemDepartmentCode; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "乐观锁", example = "18310") + private Integer updateCount; + + @Schema(description = "备注") + private String remark; + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleEntrustDetailRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleEntrustDetailRespVO.java index df900c2..b2df559 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleEntrustDetailRespVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleEntrustDetailRespVO.java @@ -12,27 +12,27 @@ import com.alibaba.excel.annotation.*; @ExcelIgnoreUnannotated public class BusinessSampleEntrustDetailRespVO { - @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "12340") + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "6935") @ExcelProperty("ID") private Long id; - @Schema(description = "检验委托登记ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "3509") + @Schema(description = "检验委托登记ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "17352") @ExcelProperty("检验委托登记ID") private Long businessSampleEntrustRegistrationId; - @Schema(description = "主样业务ID", example = "24710") + @Schema(description = "主样业务ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "9560") @ExcelProperty("主样业务ID") private Long businessBaseSampleId; - @Schema(description = "样品大类ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "10243") + @Schema(description = "样品大类ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "1920") @ExcelProperty("样品大类ID") private Long baseSampleId; - @Schema(description = "样品类型ID,字典表:【T_DIC_BSN】结算样、委检样、生产样等", requiredMode = Schema.RequiredMode.REQUIRED, example = "27392") - @ExcelProperty("样品类型ID,字典表:【T_DIC_BSN】结算样、委检样、生产样等") - private Long dictionaryBusinessId; + @Schema(description = "样品类型ID,字典表:【T_DIC_SMP_TP】西南铜委托样、商检委托样、内部委托样、抽查委托样、内审委托样等", requiredMode = Schema.RequiredMode.REQUIRED, example = "5244") + @ExcelProperty("样品类型ID,字典表:【T_DIC_SMP_TP】西南铜委托样、商检委托样、内部委托样、抽查委托样、内审委托样等") + private Long sampleTypeDictionaryBusinessId; - @Schema(description = "样品名称", example = "芋艿") + @Schema(description = "样品名称", example = "李四") @ExcelProperty("样品名称") private String sampleName; @@ -48,11 +48,7 @@ public class BusinessSampleEntrustDetailRespVO { @ExcelProperty("委托样品编号") private String entrustSampleCode; - @Schema(description = "排序", requiredMode = Schema.RequiredMode.REQUIRED) - @ExcelProperty("排序") - private Integer sort; - - @Schema(description = "检测项目") + @Schema(description = "检测项目", requiredMode = Schema.RequiredMode.REQUIRED) @ExcelProperty("检测项目") private String assayProject; @@ -60,6 +56,10 @@ public class BusinessSampleEntrustDetailRespVO { @ExcelProperty("预报结果") private String forecastResult; + @Schema(description = "排序", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("排序") + private Integer sort; + @Schema(description = "是否称重,1-启用,0-不启用", requiredMode = Schema.RequiredMode.REQUIRED) @ExcelProperty("是否称重,1-启用,0-不启用") private Integer isWeighing; @@ -72,7 +72,7 @@ public class BusinessSampleEntrustDetailRespVO { @ExcelProperty("创建时间") private LocalDateTime createTime; - @Schema(description = "乐观锁", example = "12540") + @Schema(description = "乐观锁", requiredMode = Schema.RequiredMode.REQUIRED, example = "18310") @ExcelProperty("乐观锁") private Integer updateCount; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleEntrustDetailSaveReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleEntrustDetailSaveReqVO.java index 961baa3..e96cfbd 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleEntrustDetailSaveReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleEntrustDetailSaveReqVO.java @@ -9,25 +9,26 @@ import jakarta.validation.constraints.*; @Data public class BusinessSampleEntrustDetailSaveReqVO { - @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "12340") + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "6935") private Long id; - @Schema(description = "检验委托登记ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "3509") + @Schema(description = "检验委托登记ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "17352") @NotNull(message = "检验委托登记ID不能为空") private Long businessSampleEntrustRegistrationId; - @Schema(description = "主样业务ID", example = "24710") + @Schema(description = "主样业务ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "9560") + @NotNull(message = "主样业务ID不能为空") private Long businessBaseSampleId; - @Schema(description = "样品大类ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "10243") + @Schema(description = "样品大类ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "1920") @NotNull(message = "样品大类ID不能为空") private Long baseSampleId; - @Schema(description = "样品类型ID,字典表:【T_DIC_BSN】结算样、委检样、生产样等", requiredMode = Schema.RequiredMode.REQUIRED, example = "27392") - @NotNull(message = "样品类型ID,字典表:【T_DIC_BSN】结算样、委检样、生产样等不能为空") - private Long dictionaryBusinessId; + @Schema(description = "样品类型ID,字典表:【T_DIC_SMP_TP】西南铜委托样、商检委托样、内部委托样、抽查委托样、内审委托样等", requiredMode = Schema.RequiredMode.REQUIRED, example = "5244") + @NotNull(message = "样品类型ID,字典表:【T_DIC_SMP_TP】西南铜委托样、商检委托样、内部委托样、抽查委托样、内审委托样等不能为空") + private Long sampleTypeDictionaryBusinessId; - @Schema(description = "样品名称", example = "芋艿") + @Schema(description = "样品名称", example = "李四") private String sampleName; @Schema(description = "样品编号") @@ -41,16 +42,17 @@ public class BusinessSampleEntrustDetailSaveReqVO { @NotEmpty(message = "委托样品编号不能为空") private String entrustSampleCode; - @Schema(description = "排序", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "排序不能为空") - private Integer sort; - - @Schema(description = "检测项目") + @Schema(description = "检测项目", requiredMode = Schema.RequiredMode.REQUIRED) + @NotEmpty(message = "检测项目不能为空") private String assayProject; @Schema(description = "预报结果") private String forecastResult; + @Schema(description = "排序", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "排序不能为空") + private Integer sort; + @Schema(description = "是否称重,1-启用,0-不启用", requiredMode = Schema.RequiredMode.REQUIRED) @NotNull(message = "是否称重,1-启用,0-不启用不能为空") private Integer isWeighing; @@ -58,7 +60,7 @@ public class BusinessSampleEntrustDetailSaveReqVO { @Schema(description = "所属部门") private String systemDepartmentCode; - @Schema(description = "乐观锁", example = "12540") + @Schema(description = "乐观锁", requiredMode = Schema.RequiredMode.REQUIRED, example = "18310") private Integer updateCount; @Schema(description = "备注") diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleEntrustProjectPageReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleEntrustProjectPageReqVO.java index af46ce9..c445720 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleEntrustProjectPageReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleEntrustProjectPageReqVO.java @@ -9,17 +9,17 @@ import java.time.LocalDateTime; import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; -@Schema(description = "管理后台 - 委检样品检测项目业务分页 Request VO") +@Schema(description = "管理后台 - 委检登记样品检测项目分页 Request VO") @Data public class BusinessSampleEntrustProjectPageReqVO extends PageParam { - @Schema(description = "样品检验委托明细ID", example = "31234") + @Schema(description = "委托登记样品明细ID", example = "30574") private Long businessSampleEntrustDetailId; - @Schema(description = "物料检测标准检测项目ID", example = "1780") + @Schema(description = "物料检测标准检测项目ID", example = "32027") private Long materialAssayStandardDetailId; - @Schema(description = "检测项目ID,字典表:【T_DIC_PRJ】", example = "29566") + @Schema(description = "检测项目ID,字典表:【T_DIC_PRJ】", example = "32209") private Long dictionaryProjectId; @Schema(description = "是否启用,1-启用,0-不启用") @@ -32,7 +32,7 @@ public class BusinessSampleEntrustProjectPageReqVO extends PageParam { @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) private LocalDateTime[] createTime; - @Schema(description = "乐观锁", example = "22753") + @Schema(description = "乐观锁", example = "15928") private Integer updateCount; @Schema(description = "备注") diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleEntrustProjectRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleEntrustProjectRespVO.java index 53083e4..5ea468e 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleEntrustProjectRespVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleEntrustProjectRespVO.java @@ -7,24 +7,24 @@ import org.springframework.format.annotation.DateTimeFormat; import java.time.LocalDateTime; import com.alibaba.excel.annotation.*; -@Schema(description = "管理后台 - 委检样品检测项目业务 Response VO") +@Schema(description = "管理后台 - 委检登记样品检测项目 Response VO") @Data @ExcelIgnoreUnannotated public class BusinessSampleEntrustProjectRespVO { - @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "6960") + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "19565") @ExcelProperty("ID") private Long id; - @Schema(description = "样品检验委托明细ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "31234") - @ExcelProperty("样品检验委托明细ID") + @Schema(description = "委托登记样品明细ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "30574") + @ExcelProperty("委托登记样品明细ID") private Long businessSampleEntrustDetailId; - @Schema(description = "物料检测标准检测项目ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "1780") + @Schema(description = "物料检测标准检测项目ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "32027") @ExcelProperty("物料检测标准检测项目ID") private Long materialAssayStandardDetailId; - @Schema(description = "检测项目ID,字典表:【T_DIC_PRJ】", requiredMode = Schema.RequiredMode.REQUIRED, example = "29566") + @Schema(description = "检测项目ID,字典表:【T_DIC_PRJ】", requiredMode = Schema.RequiredMode.REQUIRED, example = "32209") @ExcelProperty("检测项目ID,字典表:【T_DIC_PRJ】") private Long dictionaryProjectId; @@ -40,7 +40,7 @@ public class BusinessSampleEntrustProjectRespVO { @ExcelProperty("创建时间") private LocalDateTime createTime; - @Schema(description = "乐观锁", requiredMode = Schema.RequiredMode.REQUIRED, example = "22753") + @Schema(description = "乐观锁", requiredMode = Schema.RequiredMode.REQUIRED, example = "15928") @ExcelProperty("乐观锁") private Integer updateCount; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleEntrustProjectSaveReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleEntrustProjectSaveReqVO.java index b86ea87..93cd7e4 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleEntrustProjectSaveReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleEntrustProjectSaveReqVO.java @@ -5,22 +5,22 @@ import lombok.*; import java.util.*; import jakarta.validation.constraints.*; -@Schema(description = "管理后台 - 委检样品检测项目业务新增/修改 Request VO") +@Schema(description = "管理后台 - 委检登记样品检测项目新增/修改 Request VO") @Data public class BusinessSampleEntrustProjectSaveReqVO { - @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "6960") + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "19565") private Long id; - @Schema(description = "样品检验委托明细ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "31234") - @NotNull(message = "样品检验委托明细ID不能为空") + @Schema(description = "委托登记样品明细ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "30574") + @NotNull(message = "委托登记样品明细ID不能为空") private Long businessSampleEntrustDetailId; - @Schema(description = "物料检测标准检测项目ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "1780") + @Schema(description = "物料检测标准检测项目ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "32027") @NotNull(message = "物料检测标准检测项目ID不能为空") private Long materialAssayStandardDetailId; - @Schema(description = "检测项目ID,字典表:【T_DIC_PRJ】", requiredMode = Schema.RequiredMode.REQUIRED, example = "29566") + @Schema(description = "检测项目ID,字典表:【T_DIC_PRJ】", requiredMode = Schema.RequiredMode.REQUIRED, example = "32209") @NotNull(message = "检测项目ID,字典表:【T_DIC_PRJ】不能为空") private Long dictionaryProjectId; @@ -29,11 +29,9 @@ public class BusinessSampleEntrustProjectSaveReqVO { private Integer isEnabled; @Schema(description = "所属部门", requiredMode = Schema.RequiredMode.REQUIRED) - @NotEmpty(message = "所属部门不能为空") private String systemDepartmentCode; - @Schema(description = "乐观锁", requiredMode = Schema.RequiredMode.REQUIRED, example = "22753") - @NotNull(message = "乐观锁不能为空") + @Schema(description = "乐观锁", requiredMode = Schema.RequiredMode.REQUIRED, example = "15928") private Integer updateCount; @Schema(description = "备注") diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleEntrustRegistrationExtendRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleEntrustRegistrationExtendRespVO.java index 871e447..478e00c 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleEntrustRegistrationExtendRespVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleEntrustRegistrationExtendRespVO.java @@ -14,9 +14,6 @@ public class BusinessSampleEntrustRegistrationExtendRespVO extends BusinessSampl @ExcelProperty("委托来源,西南铜委托、商检委托、内部委托、抽查委托、内审委托、生产委托") private String configEntrustSourceName; - @Schema(description = "委托单报表模板") - private String entrustReportTemplate; - @Schema(description = "样品称重数量") @ExcelProperty("样品称重数量") private Integer sampleWeighingCount; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleEntrustRegistrationPageReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleEntrustRegistrationPageReqVO.java index 303318f..d90e51b 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleEntrustRegistrationPageReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleEntrustRegistrationPageReqVO.java @@ -13,7 +13,7 @@ import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH @Data public class BusinessSampleEntrustRegistrationPageReqVO extends PageParam { - @Schema(description = "委托ID", example = "9871") + @Schema(description = "委托ID", example = "8978") private Long entrustId; @Schema(description = "委托单号") @@ -22,7 +22,7 @@ public class BusinessSampleEntrustRegistrationPageReqVO extends PageParam { @Schema(description = "委托单位/送样单位") private String entrustUnit; - @Schema(description = "委托来源,西南铜委托、商检委托、内部委托、抽查委托、内审委托、生产委托", example = "28265") + @Schema(description = "委托来源,西南铜委托、商检委托、内部委托、抽查委托、内审委托、生产委托", example = "6609") private Long configEntrustSourceId; @Schema(description = "样品数量") @@ -37,9 +37,45 @@ public class BusinessSampleEntrustRegistrationPageReqVO extends PageParam { @Schema(description = "余样要求,【字典】【jy_sample_entrust_remaine_requirement】余样返回、放弃") private String remaineSampleRequirement; - @Schema(description = "样品状态,【字典】【jy_sample_entrust_status】块状、粉末、颗粒、液体", example = "1") + @Schema(description = "创建方式,手动创建-manual、外部系统创建-interface") + private String createWay; + + @Schema(description = "委托类型,委托登记-entrust_registration、检验委托-entrust_inspection", example = "2") + private String entrustType; + + @Schema(description = "委托时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] entrustTime; + + @Schema(description = "送样人") + private String sampleSender; + + @Schema(description = "送样日期") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] sampleSendDate; + + @Schema(description = "收样人") + private String sampleReceiver; + + @Schema(description = "收样日期") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] sampleReceiveDate; + + @Schema(description = "样品状态,【字典】【jy_sample_entrust_status】块状、粉末、颗粒、液体", example = "2") private String sampleStatus; + @Schema(description = "扩展信息数据集ID,T_DAT_COLT_FLD", example = "9517") + private Long externalInfomationDataCollectionId; + + @Schema(description = "扩展信息") + private String externalInfomation; + + @Schema(description = "委托单模板ID", example = "13752") + private Long configReportTemplateId; + + @Schema(description = "委托单模板key") + private String configReportTemplateKey; + @Schema(description = "电话") private String tel; @@ -70,33 +106,19 @@ public class BusinessSampleEntrustRegistrationPageReqVO extends PageParam { @Schema(description = "检测方法,【字典】【jy_sample_entrust_assay_method】国标、行标、客户要求、检测方依据样品选择") private String assayMethod; - @Schema(description = "送样人") - private String sampleSender; - - @Schema(description = "送样日期") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] sampleSendDate; - - @Schema(description = "收样人") - private String sampleReceiver; - - @Schema(description = "收样日期") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] sampleReceiveDate; - - @Schema(description = "登记状态,register-登记中、submitted-已提交", example = "2") + @Schema(description = "登记状态,in_progress-登记中、submit-已提交", example = "1") private String registrationStatus; - @Schema(description = "数据校验状态,success-数据校验成功、fail-数据校验失败", example = "1") + @Schema(description = "数据校验状态,success-数据校验成功、fail-数据校验失败", example = "2") private String dataCheckStatus; - @Schema(description = "检验状态,unchecked-未检验;checked-已检验", example = "1") + @Schema(description = "检验状态,unchecked-未检验;checked-已检验", example = "2") private String assayStatus; - @Schema(description = "数据回报状态,unreturned-未回报;returned-已回报", example = "2") + @Schema(description = "数据回报状态,unreturned-未回报;returned-已回报", example = "1") private String dataStatus; - @Schema(description = "报告IDs", example = "1825") + @Schema(description = "报告IDs", example = "26875") private String documentMainId; @Schema(description = "报告发送方式,【字典】【jy_sample_entrust_send_way】自取、邮寄、电话、传真、E-mail") @@ -123,29 +145,10 @@ public class BusinessSampleEntrustRegistrationPageReqVO extends PageParam { @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) private LocalDateTime[] createTime; - @Schema(description = "乐观锁", example = "9487") + @Schema(description = "乐观锁", example = "13676") private Integer updateCount; @Schema(description = "备注") private String remark; - @Schema(description = "扩展信息") - private String externalInfomation; - - @Schema(description = "数据集key,T_DAT_COLT_FLD", example = "29021") - private Long dataCollectionId; - - @Schema(description = "创建方式,手动创建-manual、外部系统创建-interface") - private String createWay; - - @Schema(description = "创建人") - private String createOperator; - - @Schema(description = "委托类型:委托登记-entrust_registration、检验委托-entrust_inspection", example = "2") - private String entrustType; - - @Schema(description = "委托时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] entrustTime; - } \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleEntrustRegistrationRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleEntrustRegistrationRespVO.java index 8ced4f0..2d33f95 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleEntrustRegistrationRespVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleEntrustRegistrationRespVO.java @@ -12,11 +12,11 @@ import com.alibaba.excel.annotation.*; @ExcelIgnoreUnannotated public class BusinessSampleEntrustRegistrationRespVO { - @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "13395") + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "23276") @ExcelProperty("ID") private Long id; - @Schema(description = "委托ID", example = "9871") + @Schema(description = "委托ID", example = "8978") @ExcelProperty("委托ID") private Long entrustId; @@ -28,7 +28,7 @@ public class BusinessSampleEntrustRegistrationRespVO { @ExcelProperty("委托单位/送样单位") private String entrustUnit; - @Schema(description = "委托来源,西南铜委托、商检委托、内部委托、抽查委托、内审委托、生产委托", requiredMode = Schema.RequiredMode.REQUIRED, example = "28265") + @Schema(description = "委托来源,西南铜委托、商检委托、内部委托、抽查委托、内审委托、生产委托", requiredMode = Schema.RequiredMode.REQUIRED, example = "6609") @ExcelProperty("委托来源,西南铜委托、商检委托、内部委托、抽查委托、内审委托、生产委托") private Long configEntrustSourceId; @@ -48,10 +48,54 @@ public class BusinessSampleEntrustRegistrationRespVO { @ExcelProperty("余样要求,【字典】【jy_sample_entrust_remaine_requirement】余样返回、放弃") private String remaineSampleRequirement; - @Schema(description = "样品状态,【字典】【jy_sample_entrust_status】块状、粉末、颗粒、液体", example = "1") + @Schema(description = "创建方式,手动创建-manual、外部系统创建-interface") + @ExcelProperty("创建方式,手动创建-manual、外部系统创建-interface") + private String createWay; + + @Schema(description = "委托类型,委托登记-entrust_registration、检验委托-entrust_inspection", example = "2") + @ExcelProperty("委托类型,委托登记-entrust_registration、检验委托-entrust_inspection") + private String entrustType; + + @Schema(description = "委托时间") + @ExcelProperty("委托时间") + private LocalDateTime entrustTime; + + @Schema(description = "送样人", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("送样人") + private String sampleSender; + + @Schema(description = "送样日期", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("送样日期") + private LocalDateTime sampleSendDate; + + @Schema(description = "收样人", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("收样人") + private String sampleReceiver; + + @Schema(description = "收样日期", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("收样日期") + private LocalDateTime sampleReceiveDate; + + @Schema(description = "样品状态,【字典】【jy_sample_entrust_status】块状、粉末、颗粒、液体", requiredMode = Schema.RequiredMode.REQUIRED, example = "2") @ExcelProperty("样品状态,【字典】【jy_sample_entrust_status】块状、粉末、颗粒、液体") private String sampleStatus; + @Schema(description = "扩展信息数据集ID,T_DAT_COLT_FLD", requiredMode = Schema.RequiredMode.REQUIRED, example = "9517") + @ExcelProperty("扩展信息数据集ID,T_DAT_COLT_FLD") + private Long externalInfomationDataCollectionId; + + @Schema(description = "扩展信息") + @ExcelProperty("扩展信息") + private String externalInfomation; + + @Schema(description = "委托单模板ID", example = "13752") + @ExcelProperty("委托单模板ID") + private Long configReportTemplateId; + + @Schema(description = "委托单模板key") + @ExcelProperty("委托单模板key") + private String configReportTemplateKey; + @Schema(description = "电话") @ExcelProperty("电话") private String tel; @@ -80,51 +124,35 @@ public class BusinessSampleEntrustRegistrationRespVO { @ExcelProperty("样品类别(装港/卸港),【字典】【jy_sample_entrust_category】装港样、卸港样") private String sampleCategory; - @Schema(description = "样品来源,【字典】【jy_sample_entrust_origin】送样、邮寄、现场取样") + @Schema(description = "样品来源,【字典】【jy_sample_entrust_origin】送样、邮寄、现场取样", requiredMode = Schema.RequiredMode.REQUIRED) @ExcelProperty("样品来源,【字典】【jy_sample_entrust_origin】送样、邮寄、现场取样") private String sampleOrigin; - @Schema(description = "保密要求,【字典】【jy_sample_entrust_secrecy_requirement】要求对样品和文件保密、无保密要求") + @Schema(description = "保密要求,【字典】【jy_sample_entrust_secrecy_requirement】要求对样品和文件保密、无保密要求", requiredMode = Schema.RequiredMode.REQUIRED) @ExcelProperty("保密要求,【字典】【jy_sample_entrust_secrecy_requirement】要求对样品和文件保密、无保密要求") private String secrecyRequire; - @Schema(description = "检测方法,【字典】【jy_sample_entrust_assay_method】国标、行标、客户要求、检测方依据样品选择") + @Schema(description = "检测方法,【字典】【jy_sample_entrust_assay_method】国标、行标、客户要求、检测方依据样品选择", requiredMode = Schema.RequiredMode.REQUIRED) @ExcelProperty("检测方法,【字典】【jy_sample_entrust_assay_method】国标、行标、客户要求、检测方依据样品选择") private String assayMethod; - @Schema(description = "送样人") - @ExcelProperty("送样人") - private String sampleSender; - - @Schema(description = "送样日期") - @ExcelProperty("送样日期") - private LocalDateTime sampleSendDate; - - @Schema(description = "收样人") - @ExcelProperty("收样人") - private String sampleReceiver; - - @Schema(description = "收样日期") - @ExcelProperty("收样日期") - private LocalDateTime sampleReceiveDate; - - @Schema(description = "登记状态,register-登记中、submitted-已提交", example = "2") - @ExcelProperty("登记状态,register-登记中、submitted-已提交") + @Schema(description = "登记状态,in_progress-登记中、submit-已提交", example = "1") + @ExcelProperty("登记状态,in_progress-登记中、submit-已提交") private String registrationStatus; - @Schema(description = "数据校验状态,success-数据校验成功、fail-数据校验失败", example = "1") + @Schema(description = "数据校验状态,success-数据校验成功、fail-数据校验失败", example = "2") @ExcelProperty("数据校验状态,success-数据校验成功、fail-数据校验失败") private String dataCheckStatus; - @Schema(description = "检验状态,unchecked-未检验;checked-已检验", example = "1") + @Schema(description = "检验状态,unchecked-未检验;checked-已检验", example = "2") @ExcelProperty("检验状态,unchecked-未检验;checked-已检验") private String assayStatus; - @Schema(description = "数据回报状态,unreturned-未回报;returned-已回报", example = "2") + @Schema(description = "数据回报状态,unreturned-未回报;returned-已回报", example = "1") @ExcelProperty("数据回报状态,unreturned-未回报;returned-已回报") private String dataStatus; - @Schema(description = "报告IDs", example = "1825") + @Schema(description = "报告IDs", example = "26875") @ExcelProperty("报告IDs") private String documentMainId; @@ -156,35 +184,15 @@ public class BusinessSampleEntrustRegistrationRespVO { @ExcelProperty("创建时间") private LocalDateTime createTime; - @Schema(description = "乐观锁", requiredMode = Schema.RequiredMode.REQUIRED, example = "9487") + @Schema(description = "创建人") + private String creatorName; + + @Schema(description = "乐观锁", requiredMode = Schema.RequiredMode.REQUIRED, example = "13676") @ExcelProperty("乐观锁") private Integer updateCount; - @Schema(description = "备注") + @Schema(description = "备注", requiredMode = Schema.RequiredMode.REQUIRED) @ExcelProperty("备注") private String remark; - @Schema(description = "扩展信息") - @ExcelProperty("扩展信息") - private String externalInfomation; - - @Schema(description = "数据集key,T_DAT_COLT_FLD", example = "29021") - @ExcelProperty("数据集key,T_DAT_COLT_FLD") - private Long dataCollectionId; - - @Schema(description = "创建方式,手动创建-manual、外部系统创建-interface") - @ExcelProperty("创建方式,手动创建-manual、外部系统创建-interface") - private String createWay; - - @Schema(description = "创建人") - @ExcelProperty("创建人") - private String createOperator; - - @Schema(description = "委托类型:委托登记-entrust_registration、检验委托-entrust_inspection", example = "2") - @ExcelProperty("委托类型:委托登记-entrust_registration、检验委托-entrust_inspection") - private String entrustType; - - @Schema(description = "委托时间") - private LocalDateTime entrustTime; - } \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleEntrustRegistrationSaveReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleEntrustRegistrationSaveReqVO.java index 4f876f6..93378ce 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleEntrustRegistrationSaveReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleEntrustRegistrationSaveReqVO.java @@ -11,10 +11,10 @@ import java.time.LocalDateTime; @Data public class BusinessSampleEntrustRegistrationSaveReqVO { - @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "13395") + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "23276") private Long id; - @Schema(description = "委托ID", example = "9871") + @Schema(description = "委托ID", example = "8978") private Long entrustId; @Schema(description = "委托单号", requiredMode = Schema.RequiredMode.REQUIRED) @@ -25,7 +25,7 @@ public class BusinessSampleEntrustRegistrationSaveReqVO { @NotEmpty(message = "委托单位/送样单位不能为空") private String entrustUnit; - @Schema(description = "委托来源,西南铜委托、商检委托、内部委托、抽查委托、内审委托、生产委托", requiredMode = Schema.RequiredMode.REQUIRED, example = "28265") + @Schema(description = "委托来源,西南铜委托、商检委托、内部委托、抽查委托、内审委托、生产委托", requiredMode = Schema.RequiredMode.REQUIRED, example = "6609") @NotNull(message = "委托来源,西南铜委托、商检委托、内部委托、抽查委托、内审委托、生产委托不能为空") private Long configEntrustSourceId; @@ -43,9 +43,48 @@ public class BusinessSampleEntrustRegistrationSaveReqVO { @NotEmpty(message = "余样要求,【字典】【jy_sample_entrust_remaine_requirement】余样返回、放弃不能为空") private String remaineSampleRequirement; - @Schema(description = "样品状态,【字典】【jy_sample_entrust_status】块状、粉末、颗粒、液体", example = "1") + @Schema(description = "创建方式,手动创建-manual、外部系统创建-interface") + private String createWay; + + @Schema(description = "委托类型,委托登记-entrust_registration、检验委托-entrust_inspection", example = "2") + private String entrustType; + + @Schema(description = "委托时间") + private LocalDateTime entrustTime; + + @Schema(description = "送样人", requiredMode = Schema.RequiredMode.REQUIRED) + @NotEmpty(message = "送样人不能为空") + private String sampleSender; + + @Schema(description = "送样日期", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "送样日期不能为空") + private LocalDateTime sampleSendDate; + + @Schema(description = "收样人", requiredMode = Schema.RequiredMode.REQUIRED) + @NotEmpty(message = "收样人不能为空") + private String sampleReceiver; + + @Schema(description = "收样日期", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "收样日期不能为空") + private LocalDateTime sampleReceiveDate; + + @Schema(description = "样品状态,【字典】【jy_sample_entrust_status】块状、粉末、颗粒、液体", requiredMode = Schema.RequiredMode.REQUIRED, example = "2") + @NotEmpty(message = "样品状态,【字典】【jy_sample_entrust_status】块状、粉末、颗粒、液体不能为空") private String sampleStatus; + @Schema(description = "扩展信息数据集ID,T_DAT_COLT_FLD", requiredMode = Schema.RequiredMode.REQUIRED, example = "9517") + @NotNull(message = "扩展信息数据集ID,T_DAT_COLT_FLD不能为空") + private Long externalInfomationDataCollectionId; + + @Schema(description = "扩展信息") + private String externalInfomation; + + @Schema(description = "委托单模板ID", example = "13752") + private Long configReportTemplateId; + + @Schema(description = "委托单模板key") + private String configReportTemplateKey; + @Schema(description = "电话") private String tel; @@ -67,40 +106,31 @@ public class BusinessSampleEntrustRegistrationSaveReqVO { @Schema(description = "样品类别(装港/卸港),【字典】【jy_sample_entrust_category】装港样、卸港样") private String sampleCategory; - @Schema(description = "样品来源,【字典】【jy_sample_entrust_origin】送样、邮寄、现场取样") + @Schema(description = "样品来源,【字典】【jy_sample_entrust_origin】送样、邮寄、现场取样", requiredMode = Schema.RequiredMode.REQUIRED) + @NotEmpty(message = "样品来源,【字典】【jy_sample_entrust_origin】送样、邮寄、现场取样不能为空") private String sampleOrigin; - @Schema(description = "保密要求,【字典】【jy_sample_entrust_secrecy_requirement】要求对样品和文件保密、无保密要求") + @Schema(description = "保密要求,【字典】【jy_sample_entrust_secrecy_requirement】要求对样品和文件保密、无保密要求", requiredMode = Schema.RequiredMode.REQUIRED) + @NotEmpty(message = "保密要求,【字典】【jy_sample_entrust_secrecy_requirement】要求对样品和文件保密、无保密要求不能为空") private String secrecyRequire; - @Schema(description = "检测方法,【字典】【jy_sample_entrust_assay_method】国标、行标、客户要求、检测方依据样品选择") + @Schema(description = "检测方法,【字典】【jy_sample_entrust_assay_method】国标、行标、客户要求、检测方依据样品选择", requiredMode = Schema.RequiredMode.REQUIRED) + @NotEmpty(message = "检测方法,【字典】【jy_sample_entrust_assay_method】国标、行标、客户要求、检测方依据样品选择不能为空") private String assayMethod; - @Schema(description = "送样人") - private String sampleSender; - - @Schema(description = "送样日期") - private LocalDateTime sampleSendDate; - - @Schema(description = "收样人") - private String sampleReceiver; - - @Schema(description = "收样日期") - private LocalDateTime sampleReceiveDate; - - @Schema(description = "登记状态,register-登记中、submitted-已提交", example = "2") + @Schema(description = "登记状态,in_progress-登记中、submit-已提交", example = "1") private String registrationStatus; - @Schema(description = "数据校验状态,success-数据校验成功、fail-数据校验失败", example = "1") + @Schema(description = "数据校验状态,success-数据校验成功、fail-数据校验失败", example = "2") private String dataCheckStatus; - @Schema(description = "检验状态,unchecked-未检验;checked-已检验", example = "1") + @Schema(description = "检验状态,unchecked-未检验;checked-已检验", example = "2") private String assayStatus; - @Schema(description = "数据回报状态,unreturned-未回报;returned-已回报", example = "2") + @Schema(description = "数据回报状态,unreturned-未回报;returned-已回报", example = "1") private String dataStatus; - @Schema(description = "报告IDs", example = "1825") + @Schema(description = "报告IDs", example = "26875") private String documentMainId; @Schema(description = "报告发送方式,【字典】【jy_sample_entrust_send_way】自取、邮寄、电话、传真、E-mail") @@ -121,29 +151,11 @@ public class BusinessSampleEntrustRegistrationSaveReqVO { @Schema(description = "所属部门") private String systemDepartmentCode; - @Schema(description = "乐观锁", requiredMode = Schema.RequiredMode.REQUIRED, example = "9487") - @NotNull(message = "乐观锁不能为空") + @Schema(description = "乐观锁", requiredMode = Schema.RequiredMode.REQUIRED, example = "13676") private Integer updateCount; - @Schema(description = "备注") + @Schema(description = "备注", requiredMode = Schema.RequiredMode.REQUIRED) + @NotEmpty(message = "备注不能为空") private String remark; - @Schema(description = "扩展信息") - private String externalInfomation; - - @Schema(description = "数据集key,T_DAT_COLT_FLD", example = "29021") - private Long dataCollectionId; - - @Schema(description = "创建方式,手动创建-manual、外部系统创建-interface") - private String createWay; - - @Schema(description = "创建人") - private String createOperator; - - @Schema(description = "委托类型:委托登记-entrust_registration、检验委托-entrust_inspection", example = "2") - private String entrustType; - - @Schema(description = "委托时间") - private LocalDateTime entrustTime; - } \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleHandoverDetailPageReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleHandoverDetailPageReqVO.java index 640a4c3..32556ca 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleHandoverDetailPageReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleHandoverDetailPageReqVO.java @@ -14,13 +14,13 @@ import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH @Data public class BusinessSampleHandoverDetailPageReqVO extends PageParam { - @Schema(description = "交接单ID", example = "7637") + @Schema(description = "交接单ID", example = "12067") private Long businessSampleHandoverId; - @Schema(description = "样品子样ID", example = "14005") + @Schema(description = "分样子样ID", example = "17670") private Long businessSubSampleId; - @Schema(description = "样品名称", example = "李四") + @Schema(description = "样品名称", example = "王五") private String sampleName; @Schema(description = "样品编号") @@ -32,16 +32,16 @@ public class BusinessSampleHandoverDetailPageReqVO extends PageParam { @Schema(description = "天平编号") private String balanceCode; - @Schema(description = "样品类型ID,字典表:【T_DIC_BSN】", example = "29761") + @Schema(description = "样品类型ID,字典表:【T_DIC_BSN】", example = "15453") private Long dictionaryBusinessId; - @Schema(description = "样品类型", example = "王五") + @Schema(description = "样品类型", example = "芋艿") private String dictionaryBusinessName; @Schema(description = "所属部门") private String systemDepartmentCode; - @Schema(description = "创建日期") + @Schema(description = "创建时间") @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) private LocalDateTime[] createTime; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleHandoverDetailRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleHandoverDetailRespVO.java index b979304..54cf9e6 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleHandoverDetailRespVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleHandoverDetailRespVO.java @@ -13,19 +13,19 @@ import com.alibaba.excel.annotation.*; @ExcelIgnoreUnannotated public class BusinessSampleHandoverDetailRespVO { - @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "30266") + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "10448") @ExcelProperty("ID") private Long id; - @Schema(description = "交接单ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "7637") + @Schema(description = "交接单ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "12067") @ExcelProperty("交接单ID") private Long businessSampleHandoverId; - @Schema(description = "样品子样ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "14005") - @ExcelProperty("样品子样ID") + @Schema(description = "分样子样ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "17670") + @ExcelProperty("分样子样ID") private Long businessSubSampleId; - @Schema(description = "样品名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "李四") + @Schema(description = "样品名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五") @ExcelProperty("样品名称") private String sampleName; @@ -41,11 +41,11 @@ public class BusinessSampleHandoverDetailRespVO { @ExcelProperty("天平编号") private String balanceCode; - @Schema(description = "样品类型ID,字典表:【T_DIC_BSN】", requiredMode = Schema.RequiredMode.REQUIRED, example = "29761") + @Schema(description = "样品类型ID,字典表:【T_DIC_BSN】", requiredMode = Schema.RequiredMode.REQUIRED, example = "15453") @ExcelProperty("样品类型ID,字典表:【T_DIC_BSN】") private Long dictionaryBusinessId; - @Schema(description = "样品类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五") + @Schema(description = "样品类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿") @ExcelProperty("样品类型") private String dictionaryBusinessName; @@ -53,8 +53,8 @@ public class BusinessSampleHandoverDetailRespVO { @ExcelProperty("所属部门") private String systemDepartmentCode; - @Schema(description = "创建日期", requiredMode = Schema.RequiredMode.REQUIRED) - @ExcelProperty("创建日期") + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("创建时间") private LocalDateTime createTime; @Schema(description = "备注") diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleHandoverDetailSaveReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleHandoverDetailSaveReqVO.java index 8de5ed1..d0d5d3c 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleHandoverDetailSaveReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleHandoverDetailSaveReqVO.java @@ -10,18 +10,18 @@ import java.math.BigDecimal; @Data public class BusinessSampleHandoverDetailSaveReqVO { - @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "30266") + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "10448") private Long id; - @Schema(description = "交接单ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "7637") + @Schema(description = "交接单ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "12067") @NotNull(message = "交接单ID不能为空") private Long businessSampleHandoverId; - @Schema(description = "样品子样ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "14005") - @NotNull(message = "样品子样ID不能为空") + @Schema(description = "分样子样ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "17670") + @NotNull(message = "分样子样ID不能为空") private Long businessSubSampleId; - @Schema(description = "样品名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "李四") + @Schema(description = "样品名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五") @NotEmpty(message = "样品名称不能为空") private String sampleName; @@ -34,16 +34,15 @@ public class BusinessSampleHandoverDetailSaveReqVO { @Schema(description = "天平编号") private String balanceCode; - @Schema(description = "样品类型ID,字典表:【T_DIC_BSN】", requiredMode = Schema.RequiredMode.REQUIRED, example = "29761") + @Schema(description = "样品类型ID,字典表:【T_DIC_BSN】", requiredMode = Schema.RequiredMode.REQUIRED, example = "15453") @NotNull(message = "样品类型ID,字典表:【T_DIC_BSN】不能为空") private Long dictionaryBusinessId; - @Schema(description = "样品类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五") + @Schema(description = "样品类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿") @NotEmpty(message = "样品类型不能为空") private String dictionaryBusinessName; @Schema(description = "所属部门", requiredMode = Schema.RequiredMode.REQUIRED) - @NotEmpty(message = "所属部门不能为空") private String systemDepartmentCode; @Schema(description = "备注") diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleHandoverPageReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleHandoverPageReqVO.java index cbdb0be..637fa35 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleHandoverPageReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleHandoverPageReqVO.java @@ -16,17 +16,20 @@ public class BusinessSampleHandoverPageReqVO extends PageParam { @Schema(description = "交接单编号") private String code; - @Schema(description = "交接单名称", example = "赵六") + @Schema(description = "交接单名称", example = "芋艿") private String name; - @Schema(description = "交接单模版Key") - private String templateKey; + @Schema(description = "交接单模板ID", example = "29613") + private Long configReportTemplateId; - @Schema(description = "样品流程ID", example = "27863") - private String sampleFlowId; + @Schema(description = "交接单模板key") + private String configReportTemplateKey; - @Schema(description = "样品流程code") - private String sampleFlowCode; + @Schema(description = "样品流程配置ID", example = "9154") + private Long configSampleFlowId; + + @Schema(description = "样品流程节点KEY") + private String sampleFlowNodeKey; @Schema(description = "操作类型,【字典】【jy_sample_handover_biz type】归库、调拨、下架、销毁", example = "2") private String operationType; @@ -38,7 +41,7 @@ public class BusinessSampleHandoverPageReqVO extends PageParam { @Schema(description = "操作人") private String operator; - @Schema(description = "操作人ID", example = "8793") + @Schema(description = "操作人ID", example = "32492") private Long operatorId; @Schema(description = "流程模型Key") @@ -50,7 +53,7 @@ public class BusinessSampleHandoverPageReqVO extends PageParam { @Schema(description = "所属部门") private String systemDepartmentCode; - @Schema(description = "创建日期") + @Schema(description = "创建时间") @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) private LocalDateTime[] createTime; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleHandoverRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleHandoverRespVO.java index f9c034a..d39f85a 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleHandoverRespVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleHandoverRespVO.java @@ -12,7 +12,7 @@ import com.alibaba.excel.annotation.*; @ExcelIgnoreUnannotated public class BusinessSampleHandoverRespVO { - @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "16517") + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "13208") @ExcelProperty("ID") private Long id; @@ -20,21 +20,23 @@ public class BusinessSampleHandoverRespVO { @ExcelProperty("交接单编号") private String code; - @Schema(description = "交接单名称", example = "赵六") + @Schema(description = "交接单名称", example = "芋艿") @ExcelProperty("交接单名称") private String name; - @Schema(description = "交接单模版Key") - @ExcelProperty("交接单模版Key") - private String templateKey; + @Schema(description = "交接单模板ID", example = "29613") + @ExcelProperty("交接单模板ID") + private Long configReportTemplateId; - @Schema(description = "样品流程ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "27863") - @ExcelProperty("样品流程ID") - private String sampleFlowId; + @Schema(description = "交接单模板key") + @ExcelProperty("交接单模板key") + private String configReportTemplateKey; - @Schema(description = "样品流程code", requiredMode = Schema.RequiredMode.REQUIRED) - @ExcelProperty("样品流程code") - private String sampleFlowCode; + @Schema(description = "样品流程配置ID", example = "9154") + private Long configSampleFlowId; + + @Schema(description = "样品流程节点KEY") + private String sampleFlowNodeKey; @Schema(description = "操作类型,【字典】【jy_sample_handover_biz type】归库、调拨、下架、销毁", requiredMode = Schema.RequiredMode.REQUIRED, example = "2") @ExcelProperty("操作类型,【字典】【jy_sample_handover_biz type】归库、调拨、下架、销毁") @@ -48,7 +50,7 @@ public class BusinessSampleHandoverRespVO { @ExcelProperty("操作人") private String operator; - @Schema(description = "操作人ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "8793") + @Schema(description = "操作人ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "32492") @ExcelProperty("操作人ID") private Long operatorId; @@ -60,12 +62,12 @@ public class BusinessSampleHandoverRespVO { @ExcelProperty("流程流水号") private String flowSerialNumber; - @Schema(description = "所属部门", requiredMode = Schema.RequiredMode.REQUIRED) + @Schema(description = "所属部门") @ExcelProperty("所属部门") private String systemDepartmentCode; - @Schema(description = "创建日期", requiredMode = Schema.RequiredMode.REQUIRED) - @ExcelProperty("创建日期") + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("创建时间") private LocalDateTime createTime; @Schema(description = "备注") diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleHandoverSaveReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleHandoverSaveReqVO.java index c77ab6e..1859533 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleHandoverSaveReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleHandoverSaveReqVO.java @@ -11,26 +11,27 @@ import java.time.LocalDateTime; @Data public class BusinessSampleHandoverSaveReqVO { - @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "16517") + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "13208") private Long id; @Schema(description = "交接单编号", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "交接单编号不能为空") + @NotEmpty(message = "交接单编号不能为空") private String code; - @Schema(description = "交接单名称", example = "赵六") + @Schema(description = "交接单名称", example = "芋艿") private String name; - @Schema(description = "交接单模版Key") - private String templateKey; + @Schema(description = "交接单模板ID", example = "29613") + private Long configReportTemplateId; - @Schema(description = "样品流程ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "27863") - @NotEmpty(message = "样品流程ID不能为空") - private String sampleFlowId; + @Schema(description = "交接单模板key") + private String configReportTemplateKey; - @Schema(description = "样品流程code", requiredMode = Schema.RequiredMode.REQUIRED) - @NotEmpty(message = "样品流程code不能为空") - private String sampleFlowCode; + @Schema(description = "样品流程配置ID", example = "9154") + private Long configSampleFlowId; + + @Schema(description = "样品流程节点KEY") + private String sampleFlowNodeKey; @Schema(description = "操作类型,【字典】【jy_sample_handover_biz type】归库、调拨、下架、销毁", requiredMode = Schema.RequiredMode.REQUIRED, example = "2") @NotEmpty(message = "操作类型,【字典】【jy_sample_handover_biz type】归库、调拨、下架、销毁不能为空") @@ -44,7 +45,7 @@ public class BusinessSampleHandoverSaveReqVO { @NotEmpty(message = "操作人不能为空") private String operator; - @Schema(description = "操作人ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "8793") + @Schema(description = "操作人ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "32492") @NotNull(message = "操作人ID不能为空") private Long operatorId; @@ -54,8 +55,7 @@ public class BusinessSampleHandoverSaveReqVO { @Schema(description = "流程流水号") private String flowSerialNumber; - @Schema(description = "所属部门", requiredMode = Schema.RequiredMode.REQUIRED) - @NotEmpty(message = "所属部门不能为空") + @Schema(description = "所属部门") private String systemDepartmentCode; @Schema(description = "备注") diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessStandardSamplePageReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessStandardSamplePageReqVO.java new file mode 100644 index 0000000..87e0a1d --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessStandardSamplePageReqVO.java @@ -0,0 +1,41 @@ +package com.zt.plat.module.qms.business.bus.controller.vo; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import com.zt.plat.framework.common.pojo.PageParam; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; + +import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 标准样业务分页 Request VO") +@Data +public class BusinessStandardSamplePageReqVO extends PageParam { + + @Schema(description = "标准样类型ID", example = "12799") + private Long configStandardSampleTypeId; + + @Schema(description = "标准样类型名称", example = "李四") + private String configStandardSampleTypeName; + + @Schema(description = "标准样编号") + private String standardSampleCode; + + @Schema(description = "是否启用,1-启用,0-不启用") + private Integer isUse; + + @Schema(description = "是否发布,1-是,0-否") + private Integer isPublish; + + @Schema(description = "所属部门") + private String systemDepartmentCode; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "备注") + private String remark; + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessStandardSampleProjectPageReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessStandardSampleProjectPageReqVO.java new file mode 100644 index 0000000..f55292a --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessStandardSampleProjectPageReqVO.java @@ -0,0 +1,53 @@ +package com.zt.plat.module.qms.business.bus.controller.vo; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import com.zt.plat.framework.common.pojo.PageParam; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; + +import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 标准样检测项目业务分页 Request VO") +@Data +public class BusinessStandardSampleProjectPageReqVO extends PageParam { + + @Schema(description = "标准样ID", example = "10572") + private Long businessStandardSampleId; + + @Schema(description = "标准样元素配置ID", example = "17543") + private Long configStandardSampleProjectId; + + @Schema(description = "检测项目ID", example = "19425") + private Long dictionaryProjectId; + + @Schema(description = "检测项目名称", example = "张三") + private String dictionaryProjectName; + + @Schema(description = "检测项目单位") + private String dictionaryProjectUnit; + + @Schema(description = "标准值") + private String standardValue; + + @Schema(description = "标准允差值") + private String standardToleraanceValue; + + @Schema(description = "小数位") + private Integer decimalPosition; + + @Schema(description = "排序号") + private Integer sortNo; + + @Schema(description = "所属部门") + private String systemDepartmentCode; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "备注") + private String remark; + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessStandardSampleProjectRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessStandardSampleProjectRespVO.java new file mode 100644 index 0000000..2bbca84 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessStandardSampleProjectRespVO.java @@ -0,0 +1,67 @@ +package com.zt.plat.module.qms.business.bus.controller.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; +import com.alibaba.excel.annotation.*; + +@Schema(description = "管理后台 - 标准样检测项目业务 Response VO") +@Data +@ExcelIgnoreUnannotated +public class BusinessStandardSampleProjectRespVO { + + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "8746") + @ExcelProperty("ID") + private Long id; + + @Schema(description = "标准样ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "10572") + @ExcelProperty("标准样ID") + private Long businessStandardSampleId; + + @Schema(description = "标准样元素配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "17543") + @ExcelProperty("标准样元素配置ID") + private Long configStandardSampleProjectId; + + @Schema(description = "检测项目ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "19425") + @ExcelProperty("检测项目ID") + private Long dictionaryProjectId; + + @Schema(description = "检测项目名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三") + @ExcelProperty("检测项目名称") + private String dictionaryProjectName; + + @Schema(description = "检测项目单位") + @ExcelProperty("检测项目单位") + private String dictionaryProjectUnit; + + @Schema(description = "标准值") + @ExcelProperty("标准值") + private String standardValue; + + @Schema(description = "标准允差值") + @ExcelProperty("标准允差值") + private String standardToleraanceValue; + + @Schema(description = "小数位", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("小数位") + private Integer decimalPosition; + + @Schema(description = "排序号") + @ExcelProperty("排序号") + private Integer sortNo; + + @Schema(description = "所属部门", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("所属部门") + private String systemDepartmentCode; + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("创建时间") + private LocalDateTime createTime; + + @Schema(description = "备注") + @ExcelProperty("备注") + private String remark; + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessStandardSampleProjectSaveReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessStandardSampleProjectSaveReqVO.java new file mode 100644 index 0000000..9efed35 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessStandardSampleProjectSaveReqVO.java @@ -0,0 +1,53 @@ +package com.zt.plat.module.qms.business.bus.controller.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import jakarta.validation.constraints.*; + +@Schema(description = "管理后台 - 标准样检测项目业务新增/修改 Request VO") +@Data +public class BusinessStandardSampleProjectSaveReqVO { + + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "8746") + private Long id; + + @Schema(description = "标准样ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "10572") + @NotNull(message = "标准样ID不能为空") + private Long businessStandardSampleId; + + @Schema(description = "标准样元素配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "17543") + @NotNull(message = "标准样元素配置ID不能为空") + private Long configStandardSampleProjectId; + + @Schema(description = "检测项目ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "19425") + @NotNull(message = "检测项目ID不能为空") + private Long dictionaryProjectId; + + @Schema(description = "检测项目名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三") + @NotEmpty(message = "检测项目名称不能为空") + private String dictionaryProjectName; + + @Schema(description = "检测项目单位") + private String dictionaryProjectUnit; + + @Schema(description = "标准值") + private String standardValue; + + @Schema(description = "标准允差值") + private String standardToleraanceValue; + + @Schema(description = "小数位", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "小数位不能为空") + private Integer decimalPosition; + + @Schema(description = "排序号") + private Integer sortNo; + + @Schema(description = "所属部门", requiredMode = Schema.RequiredMode.REQUIRED) + private String systemDepartmentCode; + + @Schema(description = "备注") + private String remark; + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessStandardSampleRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessStandardSampleRespVO.java new file mode 100644 index 0000000..b83e0ec --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessStandardSampleRespVO.java @@ -0,0 +1,51 @@ +package com.zt.plat.module.qms.business.bus.controller.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; +import com.alibaba.excel.annotation.*; + +@Schema(description = "管理后台 - 标准样业务 Response VO") +@Data +@ExcelIgnoreUnannotated +public class BusinessStandardSampleRespVO { + + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "28533") + @ExcelProperty("ID") + private Long id; + + @Schema(description = "标准样类型ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "12799") + @ExcelProperty("标准样类型ID") + private Long configStandardSampleTypeId; + + @Schema(description = "标准样类型名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "李四") + @ExcelProperty("标准样类型名称") + private String configStandardSampleTypeName; + + @Schema(description = "标准样编号", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("标准样编号") + private String standardSampleCode; + + @Schema(description = "是否启用,1-启用,0-不启用", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("是否启用,1-启用,0-不启用") + private Integer isUse; + + @Schema(description = "是否发布,1-是,0-否", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("是否发布,1-是,0-否") + private Integer isPublish; + + @Schema(description = "所属部门", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("所属部门") + private String systemDepartmentCode; + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("创建时间") + private LocalDateTime createTime; + + @Schema(description = "备注") + @ExcelProperty("备注") + private String remark; + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessStandardSampleSaveReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessStandardSampleSaveReqVO.java new file mode 100644 index 0000000..d59b82e --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessStandardSampleSaveReqVO.java @@ -0,0 +1,41 @@ +package com.zt.plat.module.qms.business.bus.controller.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import jakarta.validation.constraints.*; + +@Schema(description = "管理后台 - 标准样业务新增/修改 Request VO") +@Data +public class BusinessStandardSampleSaveReqVO { + + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "28533") + private Long id; + + @Schema(description = "标准样类型ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "12799") + @NotNull(message = "标准样类型ID不能为空") + private Long configStandardSampleTypeId; + + @Schema(description = "标准样类型名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "李四") + @NotEmpty(message = "标准样类型名称不能为空") + private String configStandardSampleTypeName; + + @Schema(description = "标准样编号", requiredMode = Schema.RequiredMode.REQUIRED) + @NotEmpty(message = "标准样编号不能为空") + private String standardSampleCode; + + @Schema(description = "是否启用,1-启用,0-不启用", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "是否启用,1-启用,0-不启用不能为空") + private Integer isUse; + + @Schema(description = "是否发布,1-是,0-否", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "是否发布,1-是,0-否不能为空") + private Integer isPublish; + + @Schema(description = "所属部门", requiredMode = Schema.RequiredMode.REQUIRED) + private String systemDepartmentCode; + + @Schema(description = "备注") + private String remark; + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSubParentSamplePageReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSubParentSamplePageReqVO.java index 454f4c6..67427e7 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSubParentSamplePageReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSubParentSamplePageReqVO.java @@ -13,16 +13,16 @@ import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH @Data public class BusinessSubParentSamplePageReqVO extends PageParam { - @Schema(description = "样品ID", example = "18364") + @Schema(description = "样品ID", example = "28356") private Long sampleId; - @Schema(description = "样品主样ID", example = "26057") + @Schema(description = "样品主样ID", example = "26456") private Long businessBaseSampleId; - @Schema(description = "分样配置ID", example = "2344") + @Schema(description = "分样配置ID", example = "13475") private Long configSubSampleParentId; - @Schema(description = "分样类型ID,字典表:【T_DIC_BSN】化学样、试金样、仪器样", example = "21472") + @Schema(description = "分样类型ID,字典表:【T_DIC_BSN】化学样、试金样、仪器样", example = "12061") private Long dictionaryBusinessId; @Schema(description = "样品编号") @@ -47,10 +47,10 @@ public class BusinessSubParentSamplePageReqVO extends PageParam { @Schema(description = "审核流程code") private String auditFlowCode; - @Schema(description = "超差标注", example = "2") - private Integer assessmentStatus; + @Schema(description = "超差标注", example = "1") + private String assessmentStatus; - @Schema(description = "样品状态,【字典】【jy_sample_status】normal-正常、isolation-隔离、void-作废", example = "2") + @Schema(description = "样品状态,【字典】【jy_sample_status】normal-正常、isolation-隔离、void-作废", example = "1") private String sampleStatus; @Schema(description = "是否启用,1-启用,0-不启用") @@ -59,11 +59,11 @@ public class BusinessSubParentSamplePageReqVO extends PageParam { @Schema(description = "所属部门") private String systemDepartmentCode; - @Schema(description = "创建日期") + @Schema(description = "创建时间") @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) private LocalDateTime[] createTime; - @Schema(description = "乐观锁", example = "4381") + @Schema(description = "乐观锁", example = "21148") private Integer updateCount; @Schema(description = "备注") diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSubParentSampleRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSubParentSampleRespVO.java index 4c0d413..4c85eca 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSubParentSampleRespVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSubParentSampleRespVO.java @@ -12,23 +12,23 @@ import com.alibaba.excel.annotation.*; @ExcelIgnoreUnannotated public class BusinessSubParentSampleRespVO { - @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "25832") + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "7844") @ExcelProperty("ID") private Long id; - @Schema(description = "样品ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "18364") + @Schema(description = "样品ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "28356") @ExcelProperty("样品ID") private Long sampleId; - @Schema(description = "样品主样ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "26057") + @Schema(description = "样品主样ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "26456") @ExcelProperty("样品主样ID") private Long businessBaseSampleId; - @Schema(description = "分样配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "2344") + @Schema(description = "分样配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "13475") @ExcelProperty("分样配置ID") private Long configSubSampleParentId; - @Schema(description = "分样类型ID,字典表:【T_DIC_BSN】化学样、试金样、仪器样", requiredMode = Schema.RequiredMode.REQUIRED, example = "21472") + @Schema(description = "分样类型ID,字典表:【T_DIC_BSN】化学样、试金样、仪器样", requiredMode = Schema.RequiredMode.REQUIRED, example = "12061") @ExcelProperty("分样类型ID,字典表:【T_DIC_BSN】化学样、试金样、仪器样") private Long dictionaryBusinessId; @@ -60,11 +60,11 @@ public class BusinessSubParentSampleRespVO { @ExcelProperty("审核流程code") private String auditFlowCode; - @Schema(description = "超差标注", example = "2") + @Schema(description = "超差标注", example = "1") @ExcelProperty("超差标注") - private Integer assessmentStatus; + private String assessmentStatus; - @Schema(description = "样品状态,【字典】【jy_sample_status】normal-正常、isolation-隔离、void-作废", requiredMode = Schema.RequiredMode.REQUIRED, example = "2") + @Schema(description = "样品状态,【字典】【jy_sample_status】normal-正常、isolation-隔离、void-作废", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") @ExcelProperty("样品状态,【字典】【jy_sample_status】normal-正常、isolation-隔离、void-作废") private String sampleStatus; @@ -76,11 +76,11 @@ public class BusinessSubParentSampleRespVO { @ExcelProperty("所属部门") private String systemDepartmentCode; - @Schema(description = "创建日期", requiredMode = Schema.RequiredMode.REQUIRED) - @ExcelProperty("创建日期") + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("创建时间") private LocalDateTime createTime; - @Schema(description = "乐观锁", requiredMode = Schema.RequiredMode.REQUIRED, example = "4381") + @Schema(description = "乐观锁", requiredMode = Schema.RequiredMode.REQUIRED, example = "21148") @ExcelProperty("乐观锁") private Integer updateCount; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSubParentSampleSaveReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSubParentSampleSaveReqVO.java index 0528a44..eeaf076 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSubParentSampleSaveReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSubParentSampleSaveReqVO.java @@ -11,22 +11,22 @@ import java.time.LocalDateTime; @Data public class BusinessSubParentSampleSaveReqVO { - @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "25832") + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "7844") private Long id; - @Schema(description = "样品ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "18364") + @Schema(description = "样品ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "28356") @NotNull(message = "样品ID不能为空") private Long sampleId; - @Schema(description = "样品主样ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "26057") + @Schema(description = "样品主样ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "26456") @NotNull(message = "样品主样ID不能为空") private Long businessBaseSampleId; - @Schema(description = "分样配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "2344") + @Schema(description = "分样配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "13475") @NotNull(message = "分样配置ID不能为空") private Long configSubSampleParentId; - @Schema(description = "分样类型ID,字典表:【T_DIC_BSN】化学样、试金样、仪器样", requiredMode = Schema.RequiredMode.REQUIRED, example = "21472") + @Schema(description = "分样类型ID,字典表:【T_DIC_BSN】化学样、试金样、仪器样", requiredMode = Schema.RequiredMode.REQUIRED, example = "12061") @NotNull(message = "分样类型ID,字典表:【T_DIC_BSN】化学样、试金样、仪器样不能为空") private Long dictionaryBusinessId; @@ -54,10 +54,10 @@ public class BusinessSubParentSampleSaveReqVO { @Schema(description = "审核流程code") private String auditFlowCode; - @Schema(description = "超差标注", example = "2") - private Integer assessmentStatus; + @Schema(description = "超差标注", example = "1") + private String assessmentStatus; - @Schema(description = "样品状态,【字典】【jy_sample_status】normal-正常、isolation-隔离、void-作废", requiredMode = Schema.RequiredMode.REQUIRED, example = "2") + @Schema(description = "样品状态,【字典】【jy_sample_status】normal-正常、isolation-隔离、void-作废", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") @NotEmpty(message = "样品状态,【字典】【jy_sample_status】normal-正常、isolation-隔离、void-作废不能为空") private String sampleStatus; @@ -66,11 +66,9 @@ public class BusinessSubParentSampleSaveReqVO { private Integer isEnabled; @Schema(description = "所属部门", requiredMode = Schema.RequiredMode.REQUIRED) - @NotEmpty(message = "所属部门不能为空") private String systemDepartmentCode; - @Schema(description = "乐观锁", requiredMode = Schema.RequiredMode.REQUIRED, example = "4381") - @NotNull(message = "乐观锁不能为空") + @Schema(description = "乐观锁", requiredMode = Schema.RequiredMode.REQUIRED, example = "21148") private Integer updateCount; @Schema(description = "备注") diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSubSampleAnalysisGroupPageReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSubSampleAnalysisGroupPageReqVO.java new file mode 100644 index 0000000..0739593 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSubSampleAnalysisGroupPageReqVO.java @@ -0,0 +1,54 @@ +package com.zt.plat.module.qms.business.bus.controller.vo; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import com.zt.plat.framework.common.pojo.PageParam; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; + +import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 子样分析班组业务分页 Request VO") +@Data +public class BusinessSubSampleAnalysisGroupPageReqVO extends PageParam { + + @Schema(description = "样品主样ID", example = "25096") + private Long businessBaseSampleId; + + @Schema(description = "样品分样ID", example = "23696") + private Long businessSubParentSampleId; + + @Schema(description = "分样子样ID", example = "17149") + private Long businessSubSampleId; + + @Schema(description = "分析部门ID", example = "2493") + private Long assayDepartmentId; + + @Schema(description = "分析部门名称", example = "赵六") + private String assayDepartmentName; + + @Schema(description = "样品状态", example = "1") + private String sampleStatus; + + @Schema(description = "收样人") + private String sampleReceiver; + + @Schema(description = "收样时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] sampleReceiveTime; + + @Schema(description = "所属部门") + private String systemDepartmentCode; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "乐观锁", example = "16821") + private Integer updateCount; + + @Schema(description = "备注") + private String remark; + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSubSampleAnalysisGroupRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSubSampleAnalysisGroupRespVO.java new file mode 100644 index 0000000..7382885 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSubSampleAnalysisGroupRespVO.java @@ -0,0 +1,67 @@ +package com.zt.plat.module.qms.business.bus.controller.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; +import com.alibaba.excel.annotation.*; + +@Schema(description = "管理后台 - 子样分析班组业务 Response VO") +@Data +@ExcelIgnoreUnannotated +public class BusinessSubSampleAnalysisGroupRespVO { + + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "3097") + @ExcelProperty("ID") + private Long id; + + @Schema(description = "样品主样ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "25096") + @ExcelProperty("样品主样ID") + private Long businessBaseSampleId; + + @Schema(description = "样品分样ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "23696") + @ExcelProperty("样品分样ID") + private Long businessSubParentSampleId; + + @Schema(description = "分样子样ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "17149") + @ExcelProperty("分样子样ID") + private Long businessSubSampleId; + + @Schema(description = "分析部门ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "2493") + @ExcelProperty("分析部门ID") + private Long assayDepartmentId; + + @Schema(description = "分析部门名称", example = "赵六") + @ExcelProperty("分析部门名称") + private String assayDepartmentName; + + @Schema(description = "样品状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + @ExcelProperty("样品状态") + private String sampleStatus; + + @Schema(description = "收样人") + @ExcelProperty("收样人") + private String sampleReceiver; + + @Schema(description = "收样时间") + @ExcelProperty("收样时间") + private LocalDateTime sampleReceiveTime; + + @Schema(description = "所属部门", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("所属部门") + private String systemDepartmentCode; + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("创建时间") + private LocalDateTime createTime; + + @Schema(description = "乐观锁", requiredMode = Schema.RequiredMode.REQUIRED, example = "16821") + @ExcelProperty("乐观锁") + private Integer updateCount; + + @Schema(description = "备注") + @ExcelProperty("备注") + private String remark; + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSubSampleAnalysisGroupSaveReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSubSampleAnalysisGroupSaveReqVO.java new file mode 100644 index 0000000..d163842 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSubSampleAnalysisGroupSaveReqVO.java @@ -0,0 +1,55 @@ +package com.zt.plat.module.qms.business.bus.controller.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import jakarta.validation.constraints.*; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; + +@Schema(description = "管理后台 - 子样分析班组业务新增/修改 Request VO") +@Data +public class BusinessSubSampleAnalysisGroupSaveReqVO { + + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "3097") + private Long id; + + @Schema(description = "样品主样ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "25096") + @NotNull(message = "样品主样ID不能为空") + private Long businessBaseSampleId; + + @Schema(description = "样品分样ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "23696") + @NotNull(message = "样品分样ID不能为空") + private Long businessSubParentSampleId; + + @Schema(description = "分样子样ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "17149") + @NotNull(message = "分样子样ID不能为空") + private Long businessSubSampleId; + + @Schema(description = "分析部门ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "2493") + @NotNull(message = "分析部门ID不能为空") + private Long assayDepartmentId; + + @Schema(description = "分析部门名称", example = "赵六") + private String assayDepartmentName; + + @Schema(description = "样品状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + @NotEmpty(message = "样品状态不能为空") + private String sampleStatus; + + @Schema(description = "收样人") + private String sampleReceiver; + + @Schema(description = "收样时间") + private LocalDateTime sampleReceiveTime; + + @Schema(description = "所属部门", requiredMode = Schema.RequiredMode.REQUIRED) + private String systemDepartmentCode; + + @Schema(description = "乐观锁", requiredMode = Schema.RequiredMode.REQUIRED, example = "16821") + private Integer updateCount; + + @Schema(description = "备注") + private String remark; + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSubSampleAssessmentPageReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSubSampleAssessmentPageReqVO.java index 906d006..00413b6 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSubSampleAssessmentPageReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSubSampleAssessmentPageReqVO.java @@ -13,25 +13,25 @@ import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH @Data public class BusinessSubSampleAssessmentPageReqVO extends PageParam { - @Schema(description = "子样样ID", example = "21287") + @Schema(description = "分样子样ID", example = "7025") private Long businessSubSampleId; - @Schema(description = "检测项目ID,字典表【T_DIC_PRJ】", example = "19965") + @Schema(description = "检测项目ID,字典表【T_DIC_PRJ】", example = "21744") private Long dictionaryProjectId; - @Schema(description = "检测方法分析项目配置ID", example = "11904") + @Schema(description = "检测方法分析项目配置ID", example = "14847") private Long configAssayMethodProjectId; - @Schema(description = "检测方法配置ID", example = "11800") + @Schema(description = "检测方法配置ID", example = "8091") private Long configAssayMethodId; - @Schema(description = "任务类型,【字典】【jy_sample_task_type】常规、抽查...", example = "1") - private Long taskType; + @Schema(description = "任务类型,【字典】【jy_sample_task_type】常规、抽查...", example = "2") + private String taskType; @Schema(description = "分析类型,【字典】【jy_sample_assay_type】单杯、双杯、平行...", example = "1") - private Long assayType; + private String assayType; - @Schema(description = "数据类型,【字典】【jy_sample_data_type】string-字符串,int-整数,decimal-小数,date-日期,datetime-时间", example = "2") + @Schema(description = "数据类型,字典表【T_DIC_BSN】string-字符串,int-整数,decimal-小数,date-日期,datetime-时间", example = "1") private String dataType; @Schema(description = "小数位") @@ -53,17 +53,17 @@ public class BusinessSubSampleAssessmentPageReqVO extends PageParam { @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) private LocalDateTime[] reportTime; - @Schema(description = "复检次数", example = "3971") + @Schema(description = "复检次数", example = "14032") private Integer recheckCount; @Schema(description = "所属部门") private String systemDepartmentCode; - @Schema(description = "创建日期") + @Schema(description = "创建时间") @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) private LocalDateTime[] createTime; - @Schema(description = "乐观锁", example = "21743") + @Schema(description = "乐观锁", example = "12836") private Integer updateCount; @Schema(description = "备注") diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSubSampleAssessmentRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSubSampleAssessmentRespVO.java index 310c614..282cdad 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSubSampleAssessmentRespVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSubSampleAssessmentRespVO.java @@ -12,36 +12,36 @@ import com.alibaba.excel.annotation.*; @ExcelIgnoreUnannotated public class BusinessSubSampleAssessmentRespVO { - @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "18232") + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "23478") @ExcelProperty("ID") private Long id; - @Schema(description = "子样样ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "21287") - @ExcelProperty("子样样ID") + @Schema(description = "分样子样ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "7025") + @ExcelProperty("分样子样ID") private Long businessSubSampleId; - @Schema(description = "检测项目ID,字典表【T_DIC_PRJ】", requiredMode = Schema.RequiredMode.REQUIRED, example = "19965") + @Schema(description = "检测项目ID,字典表【T_DIC_PRJ】", requiredMode = Schema.RequiredMode.REQUIRED, example = "21744") @ExcelProperty("检测项目ID,字典表【T_DIC_PRJ】") private Long dictionaryProjectId; - @Schema(description = "检测方法分析项目配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "11904") + @Schema(description = "检测方法分析项目配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "14847") @ExcelProperty("检测方法分析项目配置ID") private Long configAssayMethodProjectId; - @Schema(description = "检测方法配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "11800") + @Schema(description = "检测方法配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "8091") @ExcelProperty("检测方法配置ID") private Long configAssayMethodId; - @Schema(description = "任务类型,【字典】【jy_sample_task_type】常规、抽查...", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + @Schema(description = "任务类型,【字典】【jy_sample_task_type】常规、抽查...", requiredMode = Schema.RequiredMode.REQUIRED, example = "2") @ExcelProperty("任务类型,【字典】【jy_sample_task_type】常规、抽查...") - private Long taskType; + private String taskType; @Schema(description = "分析类型,【字典】【jy_sample_assay_type】单杯、双杯、平行...", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") @ExcelProperty("分析类型,【字典】【jy_sample_assay_type】单杯、双杯、平行...") - private Long assayType; + private String assayType; - @Schema(description = "数据类型,【字典】【jy_sample_data_type】string-字符串,int-整数,decimal-小数,date-日期,datetime-时间", requiredMode = Schema.RequiredMode.REQUIRED, example = "2") - @ExcelProperty("数据类型,【字典】【jy_sample_data_type】string-字符串,int-整数,decimal-小数,date-日期,datetime-时间") + @Schema(description = "数据类型,字典表【T_DIC_BSN】string-字符串,int-整数,decimal-小数,date-日期,datetime-时间", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + @ExcelProperty("数据类型,字典表【T_DIC_BSN】string-字符串,int-整数,decimal-小数,date-日期,datetime-时间") private String dataType; @Schema(description = "小数位") @@ -52,7 +52,7 @@ public class BusinessSubSampleAssessmentRespVO { @ExcelProperty("判定值") private String assessmentValue; - @Schema(description = "超差标注", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + @Schema(description = "超差标注", example = "1") @ExcelProperty("超差标注") private String assessmentStatus; @@ -68,7 +68,7 @@ public class BusinessSubSampleAssessmentRespVO { @ExcelProperty("上报时间") private LocalDateTime reportTime; - @Schema(description = "复检次数", requiredMode = Schema.RequiredMode.REQUIRED, example = "3971") + @Schema(description = "复检次数", requiredMode = Schema.RequiredMode.REQUIRED, example = "14032") @ExcelProperty("复检次数") private Integer recheckCount; @@ -76,11 +76,11 @@ public class BusinessSubSampleAssessmentRespVO { @ExcelProperty("所属部门") private String systemDepartmentCode; - @Schema(description = "创建日期", requiredMode = Schema.RequiredMode.REQUIRED) - @ExcelProperty("创建日期") + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("创建时间") private LocalDateTime createTime; - @Schema(description = "乐观锁", requiredMode = Schema.RequiredMode.REQUIRED, example = "21743") + @Schema(description = "乐观锁", requiredMode = Schema.RequiredMode.REQUIRED, example = "12836") @ExcelProperty("乐观锁") private Integer updateCount; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSubSampleAssessmentSaveReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSubSampleAssessmentSaveReqVO.java index c53e983..f7820e8 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSubSampleAssessmentSaveReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSubSampleAssessmentSaveReqVO.java @@ -11,35 +11,35 @@ import java.time.LocalDateTime; @Data public class BusinessSubSampleAssessmentSaveReqVO { - @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "18232") + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "23478") private Long id; - @Schema(description = "子样样ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "21287") - @NotNull(message = "子样样ID不能为空") + @Schema(description = "分样子样ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "7025") + @NotNull(message = "分样子样ID不能为空") private Long businessSubSampleId; - @Schema(description = "检测项目ID,字典表【T_DIC_PRJ】", requiredMode = Schema.RequiredMode.REQUIRED, example = "19965") + @Schema(description = "检测项目ID,字典表【T_DIC_PRJ】", requiredMode = Schema.RequiredMode.REQUIRED, example = "21744") @NotNull(message = "检测项目ID,字典表【T_DIC_PRJ】不能为空") private Long dictionaryProjectId; - @Schema(description = "检测方法分析项目配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "11904") + @Schema(description = "检测方法分析项目配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "14847") @NotNull(message = "检测方法分析项目配置ID不能为空") private Long configAssayMethodProjectId; - @Schema(description = "检测方法配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "11800") + @Schema(description = "检测方法配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "8091") @NotNull(message = "检测方法配置ID不能为空") private Long configAssayMethodId; - @Schema(description = "任务类型,【字典】【jy_sample_task_type】常规、抽查...", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") - @NotNull(message = "任务类型,【字典】【jy_sample_task_type】常规、抽查...不能为空") - private Long taskType; + @Schema(description = "任务类型,【字典】【jy_sample_task_type】常规、抽查...", requiredMode = Schema.RequiredMode.REQUIRED, example = "2") + @NotEmpty(message = "任务类型,【字典】【jy_sample_task_type】常规、抽查...不能为空") + private String taskType; @Schema(description = "分析类型,【字典】【jy_sample_assay_type】单杯、双杯、平行...", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") - @NotNull(message = "分析类型,【字典】【jy_sample_assay_type】单杯、双杯、平行...不能为空") - private Long assayType; + @NotEmpty(message = "分析类型,【字典】【jy_sample_assay_type】单杯、双杯、平行...不能为空") + private String assayType; - @Schema(description = "数据类型,【字典】【jy_sample_data_type】string-字符串,int-整数,decimal-小数,date-日期,datetime-时间", requiredMode = Schema.RequiredMode.REQUIRED, example = "2") - @NotEmpty(message = "数据类型,【字典】【jy_sample_data_type】string-字符串,int-整数,decimal-小数,date-日期,datetime-时间不能为空") + @Schema(description = "数据类型,字典表【T_DIC_BSN】string-字符串,int-整数,decimal-小数,date-日期,datetime-时间", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + @NotEmpty(message = "数据类型,字典表【T_DIC_BSN】string-字符串,int-整数,decimal-小数,date-日期,datetime-时间不能为空") private String dataType; @Schema(description = "小数位") @@ -48,8 +48,7 @@ public class BusinessSubSampleAssessmentSaveReqVO { @Schema(description = "判定值") private String assessmentValue; - @Schema(description = "超差标注", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") - @NotEmpty(message = "超差标注不能为空") + @Schema(description = "超差标注", example = "1") private String assessmentStatus; @Schema(description = "是否已上报", requiredMode = Schema.RequiredMode.REQUIRED) @@ -64,16 +63,14 @@ public class BusinessSubSampleAssessmentSaveReqVO { @NotNull(message = "上报时间不能为空") private LocalDateTime reportTime; - @Schema(description = "复检次数", requiredMode = Schema.RequiredMode.REQUIRED, example = "3971") + @Schema(description = "复检次数", requiredMode = Schema.RequiredMode.REQUIRED, example = "14032") @NotNull(message = "复检次数不能为空") private Integer recheckCount; @Schema(description = "所属部门", requiredMode = Schema.RequiredMode.REQUIRED) - @NotEmpty(message = "所属部门不能为空") private String systemDepartmentCode; - @Schema(description = "乐观锁", requiredMode = Schema.RequiredMode.REQUIRED, example = "21743") - @NotNull(message = "乐观锁不能为空") + @Schema(description = "乐观锁", requiredMode = Schema.RequiredMode.REQUIRED, example = "12836") private Integer updateCount; @Schema(description = "备注") diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSubSampleExtendRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSubSampleExtendRespVO.java index 58bb0cd..d414d0e 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSubSampleExtendRespVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSubSampleExtendRespVO.java @@ -1,5 +1,7 @@ package com.zt.plat.module.qms.business.bus.controller.vo; +import java.util.List; + import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; @@ -9,5 +11,11 @@ public class BusinessSubSampleExtendRespVO extends BusinessSubSampleRespVO { /** 子样类型名称 **/ @Schema(description = "子样类型名称") private String dictionaryBusinessName; + + @Schema(description = "分析任务数") + private Integer assayTaskCount; + + @Schema(description = "子样检测方法") + private List businessAssayTaskDataList; } diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSubSamplePageReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSubSamplePageReqVO.java index c30ccc5..a449255 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSubSamplePageReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSubSamplePageReqVO.java @@ -4,11 +4,8 @@ import lombok.*; import java.util.*; import io.swagger.v3.oas.annotations.media.Schema; import com.zt.plat.framework.common.pojo.PageParam; -import org.springframework.format.annotation.DateTimeFormat; - -import com.alibaba.excel.annotation.ExcelProperty; - import java.math.BigDecimal; +import org.springframework.format.annotation.DateTimeFormat; import java.time.LocalDateTime; import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; @@ -17,28 +14,28 @@ import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH @Data public class BusinessSubSamplePageReqVO extends PageParam { - @Schema(description = "样品主样ID", example = "11587") + @Schema(description = "样品主样ID", example = "10824") private Long businessBaseSampleId; - @Schema(description = "样品分样ID", example = "2157") + @Schema(description = "样品分样ID", example = "31262") private Long businessSubParentSampleId; - @Schema(description = "子样配置ID", example = "20299") + @Schema(description = "子样配置ID", example = "19843") private Long configSubSampleId; - @Schema(description = "子样类型ID,字典表:【T_DIC_BSN】化学分析样、试金分析样、仪器分析样", example = "30304") + @Schema(description = "子样类型ID,字典表:【T_DIC_BSN】化学分析样、试金分析样、仪器分析样", example = "25153") private Long dictionaryBusinessId; - @Schema(description = "库位信息ID", example = "28807") + @Schema(description = "库位信息ID", example = "5479") private Long configWarehouseLocationInfomationId; - @Schema(description = "样品ID", example = "13062") + @Schema(description = "样品ID", example = "15518") private Long sampleId; - @Schema(description = "组ID,如果是委托创建的,则组ID和样品分样ID一致", example = "29885") + @Schema(description = "组ID,如果是委托创建的,则组ID和样品分样ID一致", example = "16918") private String groupId; - @Schema(description = "样品名称", example = "赵六") + @Schema(description = "样品名称", example = "张三") private String sampleName; @Schema(description = "样品编号") @@ -50,33 +47,40 @@ public class BusinessSubSamplePageReqVO extends PageParam { @Schema(description = "归库编号") private String sampleReturnCode; - @Schema(description = "是否称重,1-启用,0-不启用", requiredMode = Schema.RequiredMode.REQUIRED) + @Schema(description = "是否称重,1-启用,0-不启用") private Integer isWeighing; - @Schema(description = "末次样品重量") + @Schema(description = "末次重量,末次样品重量") private BigDecimal lastSampleWeight; - @Schema(description = "样品流程ID", example = "18294") - private Long sampleFlowId; + @Schema(description = "末次称重天平编号") + private String lastBalanceCode; - @Schema(description = "样品流程KEY") - private String sampleFlowKey; + @Schema(description = "样品流程配置ID", example = "15413") + private Long configSampleFlowId; - @Schema(description = "下一步样品流程名称") - private String nextSampleFlow; + @Schema(description = "样品流程节点KEY") + private String sampleFlowNodeKey; - @Schema(description = "是否已生成归库码") - private Integer isGenerateReturnCode; + @Schema(description = "样品流程节点时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] sampleFlowNodeTime; - @Schema(description = "任务指派给分析人") + @Schema(description = "下一步样品流程节点名称") + private String nextSampleFlowNode; + + @Schema(description = "样品状态,【字典】【jy_sample_status】normal-正常、isolation-隔离、void-作废", example = "1") + private String sampleStatus; + + @Schema(description = "分析人") private String assayOperator; - @Schema(description = "是否已指派") - private Integer isTasked; + @Schema(description = "是否已分配任务") + private Integer isAssignTasked; - @Schema(description = "指派时间") + @Schema(description = "分配任务时间") @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] taskTime; + private LocalDateTime[] assignTaskTime; @Schema(description = "是否已上报") private Integer isReported; @@ -92,37 +96,33 @@ public class BusinessSubSamplePageReqVO extends PageParam { @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) private LocalDateTime[] returnTime; - @Schema(description = "归库状态,【字典】【jy_sample_return_status】待归库、已归库、已调拨、已下架、待销毁、已销毁", example = "1") - private Integer returnStatus; + @Schema(description = "归库状态,【字典】【jy_sample_return_status】待归库、已归库、已调拨、已下架、待销毁、已销毁", example = "2") + private String returnStatus; - @Schema(description = "打印次数", example = "28859") + @Schema(description = "打印次数", example = "32651") private Integer returnCodePrintCount; @Schema(description = "末次打印时间") @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) private LocalDateTime[] printLastTime; - @Schema(description = "样品流程节点时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] sampleFlowTime; - - @Schema(description = "样品状态,【字典】【jy_sample_status】normal-正常、isolation-隔离、void-作废", example = "2") - private String sampleStatus; - - @Schema(description = "是否启用,1-启用,0-不启用") - private Integer isEnabled; + @Schema(description = "上一个交接记录ID", example = "29555") + private Long upSampleRecordId; @Schema(description = "分析元素备注") private String analysisRemark; + @Schema(description = "是否启用,1-启用,0-不启用") + private Integer isEnabled; + @Schema(description = "所属部门") private String systemDepartmentCode; - @Schema(description = "创建日期") + @Schema(description = "创建时间") @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) private LocalDateTime[] createTime; - @Schema(description = "乐观锁", example = "8971") + @Schema(description = "乐观锁", example = "28696") private Integer updateCount; @Schema(description = "备注") diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSubSampleReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSubSampleReqVO.java index 47a6e6a..bf14487 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSubSampleReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSubSampleReqVO.java @@ -1,42 +1,41 @@ package com.zt.plat.module.qms.business.bus.controller.vo; import lombok.*; +import java.util.*; import io.swagger.v3.oas.annotations.media.Schema; -import org.springframework.format.annotation.DateTimeFormat; - -import com.alibaba.excel.annotation.ExcelProperty; - +import com.zt.plat.framework.common.pojo.PageParam; import java.math.BigDecimal; +import org.springframework.format.annotation.DateTimeFormat; import java.time.LocalDateTime; import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; -@Schema(description = "管理后台 - 子样业务 Request VO") +@Schema(description = "管理后台 - 子样业务分页 Request VO") @Data public class BusinessSubSampleReqVO { - @Schema(description = "样品主样ID", example = "11587") + @Schema(description = "样品主样ID", example = "10824") private Long businessBaseSampleId; - @Schema(description = "样品分样ID", example = "2157") + @Schema(description = "样品分样ID", example = "31262") private Long businessSubParentSampleId; - @Schema(description = "子样配置ID", example = "20299") + @Schema(description = "子样配置ID", example = "19843") private Long configSubSampleId; - @Schema(description = "子样类型ID,字典表:【T_DIC_BSN】化学分析样、试金分析样、仪器分析样", example = "30304") + @Schema(description = "子样类型ID,字典表:【T_DIC_BSN】化学分析样、试金分析样、仪器分析样", example = "25153") private Long dictionaryBusinessId; - @Schema(description = "库位信息ID", example = "28807") + @Schema(description = "库位信息ID", example = "5479") private Long configWarehouseLocationInfomationId; - @Schema(description = "样品ID", example = "13062") + @Schema(description = "样品ID", example = "15518") private Long sampleId; - @Schema(description = "组ID,如果是委托创建的,则组ID和样品分样ID一致", example = "29885") + @Schema(description = "组ID,如果是委托创建的,则组ID和样品分样ID一致", example = "16918") private String groupId; - @Schema(description = "样品名称", example = "赵六") + @Schema(description = "样品名称", example = "张三") private String sampleName; @Schema(description = "样品编号") @@ -48,33 +47,40 @@ public class BusinessSubSampleReqVO { @Schema(description = "归库编号") private String sampleReturnCode; - @Schema(description = "是否称重,1-启用,0-不启用", requiredMode = Schema.RequiredMode.REQUIRED) + @Schema(description = "是否称重,1-启用,0-不启用") private Integer isWeighing; - @Schema(description = "末次样品重量") + @Schema(description = "末次重量,末次样品重量") private BigDecimal lastSampleWeight; - @Schema(description = "样品流程ID", example = "18294") - private Long sampleFlowId; + @Schema(description = "末次称重天平编号") + private String lastBalanceCode; - @Schema(description = "样品流程KEY") - private String sampleFlowKey; + @Schema(description = "样品流程配置ID", example = "15413") + private Long configSampleFlowId; - @Schema(description = "下一步样品流程名称") - private String nextSampleFlow; + @Schema(description = "样品流程节点KEY") + private String sampleFlowNodeKey; - @Schema(description = "是否已生成归库码") - private Integer isGenerateReturnCode; + @Schema(description = "样品流程节点时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] sampleFlowNodeTime; - @Schema(description = "任务指派给分析人") + @Schema(description = "下一步样品流程节点名称") + private String nextSampleFlowNode; + + @Schema(description = "样品状态,【字典】【jy_sample_status】normal-正常、isolation-隔离、void-作废", example = "1") + private String sampleStatus; + + @Schema(description = "分析人") private String assayOperator; - @Schema(description = "是否已指派") - private Integer isTasked; + @Schema(description = "是否已分配任务") + private Integer isAssignTasked; - @Schema(description = "指派时间") + @Schema(description = "分配任务时间") @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] taskTime; + private LocalDateTime[] assignTaskTime; @Schema(description = "是否已上报") private Integer isReported; @@ -90,37 +96,33 @@ public class BusinessSubSampleReqVO { @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) private LocalDateTime[] returnTime; - @Schema(description = "归库状态,【字典】【jy_sample_return_status】待归库、已归库、已调拨、已下架、待销毁、已销毁", example = "1") - private Integer returnStatus; + @Schema(description = "归库状态,【字典】【jy_sample_return_status】待归库、已归库、已调拨、已下架、待销毁、已销毁", example = "2") + private String returnStatus; - @Schema(description = "打印次数", example = "28859") + @Schema(description = "打印次数", example = "32651") private Integer returnCodePrintCount; @Schema(description = "末次打印时间") @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) private LocalDateTime[] printLastTime; - @Schema(description = "样品流程节点时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] sampleFlowTime; - - @Schema(description = "样品状态,【字典】【jy_sample_status】normal-正常、isolation-隔离、void-作废", example = "2") - private String sampleStatus; - - @Schema(description = "是否启用,1-启用,0-不启用") - private Integer isEnabled; + @Schema(description = "上一个交接记录ID", example = "29555") + private Long upSampleRecordId; @Schema(description = "分析元素备注") private String analysisRemark; + @Schema(description = "是否启用,1-启用,0-不启用") + private Integer isEnabled; + @Schema(description = "所属部门") private String systemDepartmentCode; - @Schema(description = "创建日期") + @Schema(description = "创建时间") @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) private LocalDateTime[] createTime; - @Schema(description = "乐观锁", example = "8971") + @Schema(description = "乐观锁", example = "28696") private Integer updateCount; @Schema(description = "备注") diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSubSampleRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSubSampleRespVO.java index fb2e58c..39ec494 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSubSampleRespVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSubSampleRespVO.java @@ -3,9 +3,8 @@ package com.zt.plat.module.qms.business.bus.controller.vo; import io.swagger.v3.oas.annotations.media.Schema; import lombok.*; import java.util.*; -import org.springframework.format.annotation.DateTimeFormat; - import java.math.BigDecimal; +import org.springframework.format.annotation.DateTimeFormat; import java.time.LocalDateTime; import com.alibaba.excel.annotation.*; @@ -14,39 +13,39 @@ import com.alibaba.excel.annotation.*; @ExcelIgnoreUnannotated public class BusinessSubSampleRespVO { - @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "18282") + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "22387") @ExcelProperty("ID") private Long id; - @Schema(description = "样品主样ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "11587") + @Schema(description = "样品主样ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "10824") @ExcelProperty("样品主样ID") private Long businessBaseSampleId; - @Schema(description = "样品分样ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "2157") + @Schema(description = "样品分样ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "31262") @ExcelProperty("样品分样ID") private Long businessSubParentSampleId; - @Schema(description = "子样配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "20299") + @Schema(description = "子样配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "19843") @ExcelProperty("子样配置ID") private Long configSubSampleId; - @Schema(description = "子样类型ID,字典表:【T_DIC_BSN】化学分析样、试金分析样、仪器分析样", requiredMode = Schema.RequiredMode.REQUIRED, example = "30304") + @Schema(description = "子样类型ID,字典表:【T_DIC_BSN】化学分析样、试金分析样、仪器分析样", requiredMode = Schema.RequiredMode.REQUIRED, example = "25153") @ExcelProperty("子样类型ID,字典表:【T_DIC_BSN】化学分析样、试金分析样、仪器分析样") private Long dictionaryBusinessId; - @Schema(description = "库位信息ID", example = "28807") + @Schema(description = "库位信息ID", example = "5479") @ExcelProperty("库位信息ID") private Long configWarehouseLocationInfomationId; - @Schema(description = "样品ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "13062") + @Schema(description = "样品ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "15518") @ExcelProperty("样品ID") private Long sampleId; - @Schema(description = "组ID,如果是委托创建的,则组ID和样品分样ID一致", example = "29885") + @Schema(description = "组ID,如果是委托创建的,则组ID和样品分样ID一致", example = "16918") @ExcelProperty("组ID,如果是委托创建的,则组ID和样品分样ID一致") private String groupId; - @Schema(description = "样品名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "赵六") + @Schema(description = "样品名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三") @ExcelProperty("样品名称") private String sampleName; @@ -66,37 +65,45 @@ public class BusinessSubSampleRespVO { @ExcelProperty("是否称重,1-启用,0-不启用") private Integer isWeighing; - @Schema(description = "末次样品重量") - @ExcelProperty("末次样品重量") + @Schema(description = "末次重量,末次样品重量") + @ExcelProperty("末次重量,末次样品重量") private BigDecimal lastSampleWeight; - @Schema(description = "样品流程ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "18294") - @ExcelProperty("样品流程ID") - private Long sampleFlowId; + @Schema(description = "末次称重天平编号") + @ExcelProperty("末次称重天平编号") + private String lastBalanceCode; - @Schema(description = "样品流程KEY", requiredMode = Schema.RequiredMode.REQUIRED) - @ExcelProperty("样品流程KEY") - private String sampleFlowKey; + @Schema(description = "样品流程配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "15413") + @ExcelProperty("样品流程配置ID") + private Long configSampleFlowId; - @Schema(description = "下一步样品流程名称", requiredMode = Schema.RequiredMode.REQUIRED) - @ExcelProperty("下一步样品流程名称") - private String nextSampleFlow; + @Schema(description = "样品流程节点KEY", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("样品流程节点KEY") + private String sampleFlowNodeKey; - @Schema(description = "是否已生成归库码", requiredMode = Schema.RequiredMode.REQUIRED) - @ExcelProperty("是否已生成归库码") - private Integer isGenerateReturnCode; + @Schema(description = "样品流程节点时间", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("样品流程节点时间") + private LocalDateTime sampleFlowNodeTime; - @Schema(description = "任务指派给分析人") - @ExcelProperty("任务指派给分析人") + @Schema(description = "下一步样品流程节点名称", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("下一步样品流程节点名称") + private String nextSampleFlowNode; + + @Schema(description = "样品状态,【字典】【jy_sample_status】normal-正常、isolation-隔离、void-作废", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + @ExcelProperty("样品状态,【字典】【jy_sample_status】normal-正常、isolation-隔离、void-作废") + private String sampleStatus; + + @Schema(description = "分析人") + @ExcelProperty("分析人") private String assayOperator; - @Schema(description = "是否已指派", requiredMode = Schema.RequiredMode.REQUIRED) - @ExcelProperty("是否已指派") - private Integer isTasked; + @Schema(description = "是否已分配任务", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("是否已分配任务") + private Integer isAssignTasked; - @Schema(description = "指派时间") - @ExcelProperty("指派时间") - private LocalDateTime taskTime; + @Schema(description = "分配任务时间") + @ExcelProperty("分配任务时间") + private LocalDateTime assignTaskTime; @Schema(description = "是否已上报", requiredMode = Schema.RequiredMode.REQUIRED) @ExcelProperty("是否已上报") @@ -114,11 +121,11 @@ public class BusinessSubSampleRespVO { @ExcelProperty("归库时间") private LocalDateTime returnTime; - @Schema(description = "归库状态,【字典】【jy_sample_return_status】待归库、已归库、已调拨、已下架、待销毁、已销毁", example = "1") + @Schema(description = "归库状态,【字典】【jy_sample_return_status】待归库、已归库、已调拨、已下架、待销毁、已销毁", example = "2") @ExcelProperty("归库状态,【字典】【jy_sample_return_status】待归库、已归库、已调拨、已下架、待销毁、已销毁") - private Integer returnStatus; + private String returnStatus; - @Schema(description = "打印次数", requiredMode = Schema.RequiredMode.REQUIRED, example = "28859") + @Schema(description = "打印次数", requiredMode = Schema.RequiredMode.REQUIRED, example = "32651") @ExcelProperty("打印次数") private Integer returnCodePrintCount; @@ -126,31 +133,27 @@ public class BusinessSubSampleRespVO { @ExcelProperty("末次打印时间") private LocalDateTime printLastTime; - @Schema(description = "样品流程节点时间", requiredMode = Schema.RequiredMode.REQUIRED) - @ExcelProperty("样品流程节点时间") - private LocalDateTime sampleFlowTime; - - @Schema(description = "样品状态,【字典】【jy_sample_status】normal-正常、isolation-隔离、void-作废", requiredMode = Schema.RequiredMode.REQUIRED, example = "2") - @ExcelProperty("样品状态,【字典】【jy_sample_status】normal-正常、isolation-隔离、void-作废") - private String sampleStatus; - - @Schema(description = "是否启用,1-启用,0-不启用", requiredMode = Schema.RequiredMode.REQUIRED) - @ExcelProperty("是否启用,1-启用,0-不启用") - private Integer isEnabled; + @Schema(description = "上一个交接记录ID", example = "29555") + @ExcelProperty("上一个交接记录ID") + private Long upSampleRecordId; @Schema(description = "分析元素备注") @ExcelProperty("分析元素备注") private String analysisRemark; + @Schema(description = "是否启用,1-启用,0-不启用", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("是否启用,1-启用,0-不启用") + private Integer isEnabled; + @Schema(description = "所属部门", requiredMode = Schema.RequiredMode.REQUIRED) @ExcelProperty("所属部门") private String systemDepartmentCode; - @Schema(description = "创建日期", requiredMode = Schema.RequiredMode.REQUIRED) - @ExcelProperty("创建日期") + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("创建时间") private LocalDateTime createTime; - @Schema(description = "乐观锁", requiredMode = Schema.RequiredMode.REQUIRED, example = "8971") + @Schema(description = "乐观锁", requiredMode = Schema.RequiredMode.REQUIRED, example = "28696") @ExcelProperty("乐观锁") private Integer updateCount; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSubSampleSaveReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSubSampleSaveReqVO.java index 0eafac9..0c6b2f9 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSubSampleSaveReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSubSampleSaveReqVO.java @@ -4,47 +4,44 @@ import io.swagger.v3.oas.annotations.media.Schema; import lombok.*; import java.util.*; import jakarta.validation.constraints.*; -import org.springframework.format.annotation.DateTimeFormat; - -import com.alibaba.excel.annotation.ExcelProperty; - import java.math.BigDecimal; +import org.springframework.format.annotation.DateTimeFormat; import java.time.LocalDateTime; @Schema(description = "管理后台 - 子样业务新增/修改 Request VO") @Data public class BusinessSubSampleSaveReqVO { - @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "18282") + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "22387") private Long id; - @Schema(description = "样品主样ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "11587") + @Schema(description = "样品主样ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "10824") @NotNull(message = "样品主样ID不能为空") private Long businessBaseSampleId; - @Schema(description = "样品分样ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "2157") + @Schema(description = "样品分样ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "31262") @NotNull(message = "样品分样ID不能为空") private Long businessSubParentSampleId; - @Schema(description = "子样配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "20299") + @Schema(description = "子样配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "19843") @NotNull(message = "子样配置ID不能为空") private Long configSubSampleId; - @Schema(description = "子样类型ID,字典表:【T_DIC_BSN】化学分析样、试金分析样、仪器分析样", requiredMode = Schema.RequiredMode.REQUIRED, example = "30304") + @Schema(description = "子样类型ID,字典表:【T_DIC_BSN】化学分析样、试金分析样、仪器分析样", requiredMode = Schema.RequiredMode.REQUIRED, example = "25153") @NotNull(message = "子样类型ID,字典表:【T_DIC_BSN】化学分析样、试金分析样、仪器分析样不能为空") private Long dictionaryBusinessId; - @Schema(description = "库位信息ID", example = "28807") + @Schema(description = "库位信息ID", example = "5479") private Long configWarehouseLocationInfomationId; - @Schema(description = "样品ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "13062") + @Schema(description = "样品ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "15518") @NotNull(message = "样品ID不能为空") private Long sampleId; - @Schema(description = "组ID,如果是委托创建的,则组ID和样品分样ID一致", example = "29885") + @Schema(description = "组ID,如果是委托创建的,则组ID和样品分样ID一致", example = "16918") private String groupId; - @Schema(description = "样品名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "赵六") + @Schema(description = "样品名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三") @NotEmpty(message = "样品名称不能为空") private String sampleName; @@ -59,36 +56,44 @@ public class BusinessSubSampleSaveReqVO { private String sampleReturnCode; @Schema(description = "是否称重,1-启用,0-不启用", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "是否称重,1-启用,0-不启用不能为空") private Integer isWeighing; - @Schema(description = "末次样品重量") + @Schema(description = "末次重量,末次样品重量") private BigDecimal lastSampleWeight; - @Schema(description = "样品流程ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "18294") - @NotNull(message = "样品流程ID不能为空") - private Long sampleFlowId; + @Schema(description = "末次称重天平编号") + private String lastBalanceCode; - @Schema(description = "样品流程KEY", requiredMode = Schema.RequiredMode.REQUIRED) - @NotEmpty(message = "样品流程KEY不能为空") - private String sampleFlowKey; + @Schema(description = "样品流程配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "15413") + @NotNull(message = "样品流程配置ID不能为空") + private Long configSampleFlowId; - @Schema(description = "下一步样品流程名称", requiredMode = Schema.RequiredMode.REQUIRED) - @NotEmpty(message = "下一步样品流程名称不能为空") - private String nextSampleFlow; + @Schema(description = "样品流程节点KEY", requiredMode = Schema.RequiredMode.REQUIRED) + @NotEmpty(message = "样品流程节点KEY不能为空") + private String sampleFlowNodeKey; - @Schema(description = "是否已生成归库码", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "是否已生成归库码不能为空") - private Integer isGenerateReturnCode; + @Schema(description = "样品流程节点时间", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "样品流程节点时间不能为空") + private LocalDateTime sampleFlowNodeTime; - @Schema(description = "任务指派给分析人") + @Schema(description = "下一步样品流程节点名称", requiredMode = Schema.RequiredMode.REQUIRED) + @NotEmpty(message = "下一步样品流程节点名称不能为空") + private String nextSampleFlowNode; + + @Schema(description = "样品状态,【字典】【jy_sample_status】normal-正常、isolation-隔离、void-作废", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + @NotEmpty(message = "样品状态,【字典】【jy_sample_status】normal-正常、isolation-隔离、void-作废不能为空") + private String sampleStatus; + + @Schema(description = "分析人") private String assayOperator; - @Schema(description = "是否已指派", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "是否已指派不能为空") - private Integer isTasked; + @Schema(description = "是否已分配任务", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "是否已分配任务不能为空") + private Integer isAssignTasked; - @Schema(description = "指派时间") - private LocalDateTime taskTime; + @Schema(description = "分配任务时间") + private LocalDateTime assignTaskTime; @Schema(description = "是否已上报", requiredMode = Schema.RequiredMode.REQUIRED) @NotNull(message = "是否已上报不能为空") @@ -103,37 +108,30 @@ public class BusinessSubSampleSaveReqVO { @Schema(description = "归库时间") private LocalDateTime returnTime; - @Schema(description = "归库状态,【字典】【jy_sample_return_status】待归库、已归库、已调拨、已下架、待销毁、已销毁", example = "1") - private Integer returnStatus; + @Schema(description = "归库状态,【字典】【jy_sample_return_status】待归库、已归库、已调拨、已下架、待销毁、已销毁", example = "2") + private String returnStatus; - @Schema(description = "打印次数", requiredMode = Schema.RequiredMode.REQUIRED, example = "28859") + @Schema(description = "打印次数", requiredMode = Schema.RequiredMode.REQUIRED, example = "32651") @NotNull(message = "打印次数不能为空") private Integer returnCodePrintCount; @Schema(description = "末次打印时间") private LocalDateTime printLastTime; - @Schema(description = "样品流程节点时间", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "样品流程节点时间不能为空") - private LocalDateTime sampleFlowTime; + @Schema(description = "上一个交接记录ID", example = "29555") + private Long upSampleRecordId; - @Schema(description = "样品状态,【字典】【jy_sample_status】normal-正常、isolation-隔离、void-作废", requiredMode = Schema.RequiredMode.REQUIRED, example = "2") - @NotEmpty(message = "样品状态,【字典】【jy_sample_status】normal-正常、isolation-隔离、void-作废不能为空") - private String sampleStatus; + @Schema(description = "分析元素备注") + private String analysisRemark; @Schema(description = "是否启用,1-启用,0-不启用", requiredMode = Schema.RequiredMode.REQUIRED) @NotNull(message = "是否启用,1-启用,0-不启用不能为空") private Integer isEnabled; - @Schema(description = "分析元素备注") - private String analysisRemark; - @Schema(description = "所属部门", requiredMode = Schema.RequiredMode.REQUIRED) - @NotEmpty(message = "所属部门不能为空") private String systemDepartmentCode; - @Schema(description = "乐观锁", requiredMode = Schema.RequiredMode.REQUIRED, example = "8971") - @NotNull(message = "乐观锁不能为空") + @Schema(description = "乐观锁", requiredMode = Schema.RequiredMode.REQUIRED, example = "28696") private Integer updateCount; @Schema(description = "备注") diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessTeamAssessmentPageReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessTeamAssessmentPageReqVO.java new file mode 100644 index 0000000..7e4ac07 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessTeamAssessmentPageReqVO.java @@ -0,0 +1,66 @@ +package com.zt.plat.module.qms.business.bus.controller.vo; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import com.zt.plat.framework.common.pojo.PageParam; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; + +import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 班组判定数据业务分页 Request VO") +@Data +public class BusinessTeamAssessmentPageReqVO extends PageParam { + + @Schema(description = "样品分样ID", example = "27568") + private Long businessSubParentSampleId; + + @Schema(description = "检测项目ID,字典表【T_DIC_PRJ】", example = "15259") + private Long dictionaryProjectId; + + @Schema(description = "检测方法分析项目配置ID", example = "10333") + private Long configAssayMethodProjectId; + + @Schema(description = "检测方法配置ID", example = "7558") + private Long configAssayMethodId; + + @Schema(description = "数据类型,字典表【T_DIC_BSN】string-字符串,int-整数,decimal-小数,date-日期,datetime-时间", example = "1") + private String dataType; + + @Schema(description = "小数位") + private Integer decimalPosition; + + @Schema(description = "判定值") + private String assessmentValue; + + @Schema(description = "上报对应列", example = "芋艿") + private String columnName; + + @Schema(description = "超差标注", example = "1") + private String assessmentStatus; + + @Schema(description = "是否已上报") + private Integer isReported; + + @Schema(description = "上报人") + private String reporter; + + @Schema(description = "上报时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] reportTime; + + @Schema(description = "所属部门") + private String systemDepartmentCode; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "乐观锁", example = "7663") + private Integer updateCount; + + @Schema(description = "备注") + private String remark; + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessTeamAssessmentRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessTeamAssessmentRespVO.java new file mode 100644 index 0000000..5b69e25 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessTeamAssessmentRespVO.java @@ -0,0 +1,83 @@ +package com.zt.plat.module.qms.business.bus.controller.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; +import com.alibaba.excel.annotation.*; + +@Schema(description = "管理后台 - 班组判定数据业务 Response VO") +@Data +@ExcelIgnoreUnannotated +public class BusinessTeamAssessmentRespVO { + + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "1643") + @ExcelProperty("ID") + private Long id; + + @Schema(description = "样品分样ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "27568") + @ExcelProperty("样品分样ID") + private Long businessSubParentSampleId; + + @Schema(description = "检测项目ID,字典表【T_DIC_PRJ】", requiredMode = Schema.RequiredMode.REQUIRED, example = "15259") + @ExcelProperty("检测项目ID,字典表【T_DIC_PRJ】") + private Long dictionaryProjectId; + + @Schema(description = "检测方法分析项目配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "10333") + @ExcelProperty("检测方法分析项目配置ID") + private Long configAssayMethodProjectId; + + @Schema(description = "检测方法配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "7558") + @ExcelProperty("检测方法配置ID") + private Long configAssayMethodId; + + @Schema(description = "数据类型,字典表【T_DIC_BSN】string-字符串,int-整数,decimal-小数,date-日期,datetime-时间", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + @ExcelProperty("数据类型,字典表【T_DIC_BSN】string-字符串,int-整数,decimal-小数,date-日期,datetime-时间") + private String dataType; + + @Schema(description = "小数位") + @ExcelProperty("小数位") + private Integer decimalPosition; + + @Schema(description = "判定值") + @ExcelProperty("判定值") + private String assessmentValue; + + @Schema(description = "上报对应列", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿") + @ExcelProperty("上报对应列") + private String columnName; + + @Schema(description = "超差标注", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + @ExcelProperty("超差标注") + private String assessmentStatus; + + @Schema(description = "是否已上报", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("是否已上报") + private Integer isReported; + + @Schema(description = "上报人", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("上报人") + private String reporter; + + @Schema(description = "上报时间", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("上报时间") + private LocalDateTime reportTime; + + @Schema(description = "所属部门", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("所属部门") + private String systemDepartmentCode; + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("创建时间") + private LocalDateTime createTime; + + @Schema(description = "乐观锁", requiredMode = Schema.RequiredMode.REQUIRED, example = "7663") + @ExcelProperty("乐观锁") + private Integer updateCount; + + @Schema(description = "备注") + @ExcelProperty("备注") + private String remark; + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessTeamAssessmentSaveReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessTeamAssessmentSaveReqVO.java new file mode 100644 index 0000000..f4ff177 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessTeamAssessmentSaveReqVO.java @@ -0,0 +1,72 @@ +package com.zt.plat.module.qms.business.bus.controller.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import jakarta.validation.constraints.*; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; + +@Schema(description = "管理后台 - 班组判定数据业务新增/修改 Request VO") +@Data +public class BusinessTeamAssessmentSaveReqVO { + + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "1643") + private Long id; + + @Schema(description = "样品分样ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "27568") + @NotNull(message = "样品分样ID不能为空") + private Long businessSubParentSampleId; + + @Schema(description = "检测项目ID,字典表【T_DIC_PRJ】", requiredMode = Schema.RequiredMode.REQUIRED, example = "15259") + @NotNull(message = "检测项目ID,字典表【T_DIC_PRJ】不能为空") + private Long dictionaryProjectId; + + @Schema(description = "检测方法分析项目配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "10333") + @NotNull(message = "检测方法分析项目配置ID不能为空") + private Long configAssayMethodProjectId; + + @Schema(description = "检测方法配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "7558") + @NotNull(message = "检测方法配置ID不能为空") + private Long configAssayMethodId; + + @Schema(description = "数据类型,字典表【T_DIC_BSN】string-字符串,int-整数,decimal-小数,date-日期,datetime-时间", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + @NotEmpty(message = "数据类型,字典表【T_DIC_BSN】string-字符串,int-整数,decimal-小数,date-日期,datetime-时间不能为空") + private String dataType; + + @Schema(description = "小数位") + private Integer decimalPosition; + + @Schema(description = "判定值") + private String assessmentValue; + + @Schema(description = "上报对应列", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿") + @NotEmpty(message = "上报对应列不能为空") + private String columnName; + + @Schema(description = "超差标注", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + @NotEmpty(message = "超差标注不能为空") + private String assessmentStatus; + + @Schema(description = "是否已上报", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "是否已上报不能为空") + private Integer isReported; + + @Schema(description = "上报人", requiredMode = Schema.RequiredMode.REQUIRED) + @NotEmpty(message = "上报人不能为空") + private String reporter; + + @Schema(description = "上报时间", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "上报时间不能为空") + private LocalDateTime reportTime; + + @Schema(description = "所属部门", requiredMode = Schema.RequiredMode.REQUIRED) + private String systemDepartmentCode; + + @Schema(description = "乐观锁", requiredMode = Schema.RequiredMode.REQUIRED, example = "7663") + private Integer updateCount; + + @Schema(description = "备注") + private String remark; + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessAssayParameterDataDO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessAssayParameterDataDO.java index a705ea2..f69102f 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessAssayParameterDataDO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessAssayParameterDataDO.java @@ -47,12 +47,12 @@ public class BusinessAssayParameterDataDO extends BusinessBaseDO { @TableField("DIC_PRM_ID") private Long dictionaryParameterId; /** - * 参数值 + * 值 */ @TableField("VAL") private String value; /** - * 数据类型,【字典】【jy_sample_data_type】string-字符串,int-整数,decimal-小数,date-日期,datetime-时间 + * 数据类型,字典表【T_DIC_BSN】string-字符串,int-整数,decimal-小数,date-日期,datetime-时间 */ @TableField("DAT_TP") private String dataType; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessAssayProjectDataDO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessAssayProjectDataDO.java index 856b4b3..0018cad 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessAssayProjectDataDO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessAssayProjectDataDO.java @@ -52,7 +52,7 @@ public class BusinessAssayProjectDataDO extends BusinessBaseDO { @TableField("VAL") private String value; /** - * 数据类型,【字典】【jy_sample_data_type】string-字符串,int-整数,decimal-小数,date-日期,datetime-时间 + * 数据类型,字典表【T_DIC_BSN】string-字符串,int-整数,decimal-小数,date-日期,datetime-时间 */ @TableField("DAT_TP") private String dataType; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessAssayReportDataDO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessAssayReportDataDO.java new file mode 100644 index 0000000..54dbc5f --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessAssayReportDataDO.java @@ -0,0 +1,85 @@ +package com.zt.plat.module.qms.business.bus.dal.dataobject; + +import lombok.*; +import java.util.*; + import java.time.LocalDateTime; + import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.*; +import com.zt.plat.framework.mybatis.core.dataobject.BusinessBaseDO; +/** +* 检测报表数据业务 DO +* +* @author 后台管理 +*/ +@TableName("t_bsn_asy_rpt_dat") +@KeySequence("t_bsn_asy_rpt_dat_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +/** +* 支持业务基类继承:isBusiness=true 时继承 BusinessBaseDO,否则继承 BaseDO +*/ +public class BusinessAssayReportDataDO extends BusinessBaseDO { + + + + /** + * ID + */ + @TableId(type = IdType.ASSIGN_ID) + private Long id; + /** + * 报表类型ID + */ + @TableField("CFG_RPT_TP_ID") + private Long configReportTypeId; + /** + * 报表配置ID + */ + @TableField("CFG_SMP_RPT_ID") + private Long configSampleReportId; + /** + * 样品主样ID + */ + @TableField("BSN_BSE_SMP_ID") + private Long businessBaseSampleId; + /** + * 样品编号 + */ + @TableField("SMP_CD") + private String sampleCode; + /** + * 分析数据 + */ + @TableField("ASY_DAT") + private String assayData; + /** + * 流程code + */ + @TableField("RPT_FLW_CD") + private String reportFlowCode; + /** + * 报告数据明细id + */ + @TableField("DOC_DAT_ID") + private Long documentDataId; + /** + * 所属部门 + */ + @TableField("SYS_DEPT_CD") + private String systemDepartmentCode; + /** + * 乐观锁 + */ + @TableField("UPD_CNT") + private Integer updateCount; + /** + * 备注 + */ + @TableField("RMK") + private String remark; + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessAssayTaskDO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessAssayTaskDO.java new file mode 100644 index 0000000..1500570 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessAssayTaskDO.java @@ -0,0 +1,180 @@ +package com.zt.plat.module.qms.business.bus.dal.dataobject; + +import lombok.*; +import java.util.*; + import java.time.LocalDateTime; + import java.time.LocalDateTime; + import java.time.LocalDateTime; + import java.time.LocalDateTime; + import java.time.LocalDateTime; + import java.time.LocalDateTime; + import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.*; +import com.zt.plat.framework.mybatis.core.dataobject.BusinessBaseDO; +/** +* 检测任务分配业务 DO +* +* @author 后台管理 +*/ +@TableName("t_bsn_asy_tsk") +@KeySequence("t_bsn_asy_tsk_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +/** +* 支持业务基类继承:isBusiness=true 时继承 BusinessBaseDO,否则继承 BaseDO +*/ +public class BusinessAssayTaskDO extends BusinessBaseDO { + + + + /** + * ID + */ + @TableId(type = IdType.ASSIGN_ID) + private Long id; + /** + * 指派编号 + */ + @TableField("TSK_NO") + private String taskNo; + /** + * 指派单名称 + */ + @TableField("TSK_NAME") + private String taskName; + /** + * 检测方法配置ID + */ + @TableField("CFG_ASY_MTHD_ID") + private Long configAssayMethodId; + /** + * 任务单来源 + */ + @TableField("TSK_SRC_TP") + private String taskSourceType; + /** + * 任务单模板ID + */ + @TableField("CFG_RPT_TMPL_ID") + private Long configReportTemplateId; + /** + * 任务单模板key + */ + @TableField("CFG_RPT_TMPL_KY") + private String configReportTemplateKey; + /** + * 指派人 + */ + @TableField("TSK_OPTR") + private String taskOperator; + /** + * 指派时间 + */ + @TableField("TSK_OPTR_TM") + private LocalDateTime taskOperatorTime; + /** + * 分析人 + */ + @TableField("ASY_OPTR") + private String assayOperator; + /** + * 分析时间 + */ + @TableField("ASY_TM") + private LocalDateTime assayTime; + /** + * 上报时间 + */ + @TableField("RPT_TM") + private LocalDateTime reportTime; + /** + * 上报人 + */ + @TableField("RPT_OPTR") + private String reportOperator; + /** + * 提交时间 + */ + @TableField("SBM_TM") + private LocalDateTime submitTime; + /** + * 指派单状态,【字典】【jy_assay_task_status】0-初始状态,1-已提交 + */ + @TableField("TSK_STS") + private String taskStatus; + /** + * 同步状态,【字典】【jy_assay_task_syn_status】0-未同步,1-已同步 + */ + @TableField("SYNC_STS") + private String synchronousStatus; + /** + * 标样业务ID + */ + @TableField("STD_SMP_ID") + private Long standardSampleId; + /** + * 标样编号 + */ + @TableField("STD_SMP_CD") + private String standardSampleCode; + /** + * 标准样类型ID + */ + @TableField("STD_SMP_TP_ID") + private Long standardSampleTypeId; + /** + * 质控样编号 + */ + @TableField("QLT_SMP_CD") + private String qualitySampleCode; + /** + * 质控样分析时间 + */ + @TableField("QLT_SMP_ASY_TM") + private LocalDateTime qualitySampleAssayTime; + /** + * 流程实例id + */ + @TableField("FLW_INSC_ID") + private Long flowInstanceId; + /** + * 顶部字段数据集ID,T_DAT_COLT_FLD + */ + @TableField("FORM_DAT_COLT_ID") + private Long formDataCollectionId; + /** + * 顶部字段值 + */ + @TableField("FORM_VAL") + private String formValue; + /** + * 签名信息 + */ + @TableField("DOC_SIG") + private String documentSignature; + /** + * 完成状态,【字典】【jy_assay_task_finish_status】默认;待处理;已完成(待提交);已提交 + */ + @TableField("FIN_STS") + private String finishStatus; + /** + * 流程状态,【字典】【jy_assay_task_flow_status】默认;审批中;打回;已完成 + */ + @TableField("FLW_STS") + private String flowStatus; + /** + * 所属部门 + */ + @TableField("SYS_DEPT_CD") + private String systemDepartmentCode; + /** + * 备注 + */ + @TableField("RMK") + private String remark; + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessAssayTaskDataDO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessAssayTaskDataDO.java index 3a11816..478d371 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessAssayTaskDataDO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessAssayTaskDataDO.java @@ -6,6 +6,7 @@ import java.util.*; import java.time.LocalDateTime; import java.time.LocalDateTime; import java.time.LocalDateTime; + import java.time.LocalDateTime; import com.baomidou.mybatisplus.annotation.*; import com.zt.plat.framework.mybatis.core.dataobject.BusinessBaseDO; /** @@ -26,6 +27,8 @@ import com.zt.plat.framework.mybatis.core.dataobject.BusinessBaseDO; */ public class BusinessAssayTaskDataDO extends BusinessBaseDO { + + /** * ID */ @@ -47,7 +50,7 @@ public class BusinessAssayTaskDataDO extends BusinessBaseDO { @TableField("BSN_SB_SMP_ID") private Long businessSubSampleId; /** - * 检测方法ID + * 检测方法配置ID */ @TableField("CFG_ASY_MTHD_ID") private Long configAssayMethodId; @@ -67,20 +70,35 @@ public class BusinessAssayTaskDataDO extends BusinessBaseDO { @TableField("ASY_TP") private String assayType; /** + * 检测项目 + */ + @TableField("ASY_PRJ") + private String assayProject; + /** + * 分析部门ID + */ + @TableField("ASY_DEPT_ID") + private Long assayDepartmentId; + /** + * 分析部门名称 + */ + @TableField("ASY_DEPT_NAME") + private String assayDepartmentName; + /** * 分析人 */ @TableField("ASY_OPTR") private String assayOperator; /** - * 任务指派时间 + * 分配任务时间 */ - @TableField("TSK_TM") - private LocalDateTime taskTime; + @TableField("ASN_TSK_TM") + private LocalDateTime assignTaskTime; /** - * 是否已指派 + * 是否已分配任务 */ - @TableField("IS_TSKD") - private Integer isTasked; + @TableField("IS_ASN_TSKD") + private Integer isAssignTasked; /** * 是否已上报 */ @@ -97,15 +115,25 @@ public class BusinessAssayTaskDataDO extends BusinessBaseDO { @TableField("RPT_TM") private LocalDateTime reportTime; /** - * 流程节点 + * 样品流程配置ID */ - @TableField("FLW_NDE") - private String flowNode; + @TableField("CFG_SMP_FLW_ID") + private Long configSampleFlowId; /** - * 复检次数,0代表正常分析 + * 样品流程节点KEY */ - @TableField("RCHK_CNT") - private Integer recheckCount; + @TableField("SMP_FLW_NDE_KY") + private String sampleFlowNodeKey; + /** + * 样品流程节点时间 + */ + @TableField("SMP_FLW_NDE_TM") + private LocalDateTime sampleFlowNodeTime; + /** + * 分析次数,复检的累加次数 + */ + @TableField("ANL_CNT") + private Integer analysisCount; /** * 乐观锁 */ diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessAssayTaskDetailDO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessAssayTaskDetailDO.java new file mode 100644 index 0000000..5bcc29e --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessAssayTaskDetailDO.java @@ -0,0 +1,90 @@ +package com.zt.plat.module.qms.business.bus.dal.dataobject; + +import lombok.*; +import java.util.*; + import java.time.LocalDateTime; + import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.*; +import com.zt.plat.framework.mybatis.core.dataobject.BusinessBaseDO; +/** +* 检测任务分配明细 DO +* +* @author 后台管理 +*/ +@TableName("t_bsn_asy_tsk_dtl") +@KeySequence("t_bsn_asy_tsk_dtl_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +/** +* 支持业务基类继承:isBusiness=true 时继承 BusinessBaseDO,否则继承 BaseDO +*/ +public class BusinessAssayTaskDetailDO extends BusinessBaseDO { + + + + /** + * ID + */ + @TableId(type = IdType.ASSIGN_ID) + private Long id; + /** + * 指派单ID + */ + @TableField("BSN_ASY_TSK_ID") + private Long businessAssayTaskId; + /** + * 样品id + */ + @TableField("SMP_ID") + private Long sampleId; + /** + * 指派编号 + */ + @TableField("TSK_NO") + private String taskNo; + /** + * 样品名称 + */ + @TableField("SMP_NAME") + private String sampleName; + /** + * 样品编号 + */ + @TableField("SMP_CD") + private String sampleCode; + /** + * 杯号 + */ + @TableField("CP_NUM") + private String cupNumber; + /** + * 数据来源类型,【字典】【jy_assay_task_data_source_type】正常,筛上,筛下 + */ + @TableField("DAT_SRC_TP") + private String dataSourceType; + /** + * 排序号 + */ + @TableField("SRT_NO") + private Integer sortNo; + /** + * 任务退回状态,【字典】【jy_assay_task_rollback_status】默认;审批中;已审批(已退回);取消退回 + */ + @TableField("RLBK_STS") + private String rollbackStatus; + /** + * 所属部门 + */ + @TableField("SYS_DEPT_CD") + private String systemDepartmentCode; + /** + * 备注 + */ + @TableField("RMK") + private String remark; + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessBaseSampleDO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessBaseSampleDO.java index f683045..875760e 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessBaseSampleDO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessBaseSampleDO.java @@ -40,6 +40,11 @@ public class BusinessBaseSampleDO extends BusinessBaseDO { @TableField("SMP_NAME") private String sampleName; /** + * 样品大类名称 + */ + @TableField("BSE_SMP_NAME") + private String baseSampleName; + /** * 样品编号 */ @TableField("SMP_CD") @@ -70,36 +75,36 @@ public class BusinessBaseSampleDO extends BusinessBaseDO { @TableField("PRNT_LST_TM") private LocalDateTime printLastTime; /** - * 样品流程ID + * 样品流程配置ID */ - @TableField("SMP_FLW_ID") - private Long sampleFlowId; + @TableField("CFG_SMP_FLW_ID") + private Long configSampleFlowId; /** - * 样品流程KEY + * 样品流程节点KEY */ - @TableField("SMP_FLW_KY") - private String sampleFlowKey; + @TableField("SMP_FLW_NDE_KY") + private String sampleFlowNodeKey; /** * 样品流程节点时间 */ - @TableField("SMP_FLW_TM") - private LocalDateTime sampleFlowTime; + @TableField("SMP_FLW_NDE_TM") + private LocalDateTime sampleFlowNodeTime; /** * 样品状态,【字典】【jy_sample_status】normal-正常、isolation-隔离、void-作废 */ @TableField("SMP_STS") private String sampleStatus; /** + * 操作人 + */ + @TableField("OPTR") + private String operator; + /** * 所属部门 */ @TableField("SYS_DEPT_CD") private String systemDepartmentCode; /** - * 创建人名称 - */ - @TableField("OPTR") - private String operator; - /** * 乐观锁 */ @TableField("UPD_CNT") diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessDocumentDataDO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessDocumentDataDO.java new file mode 100644 index 0000000..f519c88 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessDocumentDataDO.java @@ -0,0 +1,60 @@ +package com.zt.plat.module.qms.business.bus.dal.dataobject; + +import lombok.*; +import java.util.*; + import java.time.LocalDateTime; + import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.*; +import com.zt.plat.framework.mybatis.core.dataobject.BusinessBaseDO; +/** +* 检测报告明细 DO +* +* @author 后台管理 +*/ +@TableName("t_bsn_doc_dat") +@KeySequence("t_bsn_doc_dat_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +/** +* 支持业务基类继承:isBusiness=true 时继承 BusinessBaseDO,否则继承 BaseDO +*/ +public class BusinessDocumentDataDO extends BusinessBaseDO { + + + + /** + * ID + */ + @TableId(type = IdType.ASSIGN_ID) + private Long id; + /** + * 报告ID + */ + @TableField("BSN_DOC_MAIN_ID") + private Long businessDocumentMainId; + /** + * 原始数据ID + */ + @TableField("SRC_ID") + private Long sourceId; + /** + * 数据内容 + */ + @TableField("DOC_CNTT") + private String documentContent; + /** + * 所属部门 + */ + @TableField("SYS_DEPT_CD") + private String systemDepartmentCode; + /** + * 备注 + */ + @TableField("RMK") + private String remark; + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessDocumentMainDO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessDocumentMainDO.java new file mode 100644 index 0000000..1529107 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessDocumentMainDO.java @@ -0,0 +1,122 @@ +package com.zt.plat.module.qms.business.bus.dal.dataobject; + +import lombok.*; +import java.util.*; + import java.time.LocalDateTime; + import java.time.LocalDateTime; + import java.time.LocalDateTime; + import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.*; +import com.zt.plat.framework.mybatis.core.dataobject.BusinessBaseDO; +/** +* 检测报告业务 DO +* +* @author 后台管理 +*/ +@TableName("t_bsn_doc_main") +@KeySequence("t_bsn_doc_main_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +/** +* 支持业务基类继承:isBusiness=true 时继承 BusinessBaseDO,否则继承 BaseDO +*/ +public class BusinessDocumentMainDO extends BusinessBaseDO { + + + + /** + * ID + */ + @TableId(type = IdType.ASSIGN_ID) + private Long id; + /** + * 流程实例ID + */ + @TableField("FLW_INSC_ID") + private Long flowInstanceId; + /** + * 报告类型ID + */ + @TableField("CFG_DOC_TP_ID") + private Long configDocumentTypeId; + /** + * 流程模型Key + */ + @TableField("MDL_KY") + private String modelKey; + /** + * 流程流水号 + */ + @TableField("FLW_SRL_NUM") + private String flowSerialNumber; + /** + * 当前节点 + */ + @TableField("CRNT_NDE") + private String currentNode; + /** + * 报告编号 + */ + @TableField("DOC_CD") + private String documentCode; + /** + * 报告类型,【字典】【jy_doc_main_type】化验报告、典型性报告、检测报告 + */ + @TableField("DOC_TP") + private String documentType; + /** + * 报告标题 + */ + @TableField("DOC_TTL") + private String documentTitle; + /** + * 报告配置项 + */ + @TableField("DOC_CFG") + private String documentConfig; + /** + * 报告签名信息 + */ + @TableField("DOC_SIG") + private String documentSignature; + /** + * 报告发起时间 + */ + @TableField("DOC_STRT_TM") + private LocalDateTime documentStartTime; + /** + * 报告结束时间 + */ + @TableField("DOC_END_TM") + private LocalDateTime documentEndTime; + /** + * 报告表单数据 + */ + @TableField("FORM_DAT") + private String formData; + /** + * 附件 + */ + @TableField("ATM") + private String attachment; + /** + * 状态,【字典】【jy_doc_main_status】待编制、审批中、已结束 + */ + @TableField("STS") + private String status; + /** + * 所属部门 + */ + @TableField("SYS_DEPT_CD") + private String systemDepartmentCode; + /** + * 备注 + */ + @TableField("RMK") + private String remark; + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessHandoverRecordSubDO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessHandoverRecordSubDO.java index 22906ba..44a1f9e 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessHandoverRecordSubDO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessHandoverRecordSubDO.java @@ -34,20 +34,20 @@ public class BusinessHandoverRecordSubDO extends BusinessBaseDO { @TableId(type = IdType.ASSIGN_ID) private Long id; /** - * 样品子样ID + * 分样子样ID */ @TableField("BSN_SB_SMP_ID") private Long businessSubSampleId; /** - * 样品流程ID + * 样品流程配置ID */ - @TableField("SMP_FLW_ID") - private Long sampleFlowId; + @TableField("CFG_SMP_FLW_ID") + private Long configSampleFlowId; /** - * 样品流程KEY + * 样品流程节点KEY */ - @TableField("SMP_FLW_KY") - private String sampleFlowKey; + @TableField("SMP_FLW_NDE_KY") + private String sampleFlowNodeKey; /** * 样品编号 */ @@ -59,6 +59,11 @@ public class BusinessHandoverRecordSubDO extends BusinessBaseDO { @TableField("SMP_WGT") private BigDecimal sampleWeight; /** + * 天平编号 + */ + @TableField("BAL_CD") + private String balanceCode; + /** * 操作时间 */ @TableField("OPTN_TM") @@ -84,6 +89,16 @@ public class BusinessHandoverRecordSubDO extends BusinessBaseDO { @TableField("RCV_SMP_OPTR") private String receiveSampleOperator; /** + * 上一个交接记录ID + */ + @TableField("UP_SMP_RCD_ID") + private Long upSampleRecordId; + /** + * 下一个交接记录ID + */ + @TableField("NXT_SMP_RCD_ID") + private Long nextSampleRecordId; + /** * 所属部门 */ @TableField("SYS_DEPT_CD") diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessQualityControlSampleProjectDO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessQualityControlSampleProjectDO.java new file mode 100644 index 0000000..c3bc5b7 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessQualityControlSampleProjectDO.java @@ -0,0 +1,105 @@ +package com.zt.plat.module.qms.business.bus.dal.dataobject; + +import lombok.*; +import java.util.*; + import java.time.LocalDateTime; + import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.*; +import com.zt.plat.framework.mybatis.core.dataobject.BusinessBaseDO; +/** +* 质控样检测项目业务 DO +* +* @author 后台管理 +*/ +@TableName("t_bsn_qlt_ctrl_smp_prj") +@KeySequence("t_bsn_qlt_ctrl_smp_prj_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +/** +* 支持业务基类继承:isBusiness=true 时继承 BusinessBaseDO,否则继承 BaseDO +*/ +public class BusinessQualityControlSampleProjectDO extends BusinessBaseDO { + + + + /** + * ID + */ + @TableId(type = IdType.ASSIGN_ID) + private Long id; + /** + * 指派单ID + */ + @TableField("BSN_ASY_TSK_ID") + private Long businessAssayTaskId; + /** + * 标准样元素配置ID + */ + @TableField("CFG_STD_SMP_PRJ_ID") + private Long configStandardSampleProjectId; + /** + * 检测项目ID,字典表:【T_DIC_PRJ】 + */ + @TableField("DIC_PRJ_ID") + private Long dictionaryProjectId; + /** + * 检测项目名称,字典表:【UNT】 + */ + @TableField("DIC_PRJ_NAME") + private String dictionaryProjectName; + /** + * 检测项目单位 + */ + @TableField("DIC_PRJ_UNT") + private String dictionaryProjectUnit; + /** + * 标准值 + */ + @TableField("STD_VAL") + private String standardValue; + /** + * 允差值 + */ + @TableField("TLC_VAL") + private String toleraanceValue; + /** + * 质控样值 + */ + @TableField("QLT_CTRL_VAL") + private String qualityControlValue; + /** + * 数据类型,【字典】【jy_sample_data_type】string-字符串,int-整数,decimal-小数,date-日期,datetime-时间 + */ + @TableField("DAT_TP") + private String dataType; + /** + * 小数位 + */ + @TableField("DEC_POS") + private Integer decimalPosition; + /** + * 排序号 + */ + @TableField("SRT_NO") + private Integer sortNo; + /** + * 所属部门 + */ + @TableField("SYS_DEPT_CD") + private String systemDepartmentCode; + /** + * 乐观锁 + */ + @TableField("UPD_CNT") + private Integer updateCount; + /** + * 备注 + */ + @TableField("RMK") + private String remark; + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessSampleAssayResultDO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessSampleAssayResultDO.java index 857cd98..61d5f82 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessSampleAssayResultDO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessSampleAssayResultDO.java @@ -42,7 +42,7 @@ public class BusinessSampleAssayResultDO extends BusinessBaseDO { @TableField("BSN_BSE_SMP_ID") private Long businessBaseSampleId; /** - * 来样品位 + * 来样品位(JSON数据) */ @TableField("DAT") private String data; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessSampleEntrustDetailDO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessSampleEntrustDetailDO.java index 9e856fc..44c4081 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessSampleEntrustDetailDO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessSampleEntrustDetailDO.java @@ -47,10 +47,10 @@ public class BusinessSampleEntrustDetailDO extends BusinessBaseDO { @TableField("BSE_SMP_ID") private Long baseSampleId; /** - * 样品类型ID,字典表:【T_DIC_BSN】结算样、委检样、生产样等 + * 样品类型ID,字典表:【T_DIC_SMP_TP】西南铜委托样、商检委托样、内部委托样、抽查委托样、内审委托样等 */ - @TableField("DIC_BSN_ID") - private Long dictionaryBusinessId; + @TableField("SMP_TP_DIC_BSN_ID") + private Long sampleTypeDictionaryBusinessId; /** * 样品名称 */ @@ -72,11 +72,6 @@ public class BusinessSampleEntrustDetailDO extends BusinessBaseDO { @TableField("ENTT_SMP_CD") private String entrustSampleCode; /** - * 排序 - */ - @TableField("SRT") - private Integer sort; - /** * 检测项目 */ @TableField("ASY_PRJ") @@ -87,6 +82,11 @@ public class BusinessSampleEntrustDetailDO extends BusinessBaseDO { @TableField("FRCST_RSLT") private String forecastResult; /** + * 排序 + */ + @TableField("SRT") + private Integer sort; + /** * 是否称重,1-启用,0-不启用 */ @TableField("IS_WG") diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessSampleEntrustProjectDO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessSampleEntrustProjectDO.java index 410bad0..bf7eece 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessSampleEntrustProjectDO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessSampleEntrustProjectDO.java @@ -7,7 +7,7 @@ import java.util.*; import com.baomidou.mybatisplus.annotation.*; import com.zt.plat.framework.mybatis.core.dataobject.BusinessBaseDO; /** -* 委检样品检测项目业务 DO +* 委检登记样品检测项目 DO * * @author 后台管理 */ @@ -32,7 +32,7 @@ public class BusinessSampleEntrustProjectDO extends BusinessBaseDO { @TableId(type = IdType.ASSIGN_ID) private Long id; /** - * 样品检验委托明细ID + * 委托登记样品明细ID */ @TableField("BSN_SMP_ENTT_DTL_ID") private Long businessSampleEntrustDetailId; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessSampleEntrustRegistrationDO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessSampleEntrustRegistrationDO.java index 23ea807..daac0e0 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessSampleEntrustRegistrationDO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessSampleEntrustRegistrationDO.java @@ -8,6 +8,7 @@ import java.util.*; import java.time.LocalDateTime; import java.time.LocalDateTime; import java.time.LocalDateTime; + import java.time.LocalDateTime; import com.baomidou.mybatisplus.annotation.*; import com.zt.plat.framework.mybatis.core.dataobject.BusinessBaseDO; /** @@ -76,11 +77,66 @@ public class BusinessSampleEntrustRegistrationDO extends BusinessBaseDO { @TableField("RMNE_SMP_REQM") private String remaineSampleRequirement; /** + * 创建方式,手动创建-manual、外部系统创建-interface + */ + @TableField("CRT_WY") + private String createWay; + /** + * 委托类型,委托登记-entrust_registration、检验委托-entrust_inspection + */ + @TableField("ENTT_TP") + private String entrustType; + /** + * 委托时间 + */ + @TableField("ENTT_TM") + private LocalDateTime entrustTime; + /** + * 送样人 + */ + @TableField("SMP_SNDR") + private String sampleSender; + /** + * 送样日期 + */ + @TableField("SMP_SND_DT") + private LocalDateTime sampleSendDate; + /** + * 收样人 + */ + @TableField("SMP_RCVR") + private String sampleReceiver; + /** + * 收样日期 + */ + @TableField("SMP_RCV_DT") + private LocalDateTime sampleReceiveDate; + /** * 样品状态,【字典】【jy_sample_entrust_status】块状、粉末、颗粒、液体 */ @TableField("SMP_STS") private String sampleStatus; /** + * 扩展信息数据集ID,T_DAT_COLT_FLD + */ + @TableField("EXT_INF_DAT_COLT_ID") + private Long externalInfomationDataCollectionId; + /** + * 扩展信息 + */ + @TableField("EXT_INF") + private String externalInfomation; + /** + * 委托单模板ID + */ + @TableField("CFG_RPT_TMPL_ID") + private Long configReportTemplateId; + /** + * 委托单模板key + */ + @TableField("CFG_RPT_TMPL_KY") + private String configReportTemplateKey; + /** * 电话 */ @TableField("TEL") @@ -131,27 +187,7 @@ public class BusinessSampleEntrustRegistrationDO extends BusinessBaseDO { @TableField("ASY_MTHD") private String assayMethod; /** - * 送样人 - */ - @TableField("SMP_SNDR") - private String sampleSender; - /** - * 送样日期 - */ - @TableField("SMP_SND_DT") - private LocalDateTime sampleSendDate; - /** - * 收样人 - */ - @TableField("SMP_RCVR") - private String sampleReceiver; - /** - * 收样日期 - */ - @TableField("SMP_RCV_DT") - private LocalDateTime sampleReceiveDate; - /** - * 登记状态,register-登记中、submitted-已提交 + * 登记状态,in_progress-登记中、submit-已提交 */ @TableField("REG_STS") private String registrationStatus; @@ -215,35 +251,5 @@ public class BusinessSampleEntrustRegistrationDO extends BusinessBaseDO { */ @TableField("RMK") private String remark; - /** - * 扩展信息 - */ - @TableField("EXT_INF") - private String externalInfomation; - /** - * 数据集key,T_DAT_COLT_FLD - */ - @TableField("DAT_COLT_ID") - private Long dataCollectionId; - /** - * 创建方式,手动创建-manual、外部系统创建-interface - */ - @TableField("CRT_WY") - private String createWay; - /** - * 创建人 - */ - @TableField("CRT_OPTR") - private String createOperator; - /** - * 委托类型:委托登记-entrust_registration、检验委托-entrust_inspection - */ - @TableField("ENTT_TP") - private String entrustType; - /** - * 委托时间 - */ - @TableField("ENTT_TM") - private LocalDateTime entrustTime; } \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessSampleHandoverDO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessSampleHandoverDO.java index 620481f..4d8cff5 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessSampleHandoverDO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessSampleHandoverDO.java @@ -43,20 +43,25 @@ public class BusinessSampleHandoverDO extends BusinessBaseDO { @TableField("NAME") private String name; /** - * 交接单模版Key + * 交接单模板ID */ - @TableField("TMPL_KY") - private String templateKey; + @TableField("CFG_RPT_TMPL_ID") + private Long configReportTemplateId; /** - * 样品流程ID + * 交接单模板key */ - @TableField("SMP_FLW_ID") - private String sampleFlowId; + @TableField("CFG_RPT_TMPL_KY") + private String configReportTemplateKey; /** - * 样品流程code + * 样品流程配置ID */ - @TableField("SMP_FLW_CD") - private String sampleFlowCode; + @TableField("CFG_SMP_FLW_ID") + private Long configSampleFlowId; + /** + * 样品流程节点KEY + */ + @TableField("SMP_FLW_NDE_KY") + private String sampleFlowNodeKey; /** * 操作类型,【字典】【jy_sample_handover_biz type】归库、调拨、下架、销毁 */ diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessSampleHandoverDetailDO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessSampleHandoverDetailDO.java index 04a1138..645cfcc 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessSampleHandoverDetailDO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessSampleHandoverDetailDO.java @@ -4,6 +4,7 @@ import lombok.*; import java.util.*; import java.math.BigDecimal; import java.time.LocalDateTime; + import java.time.LocalDateTime; import com.baomidou.mybatisplus.annotation.*; import com.zt.plat.framework.mybatis.core.dataobject.BusinessBaseDO; /** @@ -37,7 +38,7 @@ public class BusinessSampleHandoverDetailDO extends BusinessBaseDO { @TableField("BSN_SMP_HND_ID") private Long businessSampleHandoverId; /** - * 样品子样ID + * 分样子样ID */ @TableField("BSN_SB_SMP_ID") private Long businessSubSampleId; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessStandardSampleDO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessStandardSampleDO.java new file mode 100644 index 0000000..c01068f --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessStandardSampleDO.java @@ -0,0 +1,70 @@ +package com.zt.plat.module.qms.business.bus.dal.dataobject; + +import lombok.*; +import java.util.*; + import java.time.LocalDateTime; + import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.*; +import com.zt.plat.framework.mybatis.core.dataobject.BusinessBaseDO; +/** +* 标准样业务 DO +* +* @author 后台管理 +*/ +@TableName("t_bsn_std_smp") +@KeySequence("t_bsn_std_smp_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +/** +* 支持业务基类继承:isBusiness=true 时继承 BusinessBaseDO,否则继承 BaseDO +*/ +public class BusinessStandardSampleDO extends BusinessBaseDO { + + + + /** + * ID + */ + @TableId(type = IdType.ASSIGN_ID) + private Long id; + /** + * 标准样类型ID + */ + @TableField("CFG_STD_SMP_TP_ID") + private Long configStandardSampleTypeId; + /** + * 标准样类型名称 + */ + @TableField("CFG_STD_SMP_TP_NAME") + private String configStandardSampleTypeName; + /** + * 标准样编号 + */ + @TableField("STD_SMP_CD") + private String standardSampleCode; + /** + * 是否启用,1-启用,0-不启用 + */ + @TableField("IS_USE") + private Integer isUse; + /** + * 是否发布,1-是,0-否 + */ + @TableField("IS_PUB") + private Integer isPublish; + /** + * 所属部门 + */ + @TableField("SYS_DEPT_CD") + private String systemDepartmentCode; + /** + * 备注 + */ + @TableField("RMK") + private String remark; + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessStandardSampleProjectDO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessStandardSampleProjectDO.java new file mode 100644 index 0000000..565e474 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessStandardSampleProjectDO.java @@ -0,0 +1,90 @@ +package com.zt.plat.module.qms.business.bus.dal.dataobject; + +import lombok.*; +import java.util.*; + import java.time.LocalDateTime; + import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.*; +import com.zt.plat.framework.mybatis.core.dataobject.BusinessBaseDO; +/** +* 标准样检测项目业务 DO +* +* @author 后台管理 +*/ +@TableName("t_bsn_std_smp_prj") +@KeySequence("t_bsn_std_smp_prj_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +/** +* 支持业务基类继承:isBusiness=true 时继承 BusinessBaseDO,否则继承 BaseDO +*/ +public class BusinessStandardSampleProjectDO extends BusinessBaseDO { + + + + /** + * ID + */ + @TableId(type = IdType.ASSIGN_ID) + private Long id; + /** + * 标准样ID + */ + @TableField("BSN_STD_SMP_ID") + private Long businessStandardSampleId; + /** + * 标准样元素配置ID + */ + @TableField("CFG_STD_SMP_PRJ_ID") + private Long configStandardSampleProjectId; + /** + * 检测项目ID + */ + @TableField("DIC_PRJ_ID") + private Long dictionaryProjectId; + /** + * 检测项目名称 + */ + @TableField("DIC_PRJ_NAME") + private String dictionaryProjectName; + /** + * 检测项目单位 + */ + @TableField("DIC_PRJ_UNT") + private String dictionaryProjectUnit; + /** + * 标准值 + */ + @TableField("STD_VAL") + private String standardValue; + /** + * 标准允差值 + */ + @TableField("STD_TLC_VAL") + private String standardToleraanceValue; + /** + * 小数位 + */ + @TableField("DEC_POS") + private Integer decimalPosition; + /** + * 排序号 + */ + @TableField("SRT_NO") + private Integer sortNo; + /** + * 所属部门 + */ + @TableField("SYS_DEPT_CD") + private String systemDepartmentCode; + /** + * 备注 + */ + @TableField("RMK") + private String remark; + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessSubParentSampleDO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessSubParentSampleDO.java index 200dfc4..922ded1 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessSubParentSampleDO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessSubParentSampleDO.java @@ -91,7 +91,7 @@ public class BusinessSubParentSampleDO extends BusinessBaseDO { * 超差标注 */ @TableField("ASMT_STS") - private Integer assessmentStatus; + private String assessmentStatus; /** * 样品状态,【字典】【jy_sample_status】normal-正常、isolation-隔离、void-作废 */ diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessSubSampleAnalysisGroupDO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessSubSampleAnalysisGroupDO.java new file mode 100644 index 0000000..5e8876a --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessSubSampleAnalysisGroupDO.java @@ -0,0 +1,91 @@ +package com.zt.plat.module.qms.business.bus.dal.dataobject; + +import lombok.*; +import java.util.*; + import java.time.LocalDateTime; + import java.time.LocalDateTime; + import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.*; +import com.zt.plat.framework.mybatis.core.dataobject.BusinessBaseDO; +/** +* 子样分析班组业务 DO +* +* @author 后台管理 +*/ +@TableName("t_bsn_sb_smp_anl_grp") +@KeySequence("t_bsn_sb_smp_anl_grp_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +/** +* 支持业务基类继承:isBusiness=true 时继承 BusinessBaseDO,否则继承 BaseDO +*/ +public class BusinessSubSampleAnalysisGroupDO extends BusinessBaseDO { + + + + /** + * ID + */ + @TableId(type = IdType.ASSIGN_ID) + private Long id; + /** + * 样品主样ID + */ + @TableField("BSN_BSE_SMP_ID") + private Long businessBaseSampleId; + /** + * 样品分样ID + */ + @TableField("BSN_SB_PRN_SMP_ID") + private Long businessSubParentSampleId; + /** + * 分样子样ID + */ + @TableField("BSN_SB_SMP_ID") + private Long businessSubSampleId; + /** + * 分析部门ID + */ + @TableField("ASY_DEPT_ID") + private Long assayDepartmentId; + /** + * 分析部门名称 + */ + @TableField("ASY_DEPT_NAME") + private String assayDepartmentName; + /** + * 样品状态 + */ + @TableField("SMP_STS") + private String sampleStatus; + /** + * 收样人 + */ + @TableField("SMP_RCVR") + private String sampleReceiver; + /** + * 收样时间 + */ + @TableField("SMP_RCV_TM") + private LocalDateTime sampleReceiveTime; + /** + * 所属部门 + */ + @TableField("SYS_DEPT_CD") + private String systemDepartmentCode; + /** + * 乐观锁 + */ + @TableField("UPD_CNT") + private Integer updateCount; + /** + * 备注 + */ + @TableField("RMK") + private String remark; + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessSubSampleAssessmentDO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessSubSampleAssessmentDO.java index 543e8e2..1882d7a 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessSubSampleAssessmentDO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessSubSampleAssessmentDO.java @@ -33,7 +33,7 @@ public class BusinessSubSampleAssessmentDO extends BusinessBaseDO { @TableId(type = IdType.ASSIGN_ID) private Long id; /** - * 子样样ID + * 分样子样ID */ @TableField("BSN_SB_SMP_ID") private Long businessSubSampleId; @@ -56,14 +56,14 @@ public class BusinessSubSampleAssessmentDO extends BusinessBaseDO { * 任务类型,【字典】【jy_sample_task_type】常规、抽查... */ @TableField("TSK_TP") - private Long taskType; + private String taskType; /** * 分析类型,【字典】【jy_sample_assay_type】单杯、双杯、平行... */ @TableField("ASY_TP") - private Long assayType; + private String assayType; /** - * 数据类型,【字典】【jy_sample_data_type】string-字符串,int-整数,decimal-小数,date-日期,datetime-时间 + * 数据类型,字典表【T_DIC_BSN】string-字符串,int-整数,decimal-小数,date-日期,datetime-时间 */ @TableField("DAT_TP") private String dataType; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessSubSampleDO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessSubSampleDO.java index dc8df80..d7bb684 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessSubSampleDO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessSubSampleDO.java @@ -2,8 +2,8 @@ package com.zt.plat.module.qms.business.bus.dal.dataobject; import lombok.*; import java.util.*; -import java.math.BigDecimal; -import java.time.LocalDateTime; + import java.math.BigDecimal; + import java.time.LocalDateTime; import java.time.LocalDateTime; import java.time.LocalDateTime; import java.time.LocalDateTime; @@ -98,45 +98,55 @@ public class BusinessSubSampleDO extends BusinessBaseDO { @TableField("IS_WG") private Integer isWeighing; /** - * 末次样品重量 + * 末次重量,末次样品重量 */ @TableField("LST_SMP_WGT") private BigDecimal lastSampleWeight; /** - * 样品流程ID + * 末次称重天平编号 */ - @TableField("SMP_FLW_ID") - private Long sampleFlowId; + @TableField("LST_BAL_CD") + private String lastBalanceCode; /** - * 样品流程KEY + * 样品流程配置ID */ - @TableField("SMP_FLW_KY") - private String sampleFlowKey; + @TableField("CFG_SMP_FLW_ID") + private Long configSampleFlowId; /** - * 下一步样品流程名称 + * 样品流程节点KEY */ - @TableField("NXT_SMP_FLW") - private String nextSampleFlow; + @TableField("SMP_FLW_NDE_KY") + private String sampleFlowNodeKey; /** - * 是否已生成归库码 + * 样品流程节点时间 */ - @TableField("IS_GEN_RTN_CD") - private Integer isGenerateReturnCode; + @TableField("SMP_FLW_NDE_TM") + private LocalDateTime sampleFlowNodeTime; /** - * 任务指派给分析人 + * 下一步样品流程节点名称 + */ + @TableField("NXT_SMP_FLW_NDE") + private String nextSampleFlowNode; + /** + * 样品状态,【字典】【jy_sample_status】normal-正常、isolation-隔离、void-作废 + */ + @TableField("SMP_STS") + private String sampleStatus; + /** + * 分析人 */ @TableField("ASY_OPTR") private String assayOperator; /** - * 是否已指派 + * 是否已分配任务 */ - @TableField("IS_TSKD") - private Integer isTasked; + @TableField("IS_ASN_TSKD") + private Integer isAssignTasked; /** - * 指派时间 + * 分配任务时间 */ - @TableField("TSK_TM") - private LocalDateTime taskTime; + @TableField("ASN_TSK_TM") + private LocalDateTime assignTaskTime; /** * 是否已上报 */ @@ -161,7 +171,7 @@ public class BusinessSubSampleDO extends BusinessBaseDO { * 归库状态,【字典】【jy_sample_return_status】待归库、已归库、已调拨、已下架、待销毁、已销毁 */ @TableField("RTN_STS") - private Integer returnStatus; + private String returnStatus; /** * 打印次数 */ @@ -173,26 +183,21 @@ public class BusinessSubSampleDO extends BusinessBaseDO { @TableField("PRNT_LST_TM") private LocalDateTime printLastTime; /** - * 样品流程节点时间 + * 上一个交接记录ID */ - @TableField("SMP_FLW_TM") - private LocalDateTime sampleFlowTime; - /** - * 样品状态,【字典】【jy_sample_status】normal-正常、isolation-隔离、void-作废 - */ - @TableField("SMP_STS") - private String sampleStatus; - /** - * 是否启用,1-启用,0-不启用 - */ - @TableField("IS_ENBD") - private Integer isEnabled; + @TableField("UP_SMP_RCD_ID") + private Long upSampleRecordId; /** * 分析元素备注 */ @TableField("ANL_RMK") private String analysisRemark; /** + * 是否启用,1-启用,0-不启用 + */ + @TableField("IS_ENBD") + private Integer isEnabled; + /** * 所属部门 */ @TableField("SYS_DEPT_CD") diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessTeamAssessmentDO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessTeamAssessmentDO.java new file mode 100644 index 0000000..5ed6ffd --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessTeamAssessmentDO.java @@ -0,0 +1,111 @@ +package com.zt.plat.module.qms.business.bus.dal.dataobject; + +import lombok.*; +import java.util.*; + import java.time.LocalDateTime; + import java.time.LocalDateTime; + import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.*; +import com.zt.plat.framework.mybatis.core.dataobject.BusinessBaseDO; +/** +* 班组判定数据业务 DO +* +* @author 后台管理 +*/ +@TableName("t_bsn_tam_asmt") +@KeySequence("t_bsn_tam_asmt_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +/** +* 支持业务基类继承:isBusiness=true 时继承 BusinessBaseDO,否则继承 BaseDO +*/ +public class BusinessTeamAssessmentDO extends BusinessBaseDO { + + + + /** + * ID + */ + @TableId(type = IdType.ASSIGN_ID) + private Long id; + /** + * 样品分样ID + */ + @TableField("BSN_SB_PRN_SMP_ID") + private Long businessSubParentSampleId; + /** + * 检测项目ID,字典表【T_DIC_PRJ】 + */ + @TableField("DIC_PRJ_ID") + private Long dictionaryProjectId; + /** + * 检测方法分析项目配置ID + */ + @TableField("CFG_ASY_MTHD_PRJ_ID") + private Long configAssayMethodProjectId; + /** + * 检测方法配置ID + */ + @TableField("CFG_ASY_MTHD_ID") + private Long configAssayMethodId; + /** + * 数据类型,字典表【T_DIC_BSN】string-字符串,int-整数,decimal-小数,date-日期,datetime-时间 + */ + @TableField("DAT_TP") + private String dataType; + /** + * 小数位 + */ + @TableField("DEC_POS") + private Integer decimalPosition; + /** + * 判定值 + */ + @TableField("ASMT_VAL") + private String assessmentValue; + /** + * 上报对应列 + */ + @TableField("COLN_NAME") + private String columnName; + /** + * 超差标注 + */ + @TableField("ASMT_STS") + private String assessmentStatus; + /** + * 是否已上报 + */ + @TableField("IS_RPOD") + private Integer isReported; + /** + * 上报人 + */ + @TableField("RPTR") + private String reporter; + /** + * 上报时间 + */ + @TableField("RPT_TM") + private LocalDateTime reportTime; + /** + * 所属部门 + */ + @TableField("SYS_DEPT_CD") + private String systemDepartmentCode; + /** + * 乐观锁 + */ + @TableField("UPD_CNT") + private Integer updateCount; + /** + * 备注 + */ + @TableField("RMK") + private String remark; + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessAssayParameterDataMapper.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessAssayParameterDataMapper.java index ed8acac..c66a4d0 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessAssayParameterDataMapper.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessAssayParameterDataMapper.java @@ -4,8 +4,14 @@ import java.util.*; import com.zt.plat.framework.common.pojo.PageResult; import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX; +import com.zt.plat.framework.mybatis.core.query.MPJLambdaWrapperX; import com.zt.plat.module.qms.business.bus.controller.vo.*; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessAssayParameterDataPageReqVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessAssayParameterDataReqVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessAssayProjectAndParameterRespVO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayParameterDataDO; +import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigAssayMethodProjectParameterDO; +import com.zt.plat.module.qms.business.dic.dal.dataobject.DictionaryParameterDO; import com.zt.plat.framework.mybatis.core.mapper.BaseMapperX; import org.apache.ibatis.annotations.Mapper; @@ -17,6 +23,36 @@ import org.apache.ibatis.annotations.Mapper; @Mapper public interface BusinessAssayParameterDataMapper extends BaseMapperX { + default List selectProjectAndParameterBy(BusinessAssayParameterDataReqVO reqVO) { + return selectJoinList(BusinessAssayProjectAndParameterRespVO.class, new MPJLambdaWrapperX() + .leftJoin(ConfigAssayMethodProjectParameterDO.class, ConfigAssayMethodProjectParameterDO::getId, BusinessAssayParameterDataDO::getConfigAssayMethodProjectParameterId) + .leftJoin(DictionaryParameterDO.class, DictionaryParameterDO::getId, BusinessAssayParameterDataDO::getDictionaryParameterId) + .selectAs(BusinessAssayParameterDataDO::getId, BusinessAssayProjectAndParameterRespVO::getId) + .selectAs(BusinessAssayParameterDataDO::getDictionaryParameterId, BusinessAssayProjectAndParameterRespVO::getDicId) + .selectAs(DictionaryParameterDO::getKey, BusinessAssayProjectAndParameterRespVO::getDicKey) + .selectAs(DictionaryParameterDO::getName, BusinessAssayProjectAndParameterRespVO::getName) + .selectAs(DictionaryParameterDO::getName, BusinessAssayProjectAndParameterRespVO::getShowName) + .selectAs(BusinessAssayParameterDataDO::getDataType, BusinessAssayProjectAndParameterRespVO::getDataType) + .selectAs(BusinessAssayParameterDataDO::getDecimalPosition, BusinessAssayProjectAndParameterRespVO::getDecimalPosition) + .selectAs(BusinessAssayParameterDataDO::getValue, BusinessAssayProjectAndParameterRespVO::getValue) + .selectAs(DictionaryParameterDO::getUnit, BusinessAssayProjectAndParameterRespVO::getUnit) + .selectAs(ConfigAssayMethodProjectParameterDO::getIsNull, BusinessAssayProjectAndParameterRespVO::getIsNull) + .selectAs(ConfigAssayMethodProjectParameterDO::getFormula, BusinessAssayProjectAndParameterRespVO::getFormula) + .selectAs(ConfigAssayMethodProjectParameterDO::getSortNo, BusinessAssayProjectAndParameterRespVO::getParamNo) + .selectAs("'parameter'", BusinessAssayProjectAndParameterRespVO::getType) + .eqIfPresent(BusinessAssayParameterDataDO::getBusinessAssayProjectDataId, reqVO.getBusinessAssayProjectDataId()) + .eqIfPresent(BusinessAssayParameterDataDO::getConfigAssayMethodProjectParameterId, reqVO.getConfigAssayMethodProjectParameterId()) + .eqIfPresent(BusinessAssayParameterDataDO::getDictionaryParameterId, reqVO.getDictionaryParameterId()) + .eqIfPresent(BusinessAssayParameterDataDO::getValue, reqVO.getValue()) + .eqIfPresent(BusinessAssayParameterDataDO::getDataType, reqVO.getDataType()) + .eqIfPresent(BusinessAssayParameterDataDO::getDecimalPosition, reqVO.getDecimalPosition()) + .eqIfPresent(BusinessAssayParameterDataDO::getSystemDepartmentCode, reqVO.getSystemDepartmentCode()) + .betweenIfPresent(BusinessAssayParameterDataDO::getCreateTime, reqVO.getCreateTime()) + .eqIfPresent(BusinessAssayParameterDataDO::getUpdateCount, reqVO.getUpdateCount()) + .eqIfPresent(BusinessAssayParameterDataDO::getRemark, reqVO.getRemark()) + .orderByAsc(ConfigAssayMethodProjectParameterDO::getSortNo)); + } + default PageResult selectPage(BusinessAssayParameterDataPageReqVO reqVO) { return selectPage(reqVO, new LambdaQueryWrapperX() .eqIfPresent(BusinessAssayParameterDataDO::getBusinessAssayProjectDataId, reqVO.getBusinessAssayProjectDataId()) diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessAssayProjectDataMapper.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessAssayProjectDataMapper.java index bd5b0e2..9a67d42 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessAssayProjectDataMapper.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessAssayProjectDataMapper.java @@ -4,8 +4,14 @@ import java.util.*; import com.zt.plat.framework.common.pojo.PageResult; import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX; +import com.zt.plat.framework.mybatis.core.query.MPJLambdaWrapperX; import com.zt.plat.module.qms.business.bus.controller.vo.*; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessAssayProjectAndParameterRespVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessAssayProjectDataPageReqVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessAssayProjectDataReqVO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayProjectDataDO; +import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigAssayMethodProjectDO; +import com.zt.plat.module.qms.business.dic.dal.dataobject.DictionaryProjectDO; import com.zt.plat.framework.mybatis.core.mapper.BaseMapperX; import org.apache.ibatis.annotations.Mapper; @@ -16,6 +22,39 @@ import org.apache.ibatis.annotations.Mapper; */ @Mapper public interface BusinessAssayProjectDataMapper extends BaseMapperX { + + default List selectProjectAndParameterBy(BusinessAssayProjectDataReqVO reqVO) { + return selectJoinList(BusinessAssayProjectAndParameterRespVO.class, new MPJLambdaWrapperX() + .leftJoin(ConfigAssayMethodProjectDO.class, ConfigAssayMethodProjectDO::getId, BusinessAssayProjectDataDO::getConfigAssayMethodProjectId) + .leftJoin(DictionaryProjectDO.class, DictionaryProjectDO::getId, BusinessAssayProjectDataDO::getDictionaryProjectId) + .selectAs(BusinessAssayProjectDataDO::getId, BusinessAssayProjectAndParameterRespVO::getId) + .selectAs(BusinessAssayProjectDataDO::getDictionaryProjectId, BusinessAssayProjectAndParameterRespVO::getDicId) + .selectAs(DictionaryProjectDO::getKey, BusinessAssayProjectAndParameterRespVO::getDicKey) + //.selectAs(DictionaryProjectDO::getName, BusinessAssayProjectAndParameterRespVO::getName) + .selectAs(DictionaryProjectDO::getSimpleName, BusinessAssayProjectAndParameterRespVO::getName) + .selectAs(DictionaryProjectDO::getShowName, BusinessAssayProjectAndParameterRespVO::getShowName) + .selectAs(BusinessAssayProjectDataDO::getDataType, BusinessAssayProjectAndParameterRespVO::getDataType) + .selectAs(BusinessAssayProjectDataDO::getDecimalPosition, BusinessAssayProjectAndParameterRespVO::getDecimalPosition) + .selectAs(BusinessAssayProjectDataDO::getValue, BusinessAssayProjectAndParameterRespVO::getValue) + .selectAs(ConfigAssayMethodProjectDO::getDictionaryProjectUnit, BusinessAssayProjectAndParameterRespVO::getUnit) + .selectAs(ConfigAssayMethodProjectDO::getIsNull, BusinessAssayProjectAndParameterRespVO::getIsNull) + .selectAs(ConfigAssayMethodProjectDO::getFormula, BusinessAssayProjectAndParameterRespVO::getFormula) + .selectAs(ConfigAssayMethodProjectDO::getSortNo, BusinessAssayProjectAndParameterRespVO::getParamNo) + .selectAs("'project'", BusinessAssayProjectAndParameterRespVO::getType) + .eqIfPresent(BusinessAssayProjectDataDO::getBusinessAssayTaskDataId, reqVO.getBusinessAssayTaskDataId()) + .eqIfPresent(BusinessAssayProjectDataDO::getConfigAssayMethodProjectId, reqVO.getConfigAssayMethodProjectId()) + .eqIfPresent(BusinessAssayProjectDataDO::getDictionaryProjectId, reqVO.getDictionaryProjectId()) + .eqIfPresent(BusinessAssayProjectDataDO::getValue, reqVO.getValue()) + .eqIfPresent(BusinessAssayProjectDataDO::getDataType, reqVO.getDataType()) + .eqIfPresent(BusinessAssayProjectDataDO::getDecimalPosition, reqVO.getDecimalPosition()) + .eqIfPresent(BusinessAssayProjectDataDO::getIsNotAssessment, reqVO.getIsNotAssessment()) + .eqIfPresent(BusinessAssayProjectDataDO::getIsEnabled, reqVO.getIsEnabled()) + .eqIfPresent(BusinessAssayProjectDataDO::getUpdateCount, reqVO.getUpdateCount()) + .eqIfPresent(BusinessAssayProjectDataDO::getSystemDepartmentCode, reqVO.getSystemDepartmentCode()) + .betweenIfPresent(BusinessAssayProjectDataDO::getCreateTime, reqVO.getCreateTime()) + .eqIfPresent(BusinessAssayProjectDataDO::getRemark, reqVO.getRemark()) + .orderByAsc(ConfigAssayMethodProjectDO::getSortNo)); + } default PageResult selectPage(BusinessAssayProjectDataPageReqVO reqVO) { return selectPage(reqVO, new LambdaQueryWrapperX() diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessAssayReportDataMapper.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessAssayReportDataMapper.java new file mode 100644 index 0000000..15c0657 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessAssayReportDataMapper.java @@ -0,0 +1,35 @@ +package com.zt.plat.module.qms.business.bus.dal.mapper; + +import com.zt.plat.framework.common.pojo.PageResult; +import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX; +import com.zt.plat.module.qms.business.bus.controller.vo.*; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessAssayReportDataPageReqVO; +import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayReportDataDO; +import com.zt.plat.framework.mybatis.core.mapper.BaseMapperX; +import org.apache.ibatis.annotations.Mapper; + +/** + * 检测报表数据业务 Mapper + * + * @author 后台管理 + */ +@Mapper +public interface BusinessAssayReportDataMapper extends BaseMapperX { + + default PageResult selectPage(BusinessAssayReportDataPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(BusinessAssayReportDataDO::getConfigReportTypeId, reqVO.getConfigReportTypeId()) + .eqIfPresent(BusinessAssayReportDataDO::getConfigSampleReportId, reqVO.getConfigSampleReportId()) + .eqIfPresent(BusinessAssayReportDataDO::getBusinessBaseSampleId, reqVO.getBusinessBaseSampleId()) + .eqIfPresent(BusinessAssayReportDataDO::getSampleCode, reqVO.getSampleCode()) + .eqIfPresent(BusinessAssayReportDataDO::getAssayData, reqVO.getAssayData()) + .eqIfPresent(BusinessAssayReportDataDO::getReportFlowCode, reqVO.getReportFlowCode()) + .eqIfPresent(BusinessAssayReportDataDO::getDocumentDataId, reqVO.getDocumentDataId()) + .eqIfPresent(BusinessAssayReportDataDO::getSystemDepartmentCode, reqVO.getSystemDepartmentCode()) + .betweenIfPresent(BusinessAssayReportDataDO::getCreateTime, reqVO.getCreateTime()) + .eqIfPresent(BusinessAssayReportDataDO::getUpdateCount, reqVO.getUpdateCount()) + .eqIfPresent(BusinessAssayReportDataDO::getRemark, reqVO.getRemark()) + .orderByDesc(BusinessAssayReportDataDO::getId)); + } + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessAssayTaskDataMapper.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessAssayTaskDataMapper.java index 819695c..f2f4de2 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessAssayTaskDataMapper.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessAssayTaskDataMapper.java @@ -6,12 +6,16 @@ import com.zt.plat.framework.common.pojo.PageResult; import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX; import com.zt.plat.framework.mybatis.core.query.MPJLambdaWrapperX; import com.zt.plat.module.qms.business.bus.controller.vo.*; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessAssayTaskDataExtendRespVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessAssayTaskDataGroupRespVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessAssayTaskDataPageReqVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessAssayTaskDataReqVO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayTaskDataDO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSubSampleDO; import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigAssayMethodDO; -import jakarta.validation.Valid; import com.zt.plat.framework.mybatis.core.mapper.BaseMapperX; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; /** * 子样检测任务业务 Mapper @@ -22,7 +26,9 @@ import org.apache.ibatis.annotations.Mapper; public interface BusinessAssayTaskDataMapper extends BaseMapperX { - List> selectUnAssayTaskGroupList(); + List selectUnAssayTaskGroupList(@Param("reqVO") BusinessAssayTaskDataReqVO reqVO); + + List selectUnAuditTaskGroupList(@Param("reqVO") BusinessAssayTaskDataReqVO reqVO); default List selectList(BusinessAssayTaskDataReqVO reqVO) { return selectJoinList(BusinessAssayTaskDataExtendRespVO.class, new MPJLambdaWrapperX() @@ -40,14 +46,19 @@ public interface BusinessAssayTaskDataMapper extends BaseMapperX { + + default PageResult selectPage(BusinessAssayTaskDetailPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(BusinessAssayTaskDetailDO::getBusinessAssayTaskId, reqVO.getBusinessAssayTaskId()) + .eqIfPresent(BusinessAssayTaskDetailDO::getSampleId, reqVO.getSampleId()) + .eqIfPresent(BusinessAssayTaskDetailDO::getTaskNo, reqVO.getTaskNo()) + .likeIfPresent(BusinessAssayTaskDetailDO::getSampleName, reqVO.getSampleName()) + .eqIfPresent(BusinessAssayTaskDetailDO::getSampleCode, reqVO.getSampleCode()) + .eqIfPresent(BusinessAssayTaskDetailDO::getCupNumber, reqVO.getCupNumber()) + .eqIfPresent(BusinessAssayTaskDetailDO::getDataSourceType, reqVO.getDataSourceType()) + .eqIfPresent(BusinessAssayTaskDetailDO::getSortNo, reqVO.getSortNo()) + .eqIfPresent(BusinessAssayTaskDetailDO::getRollbackStatus, reqVO.getRollbackStatus()) + .eqIfPresent(BusinessAssayTaskDetailDO::getSystemDepartmentCode, reqVO.getSystemDepartmentCode()) + .betweenIfPresent(BusinessAssayTaskDetailDO::getCreateTime, reqVO.getCreateTime()) + .eqIfPresent(BusinessAssayTaskDetailDO::getRemark, reqVO.getRemark()) + .orderByDesc(BusinessAssayTaskDetailDO::getId)); + } + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessAssayTaskMapper.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessAssayTaskMapper.java new file mode 100644 index 0000000..30c5cff --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessAssayTaskMapper.java @@ -0,0 +1,61 @@ +package com.zt.plat.module.qms.business.bus.dal.mapper; + +import com.zt.plat.framework.common.pojo.PageResult; +import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX; +import com.zt.plat.framework.mybatis.core.query.MPJLambdaWrapperX; +import com.zt.plat.module.qms.business.bus.controller.vo.*; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessAssayTaskExtendRespVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessAssayTaskPageReqVO; +import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayTaskDO; +import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayTaskDetailDO; +import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigAssayMethodDO; +import com.zt.plat.framework.mybatis.core.mapper.BaseMapperX; +import org.apache.ibatis.annotations.Mapper; + +/** + * 检测任务分配业务 Mapper + * + * @author 后台管理 + */ +@Mapper +public interface BusinessAssayTaskMapper extends BaseMapperX { + + default PageResult selectPage(BusinessAssayTaskPageReqVO reqVO) { + return selectJoinPage(reqVO, BusinessAssayTaskExtendRespVO.class, new MPJLambdaWrapperX() + .selectSub(BusinessAssayTaskDetailDO.class, s -> s.selectCount(BusinessAssayTaskDetailDO::getId).eq(BusinessAssayTaskDetailDO::getBusinessAssayTaskId, BusinessAssayTaskDO::getId), BusinessAssayTaskExtendRespVO::getAssayTaskCount) + .leftJoin(ConfigAssayMethodDO.class, ConfigAssayMethodDO::getId, BusinessAssayTaskDO::getConfigAssayMethodId) + .selectAll(BusinessAssayTaskDO.class) + .selectAs(ConfigAssayMethodDO::getName, BusinessAssayTaskExtendRespVO::getConfigAssayMethodName) + .eqIfPresent(BusinessAssayTaskDO::getTaskNo, reqVO.getTaskNo()) + .likeIfPresent(BusinessAssayTaskDO::getTaskName, reqVO.getTaskName()) + .eqIfPresent(BusinessAssayTaskDO::getConfigAssayMethodId, reqVO.getConfigAssayMethodId()) + .eqIfPresent(BusinessAssayTaskDO::getTaskSourceType, reqVO.getTaskSourceType()) + .eqIfPresent(BusinessAssayTaskDO::getConfigReportTemplateId, reqVO.getConfigReportTemplateId()) + .eqIfPresent(BusinessAssayTaskDO::getConfigReportTemplateKey, reqVO.getConfigReportTemplateKey()) + .eqIfPresent(BusinessAssayTaskDO::getTaskOperator, reqVO.getTaskOperator()) + .betweenIfPresent(BusinessAssayTaskDO::getTaskOperatorTime, reqVO.getTaskOperatorTime()) + .eqIfPresent(BusinessAssayTaskDO::getAssayOperator, reqVO.getAssayOperator()) + .betweenIfPresent(BusinessAssayTaskDO::getAssayTime, reqVO.getAssayTime()) + .betweenIfPresent(BusinessAssayTaskDO::getReportTime, reqVO.getReportTime()) + .eqIfPresent(BusinessAssayTaskDO::getReportOperator, reqVO.getReportOperator()) + .betweenIfPresent(BusinessAssayTaskDO::getSubmitTime, reqVO.getSubmitTime()) + .eqIfPresent(BusinessAssayTaskDO::getTaskStatus, reqVO.getTaskStatus()) + .eqIfPresent(BusinessAssayTaskDO::getSynchronousStatus, reqVO.getSynchronousStatus()) + .eqIfPresent(BusinessAssayTaskDO::getStandardSampleId, reqVO.getStandardSampleId()) + .eqIfPresent(BusinessAssayTaskDO::getStandardSampleCode, reqVO.getStandardSampleCode()) + .eqIfPresent(BusinessAssayTaskDO::getStandardSampleTypeId, reqVO.getStandardSampleTypeId()) + .eqIfPresent(BusinessAssayTaskDO::getQualitySampleCode, reqVO.getQualitySampleCode()) + .betweenIfPresent(BusinessAssayTaskDO::getQualitySampleAssayTime, reqVO.getQualitySampleAssayTime()) + .eqIfPresent(BusinessAssayTaskDO::getFlowInstanceId, reqVO.getFlowInstanceId()) + .eqIfPresent(BusinessAssayTaskDO::getFormDataCollectionId, reqVO.getFormDataCollectionId()) + .eqIfPresent(BusinessAssayTaskDO::getFormValue, reqVO.getFormValue()) + .eqIfPresent(BusinessAssayTaskDO::getDocumentSignature, reqVO.getDocumentSignature()) + .eqIfPresent(BusinessAssayTaskDO::getFinishStatus, reqVO.getFinishStatus()) + .eqIfPresent(BusinessAssayTaskDO::getFlowStatus, reqVO.getFlowStatus()) + .eqIfPresent(BusinessAssayTaskDO::getSystemDepartmentCode, reqVO.getSystemDepartmentCode()) + .betweenIfPresent(BusinessAssayTaskDO::getCreateTime, reqVO.getCreateTime()) + .eqIfPresent(BusinessAssayTaskDO::getRemark, reqVO.getRemark()) + .orderByDesc(BusinessAssayTaskDO::getId)); + } + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessBaseSampleMapper.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessBaseSampleMapper.java index 15c324b..865ccfb 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessBaseSampleMapper.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessBaseSampleMapper.java @@ -1,7 +1,5 @@ package com.zt.plat.module.qms.business.bus.dal.mapper; -import java.util.*; - import com.zt.plat.framework.common.pojo.PageResult; import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX; import com.zt.plat.module.qms.business.bus.controller.vo.BusinessBaseSamplePageReqVO; @@ -20,18 +18,19 @@ public interface BusinessBaseSampleMapper extends BaseMapperX selectPage(BusinessBaseSamplePageReqVO reqVO) { return selectPage(reqVO, new LambdaQueryWrapperX() .likeIfPresent(BusinessBaseSampleDO::getSampleName, reqVO.getSampleName()) + .likeIfPresent(BusinessBaseSampleDO::getBaseSampleName, reqVO.getBaseSampleName()) .eqIfPresent(BusinessBaseSampleDO::getSampleCode, reqVO.getSampleCode()) .eqIfPresent(BusinessBaseSampleDO::getConfigBaseSampleId, reqVO.getConfigBaseSampleId()) .eqIfPresent(BusinessBaseSampleDO::getDictionaryBusinessId, reqVO.getDictionaryBusinessId()) .betweenIfPresent(BusinessBaseSampleDO::getSampleTime, reqVO.getSampleTime()) .eqIfPresent(BusinessBaseSampleDO::getPrintCount, reqVO.getPrintCount()) .betweenIfPresent(BusinessBaseSampleDO::getPrintLastTime, reqVO.getPrintLastTime()) - .eqIfPresent(BusinessBaseSampleDO::getSampleFlowId, reqVO.getSampleFlowId()) - .eqIfPresent(BusinessBaseSampleDO::getSampleFlowKey, reqVO.getSampleFlowKey()) - .betweenIfPresent(BusinessBaseSampleDO::getSampleFlowTime, reqVO.getSampleFlowTime()) + .eqIfPresent(BusinessBaseSampleDO::getConfigSampleFlowId, reqVO.getConfigSampleFlowId()) + .eqIfPresent(BusinessBaseSampleDO::getSampleFlowNodeKey, reqVO.getSampleFlowNodeKey()) + .betweenIfPresent(BusinessBaseSampleDO::getSampleFlowNodeTime, reqVO.getSampleFlowNodeTime()) .eqIfPresent(BusinessBaseSampleDO::getSampleStatus, reqVO.getSampleStatus()) - .eqIfPresent(BusinessBaseSampleDO::getSystemDepartmentCode, reqVO.getSystemDepartmentCode()) .eqIfPresent(BusinessBaseSampleDO::getOperator, reqVO.getOperator()) + .eqIfPresent(BusinessBaseSampleDO::getSystemDepartmentCode, reqVO.getSystemDepartmentCode()) .betweenIfPresent(BusinessBaseSampleDO::getCreateTime, reqVO.getCreateTime()) .eqIfPresent(BusinessBaseSampleDO::getUpdateCount, reqVO.getUpdateCount()) .eqIfPresent(BusinessBaseSampleDO::getRemark, reqVO.getRemark()) diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessDocumentDataMapper.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessDocumentDataMapper.java new file mode 100644 index 0000000..0157c15 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessDocumentDataMapper.java @@ -0,0 +1,30 @@ +package com.zt.plat.module.qms.business.bus.dal.mapper; + +import com.zt.plat.framework.common.pojo.PageResult; +import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX; +import com.zt.plat.module.qms.business.bus.controller.vo.*; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessDocumentDataPageReqVO; +import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessDocumentDataDO; +import com.zt.plat.framework.mybatis.core.mapper.BaseMapperX; +import org.apache.ibatis.annotations.Mapper; + +/** + * 检测报告明细 Mapper + * + * @author 后台管理 + */ +@Mapper +public interface BusinessDocumentDataMapper extends BaseMapperX { + + default PageResult selectPage(BusinessDocumentDataPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(BusinessDocumentDataDO::getBusinessDocumentMainId, reqVO.getBusinessDocumentMainId()) + .eqIfPresent(BusinessDocumentDataDO::getSourceId, reqVO.getSourceId()) + .eqIfPresent(BusinessDocumentDataDO::getDocumentContent, reqVO.getDocumentContent()) + .eqIfPresent(BusinessDocumentDataDO::getSystemDepartmentCode, reqVO.getSystemDepartmentCode()) + .betweenIfPresent(BusinessDocumentDataDO::getCreateTime, reqVO.getCreateTime()) + .eqIfPresent(BusinessDocumentDataDO::getRemark, reqVO.getRemark()) + .orderByDesc(BusinessDocumentDataDO::getId)); + } + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessDocumentMainMapper.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessDocumentMainMapper.java new file mode 100644 index 0000000..5224f81 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessDocumentMainMapper.java @@ -0,0 +1,42 @@ +package com.zt.plat.module.qms.business.bus.dal.mapper; + +import com.zt.plat.framework.common.pojo.PageResult; +import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX; +import com.zt.plat.module.qms.business.bus.controller.vo.*; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessDocumentMainPageReqVO; +import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessDocumentMainDO; +import com.zt.plat.framework.mybatis.core.mapper.BaseMapperX; +import org.apache.ibatis.annotations.Mapper; + +/** + * 检测报告业务 Mapper + * + * @author 后台管理 + */ +@Mapper +public interface BusinessDocumentMainMapper extends BaseMapperX { + + default PageResult selectPage(BusinessDocumentMainPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(BusinessDocumentMainDO::getFlowInstanceId, reqVO.getFlowInstanceId()) + .eqIfPresent(BusinessDocumentMainDO::getConfigDocumentTypeId, reqVO.getConfigDocumentTypeId()) + .eqIfPresent(BusinessDocumentMainDO::getModelKey, reqVO.getModelKey()) + .eqIfPresent(BusinessDocumentMainDO::getFlowSerialNumber, reqVO.getFlowSerialNumber()) + .eqIfPresent(BusinessDocumentMainDO::getCurrentNode, reqVO.getCurrentNode()) + .eqIfPresent(BusinessDocumentMainDO::getDocumentCode, reqVO.getDocumentCode()) + .eqIfPresent(BusinessDocumentMainDO::getDocumentType, reqVO.getDocumentType()) + .eqIfPresent(BusinessDocumentMainDO::getDocumentTitle, reqVO.getDocumentTitle()) + .eqIfPresent(BusinessDocumentMainDO::getDocumentConfig, reqVO.getDocumentConfig()) + .eqIfPresent(BusinessDocumentMainDO::getDocumentSignature, reqVO.getDocumentSignature()) + .betweenIfPresent(BusinessDocumentMainDO::getDocumentStartTime, reqVO.getDocumentStartTime()) + .betweenIfPresent(BusinessDocumentMainDO::getDocumentEndTime, reqVO.getDocumentEndTime()) + .eqIfPresent(BusinessDocumentMainDO::getFormData, reqVO.getFormData()) + .eqIfPresent(BusinessDocumentMainDO::getAttachment, reqVO.getAttachment()) + .eqIfPresent(BusinessDocumentMainDO::getStatus, reqVO.getStatus()) + .eqIfPresent(BusinessDocumentMainDO::getSystemDepartmentCode, reqVO.getSystemDepartmentCode()) + .betweenIfPresent(BusinessDocumentMainDO::getCreateTime, reqVO.getCreateTime()) + .eqIfPresent(BusinessDocumentMainDO::getRemark, reqVO.getRemark()) + .orderByDesc(BusinessDocumentMainDO::getId)); + } + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessHandoverRecordSubMapper.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessHandoverRecordSubMapper.java index 4d1dd98..f48cc47 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessHandoverRecordSubMapper.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessHandoverRecordSubMapper.java @@ -28,15 +28,18 @@ public interface BusinessHandoverRecordSubMapper extends BaseMapperX { + + default PageResult selectPage(BusinessQualityControlSampleProjectPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(BusinessQualityControlSampleProjectDO::getBusinessAssayTaskId, reqVO.getBusinessAssayTaskId()) + .eqIfPresent(BusinessQualityControlSampleProjectDO::getConfigStandardSampleProjectId, reqVO.getConfigStandardSampleProjectId()) + .eqIfPresent(BusinessQualityControlSampleProjectDO::getDictionaryProjectId, reqVO.getDictionaryProjectId()) + .likeIfPresent(BusinessQualityControlSampleProjectDO::getDictionaryProjectName, reqVO.getDictionaryProjectName()) + .eqIfPresent(BusinessQualityControlSampleProjectDO::getDictionaryProjectUnit, reqVO.getDictionaryProjectUnit()) + .eqIfPresent(BusinessQualityControlSampleProjectDO::getStandardValue, reqVO.getStandardValue()) + .eqIfPresent(BusinessQualityControlSampleProjectDO::getToleraanceValue, reqVO.getToleraanceValue()) + .eqIfPresent(BusinessQualityControlSampleProjectDO::getQualityControlValue, reqVO.getQualityControlValue()) + .eqIfPresent(BusinessQualityControlSampleProjectDO::getDataType, reqVO.getDataType()) + .eqIfPresent(BusinessQualityControlSampleProjectDO::getDecimalPosition, reqVO.getDecimalPosition()) + .eqIfPresent(BusinessQualityControlSampleProjectDO::getSortNo, reqVO.getSortNo()) + .eqIfPresent(BusinessQualityControlSampleProjectDO::getSystemDepartmentCode, reqVO.getSystemDepartmentCode()) + .betweenIfPresent(BusinessQualityControlSampleProjectDO::getCreateTime, reqVO.getCreateTime()) + .eqIfPresent(BusinessQualityControlSampleProjectDO::getUpdateCount, reqVO.getUpdateCount()) + .eqIfPresent(BusinessQualityControlSampleProjectDO::getRemark, reqVO.getRemark()) + .orderByDesc(BusinessQualityControlSampleProjectDO::getId)); + } + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessSampleAssayResultMapper.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessSampleAssayResultMapper.java index 2b16627..7894716 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessSampleAssayResultMapper.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessSampleAssayResultMapper.java @@ -8,12 +8,9 @@ import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSampleAssayResu import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSampleAssayResultDO; import com.zt.plat.framework.mybatis.core.mapper.BaseMapperX; -import org.apache.ibatis.annotations.Delete; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; - /** * 委检登记来样品位 Mapper * diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessSampleEntrustDetailMapper.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessSampleEntrustDetailMapper.java index 4c8c0ef..706918c 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessSampleEntrustDetailMapper.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessSampleEntrustDetailMapper.java @@ -4,16 +4,18 @@ import java.util.*; import com.zt.plat.framework.common.pojo.PageResult; import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX; +import com.zt.plat.framework.mybatis.core.query.MPJLambdaWrapperX; import com.zt.plat.module.qms.business.bus.controller.vo.*; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSampleEntrustDetailExtendRespVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSampleEntrustDetailPageReqVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSampleEntrustDetailReqVO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSampleEntrustDetailDO; +import com.zt.plat.module.qms.business.config.dal.dataobject.BaseSampleDO; import com.zt.plat.framework.mybatis.core.mapper.BaseMapperX; -import org.apache.ibatis.annotations.Delete; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; - /** * 委检登记样品明细 Mapper * @@ -22,12 +24,39 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; @Mapper public interface BusinessSampleEntrustDetailMapper extends BaseMapperX { - default PageResult selectPage(BusinessSampleEntrustDetailPageReqVO reqVO) { - return selectPage(reqVO, new LambdaQueryWrapperX() + default List selectList(BusinessSampleEntrustDetailReqVO reqVO) { + return selectJoinList(BusinessSampleEntrustDetailExtendRespVO.class, new MPJLambdaWrapperX() + .leftJoin(BaseSampleDO.class, BaseSampleDO::getId, BusinessSampleEntrustDetailDO::getBaseSampleId) + .selectAll(BusinessSampleEntrustDetailDO.class) + .selectAs(BaseSampleDO::getName, BusinessSampleEntrustDetailExtendRespVO::getBaseSampleName) .eqIfPresent(BusinessSampleEntrustDetailDO::getBusinessSampleEntrustRegistrationId, reqVO.getBusinessSampleEntrustRegistrationId()) .eqIfPresent(BusinessSampleEntrustDetailDO::getBusinessBaseSampleId, reqVO.getBusinessBaseSampleId()) .eqIfPresent(BusinessSampleEntrustDetailDO::getBaseSampleId, reqVO.getBaseSampleId()) - .eqIfPresent(BusinessSampleEntrustDetailDO::getDictionaryBusinessId, reqVO.getDictionaryBusinessId()) + .eqIfPresent(BusinessSampleEntrustDetailDO::getSampleTypeDictionaryBusinessId, reqVO.getSampleTypeDictionaryBusinessId()) + .likeIfPresent(BusinessSampleEntrustDetailDO::getSampleName, reqVO.getSampleName()) + .eqIfPresent(BusinessSampleEntrustDetailDO::getSampleCode, reqVO.getSampleCode()) + .likeIfPresent(BusinessSampleEntrustDetailDO::getEntrustSampleName, reqVO.getEntrustSampleName()) + .eqIfPresent(BusinessSampleEntrustDetailDO::getEntrustSampleCode, reqVO.getEntrustSampleCode()) + .eqIfPresent(BusinessSampleEntrustDetailDO::getSort, reqVO.getSort()) + .eqIfPresent(BusinessSampleEntrustDetailDO::getAssayProject, reqVO.getAssayProject()) + .eqIfPresent(BusinessSampleEntrustDetailDO::getForecastResult, reqVO.getForecastResult()) + .eqIfPresent(BusinessSampleEntrustDetailDO::getIsWeighing, reqVO.getIsWeighing()) + .eqIfPresent(BusinessSampleEntrustDetailDO::getSystemDepartmentCode, reqVO.getSystemDepartmentCode()) + .betweenIfPresent(BusinessSampleEntrustDetailDO::getCreateTime, reqVO.getCreateTime()) + .eqIfPresent(BusinessSampleEntrustDetailDO::getUpdateCount, reqVO.getUpdateCount()) + .eqIfPresent(BusinessSampleEntrustDetailDO::getRemark, reqVO.getRemark()) + .orderByDesc(BusinessSampleEntrustDetailDO::getId)); + } + + default PageResult selectPage(BusinessSampleEntrustDetailPageReqVO reqVO) { + return selectJoinPage(reqVO, BusinessSampleEntrustDetailExtendRespVO.class, new MPJLambdaWrapperX() + .leftJoin(BaseSampleDO.class, BaseSampleDO::getId, BusinessSampleEntrustDetailDO::getBaseSampleId) + .selectAll(BusinessSampleEntrustDetailDO.class) + .selectAs(BaseSampleDO::getName, BusinessSampleEntrustDetailExtendRespVO::getBaseSampleName) + .eqIfPresent(BusinessSampleEntrustDetailDO::getBusinessSampleEntrustRegistrationId, reqVO.getBusinessSampleEntrustRegistrationId()) + .eqIfPresent(BusinessSampleEntrustDetailDO::getBusinessBaseSampleId, reqVO.getBusinessBaseSampleId()) + .eqIfPresent(BusinessSampleEntrustDetailDO::getBaseSampleId, reqVO.getBaseSampleId()) + .eqIfPresent(BusinessSampleEntrustDetailDO::getSampleTypeDictionaryBusinessId, reqVO.getSampleTypeDictionaryBusinessId()) .likeIfPresent(BusinessSampleEntrustDetailDO::getSampleName, reqVO.getSampleName()) .eqIfPresent(BusinessSampleEntrustDetailDO::getSampleCode, reqVO.getSampleCode()) .likeIfPresent(BusinessSampleEntrustDetailDO::getEntrustSampleName, reqVO.getEntrustSampleName()) diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessSampleEntrustProjectMapper.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessSampleEntrustProjectMapper.java index 8f3648c..f3d6ae6 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessSampleEntrustProjectMapper.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessSampleEntrustProjectMapper.java @@ -8,14 +8,11 @@ import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSampleEntrustPr import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSampleEntrustProjectDO; import com.zt.plat.framework.mybatis.core.mapper.BaseMapperX; -import org.apache.ibatis.annotations.Delete; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; - /** - * 委检样品检测项目业务 Mapper + * 委检登记样品检测项目 Mapper * * @author 后台管理 */ diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessSampleEntrustRegistrationMapper.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessSampleEntrustRegistrationMapper.java index bcd9e2d..adf6732 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessSampleEntrustRegistrationMapper.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessSampleEntrustRegistrationMapper.java @@ -1,7 +1,5 @@ package com.zt.plat.module.qms.business.bus.dal.mapper; -import java.util.*; - import com.zt.plat.framework.common.pojo.PageResult; import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX; import com.zt.plat.framework.mybatis.core.query.MPJLambdaWrapperX; @@ -27,7 +25,6 @@ public interface BusinessSampleEntrustRegistrationMapper extends BaseMapperX() .eqIfPresent(BusinessSampleHandoverDO::getCode, reqVO.getCode()) .likeIfPresent(BusinessSampleHandoverDO::getName, reqVO.getName()) - .eqIfPresent(BusinessSampleHandoverDO::getTemplateKey, reqVO.getTemplateKey()) - .eqIfPresent(BusinessSampleHandoverDO::getSampleFlowId, reqVO.getSampleFlowId()) - .eqIfPresent(BusinessSampleHandoverDO::getSampleFlowCode, reqVO.getSampleFlowCode()) + .eqIfPresent(BusinessSampleHandoverDO::getConfigReportTemplateId, reqVO.getConfigReportTemplateId()) + .eqIfPresent(BusinessSampleHandoverDO::getConfigReportTemplateKey, reqVO.getConfigReportTemplateKey()) + .eqIfPresent(BusinessSampleHandoverDO::getConfigSampleFlowId, reqVO.getConfigSampleFlowId()) + .eqIfPresent(BusinessSampleHandoverDO::getSampleFlowNodeKey, reqVO.getSampleFlowNodeKey()) .eqIfPresent(BusinessSampleHandoverDO::getOperationType, reqVO.getOperationType()) .betweenIfPresent(BusinessSampleHandoverDO::getOperationTime, reqVO.getOperationTime()) .eqIfPresent(BusinessSampleHandoverDO::getOperator, reqVO.getOperator()) diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessStandardSampleMapper.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessStandardSampleMapper.java new file mode 100644 index 0000000..d947b43 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessStandardSampleMapper.java @@ -0,0 +1,32 @@ +package com.zt.plat.module.qms.business.bus.dal.mapper; + +import com.zt.plat.framework.common.pojo.PageResult; +import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX; +import com.zt.plat.module.qms.business.bus.controller.vo.*; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessStandardSamplePageReqVO; +import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessStandardSampleDO; +import com.zt.plat.framework.mybatis.core.mapper.BaseMapperX; +import org.apache.ibatis.annotations.Mapper; + +/** + * 标准样业务 Mapper + * + * @author 后台管理 + */ +@Mapper +public interface BusinessStandardSampleMapper extends BaseMapperX { + + default PageResult selectPage(BusinessStandardSamplePageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(BusinessStandardSampleDO::getConfigStandardSampleTypeId, reqVO.getConfigStandardSampleTypeId()) + .likeIfPresent(BusinessStandardSampleDO::getConfigStandardSampleTypeName, reqVO.getConfigStandardSampleTypeName()) + .eqIfPresent(BusinessStandardSampleDO::getStandardSampleCode, reqVO.getStandardSampleCode()) + .eqIfPresent(BusinessStandardSampleDO::getIsUse, reqVO.getIsUse()) + .eqIfPresent(BusinessStandardSampleDO::getIsPublish, reqVO.getIsPublish()) + .eqIfPresent(BusinessStandardSampleDO::getSystemDepartmentCode, reqVO.getSystemDepartmentCode()) + .betweenIfPresent(BusinessStandardSampleDO::getCreateTime, reqVO.getCreateTime()) + .eqIfPresent(BusinessStandardSampleDO::getRemark, reqVO.getRemark()) + .orderByDesc(BusinessStandardSampleDO::getId)); + } + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessStandardSampleProjectMapper.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessStandardSampleProjectMapper.java new file mode 100644 index 0000000..8fdf5a6 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessStandardSampleProjectMapper.java @@ -0,0 +1,36 @@ +package com.zt.plat.module.qms.business.bus.dal.mapper; + +import com.zt.plat.framework.common.pojo.PageResult; +import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX; +import com.zt.plat.module.qms.business.bus.controller.vo.*; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessStandardSampleProjectPageReqVO; +import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessStandardSampleProjectDO; +import com.zt.plat.framework.mybatis.core.mapper.BaseMapperX; +import org.apache.ibatis.annotations.Mapper; + +/** + * 标准样检测项目业务 Mapper + * + * @author 后台管理 + */ +@Mapper +public interface BusinessStandardSampleProjectMapper extends BaseMapperX { + + default PageResult selectPage(BusinessStandardSampleProjectPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(BusinessStandardSampleProjectDO::getBusinessStandardSampleId, reqVO.getBusinessStandardSampleId()) + .eqIfPresent(BusinessStandardSampleProjectDO::getConfigStandardSampleProjectId, reqVO.getConfigStandardSampleProjectId()) + .eqIfPresent(BusinessStandardSampleProjectDO::getDictionaryProjectId, reqVO.getDictionaryProjectId()) + .likeIfPresent(BusinessStandardSampleProjectDO::getDictionaryProjectName, reqVO.getDictionaryProjectName()) + .eqIfPresent(BusinessStandardSampleProjectDO::getDictionaryProjectUnit, reqVO.getDictionaryProjectUnit()) + .eqIfPresent(BusinessStandardSampleProjectDO::getStandardValue, reqVO.getStandardValue()) + .eqIfPresent(BusinessStandardSampleProjectDO::getStandardToleraanceValue, reqVO.getStandardToleraanceValue()) + .eqIfPresent(BusinessStandardSampleProjectDO::getDecimalPosition, reqVO.getDecimalPosition()) + .eqIfPresent(BusinessStandardSampleProjectDO::getSortNo, reqVO.getSortNo()) + .eqIfPresent(BusinessStandardSampleProjectDO::getSystemDepartmentCode, reqVO.getSystemDepartmentCode()) + .betweenIfPresent(BusinessStandardSampleProjectDO::getCreateTime, reqVO.getCreateTime()) + .eqIfPresent(BusinessStandardSampleProjectDO::getRemark, reqVO.getRemark()) + .orderByDesc(BusinessStandardSampleProjectDO::getId)); + } + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessSubParentSampleMapper.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessSubParentSampleMapper.java index b2f72ea..3c68a90 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessSubParentSampleMapper.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessSubParentSampleMapper.java @@ -1,7 +1,5 @@ package com.zt.plat.module.qms.business.bus.dal.mapper; -import java.util.*; - import com.zt.plat.framework.common.pojo.PageResult; import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX; import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSubParentSamplePageReqVO; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessSubSampleAnalysisGroupMapper.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessSubSampleAnalysisGroupMapper.java new file mode 100644 index 0000000..82fa8f3 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessSubSampleAnalysisGroupMapper.java @@ -0,0 +1,36 @@ +package com.zt.plat.module.qms.business.bus.dal.mapper; + +import com.zt.plat.framework.common.pojo.PageResult; +import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX; +import com.zt.plat.module.qms.business.bus.controller.vo.*; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSubSampleAnalysisGroupPageReqVO; +import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSubSampleAnalysisGroupDO; +import com.zt.plat.framework.mybatis.core.mapper.BaseMapperX; +import org.apache.ibatis.annotations.Mapper; + +/** + * 子样分析班组业务 Mapper + * + * @author 后台管理 + */ +@Mapper +public interface BusinessSubSampleAnalysisGroupMapper extends BaseMapperX { + + default PageResult selectPage(BusinessSubSampleAnalysisGroupPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(BusinessSubSampleAnalysisGroupDO::getBusinessBaseSampleId, reqVO.getBusinessBaseSampleId()) + .eqIfPresent(BusinessSubSampleAnalysisGroupDO::getBusinessSubParentSampleId, reqVO.getBusinessSubParentSampleId()) + .eqIfPresent(BusinessSubSampleAnalysisGroupDO::getBusinessSubSampleId, reqVO.getBusinessSubSampleId()) + .eqIfPresent(BusinessSubSampleAnalysisGroupDO::getAssayDepartmentId, reqVO.getAssayDepartmentId()) + .likeIfPresent(BusinessSubSampleAnalysisGroupDO::getAssayDepartmentName, reqVO.getAssayDepartmentName()) + .eqIfPresent(BusinessSubSampleAnalysisGroupDO::getSampleStatus, reqVO.getSampleStatus()) + .eqIfPresent(BusinessSubSampleAnalysisGroupDO::getSampleReceiver, reqVO.getSampleReceiver()) + .betweenIfPresent(BusinessSubSampleAnalysisGroupDO::getSampleReceiveTime, reqVO.getSampleReceiveTime()) + .eqIfPresent(BusinessSubSampleAnalysisGroupDO::getSystemDepartmentCode, reqVO.getSystemDepartmentCode()) + .betweenIfPresent(BusinessSubSampleAnalysisGroupDO::getCreateTime, reqVO.getCreateTime()) + .eqIfPresent(BusinessSubSampleAnalysisGroupDO::getUpdateCount, reqVO.getUpdateCount()) + .eqIfPresent(BusinessSubSampleAnalysisGroupDO::getRemark, reqVO.getRemark()) + .orderByDesc(BusinessSubSampleAnalysisGroupDO::getId)); + } + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessSubSampleAssessmentMapper.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessSubSampleAssessmentMapper.java index b96a992..d6bc223 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessSubSampleAssessmentMapper.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessSubSampleAssessmentMapper.java @@ -1,10 +1,9 @@ package com.zt.plat.module.qms.business.bus.dal.mapper; -import java.util.*; - import com.zt.plat.framework.common.pojo.PageResult; import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX; import com.zt.plat.module.qms.business.bus.controller.vo.*; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSubSampleAssessmentPageReqVO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSubSampleAssessmentDO; import com.zt.plat.framework.mybatis.core.mapper.BaseMapperX; import org.apache.ibatis.annotations.Mapper; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessSubSampleMapper.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessSubSampleMapper.java index 9b4d8af..dd567a3 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessSubSampleMapper.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessSubSampleMapper.java @@ -6,8 +6,13 @@ import com.zt.plat.framework.common.pojo.PageResult; import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX; import com.zt.plat.framework.mybatis.core.query.MPJLambdaWrapperX; import com.zt.plat.module.qms.business.bus.controller.vo.*; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSubSampleExtendRespVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSubSamplePageReqVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSubSampleReqVO; +import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayTaskDataDO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSubSampleDO; import com.zt.plat.module.qms.common.dic.dal.dataobject.DictionaryBusinessDO; +import com.zt.plat.module.qms.enums.QmsCommonConstant; import jakarta.validation.Valid; import com.zt.plat.framework.mybatis.core.mapper.BaseMapperX; import org.apache.ibatis.annotations.Mapper; @@ -22,6 +27,7 @@ public interface BusinessSubSampleMapper extends BaseMapperX selectPage(BusinessSubSamplePageReqVO reqVO) { return selectJoinPage(reqVO, BusinessSubSampleExtendRespVO.class, new MPJLambdaWrapperX() + .selectSub(BusinessAssayTaskDataDO.class, s -> s.selectCount(BusinessAssayTaskDataDO::getId).eq(BusinessAssayTaskDataDO::getBusinessSubSampleId, BusinessSubSampleDO::getId), BusinessSubSampleExtendRespVO::getAssayTaskCount) .leftJoin(DictionaryBusinessDO.class, DictionaryBusinessDO::getId, BusinessSubSampleDO::getDictionaryBusinessId) .selectAll(BusinessSubSampleDO.class) .selectAs(DictionaryBusinessDO::getName, BusinessSubSampleExtendRespVO::getDictionaryBusinessName) @@ -36,13 +42,17 @@ public interface BusinessSubSampleMapper extends BaseMapperX selectlist(@Valid BusinessSubSampleReqVO reqVO) { + default List selectList(@Valid BusinessSubSampleReqVO reqVO) { return selectJoinList(BusinessSubSampleExtendRespVO.class, new MPJLambdaWrapperX() .leftJoin(DictionaryBusinessDO.class, DictionaryBusinessDO::getId, BusinessSubSampleDO::getDictionaryBusinessId) .selectAll(BusinessSubSampleDO.class) @@ -77,13 +86,17 @@ public interface BusinessSubSampleMapper extends BaseMapperX { + + default PageResult selectPage(BusinessTeamAssessmentPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(BusinessTeamAssessmentDO::getBusinessSubParentSampleId, reqVO.getBusinessSubParentSampleId()) + .eqIfPresent(BusinessTeamAssessmentDO::getDictionaryProjectId, reqVO.getDictionaryProjectId()) + .eqIfPresent(BusinessTeamAssessmentDO::getConfigAssayMethodProjectId, reqVO.getConfigAssayMethodProjectId()) + .eqIfPresent(BusinessTeamAssessmentDO::getConfigAssayMethodId, reqVO.getConfigAssayMethodId()) + .eqIfPresent(BusinessTeamAssessmentDO::getDataType, reqVO.getDataType()) + .eqIfPresent(BusinessTeamAssessmentDO::getDecimalPosition, reqVO.getDecimalPosition()) + .eqIfPresent(BusinessTeamAssessmentDO::getAssessmentValue, reqVO.getAssessmentValue()) + .likeIfPresent(BusinessTeamAssessmentDO::getColumnName, reqVO.getColumnName()) + .eqIfPresent(BusinessTeamAssessmentDO::getAssessmentStatus, reqVO.getAssessmentStatus()) + .eqIfPresent(BusinessTeamAssessmentDO::getIsReported, reqVO.getIsReported()) + .eqIfPresent(BusinessTeamAssessmentDO::getReporter, reqVO.getReporter()) + .betweenIfPresent(BusinessTeamAssessmentDO::getReportTime, reqVO.getReportTime()) + .eqIfPresent(BusinessTeamAssessmentDO::getSystemDepartmentCode, reqVO.getSystemDepartmentCode()) + .betweenIfPresent(BusinessTeamAssessmentDO::getCreateTime, reqVO.getCreateTime()) + .eqIfPresent(BusinessTeamAssessmentDO::getUpdateCount, reqVO.getUpdateCount()) + .eqIfPresent(BusinessTeamAssessmentDO::getRemark, reqVO.getRemark()) + .orderByDesc(BusinessTeamAssessmentDO::getId)); + } + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/param/SampleEntrustDetail.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/param/SampleEntrustDetail.java index 940ca4a..54aee9f 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/param/SampleEntrustDetail.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/param/SampleEntrustDetail.java @@ -22,7 +22,7 @@ public class SampleEntrustDetail { private Long businessBaseSampleId; /** 样品类型ID 字典表:【T_DIC_BSN】结算样、委检样、生产样等 **/ - private Long dictionaryBusinessId; + private Long sampleTypeDictionaryBusinessId; /** 样品名称 **/ private String sampleName; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/param/SampleEntrustParam.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/param/SampleEntrustParam.java index 3fceceb..e449380 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/param/SampleEntrustParam.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/param/SampleEntrustParam.java @@ -49,6 +49,9 @@ public class SampleEntrustParam { /** 创建方式,手动创建-manual、外部系统创建-interface **/ private String createWay; + /** 委托来源key **/ + private String configEntrustSourceKey; + /** 委托类型:委托登记-entrust_registration、检验委托-entrust_inspection **/ private String entrustType; @@ -58,8 +61,8 @@ public class SampleEntrustParam { /** 备注 **/ private String remark; - /** 数据集id **/ - private Long dataCollectionId; + /** 扩展信息的数据集id **/ + private Long externalInfomationDataCollectionId; /** 扩展信息 **/ private String externalInfomation; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/param/SampleTaskAssignMethodParam.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/param/SampleTaskAssignMethodParam.java new file mode 100644 index 0000000..baf4124 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/param/SampleTaskAssignMethodParam.java @@ -0,0 +1,21 @@ +package com.zt.plat.module.qms.business.bus.liteflow.param; + +import java.util.List; + +import lombok.Data; +import lombok.experimental.Accessors; + +/** + * 按分析方法分配参数 + */ +@Data +@Accessors(chain = true) +public class SampleTaskAssignMethodParam { + + /** 分析方法id **/ + private Long configAssayMethodId; + + /** 接受分配任务的人员 **/ + private List assignAssayUserList; + +} diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/param/SampleTaskAssignSampleParam.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/param/SampleTaskAssignSampleParam.java new file mode 100644 index 0000000..f891746 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/param/SampleTaskAssignSampleParam.java @@ -0,0 +1,19 @@ +package com.zt.plat.module.qms.business.bus.liteflow.param; + +import java.util.List; + +import lombok.Data; +import lombok.experimental.Accessors; + + +@Data +@Accessors(chain = true) +public class SampleTaskAssignSampleParam { + + /** 分析人员 **/ + private AssignAssayUser assignAssayUser; + + /** 待分析的样品id **/ + private List assignSampleIdList; + +} diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/entrust/SampleEntrustCheckCmp.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/entrust/SampleEntrustCheckCmp.java index aa37c72..ba1eba6 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/entrust/SampleEntrustCheckCmp.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/entrust/SampleEntrustCheckCmp.java @@ -21,15 +21,13 @@ public class SampleEntrustCheckCmp extends NodeComponent { //获取样品委托单 BusinessSampleEntrustRegistrationDO sampleEntrustRegistration = sampleEntrustContext.getSampleEntrustRegistration(); - if ("entrust_registration".equals(sampleEntrustRegistration.getEntrustType())) { - if (sampleEntrustRegistration.getConfigEntrustSourceId() == null) { - throw new ServiceException(500, "委托来源id不允许为空"); - } - ConfigEntrustSourceDO configEntrustSource = sampleEntrustContext.getConfigEntrustSourceById(sampleEntrustRegistration.getConfigEntrustSourceId()); - if (configEntrustSource == null) { - throw new ServiceException(500, "委托来源id不正确"); - } - + + if (sampleEntrustRegistration.getConfigEntrustSourceId() == null) { + throw new ServiceException(500, "委托来源id不允许为空"); + } + ConfigEntrustSourceDO configEntrustSource = sampleEntrustContext.getConfigEntrustSourceById(sampleEntrustRegistration.getConfigEntrustSourceId()); + if (configEntrustSource == null) { + throw new ServiceException(500, "委托来源id不正确"); } sampleEntrustRegistration.setDataCheckStatus("success"); diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/entrust/SampleEntrustContextInitCmp.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/entrust/SampleEntrustContextInitCmp.java index 26e44dc..511b548 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/entrust/SampleEntrustContextInitCmp.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/entrust/SampleEntrustContextInitCmp.java @@ -3,6 +3,8 @@ package com.zt.plat.module.qms.business.bus.liteflow.sample.entrust; import java.util.ArrayList; import java.util.List; +import org.apache.commons.lang3.StringUtils; + import com.baomidou.mybatisplus.core.toolkit.IdWorker; import com.yomahub.liteflow.annotation.LiteflowComponent; import com.yomahub.liteflow.core.NodeComponent; @@ -79,7 +81,7 @@ public class SampleEntrustContextInitCmp extends NodeComponent { //委托来源配置 List configEntrustSourceList = configEntrustSourceMapper.selectList(); sampleEntrustContext.setConfigEntrustSourceList(configEntrustSourceList); - + //物料检验标准 List materialAssayStandardList = materialAssayStandardMapper.selectList(); sampleEntrustContext.setMaterialAssayStandardList(materialAssayStandardList); @@ -94,6 +96,22 @@ public class SampleEntrustContextInitCmp extends NodeComponent { //委托登记 BusinessSampleEntrustRegistrationDO sampleEntrustRegistration = BeanUtil.copyProperties(sampleEntrustParam, BusinessSampleEntrustRegistrationDO.class); + + //委托来源id为空并且委托来源key也为空 + if (sampleEntrustParam.getConfigEntrustSourceId() == null && StringUtils.isBlank(sampleEntrustParam.getConfigEntrustSourceKey())) { + throw new ServiceException(500, "委托来源id或委托来源key为空"); + } + + //委托来源的id为空 + if (sampleEntrustParam.getConfigEntrustSourceId() == null && StringUtils.isNotBlank(sampleEntrustParam.getConfigEntrustSourceKey()) && StringUtils.isNotBlank(sampleEntrustParam.getEntrustType())) { + ConfigEntrustSourceDO configEntrustSourceDO = configEntrustSourceList.stream().filter(f -> f.getKey().equals(sampleEntrustParam.getConfigEntrustSourceKey()) && f.getEntrustType().equals(sampleEntrustParam.getEntrustType())).findFirst().orElse(null); + if (configEntrustSourceDO == null) { + throw new ServiceException(500, "样品委托来源不正确"); + } + sampleEntrustRegistration.setConfigEntrustSourceId(configEntrustSourceDO.getId()); + } + + //赋值委托来源id sampleEntrustContext.setSampleEntrustRegistration(sampleEntrustRegistration); List detailList = sampleEntrustParam.getSampleEntrustDetailList(); diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/entrust/SampleEntrustCreateDataCmp.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/entrust/SampleEntrustCreateDataCmp.java index 736128e..8715605 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/entrust/SampleEntrustCreateDataCmp.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/entrust/SampleEntrustCreateDataCmp.java @@ -20,7 +20,9 @@ import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessSampleEntrustProje import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessSampleEntrustRegistrationMapper; import com.zt.plat.module.qms.business.bus.liteflow.slot.SampleEntrustContext; import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigEntrustSourceDO; +import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigReportTemplateDO; import com.zt.plat.module.qms.business.config.dal.dataobject.MaterialAssayStandardDetailDO; +import com.zt.plat.module.qms.business.config.dal.mapper.ConfigReportTemplateMapper; import com.zt.plat.module.qms.core.code.SequenceUtil; import jakarta.annotation.Resource; @@ -30,6 +32,9 @@ public class SampleEntrustCreateDataCmp extends NodeComponent { @Resource private SequenceUtil sequenceUtil; + @Resource + private ConfigReportTemplateMapper configReportTemplateMapper; + @Resource private BusinessSampleEntrustRegistrationMapper businessSampleEntrustRegistrationMapper; @@ -50,22 +55,22 @@ public class SampleEntrustCreateDataCmp extends NodeComponent { BusinessSampleEntrustRegistrationDO sampleEntrustRegistration = sampleEntrustContext.getSampleEntrustRegistration(); //获取委托来源配置 - String codeRule = "QMS_YTJY_ENTT_SRC_CD"; - if (sampleEntrustRegistration.getConfigEntrustSourceId() != null) { - ConfigEntrustSourceDO configEntrustSource = sampleEntrustContext.getConfigEntrustSourceById(sampleEntrustRegistration.getConfigEntrustSourceId()); - codeRule = configEntrustSource.getCodeRule(); - } + ConfigEntrustSourceDO configEntrustSource = sampleEntrustContext.getConfigEntrustSourceById(sampleEntrustRegistration.getConfigEntrustSourceId()); + String codeRule = configEntrustSource.getCodeRule(); + ConfigReportTemplateDO configReportTemplate = configReportTemplateMapper.selectLatestConfigReportTemplateByKey(configEntrustSource.getConfigReportTemplateKey()); //赋值id sampleEntrustRegistration.setId(IdWorker.getId()); //设置委托单号 sampleEntrustRegistration.setEntrustNumber(sequenceUtil.genCode(codeRule)); sampleEntrustRegistration.setRegistrationStatus("in_progress"); - sampleEntrustRegistration.setCreateOperator(sampleEntrustContext.getLoginRealname()); + sampleEntrustRegistration.setConfigReportTemplateId(configReportTemplate.getId()); + sampleEntrustRegistration.setConfigReportTemplateKey(configReportTemplate.getKey()); + + //sampleEntrustRegistration.setCreateOperator(sampleEntrustContext.getLoginRealname()); List sampleAssayResultList = new ArrayList<>(); - - + List sampleEntrustDetailList = sampleEntrustContext.getSampleEntrustDetailList(); for (BusinessSampleEntrustDetailDO businessSampleEntrustDetail : sampleEntrustDetailList) { businessSampleEntrustDetail.setBusinessSampleEntrustRegistrationId(sampleEntrustRegistration.getId()); diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/entrust/SampleEntrustGenSampleDataCmp.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/entrust/SampleEntrustGenSampleDataCmp.java index aa8cdd1..ea99520 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/entrust/SampleEntrustGenSampleDataCmp.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/entrust/SampleEntrustGenSampleDataCmp.java @@ -1,5 +1,7 @@ package com.zt.plat.module.qms.business.bus.liteflow.sample.entrust; +import static org.hamcrest.CoreMatchers.nullValue; + import java.time.LocalDateTime; import java.util.ArrayList; import java.util.Comparator; @@ -12,6 +14,7 @@ import com.yomahub.liteflow.annotation.LiteflowComponent; import com.yomahub.liteflow.core.NodeComponent; import cn.hutool.core.collection.CollUtil; +import com.zt.plat.framework.common.exception.ServiceException; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayParameterDataDO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayProjectDataDO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayTaskDataDO; @@ -21,6 +24,7 @@ import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSampleEntrustD import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSampleEntrustProjectDO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSampleEntrustRegistrationDO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSubParentSampleDO; +import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSubSampleAnalysisGroupDO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSubSampleDO; import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessAssayParameterDataMapper; import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessAssayProjectDataMapper; @@ -31,8 +35,10 @@ import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessSampleEntrustDetai import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessSampleEntrustProjectMapper; import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessSampleEntrustRegistrationMapper; import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessSubParentSampleMapper; +import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessSubSampleAnalysisGroupMapper; import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessSubSampleMapper; import com.zt.plat.module.qms.business.bus.liteflow.slot.SampleEntrustContext; +import com.zt.plat.module.qms.business.config.dal.dataobject.BaseSampleDO; import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigAssayMethodDO; import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigAssayMethodProjectDO; import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigAssayMethodProjectParameterDO; @@ -42,6 +48,7 @@ import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigSubSampleDO; import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigSubSampleMethodDO; import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigSubSampleParentDO; import com.zt.plat.module.qms.business.config.dal.dataobject.MaterialAssayStandardMethodDO; +import com.zt.plat.module.qms.business.config.dal.mapper.BaseSampleMapper; import com.zt.plat.module.qms.business.config.dal.mapper.ConfigAssayMethodMapper; import com.zt.plat.module.qms.business.config.dal.mapper.ConfigAssayMethodProjectMapper; import com.zt.plat.module.qms.business.config.dal.mapper.ConfigAssayMethodProjectParameterMapper; @@ -50,9 +57,12 @@ import com.zt.plat.module.qms.business.config.dal.mapper.ConfigSampleFlowMapper; import com.zt.plat.module.qms.business.config.dal.mapper.ConfigSubSampleMapper; import com.zt.plat.module.qms.business.config.dal.mapper.ConfigSubSampleMethodMapper; import com.zt.plat.module.qms.business.config.dal.mapper.ConfigSubSampleParentMapper; +import com.zt.plat.module.qms.business.dic.dal.dataobject.DictionaryProjectDO; +import com.zt.plat.module.qms.business.dic.dal.mapper.DictionaryProjectMapper; import com.zt.plat.module.qms.core.code.SequenceUtil; import com.zt.plat.module.qms.core.sampleflow.SampleFlowDefinition; import com.zt.plat.module.qms.core.sampleflow.SampleFlowNode; +import com.zt.plat.module.qms.enums.QmsCommonConstant; import jakarta.annotation.Resource; @LiteflowComponent(id = "sampleEntrustGenSampleDataCmp", name = "样品委托生成系统样品数据") @@ -61,6 +71,9 @@ public class SampleEntrustGenSampleDataCmp extends NodeComponent { @Resource private SequenceUtil sequenceUtil; + @Resource + private BaseSampleMapper baseSampleMapper; + @Resource private BusinessSampleEntrustRegistrationMapper businessSampleEntrustRegistrationMapper; @@ -91,6 +104,9 @@ public class SampleEntrustGenSampleDataCmp extends NodeComponent { @Resource private BusinessSubSampleMapper businessSubSampleMapper; + @Resource + private BusinessSubSampleAnalysisGroupMapper businessSubSampleAnalysisGroupMapper; + @Resource private ConfigAssayMethodMapper configAssayMethodMapper; @@ -111,6 +127,9 @@ public class SampleEntrustGenSampleDataCmp extends NodeComponent { @Resource private BusinessAssayParameterDataMapper businessAssayParameterDataMapper; + + @Resource + private DictionaryProjectMapper dictionaryProjectMapper; @Resource private ConfigSampleFlowMapper configSampleFlowMapper; @@ -133,6 +152,8 @@ public class SampleEntrustGenSampleDataCmp extends NodeComponent { //样品来样品位 List sampleAssayResultList = sampleEntrustContext.getSampleAssayResultList(); + //样品大类列表 + List baseSampleList = baseSampleMapper.selectList(); //主样配置 @@ -149,12 +170,20 @@ public class SampleEntrustGenSampleDataCmp extends NodeComponent { List configAssayMethodProjectList = configAssayMethodProjectMapper.selectList(); //分析方法检测项目参数配置 List configAssayMethodProjectParameterList = configAssayMethodProjectParameterMapper.selectList(); + List dictionaryProjectList = dictionaryProjectMapper.selectList(); + //样品流程配置 - List configSampleFlowList = configSampleFlowMapper.selectList(); + List configSampleFlowKeyList = new ArrayList<>(); + List configBaseSampleFlowKeyList = configBaseSampleList.stream().map(m -> m.getFlowKey()).distinct().collect(Collectors.toList()); + configSampleFlowKeyList.addAll(configBaseSampleFlowKeyList); + List configSubSampleFlowKeyList = configSubSampleList.stream().map(m -> m.getFlowKey()).distinct().collect(Collectors.toList()); + configSampleFlowKeyList.addAll(configSubSampleFlowKeyList); + List configSampleFlowList = configSampleFlowMapper.selectLatestConfigSampleFlowListByKeys(configSampleFlowKeyList); List businessBaseSampleDOList = new ArrayList<>(); List businessSubParentSampleDOList = new ArrayList<>(); List businessSubSampleDOList = new ArrayList<>(); + List businessSubSampleAnalysisGroupDOList = new ArrayList<>(); List businessAssayTaskDataDOList = new ArrayList<>(); List businessAssayProjectDataDOList = new ArrayList<>(); List businessAssayParameterDataDOList = new ArrayList<>(); @@ -162,157 +191,215 @@ public class SampleEntrustGenSampleDataCmp extends NodeComponent { List sampleEntrustDetailListSort = sampleEntrustDetailList.stream().sorted(Comparator.comparingInt(BusinessSampleEntrustDetailDO::getSort)).collect(Collectors.toList()); BusinessBaseSampleDO businessBaseSampleDO = null; for (BusinessSampleEntrustDetailDO businessSampleEntrustDetailDO : sampleEntrustDetailListSort) {//委托样品明细 + + //样品大类 + BaseSampleDO baseSampleDO = baseSampleList.stream().filter(f -> f.getId().equals(businessSampleEntrustDetailDO.getBaseSampleId())).findFirst().orElse(null); + //获取当前样品的检测项目 List sampleEntrustProjectDOList = sampleEntrustProjectList.stream().filter(f -> businessSampleEntrustDetailDO.getId().equals(f.getBusinessSampleEntrustDetailId())).collect(Collectors.toList()); - for (BusinessSampleEntrustProjectDO businessSampleEntrustProjectDO : sampleEntrustProjectDOList) {//循环检测项目 - //获取默认的分析方法对应的检测项目 - MaterialAssayStandardMethodDO materialAssayStandardMethodDefault = sampleEntrustContext.getMaterialAssayStandardMethodDefaultByMaterialAssayStandardDetailId(businessSampleEntrustProjectDO.getMaterialAssayStandardDetailId()); -// if (materialAssayStandardMethodDefault == null) { -// throw new ServiceException(500, "未找到对应的检测项目方法"); -// } - //获取检测方法id - Long configAssayMethodId = materialAssayStandardMethodDefault.getConfigAssayMethodId(); - //通过方法id在子样分析方法配置中查找子样配置 - ConfigSubSampleMethodDO configSubSampleMethod = configSubSampleMethodList.stream().filter(f -> configAssayMethodId.equals(f.getConfigAssayMethodId())).findFirst().orElse(null); - //获取到子样配置id - Long configSubSampleId = configSubSampleMethod.getConfigSubSampleId(); - //获取到子样配置 - ConfigSubSampleDO configSubSample = configSubSampleList.stream().filter(f -> configSubSampleId.equals(f.getId())).findFirst().orElse(null); - Long configSubSampleParentId = configSubSample.getConfigSubSampleParentId(); - ConfigSubSampleParentDO configSubSampleParent = configSubSampleParentList.stream().filter(f -> configSubSampleParentId.equals(f.getId())).findFirst().orElse(null); - Long configBaseSampleId = configSubSampleParent.getConfigBaseSampleId(); - ConfigBaseSampleDO configBaseSample = configBaseSampleList.stream().filter(f -> configBaseSampleId.equals(f.getId())).findFirst().orElse(null); + + //当前样品检测项目字典id列表 + List dictionaryProjectIdList = sampleEntrustProjectDOList.stream().map(m -> m.getDictionaryProjectId()).collect(Collectors.toList()); + + //获取物料检测标准检测项目id列表 + List materialAssayStandardDetailIdList = sampleEntrustProjectDOList.stream().map(m -> m.getMaterialAssayStandardDetailId()).collect(Collectors.toList()); + + //当前样品检测标准方法 + List materialAssayStandardMethodList = sampleEntrustContext.getMaterialAssayStandardMethodDefaultByMaterialAssayStandardDetailIds(materialAssayStandardDetailIdList); + + //获取检测方法 + List configAssayMethodIdList = materialAssayStandardMethodList.stream().map(m -> m.getConfigAssayMethodId()).distinct().collect(Collectors.toList()); + + //查找子样配置 + List configSubSampleIdList = configSubSampleMethodList.stream().filter(f -> configAssayMethodIdList.contains(f.getConfigAssayMethodId())).map(m -> m.getConfigSubSampleId()).distinct().collect(Collectors.toList()); + + //查询当前委托样品对应的子样 + List entrustConfigSubSampleList = configSubSampleList.stream().filter(f -> configSubSampleIdList.contains(f.getId()) && f.getBaseSampleId().equals(businessSampleEntrustDetailDO.getBaseSampleId())).distinct().collect(Collectors.toList()); + if (entrustConfigSubSampleList.size() != 1) { + throw new ServiceException(500, "子样配置不正确"); + } + //获取到子样配置 + ConfigSubSampleDO configSubSample = entrustConfigSubSampleList.get(0); + Long configSubSampleParentId = configSubSample.getConfigSubSampleParentId(); + //获取到分样配置 + ConfigSubSampleParentDO configSubSampleParent = configSubSampleParentList.stream().filter(f -> configSubSampleParentId.equals(f.getId())).findFirst().orElse(null); + Long configBaseSampleId = configSubSampleParent.getConfigBaseSampleId(); + //获取到主样配置 + ConfigBaseSampleDO configBaseSample = configBaseSampleList.stream().filter(f -> configBaseSampleId.equals(f.getId())).findFirst().orElse(null); + + //主样流程 + ConfigSampleFlowDO configSampleFlowBase = configSampleFlowList.stream().filter(f -> f.getKey().equals(configBaseSample.getFlowKey())).findFirst().orElse(null); + //样品流程定义 + SampleFlowDefinition sampleFlowDefinitionBase = JSON.parseObject(configSampleFlowBase.getContent(), SampleFlowDefinition.class); + List flowNodeBaseList = sampleFlowDefinitionBase.getFlowNodeList().stream().sorted(Comparator.comparing(SampleFlowNode::getSort)).collect(Collectors.toList()); + SampleFlowNode sampleFlowNodeBase = flowNodeBaseList.get(0); + + //=======================主样========================== + businessBaseSampleDO = new BusinessBaseSampleDO(); + businessBaseSampleDO.setId(IdWorker.getId()); + //设置配置id + businessBaseSampleDO.setConfigBaseSampleId(configBaseSampleId); + //样品名称为委托登记来的样品名称 + businessBaseSampleDO.setSampleName(businessSampleEntrustDetailDO.getSampleName()); + //样品大类名称 + businessBaseSampleDO.setBaseSampleName(baseSampleDO.getName()); + //样品类型字典与委托一致 + businessBaseSampleDO.setDictionaryBusinessId(businessSampleEntrustDetailDO.getSampleTypeDictionaryBusinessId()); + //生成样品编号 + String sampleCode = sequenceUtil.genCode(configBaseSample.getCodeRule()); + businessBaseSampleDO.setSampleCode(sampleCode); + //样品生成时间为当前时间 + businessBaseSampleDO.setSampleTime(currentDateTime); + //样品状态正常 + businessBaseSampleDO.setSampleStatus(QmsCommonConstant.NORMAL); + //主样流程配置id + businessBaseSampleDO.setConfigSampleFlowId(configSampleFlowBase.getId()); + //主样当前流程节点key + businessBaseSampleDO.setSampleFlowNodeKey(sampleFlowNodeBase.getNodeKey()); + //主样当前流程节点时间 + businessBaseSampleDO.setSampleFlowNodeTime(currentDateTime); + //操作人 + businessBaseSampleDO.setOperator(loginRealname); + + //添加到列表 + businessBaseSampleDOList.add(businessBaseSampleDO); + + //=====================委托明细====================== + //设置主样id + businessSampleEntrustDetailDO.setBusinessBaseSampleId(businessBaseSampleDO.getId()); + //设置主样编号 + businessSampleEntrustDetailDO.setSampleCode(businessBaseSampleDO.getSampleCode()); + //=======================分样========================= + BusinessSubParentSampleDO businessSubParentSampleDO = new BusinessSubParentSampleDO(); + businessSubParentSampleDO.setId(IdWorker.getId()); + businessSubParentSampleDO.setDictionaryBusinessId(configSubSampleParent.getDictionaryBusinessId()); + businessSubParentSampleDO.setBusinessBaseSampleId(businessBaseSampleDO.getId()); + businessSubParentSampleDO.setConfigSubSampleParentId(configSubSampleParentId); + businessSubParentSampleDO.setSampleName(businessBaseSampleDO.getSampleName()); + businessSubParentSampleDO.setSampleCode(businessBaseSampleDO.getSampleCode()); + businessSubParentSampleDO.setSubSampleCode(businessBaseSampleDO.getSampleCode()); + businessSubParentSampleDO.setSampleStatus(QmsCommonConstant.NORMAL); + businessSubParentSampleDOList.add(businessSubParentSampleDO); + + //=======================子样======================= + ConfigSampleFlowDO configSampleFlowSub = configSampleFlowList.stream().filter(f -> f.getKey().equals(configSubSample.getFlowKey())).findFirst().orElse(null); + //样品流程定义 + SampleFlowDefinition sampleFlowDefinitionSub = JSON.parseObject(configSampleFlowSub.getContent(), SampleFlowDefinition.class); + List flowNodeSubList = sampleFlowDefinitionSub.getFlowNodeList().stream().sorted(Comparator.comparing(SampleFlowNode::getSort)).collect(Collectors.toList()); + SampleFlowNode sampleFlowNodeSub = flowNodeSubList.get(0); + + BusinessSubSampleDO businessSubSampleDO = new BusinessSubSampleDO(); + businessSubSampleDO.setId(IdWorker.getId()); + businessSubSampleDO.setBusinessBaseSampleId(businessBaseSampleDO.getId()); + businessSubSampleDO.setBusinessSubParentSampleId(businessSubParentSampleDO.getId()); + businessSubSampleDO.setConfigSubSampleId(configSubSample.getId()); + businessSubSampleDO.setDictionaryBusinessId(configSubSample.getDictionaryBusinessId()); + businessSubSampleDO.setSampleName(businessBaseSampleDO.getSampleName()); + businessSubSampleDO.setSampleCode(businessBaseSampleDO.getSampleCode()); + businessSubSampleDO.setSampleAssayCode(businessBaseSampleDO.getSampleCode()); + businessSubSampleDO.setSampleReturnCode(businessBaseSampleDO.getSampleCode()); + businessSubSampleDO.setIsWeighing(businessSampleEntrustDetailDO.getIsWeighing()); + businessSubSampleDO.setSampleStatus(QmsCommonConstant.NORMAL); + businessSubSampleDO.setConfigSampleFlowId(configSampleFlowSub.getId()); + businessSubSampleDO.setSampleFlowNodeKey(sampleFlowNodeSub.getNodeKey()); + businessSubSampleDO.setSampleFlowNodeTime(currentDateTime); + businessSubSampleDO.setNextSampleFlowNode(sampleFlowNodeSub.getNextFlowNodeName()); + + businessSubSampleDOList.add(businessSubSampleDO); + + //子样对应的分析班组 + BusinessSubSampleAnalysisGroupDO businessSubSampleAnalysisGroupDO = null; + + //根据检测方法循环 + BusinessAssayTaskDataDO businessAssayTaskDataDO = null; + for (Long configAssayMethodId : configAssayMethodIdList) { + ConfigAssayMethodDO configAssayMethodDO = configAssayMethodList.stream().filter(f -> f.getId().equals(configAssayMethodId)).findFirst().orElse(null); + + businessSubSampleAnalysisGroupDO = businessSubSampleAnalysisGroupDOList.stream().filter(f -> f.getAssayDepartmentId().equals(configAssayMethodDO.getAssayDepartmentId())).findFirst().orElse(null); + if (businessSubSampleAnalysisGroupDO == null) { + businessSubSampleAnalysisGroupDO = new BusinessSubSampleAnalysisGroupDO(); + businessSubSampleAnalysisGroupDO.setId(IdWorker.getId()); + businessSubSampleAnalysisGroupDO.setBusinessBaseSampleId(businessSubSampleDO.getBusinessBaseSampleId()); + businessSubSampleAnalysisGroupDO.setBusinessSubParentSampleId(businessSubSampleDO.getBusinessSubParentSampleId()); + businessSubSampleAnalysisGroupDO.setBusinessSubSampleId(businessSubSampleDO.getId()); + businessSubSampleAnalysisGroupDO.setAssayDepartmentId(configAssayMethodDO.getAssayDepartmentId()); + businessSubSampleAnalysisGroupDO.setAssayDepartmentName(configAssayMethodDO.getAssayDepartmentName()); + businessSubSampleAnalysisGroupDO.setSampleStatus("待收样"); + + businessSubSampleAnalysisGroupDOList.add(businessSubSampleAnalysisGroupDO); + } + //子样检测任务 - BusinessAssayTaskDataDO businessAssayTaskDataDO = null; + businessAssayTaskDataDO = new BusinessAssayTaskDataDO(); + businessAssayTaskDataDO.setId(IdWorker.getId()); + businessAssayTaskDataDO.setBusinessBaseSampleId(businessSubSampleDO.getBusinessBaseSampleId()); + businessAssayTaskDataDO.setBusinessSubParentSampleId(businessSubSampleDO.getBusinessSubParentSampleId()); + businessAssayTaskDataDO.setBusinessSubSampleId(businessSubSampleDO.getId()); + businessAssayTaskDataDO.setConfigAssayMethodId(configAssayMethodId); + businessAssayTaskDataDO.setAssayType("单杯"); + businessAssayTaskDataDO.setTaskType("常规"); + businessAssayTaskDataDO.setConfigSampleFlowId(configSampleFlowSub.getId()); + businessAssayTaskDataDO.setSampleFlowNodeKey(sampleFlowNodeSub.getNodeKey()); + businessAssayTaskDataDO.setSampleFlowNodeTime(currentDateTime); + businessAssayTaskDataDO.setAssayDepartmentId(configAssayMethodDO.getAssayDepartmentId()); + businessAssayTaskDataDO.setAssayDepartmentName(configAssayMethodDO.getAssayDepartmentName()); - if (businessSampleEntrustDetailDO.getBusinessBaseSampleId() == null) { + + List configAssayMethodProjectDOList = configAssayMethodProjectList.stream().filter(f -> f.getConfigAssayMethodId().equals(configAssayMethodId)).collect(Collectors.toList()); + + StringBuilder assayProjectBuilder = new StringBuilder(); + + for (ConfigAssayMethodProjectDO configAssayMethodProjectDO : configAssayMethodProjectDOList) { - //主样流程 - ConfigSampleFlowDO configSampleFlowBase = configSampleFlowList.stream().filter(f -> f.getKey().equals(configBaseSample.getFlowKey())).findFirst().orElse(null); - //样品流程定义 - SampleFlowDefinition sampleFlowDefinitionBase = JSON.parseObject(configSampleFlowBase.getContent(), SampleFlowDefinition.class); - List flowNodeBaseList = sampleFlowDefinitionBase.getFlowNodeList().stream().sorted(Comparator.comparing(SampleFlowNode::getSort)).collect(Collectors.toList()); - SampleFlowNode sampleFlowNodeBase = flowNodeBaseList.get(0); + //如果当前分析方法的项目不在当前检测项目中,则跳出循环继续 + if (!dictionaryProjectIdList.contains(configAssayMethodProjectDO.getDictionaryProjectId())) { + continue; + } - //主样 - businessBaseSampleDO = new BusinessBaseSampleDO(); - businessBaseSampleDO.setId(IdWorker.getId()); - //设置配置id - businessBaseSampleDO.setConfigBaseSampleId(configBaseSampleId); - //样品名称为委托登记来的样品名称 - businessBaseSampleDO.setSampleName(businessSampleEntrustDetailDO.getSampleName()); - //样品类型字典与委托一致 - businessBaseSampleDO.setDictionaryBusinessId(businessSampleEntrustDetailDO.getDictionaryBusinessId()); - //生成样品编号 - String sampleCode = sequenceUtil.genCode(configBaseSample.getCodeRule()); - businessBaseSampleDO.setSampleCode(sampleCode); - //样品生成时间为当前时间 - businessBaseSampleDO.setSampleTime(currentDateTime); - //样品状态正常 - businessBaseSampleDO.setSampleStatus("normal"); + DictionaryProjectDO dictionaryProject = dictionaryProjectList.stream().filter(f -> f.getId().equals(configAssayMethodProjectDO.getDictionaryProjectId())).findFirst().orElse(null); + assayProjectBuilder.append(dictionaryProject.getShowName()).append(","); - businessBaseSampleDO.setSampleFlowKey(sampleFlowNodeBase.getNodeKey()); - businessBaseSampleDO.setSampleFlowTime(currentDateTime); + //检测项目 + BusinessAssayProjectDataDO businessAssayProjectDataDO = new BusinessAssayProjectDataDO(); + businessAssayProjectDataDO.setId(IdWorker.getId()); + businessAssayProjectDataDO.setBusinessAssayTaskDataId(businessAssayTaskDataDO.getId()); + businessAssayProjectDataDO.setConfigAssayMethodProjectId(configAssayMethodProjectDO.getId()); + businessAssayProjectDataDO.setDictionaryProjectId(configAssayMethodProjectDO.getDictionaryProjectId()); + businessAssayProjectDataDO.setDataType(configAssayMethodProjectDO.getDataType()); + businessAssayProjectDataDO.setDecimalPosition(configAssayMethodProjectDO.getDecimalPosition()); + businessAssayProjectDataDO.setIsEnabled(1); + businessAssayProjectDataDO.setIsNotAssessment(0); - businessBaseSampleDO.setOperator(loginRealname); + businessAssayProjectDataDOList.add(businessAssayProjectDataDO); - //添加到列表 - businessBaseSampleDOList.add(businessBaseSampleDO); + List configAssayMethodProjectParameterDOList = configAssayMethodProjectParameterList.stream().filter(f -> f.getConfigAssayMethodProjectId().equals(configAssayMethodProjectDO.getId())).collect(Collectors.toList()); + for (ConfigAssayMethodProjectParameterDO configAssayMethodProjectParameterDO : configAssayMethodProjectParameterDOList) { + BusinessAssayParameterDataDO businessAssayParameterDataDO = new BusinessAssayParameterDataDO(); + businessAssayParameterDataDO.setId(IdWorker.getId()); + businessAssayParameterDataDO.setConfigAssayMethodProjectParameterId(configAssayMethodProjectParameterDO.getId()); + businessAssayParameterDataDO.setBusinessAssayProjectDataId(businessAssayProjectDataDO.getId()); + businessAssayParameterDataDO.setDictionaryParameterId(configAssayMethodProjectParameterDO.getDictionaryParameterId()); + businessAssayParameterDataDO.setDataType(configAssayMethodProjectParameterDO.getDataType()); + businessAssayParameterDataDO.setDecimalPosition(configAssayMethodProjectParameterDO.getDecimalPosition()); + + + businessAssayParameterDataDOList.add(businessAssayParameterDataDO); + } - //分样 - BusinessSubParentSampleDO businessSubParentSampleDO = new BusinessSubParentSampleDO(); - businessSubParentSampleDO.setId(IdWorker.getId()); - businessSubParentSampleDO.setDictionaryBusinessId(configSubSampleParent.getDictionaryBusinessId()); - businessSubParentSampleDO.setBusinessBaseSampleId(businessBaseSampleDO.getId()); - businessSubParentSampleDO.setConfigSubSampleParentId(configSubSampleParentId); - businessSubParentSampleDO.setSampleName(businessBaseSampleDO.getSampleName()); - businessSubParentSampleDO.setSampleCode(businessBaseSampleDO.getSampleCode()); - businessSubParentSampleDO.setSubSampleCode(businessBaseSampleDO.getSampleCode()); - businessSubParentSampleDO.setSampleStatus("normal"); - businessSubParentSampleDOList.add(businessSubParentSampleDO); - //子样 - ConfigSampleFlowDO configSampleFlowSub = configSampleFlowList.stream().filter(f -> f.getKey().equals(configSubSample.getFlowKey())).findFirst().orElse(null); - //样品流程定义 - SampleFlowDefinition sampleFlowDefinitionSub = JSON.parseObject(configSampleFlowSub.getContent(), SampleFlowDefinition.class); - List flowNodeSubList = sampleFlowDefinitionSub.getFlowNodeList().stream().sorted(Comparator.comparing(SampleFlowNode::getSort)).collect(Collectors.toList()); - SampleFlowNode sampleFlowNodeSub = flowNodeSubList.get(0); - BusinessSubSampleDO businessSubSampleDO = new BusinessSubSampleDO(); - businessSubSampleDO.setId(IdWorker.getId()); - businessSubSampleDO.setBusinessBaseSampleId(businessBaseSampleDO.getId()); - businessSubSampleDO.setBusinessSubParentSampleId(businessSubParentSampleDO.getId()); - businessSubSampleDO.setConfigSubSampleId(configSubSampleId); - businessSubSampleDO.setDictionaryBusinessId(configSubSample.getDictionaryBusinessId()); - businessSubSampleDO.setSampleName(businessBaseSampleDO.getSampleName()); - businessSubSampleDO.setSampleCode(businessBaseSampleDO.getSampleCode()); - businessSubSampleDO.setIsWeighing(businessSampleEntrustDetailDO.getIsWeighing()); - businessSubSampleDO.setSampleStatus("normal"); - businessSubSampleDO.setSampleFlowKey(sampleFlowNodeSub.getNodeKey()); - businessSubSampleDO.setSampleFlowTime(currentDateTime); - - businessSubSampleDOList.add(businessSubSampleDO); - - //子样检测任务 - businessAssayTaskDataDO = new BusinessAssayTaskDataDO(); - businessAssayTaskDataDO.setId(IdWorker.getId()); - businessAssayTaskDataDO.setBusinessBaseSampleId(businessSubSampleDO.getBusinessBaseSampleId()); - businessAssayTaskDataDO.setBusinessSubParentSampleId(businessSubSampleDO.getBusinessSubParentSampleId()); - businessAssayTaskDataDO.setBusinessSubSampleId(businessSubSampleDO.getId()); - businessAssayTaskDataDO.setConfigAssayMethodId(configAssayMethodId); - businessAssayTaskDataDO.setAssayType("单杯"); - businessAssayTaskDataDO.setTaskType("常规"); - - businessAssayTaskDataDOList.add(businessAssayTaskDataDO); - - //设置主样id - businessSampleEntrustDetailDO.setBusinessBaseSampleId(businessBaseSampleDO.getId()); - //设置主样编号 - businessSampleEntrustDetailDO.setSampleCode(businessBaseSampleDO.getSampleCode()); - } - - if (businessAssayTaskDataDO == null) { - businessAssayTaskDataDO = businessAssayTaskDataDOList.stream().filter(f -> f.getBusinessBaseSampleId().equals(businessSampleEntrustDetailDO.getBusinessBaseSampleId()) && f.getConfigAssayMethodId().equals(configAssayMethodId) ).findFirst().orElse(null); - } - - ConfigAssayMethodProjectDO configAssayMethodProjectDO = configAssayMethodProjectList.stream().filter(f -> f.getConfigAssayMethodId().equals(configAssayMethodId) && f.getDictionaryProjectId().equals(businessSampleEntrustProjectDO.getDictionaryProjectId())).findFirst().orElse(null); - - //检测项目 - BusinessAssayProjectDataDO businessAssayProjectDataDO = new BusinessAssayProjectDataDO(); - businessAssayProjectDataDO.setId(IdWorker.getId()); - businessAssayProjectDataDO.setBusinessAssayTaskDataId(businessAssayTaskDataDO.getId()); - businessAssayProjectDataDO.setConfigAssayMethodProjectId(configAssayMethodProjectDO.getId()); - businessAssayProjectDataDO.setDictionaryProjectId(configAssayMethodProjectDO.getDictionaryProjectId()); - businessAssayProjectDataDO.setDataType(configAssayMethodProjectDO.getDataType()); - businessAssayProjectDataDO.setDecimalPosition(configAssayMethodProjectDO.getDecimalPosition()); - businessAssayProjectDataDO.setIsEnabled(1); - businessAssayProjectDataDO.setIsNotAssessment(0); - - businessAssayProjectDataDOList.add(businessAssayProjectDataDO); - - List configAssayMethodProjectParameterDOList = configAssayMethodProjectParameterList.stream().filter(f -> f.getConfigAssayMethodProjectId().equals(configAssayMethodProjectDO.getId())).collect(Collectors.toList()); - for (ConfigAssayMethodProjectParameterDO configAssayMethodProjectParameterDO : configAssayMethodProjectParameterDOList) { - BusinessAssayParameterDataDO businessAssayParameterDataDO = new BusinessAssayParameterDataDO(); - businessAssayParameterDataDO.setId(IdWorker.getId()); - businessAssayParameterDataDO.setConfigAssayMethodProjectParameterId(configAssayMethodProjectParameterDO.getId()); - businessAssayParameterDataDO.setBusinessAssayProjectDataId(businessAssayProjectDataDO.getId()); - businessAssayParameterDataDO.setDictionaryParameterId(configAssayMethodProjectParameterDO.getDictionaryParameterId()); - businessAssayParameterDataDO.setDataType(configAssayMethodProjectParameterDO.getDataType()); - businessAssayParameterDataDO.setDecimalPosition(configAssayMethodProjectParameterDO.getDecimalPosition()); - - - businessAssayParameterDataDOList.add(businessAssayParameterDataDO); } + assayProjectBuilder.delete(assayProjectBuilder.length() - 1 , assayProjectBuilder.length()); + businessAssayTaskDataDO.setAssayProject(assayProjectBuilder.toString()); + businessAssayTaskDataDOList.add(businessAssayTaskDataDO); + } - - } + } - - - sampleEntrustRegistration.setRegistrationStatus("submit"); + sampleEntrustRegistration.setRegistrationStatus(QmsCommonConstant.SUBMIT); businessSampleEntrustRegistrationMapper.updateById(sampleEntrustRegistration); if (CollUtil.isNotEmpty(sampleEntrustDetailList)) { @@ -333,6 +420,9 @@ public class SampleEntrustGenSampleDataCmp extends NodeComponent { if (CollUtil.isNotEmpty(businessSubSampleDOList)) { businessSubSampleMapper.insertBatch(businessSubSampleDOList); } + if (CollUtil.isNotEmpty(businessSubSampleAnalysisGroupDOList)) { + businessSubSampleAnalysisGroupMapper.insertBatch(businessSubSampleAnalysisGroupDOList); + } if (CollUtil.isNotEmpty(businessAssayTaskDataDOList)) { businessAssayTaskDataMapper.insertBatch(businessAssayTaskDataDOList); } diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/flow/SampleDataSaveOrUpdateCmp.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/flow/SampleDataSaveOrUpdateCmp.java index f078c00..5617663 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/flow/SampleDataSaveOrUpdateCmp.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/flow/SampleDataSaveOrUpdateCmp.java @@ -6,12 +6,14 @@ import com.yomahub.liteflow.annotation.LiteflowComponent; import com.yomahub.liteflow.core.NodeComponent; import cn.hutool.core.collection.CollUtil; +import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayTaskDataDO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessBaseSampleDO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessHandoverRecordSubDO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSampleHandoverDO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSampleHandoverDetailDO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSubParentSampleDO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSubSampleDO; +import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessAssayTaskDataMapper; import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessBaseSampleMapper; import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessHandoverRecordSubMapper; import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessSampleHandoverDetailMapper; @@ -33,6 +35,9 @@ public class SampleDataSaveOrUpdateCmp extends NodeComponent { @Resource private BusinessSubSampleMapper businessSubSampleMapper; + @Resource + private BusinessAssayTaskDataMapper businessAssayTaskDataMapper; + @Resource private BusinessHandoverRecordSubMapper businessHandoverRecordSubMapper; @@ -60,11 +65,20 @@ public class SampleDataSaveOrUpdateCmp extends NodeComponent { if (CollUtil.isNotEmpty(busSubCsampleList)) { businessSubSampleMapper.updateBatch(busSubCsampleList); } + //子样任务 + List businessAssayTaskDataList = sampleFlowContext.getBusinessAssayTaskDataList(); + if (CollUtil.isNotEmpty(businessAssayTaskDataList)) { + businessAssayTaskDataMapper.updateBatch(businessAssayTaskDataList); + } //交接记录 List busHandoverRecordSubList = sampleFlowContext.getBusinessHandoverRecordSubList(); if (CollUtil.isNotEmpty(busHandoverRecordSubList)) { businessHandoverRecordSubMapper.insertBatch(busHandoverRecordSubList); } + List updateBusinessHandoverRecordSubList = sampleFlowContext.getUpdateBusinessHandoverRecordSubList(); + if (CollUtil.isNotEmpty(updateBusinessHandoverRecordSubList)) { + businessHandoverRecordSubMapper.updateBatch(updateBusinessHandoverRecordSubList); + } //交接记录单 BusinessSampleHandoverDO businessSampleHandover = sampleFlowContext.getBusinessSampleHandover(); if (businessSampleHandover != null) { diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/flow/SampleHandoverRecordSubCmp.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/flow/SampleHandoverRecordSubCmp.java index 082193f..a0c8039 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/flow/SampleHandoverRecordSubCmp.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/flow/SampleHandoverRecordSubCmp.java @@ -6,6 +6,7 @@ import java.util.List; import org.apache.commons.lang3.StringUtils; +import com.baomidou.mybatisplus.core.toolkit.IdWorker; import com.yomahub.liteflow.annotation.LiteflowComponent; import com.yomahub.liteflow.core.NodeComponent; @@ -32,12 +33,21 @@ public class SampleHandoverRecordSubCmp extends NodeComponent { BusinessHandoverRecordSubDO busHandoverRecordSub = null; for (BusinessSubSampleDO businessSubSample : busSubCsampleList) { busHandoverRecordSub = new BusinessHandoverRecordSubDO(); + busHandoverRecordSub.setId(IdWorker.getId()); busHandoverRecordSub.setBusinessSubSampleId(businessSubSample.getId()); - busHandoverRecordSub.setSampleCode(businessSubSample.getSampleCode()); - if (businessSubSample.getIsGenerateReturnCode().intValue() == 1) { - busHandoverRecordSub.setSampleCode(businessSubSample.getSampleReturnCode()); + busHandoverRecordSub.setSampleCode(businessSubSample.getSampleReturnCode());//由于样品编号、分析编号、归库编号、都是由前往后一致,所以这里取归库编号 + busHandoverRecordSub.setBalanceCode(businessSubSample.getLastBalanceCode()); + busHandoverRecordSub.setSampleWeight(businessSubSample.getLastSampleWeight()); + busHandoverRecordSub.setConfigSampleFlowId(businessSubSample.getConfigSampleFlowId()); + busHandoverRecordSub.setSampleFlowNodeKey(businessSubSample.getSampleFlowNodeKey()); + //上一个交接记录id + busHandoverRecordSub.setUpSampleRecordId(businessSubSample.getUpSampleRecordId()); + if (businessSubSample.getUpSampleRecordId() != null) { + BusinessHandoverRecordSubDO upHandoverRecordSub = sampleFlowContext.getBusinessHandoverRecordSubById(businessSubSample.getUpSampleRecordId()); + if (upHandoverRecordSub != null) { + upHandoverRecordSub.setNextSampleRecordId(busHandoverRecordSub.getId()); + } } - busHandoverRecordSub.setSampleFlowKey(businessSubSample.getSampleFlowKey()); if (StringUtils.isNotBlank(sendSampleOper)) { busHandoverRecordSub.setSendSampleOperator(sendSampleOper); @@ -53,6 +63,8 @@ public class SampleHandoverRecordSubCmp extends NodeComponent { busHandoverRecordSub.setOperationTime(currentDateTime); busHandoverRecordSubList.add(busHandoverRecordSub); + + businessSubSample.setUpSampleRecordId(busHandoverRecordSub.getId()); } sampleFlowContext.setBusinessHandoverRecordSubList(busHandoverRecordSubList); diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/flow/SampleSubCheckCmp.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/flow/SampleSubCheckCmp.java index 7adbbad..bb7f82a 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/flow/SampleSubCheckCmp.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/flow/SampleSubCheckCmp.java @@ -8,7 +8,12 @@ import com.yomahub.liteflow.core.NodeComponent; import cn.hutool.core.collection.CollUtil; import com.zt.plat.framework.common.exception.ServiceException; +import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX; +import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayTaskDataDO; +import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessHandoverRecordSubDO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSubSampleDO; +import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessAssayTaskDataMapper; +import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessHandoverRecordSubMapper; import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessSubSampleMapper; import com.zt.plat.module.qms.business.bus.liteflow.param.SampleFlowInfo; import com.zt.plat.module.qms.business.bus.liteflow.slot.SampleFlowContext; @@ -22,6 +27,12 @@ public class SampleSubCheckCmp extends NodeComponent { @Resource private BusinessSubSampleMapper businessSubSampleMapper; + @Resource + private BusinessAssayTaskDataMapper businessAssayTaskDataMapper; + + @Resource + private BusinessHandoverRecordSubMapper businessHandoverRecordSubMapper; + @Resource private ConfigSubSampleMapper configSubSampleMapper; @@ -43,7 +54,7 @@ public class SampleSubCheckCmp extends NodeComponent { } } - boolean isSampleFlowKeyFail = businessSubSampleDOList.stream().anyMatch(p -> !p.getSampleFlowKey().equals(currentSampleFlowKey)); + boolean isSampleFlowKeyFail = businessSubSampleDOList.stream().anyMatch(p -> !p.getSampleFlowNodeKey().equals(currentSampleFlowKey)); if (isSampleFlowKeyFail) { throw new ServiceException(500, "样品列表与当前流程不符"); } @@ -51,7 +62,18 @@ public class SampleSubCheckCmp extends NodeComponent { List configSubSampleIdList = businessSubSampleDOList.stream().map(m -> m.getConfigSubSampleId()).distinct().collect(Collectors.toList()); List configSubSampleList = configSubSampleMapper.selectByIds(configSubSampleIdList); + List businessAssayTaskDataList = businessAssayTaskDataMapper.selectList(new LambdaQueryWrapperX().in(BusinessAssayTaskDataDO::getBusinessSubSampleId, sampleIdList)); + + //上一次交接记录 + List upSampleRecordIdList = businessSubSampleDOList.stream().filter(f -> f.getUpSampleRecordId() != null).map(m -> m.getUpSampleRecordId()).collect(Collectors.toList()); + if (CollUtil.isNotEmpty(upSampleRecordIdList)) { + List businessHandoverRecordSubList = businessHandoverRecordSubMapper.selectByIds(upSampleRecordIdList); + sampleFlowContext.setUpdateBusinessHandoverRecordSubList(businessHandoverRecordSubList); + } + + sampleFlowContext.setBusinessSubSampleList(businessSubSampleDOList); + sampleFlowContext.setBusinessAssayTaskDataList(businessAssayTaskDataList); sampleFlowContext.setConfigSubSampleList(configSubSampleList); } diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/flow/SampleSubHandoverCmp.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/flow/SampleSubHandoverCmp.java index 61f87e2..a9d0128 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/flow/SampleSubHandoverCmp.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/flow/SampleSubHandoverCmp.java @@ -1,22 +1,24 @@ package com.zt.plat.module.qms.business.bus.liteflow.sample.flow; -import java.math.BigDecimal; import java.time.LocalDateTime; import java.util.ArrayList; import java.util.List; +import java.util.stream.Collectors; import com.baomidou.mybatisplus.core.toolkit.IdWorker; import com.yomahub.liteflow.annotation.LiteflowComponent; import com.yomahub.liteflow.core.NodeComponent; -import cn.hutool.core.collection.CollUtil; import com.zt.plat.framework.security.core.LoginUser; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSampleHandoverDO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSampleHandoverDetailDO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSubSampleDO; import com.zt.plat.module.qms.business.bus.liteflow.slot.SampleFlowContext; +import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigReportTemplateDO; import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigSampleHandoverDO; -import com.zt.plat.module.qms.business.config.dal.mapper.ConfigSampleHandoverMapper; +import com.zt.plat.module.qms.business.config.dal.mapper.ConfigReportTemplateMapper; +import com.zt.plat.module.qms.common.dic.dal.dataobject.DictionaryBusinessDO; +import com.zt.plat.module.qms.common.dic.dal.mapper.DictionaryBusinessMapper; import com.zt.plat.module.qms.core.code.SequenceUtil; import jakarta.annotation.Resource; @@ -26,6 +28,12 @@ public class SampleSubHandoverCmp extends NodeComponent { @Resource private SequenceUtil sequenceUtil; + @Resource + private ConfigReportTemplateMapper configReportTemplateMapper; + + @Resource + private DictionaryBusinessMapper dictionaryBusinessMapper; + @Override public void process() throws Exception { @@ -37,31 +45,41 @@ public class SampleSubHandoverCmp extends NodeComponent { List busSubCsampleList = sampleFlowContext.getBusinessSubSampleList(); ConfigSampleHandoverDO configSampleHandover = sampleFlowContext.getConfigSampleHandoverByFlowNodeKey(currentSampleFlowKey); + List dictionaryBusinessIdList = busSubCsampleList.stream().map(m -> m.getDictionaryBusinessId()).distinct().collect(Collectors.toList()); + List dictionaryBusinessList = dictionaryBusinessMapper.selectByIds(dictionaryBusinessIdList); + + BusinessSubSampleDO businessSubSampleDOFirst = busSubCsampleList.get(0); + BusinessSampleHandoverDO businessSampleHandoverDO = new BusinessSampleHandoverDO(); businessSampleHandoverDO.setId(IdWorker.getId()); String handoverCode = sequenceUtil.genCode(configSampleHandover.getCodeRule()); businessSampleHandoverDO.setCode(handoverCode); businessSampleHandoverDO.setName(configSampleHandover.getName()); - businessSampleHandoverDO.setTemplateKey(configSampleHandover.getTemplateKey()); + businessSampleHandoverDO.setConfigReportTemplateKey(configSampleHandover.getConfigReportTemplateKey()); + ConfigReportTemplateDO latestConfigSampleReportTemplate = configReportTemplateMapper.selectLatestConfigReportTemplateByKey(configSampleHandover.getConfigReportTemplateKey()); + businessSampleHandoverDO.setConfigReportTemplateId(latestConfigSampleReportTemplate.getId()); businessSampleHandoverDO.setOperatorId(loginUser.getId()); businessSampleHandoverDO.setOperator(loginRealname); businessSampleHandoverDO.setOperationTime(currentDateTime); - businessSampleHandoverDO.setSampleFlowCode(currentSampleFlowKey); + businessSampleHandoverDO.setConfigSampleFlowId(businessSubSampleDOFirst.getConfigSampleFlowId()); + businessSampleHandoverDO.setSampleFlowNodeKey(currentSampleFlowKey); sampleFlowContext.setBusinessSampleHandover(businessSampleHandoverDO); List businessSampleHandoverDetailList = new ArrayList<>(); BusinessSampleHandoverDetailDO businessSampleHandoverDetailDO = null; for (BusinessSubSampleDO businessSubSample : busSubCsampleList) { + DictionaryBusinessDO dictionaryBusiness = dictionaryBusinessList.stream().filter(f -> f.getId().equals(businessSubSample.getDictionaryBusinessId())).findFirst().orElse(null); + businessSampleHandoverDetailDO = new BusinessSampleHandoverDetailDO(); businessSampleHandoverDetailDO.setId(IdWorker.getId()); businessSampleHandoverDetailDO.setBusinessSampleHandoverId(businessSampleHandoverDO.getId()); businessSampleHandoverDetailDO.setBusinessSubSampleId(businessSubSample.getId()); businessSampleHandoverDetailDO.setSampleName(businessSubSample.getSampleName()); - businessSampleHandoverDetailDO.setBalanceCode(""); + businessSampleHandoverDetailDO.setBalanceCode(businessSubSample.getLastBalanceCode()); businessSampleHandoverDetailDO.setSampleWeight(businessSubSample.getLastSampleWeight()); businessSampleHandoverDetailDO.setDictionaryBusinessId(businessSubSample.getDictionaryBusinessId()); - + businessSampleHandoverDetailDO.setDictionaryBusinessName(dictionaryBusiness.getName()); businessSampleHandoverDetailList.add(businessSampleHandoverDetailDO); } diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/flow/SampleSubProcessUpdateCmp.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/flow/SampleSubProcessUpdateCmp.java index 0191d80..6990ffc 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/flow/SampleSubProcessUpdateCmp.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/flow/SampleSubProcessUpdateCmp.java @@ -2,17 +2,18 @@ package com.zt.plat.module.qms.business.bus.liteflow.sample.flow; import java.time.LocalDateTime; import java.util.List; +import java.util.stream.Collectors; import com.alibaba.fastjson2.JSON; import com.yomahub.liteflow.annotation.LiteflowComponent; import com.yomahub.liteflow.core.NodeComponent; +import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayTaskDataDO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSubSampleDO; import com.zt.plat.module.qms.business.bus.liteflow.slot.SampleFlowContext; import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigSampleFlowDO; -import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigSubSampleDO; import com.zt.plat.module.qms.business.config.service.ConfigSampleFlowService; -import com.zt.plat.module.qms.business.config.service.ConfigSubSampleService; +//import com.zt.plat.module.qms.business.config.service.ConfigSubSampleService; import com.zt.plat.module.qms.core.sampleflow.SampleFlowDefinition; import com.zt.plat.module.qms.core.sampleflow.SampleFlowNode; import jakarta.annotation.Resource; @@ -20,8 +21,8 @@ import jakarta.annotation.Resource; @LiteflowComponent(id = "sampleSubProcessUpdateCmp", name = "子样流程节点更新") public class SampleSubProcessUpdateCmp extends NodeComponent { - @Resource - private ConfigSubSampleService configSubSampleService; +// @Resource +// private ConfigSubSampleService configSubSampleService; @Resource private ConfigSampleFlowService configSampleFlowService; @@ -34,11 +35,9 @@ public class SampleSubProcessUpdateCmp extends NodeComponent { // String loginRealname = sampleFlowContext.getLoginRealname(); LocalDateTime currentDateTime = sampleFlowContext.getCurrentDateTime(); List busSubCsampleList = sampleFlowContext.getBusinessSubSampleList(); + List businessAssayTaskDataList = sampleFlowContext.getBusinessAssayTaskDataList(); for (BusinessSubSampleDO businessSubSample : busSubCsampleList) { - Long configSubSampleId = businessSubSample.getConfigSubSampleId(); - ConfigSubSampleDO configSubSample = configSubSampleService.getConfigSubSample(configSubSampleId); - String sampleFlowKey = configSubSample.getFlowKey(); - ConfigSampleFlowDO configSampleFlow = configSampleFlowService.getConfigSampleFlowByKey(sampleFlowKey); + ConfigSampleFlowDO configSampleFlow = configSampleFlowService.getConfigSampleFlow(businessSubSample.getConfigSampleFlowId()); String configSampleFlowContent = configSampleFlow.getContent(); //样品流程定义 SampleFlowDefinition sampleFlowDefinition = JSON.parseObject(configSampleFlowContent, SampleFlowDefinition.class); @@ -46,8 +45,15 @@ public class SampleSubProcessUpdateCmp extends NodeComponent { SampleFlowNode flowNode = flowNodeList.stream().filter(f -> f.getNodeKey().equals(currentSampleFlowKey)).findFirst().orElse(null); List nextFlowNodeList = flowNode.getNextFlowNodeList(); SampleFlowNode nextFlowNode = nextFlowNodeList.stream().filter(f -> f.getIsDefault()).findFirst().orElse(null); - businessSubSample.setSampleFlowKey(nextFlowNode.getNodeKey()); - businessSubSample.setSampleFlowTime(currentDateTime); + businessSubSample.setSampleFlowNodeKey(nextFlowNode.getNodeKey()); + businessSubSample.setSampleFlowNodeTime(currentDateTime); + + List subSampleAssayTaskDataList = businessAssayTaskDataList.stream().filter(f -> f.getBusinessSubSampleId().equals(businessSubSample.getId())).collect(Collectors.toList()); + for (BusinessAssayTaskDataDO businessAssayTaskDataDO : subSampleAssayTaskDataList) { + businessAssayTaskDataDO.setSampleFlowNodeKey(nextFlowNode.getNodeKey()); + businessAssayTaskDataDO.setSampleFlowNodeTime(currentDateTime); + + } } } diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/taskassign/SampleTaskAssignContextInitCmp.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/taskassign/SampleTaskAssignContextInitCmp.java new file mode 100644 index 0000000..4aed82d --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/taskassign/SampleTaskAssignContextInitCmp.java @@ -0,0 +1,49 @@ +package com.zt.plat.module.qms.business.bus.liteflow.sample.taskassign; + +import com.yomahub.liteflow.annotation.LiteflowComponent; +import com.yomahub.liteflow.core.NodeComponent; + +import com.zt.plat.framework.security.core.LoginUser; +import com.zt.plat.framework.security.core.util.SecurityFrameworkUtils; +import com.zt.plat.framework.tenant.core.context.TenantContextHolder; +import com.zt.plat.module.qms.business.bus.liteflow.param.SampleTaskAssignMethodParam; +import com.zt.plat.module.qms.business.bus.liteflow.param.SampleTaskAssignSampleParam; +import com.zt.plat.module.qms.business.bus.liteflow.slot.SampleTaskAssignContext; +import com.zt.plat.module.qms.business.bus.liteflow.slot.SampleTaskAssignTypeEnum; + +@LiteflowComponent(id = "sampleTaskAssignContextInitCmp", name = "任务分配上下文初始化") +public class SampleTaskAssignContextInitCmp extends NodeComponent { + + @Override + public void process() throws Exception { + //租户id + Long tenantId = TenantContextHolder.getRequiredTenantId(); + + //当前登录用户 + LoginUser loginUser = SecurityFrameworkUtils.getLoginUser(); + + //当前登录用户昵称 + String nickName = SecurityFrameworkUtils.getLoginUserNickname(); + + SampleTaskAssignContext sampleTaskAssignContext = this.getContextBean(SampleTaskAssignContext.class); + sampleTaskAssignContext.setTenantId(tenantId); + sampleTaskAssignContext.setLoginUser(loginUser); + sampleTaskAssignContext.setLoginRealname(nickName); + + if (this.getRequestData() instanceof SampleTaskAssignMethodParam) { + SampleTaskAssignMethodParam sampleTaskAssignMethodParam = this.getRequestData(); + sampleTaskAssignContext.setSampleTaskAssignType(SampleTaskAssignTypeEnum.ASSAY_METHOD); + sampleTaskAssignContext.setAssignConfigAssayMethodId(sampleTaskAssignMethodParam.getConfigAssayMethodId()); + sampleTaskAssignContext.setAssignAssayUserList(sampleTaskAssignMethodParam.getAssignAssayUserList()); + } + + if (this.getRequestData() instanceof SampleTaskAssignSampleParam) { + SampleTaskAssignSampleParam sampleTaskAssignSampleParam = this.getRequestData(); + sampleTaskAssignContext.setSampleTaskAssignType(SampleTaskAssignTypeEnum.SAMPLE); + sampleTaskAssignContext.setAssignAssayUser(sampleTaskAssignSampleParam.getAssignAssayUser()); + sampleTaskAssignContext.setAssignSampleIdList(sampleTaskAssignSampleParam.getAssignSampleIdList()); + } + + } + +} diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/taskassign/SampleTaskAssignDataSaveOrUpdateCmp.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/taskassign/SampleTaskAssignDataSaveOrUpdateCmp.java new file mode 100644 index 0000000..2f774fc --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/taskassign/SampleTaskAssignDataSaveOrUpdateCmp.java @@ -0,0 +1,53 @@ +package com.zt.plat.module.qms.business.bus.liteflow.sample.taskassign; + +import java.util.List; + +import com.yomahub.liteflow.annotation.LiteflowComponent; +import com.yomahub.liteflow.core.NodeComponent; + +import cn.hutool.core.collection.CollUtil; +import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayTaskDO; +import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayTaskDataDO; +import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayTaskDetailDO; +import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessAssayTaskDataMapper; +import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessAssayTaskDetailMapper; +import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessAssayTaskMapper; +import com.zt.plat.module.qms.business.bus.liteflow.slot.SampleTaskAssignContext; +import jakarta.annotation.Resource; + +@LiteflowComponent(id = "sampleTaskAssignDataSaveOrUpdateCmp", name = "样品任务分配数据保存或更新") +public class SampleTaskAssignDataSaveOrUpdateCmp extends NodeComponent { + + @Resource + private BusinessAssayTaskMapper businessAssayTaskMapper; + + @Resource + private BusinessAssayTaskDetailMapper businessAssayTaskDetailMapper; + + @Resource + private BusinessAssayTaskDataMapper businessAssayTaskDataMapper; + + @Override + public void process() throws Exception { + SampleTaskAssignContext sampleTaskAssignContext = this.getContextBean(SampleTaskAssignContext.class); + + List businessAssayTaskList = sampleTaskAssignContext.getBusinessAssayTaskList(); + + List businessAssayTaskDetailList = sampleTaskAssignContext.getBusinessAssayTaskDetailList(); + + List businessAssayTaskDataList = sampleTaskAssignContext.getBusinessAssayTaskDataList(); + + if (CollUtil.isNotEmpty(businessAssayTaskList)) { + this.businessAssayTaskMapper.insertBatch(businessAssayTaskList); + } + + if (CollUtil.isNotEmpty(businessAssayTaskDetailList)) { + this.businessAssayTaskDetailMapper.insertBatch(businessAssayTaskDetailList); + } + + if (CollUtil.isNotEmpty(businessAssayTaskDataList)) { + this.businessAssayTaskDataMapper.updateBatch(businessAssayTaskDataList); + } + } + +} diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/slot/SampleEntrustContext.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/slot/SampleEntrustContext.java index eb55f5d..0b63c42 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/slot/SampleEntrustContext.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/slot/SampleEntrustContext.java @@ -2,6 +2,7 @@ package com.zt.plat.module.qms.business.bus.liteflow.slot; import java.time.LocalDateTime; import java.util.List; +import java.util.stream.Collectors; import cn.hutool.core.collection.CollUtil; import com.zt.plat.framework.security.core.LoginUser; @@ -80,6 +81,15 @@ public class SampleEntrustContext { return materialAssayStandardMethod; } + /** 通过检测标准项目id获取默认的检测方法列表 **/ + public List getMaterialAssayStandardMethodDefaultByMaterialAssayStandardDetailIds(List materialAssayStandardDetailIdList) { + List materialAssayStandardMethodList = null; + if (CollUtil.isNotEmpty(this.materialAssayStandardMethodList)) { + materialAssayStandardMethodList = this.materialAssayStandardMethodList.stream().filter(f -> materialAssayStandardDetailIdList.contains(f.getMaterialAssayStandardDetailId()) && f.getIsDefault().equals(1)).collect(Collectors.toList()); + } + return materialAssayStandardMethodList; + } + /** 委托登记单 **/ private BusinessSampleEntrustRegistrationDO sampleEntrustRegistration; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/slot/SampleFlowContext.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/slot/SampleFlowContext.java index 76ad1ce..6ab91d4 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/slot/SampleFlowContext.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/slot/SampleFlowContext.java @@ -5,6 +5,7 @@ import java.util.List; import cn.hutool.core.collection.CollUtil; import com.zt.plat.framework.security.core.LoginUser; +import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayTaskDataDO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessBaseSampleDO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessHandoverRecordSubDO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSampleHandoverDO; @@ -86,9 +87,23 @@ public class SampleFlowContext { /** 分样子样信息 **/ private List businessSubSampleList; + /** 分样子样任务信息 **/ + private List businessAssayTaskDataList; + /** 交接记录信息 **/ private List businessHandoverRecordSubList; + /** 需要更新的交接记录 **/ + private List updateBusinessHandoverRecordSubList; + + public BusinessHandoverRecordSubDO getBusinessHandoverRecordSubById(Long id) { + BusinessHandoverRecordSubDO businessHandoverRecordSub = null; + if (CollUtil.isNotEmpty(this.updateBusinessHandoverRecordSubList)) { + businessHandoverRecordSub = this.updateBusinessHandoverRecordSubList.stream().filter(f -> f.getId().equals(id)).findFirst().orElse(null); + } + return businessHandoverRecordSub; + } + /** 交接单主表 **/ private BusinessSampleHandoverDO businessSampleHandover; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/slot/SampleTaskAssignContext.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/slot/SampleTaskAssignContext.java new file mode 100644 index 0000000..cc2051f --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/slot/SampleTaskAssignContext.java @@ -0,0 +1,79 @@ +package com.zt.plat.module.qms.business.bus.liteflow.slot; + +import java.time.LocalDateTime; +import java.util.List; + +import cn.hutool.core.collection.CollUtil; +import com.zt.plat.framework.security.core.LoginUser; +import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayTaskDO; +import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayTaskDataDO; +import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayTaskDetailDO; +import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSubSampleDO; +import com.zt.plat.module.qms.business.bus.liteflow.param.AssignAssayUser; +import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigAssayMethodDO; +import lombok.Data; +import lombok.experimental.Accessors; + +@Data +@Accessors(chain = true) +public class SampleTaskAssignContext { + + /** 租户id **/ + private Long tenantId; + + /** 当前时间 **/ + private LocalDateTime currentDateTime = LocalDateTime.now(); + + /** 当前登录用户 **/ + private LoginUser loginUser; + + /** 当前登录人 **/ + private String loginRealname; + + /** 指派类型 **/ + private SampleTaskAssignTypeEnum SampleTaskAssignType; + + /** 分析方法id **/ + private Long assignConfigAssayMethodId; + + /** 接受分配任务的人员 **/ + private List assignAssayUserList; + + /** 分析人员 **/ + private AssignAssayUser assignAssayUser; + + /** 待分析的样品id **/ + private List assignSampleIdList; + + /** 分析方法配置 **/ + private List configAssayMethodList; + + public ConfigAssayMethodDO getConfigAssayMethodById(Long id) { + ConfigAssayMethodDO configAssayMethod = null; + if (CollUtil.isNotEmpty(this.configAssayMethodList)) { + configAssayMethod = this.configAssayMethodList.stream().filter(f -> f.getId().equals(id)).findFirst().orElse(null); + } + return configAssayMethod; + } + + private List businessSubSampleList; + + public BusinessSubSampleDO getBusinessSubSampleById(Long id) { + BusinessSubSampleDO businessSubSample = null; + if (CollUtil.isNotEmpty(this.businessSubSampleList)) { + businessSubSample = this.businessSubSampleList.stream().filter(f -> f.getId().equals(id)).findFirst().orElse(null); + } + + return businessSubSample; + } + + /** 子样检测任务 **/ + private List businessAssayTaskDataList; + + /** 任务指派单列表 **/ + private List businessAssayTaskList; + + /** 任务指派的明细列表 **/ + private List businessAssayTaskDetailList; + +} diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/slot/SampleTaskAssignTypeEnum.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/slot/SampleTaskAssignTypeEnum.java new file mode 100644 index 0000000..7e76d56 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/slot/SampleTaskAssignTypeEnum.java @@ -0,0 +1,20 @@ +package com.zt.plat.module.qms.business.bus.liteflow.slot; + +/** + * SampleTaskAssignTypeEnum + *

+ * 更新历史: + *

 版本         更新时间            更新者        更新内容
+ * V1.0 2025年9月20日 wxr Add
+ * Copyright (C) 云南志者竟成科技有限公司 + *

+ * @author 王兴荣 + * @version V1.0 + * @since 2025年9月20日 + */ +public enum SampleTaskAssignTypeEnum { + + ASSAY_METHOD, + SAMPLE + +} diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessAssayParameterDataService.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessAssayParameterDataService.java index f6a4c73..9531f57 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessAssayParameterDataService.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessAssayParameterDataService.java @@ -1,6 +1,10 @@ package com.zt.plat.module.qms.business.bus.service; import java.util.*; + +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessAssayParameterDataPageReqVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessAssayParameterDataRespVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessAssayParameterDataSaveReqVO; import jakarta.validation.*; import com.zt.plat.framework.common.pojo.PageResult; import com.zt.plat.module.qms.business.bus.controller.vo.*; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessAssayParameterDataServiceImpl.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessAssayParameterDataServiceImpl.java index c0ff20d..a78b973 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessAssayParameterDataServiceImpl.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessAssayParameterDataServiceImpl.java @@ -1,10 +1,12 @@ package com.zt.plat.module.qms.business.bus.service; import cn.hutool.core.collection.CollUtil; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessAssayParameterDataPageReqVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessAssayParameterDataRespVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessAssayParameterDataSaveReqVO; import org.springframework.stereotype.Service; import jakarta.annotation.Resource; import org.springframework.validation.annotation.Validated; -import org.springframework.transaction.annotation.Transactional; import java.util.*; import com.zt.plat.module.qms.business.bus.controller.vo.*; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessAssayProjectDataService.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessAssayProjectDataService.java index dda0078..2ad2d16 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessAssayProjectDataService.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessAssayProjectDataService.java @@ -1,6 +1,10 @@ package com.zt.plat.module.qms.business.bus.service; import java.util.*; + +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessAssayProjectDataPageReqVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessAssayProjectDataRespVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessAssayProjectDataSaveReqVO; import jakarta.validation.*; import com.zt.plat.framework.common.pojo.PageResult; import com.zt.plat.module.qms.business.bus.controller.vo.*; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessAssayProjectDataServiceImpl.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessAssayProjectDataServiceImpl.java index 2269ddc..c8b4fd9 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessAssayProjectDataServiceImpl.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessAssayProjectDataServiceImpl.java @@ -1,10 +1,12 @@ package com.zt.plat.module.qms.business.bus.service; import cn.hutool.core.collection.CollUtil; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessAssayProjectDataPageReqVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessAssayProjectDataRespVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessAssayProjectDataSaveReqVO; import org.springframework.stereotype.Service; import jakarta.annotation.Resource; import org.springframework.validation.annotation.Validated; -import org.springframework.transaction.annotation.Transactional; import java.util.*; import com.zt.plat.module.qms.business.bus.controller.vo.*; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessAssayReportDataService.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessAssayReportDataService.java new file mode 100644 index 0000000..6e4f5ed --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessAssayReportDataService.java @@ -0,0 +1,66 @@ +package com.zt.plat.module.qms.business.bus.service; + +import java.util.*; + +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessAssayReportDataPageReqVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessAssayReportDataRespVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessAssayReportDataSaveReqVO; +import jakarta.validation.*; +import com.zt.plat.framework.common.pojo.PageResult; +import com.zt.plat.module.qms.business.bus.controller.vo.*; +import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayReportDataDO; +import com.zt.plat.framework.common.pojo.PageParam; + +/** + * 检测报表数据业务 Service 接口 + * + * @author 后台管理 + */ +public interface BusinessAssayReportDataService { + + /** + * 创建检测报表数据业务 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + BusinessAssayReportDataRespVO createBusinessAssayReportData(@Valid BusinessAssayReportDataSaveReqVO createReqVO); + + /** + * 更新检测报表数据业务 + * + * @param updateReqVO 更新信息 + */ + void updateBusinessAssayReportData(@Valid BusinessAssayReportDataSaveReqVO updateReqVO); + + /** + * 删除检测报表数据业务 + * + * @param id 编号 + */ + void deleteBusinessAssayReportData(Long id); + + /** + * 批量删除检测报表数据业务 + * + * @param ids 编号 + */ + void deleteBusinessAssayReportDataListByIds(List ids); + + /** + * 获得检测报表数据业务 + * + * @param id 编号 + * @return 检测报表数据业务 + */ + BusinessAssayReportDataDO getBusinessAssayReportData(Long id); + + /** + * 获得检测报表数据业务分页 + * + * @param pageReqVO 分页查询 + * @return 检测报表数据业务分页 + */ + PageResult getBusinessAssayReportDataPage(BusinessAssayReportDataPageReqVO pageReqVO); + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessAssayReportDataServiceImpl.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessAssayReportDataServiceImpl.java new file mode 100644 index 0000000..838e330 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessAssayReportDataServiceImpl.java @@ -0,0 +1,93 @@ +package com.zt.plat.module.qms.business.bus.service; + +import cn.hutool.core.collection.CollUtil; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessAssayReportDataPageReqVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessAssayReportDataRespVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessAssayReportDataSaveReqVO; +import org.springframework.stereotype.Service; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; + +import java.util.*; +import com.zt.plat.framework.common.pojo.PageResult; +import com.zt.plat.framework.common.pojo.PageParam; +import com.zt.plat.framework.common.util.object.BeanUtils; +import com.zt.plat.module.qms.business.bus.controller.vo.*; +import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayReportDataDO; +import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessAssayReportDataMapper; + +import static com.zt.plat.framework.common.exception.util.ServiceExceptionUtil.exception; +import static com.zt.plat.framework.common.util.collection.CollectionUtils.convertList; +import static com.zt.plat.framework.common.util.collection.CollectionUtils.diffList; +import static com.zt.plat.module.qms.enums.ErrorCodeConstants.*; + +/** + * 检测报表数据业务 Service 实现类 + * + * @author 后台管理 + */ +@Service +@Validated +public class BusinessAssayReportDataServiceImpl implements BusinessAssayReportDataService { + + @Resource + private BusinessAssayReportDataMapper businessAssayReportDataMapper; + + @Override + public BusinessAssayReportDataRespVO createBusinessAssayReportData(BusinessAssayReportDataSaveReqVO createReqVO) { + // 插入 + BusinessAssayReportDataDO businessAssayReportData = BeanUtils.toBean(createReqVO, BusinessAssayReportDataDO.class); + businessAssayReportDataMapper.insert(businessAssayReportData); + // 返回 + return BeanUtils.toBean(businessAssayReportData, BusinessAssayReportDataRespVO.class); + } + + @Override + public void updateBusinessAssayReportData(BusinessAssayReportDataSaveReqVO updateReqVO) { + // 校验存在 + validateBusinessAssayReportDataExists(updateReqVO.getId()); + // 更新 + BusinessAssayReportDataDO updateObj = BeanUtils.toBean(updateReqVO, BusinessAssayReportDataDO.class); + businessAssayReportDataMapper.updateById(updateObj); + } + + @Override + public void deleteBusinessAssayReportData(Long id) { + // 校验存在 + validateBusinessAssayReportDataExists(id); + // 删除 + businessAssayReportDataMapper.deleteById(id); + } + + @Override + public void deleteBusinessAssayReportDataListByIds(List ids) { + // 校验存在 + validateBusinessAssayReportDataExists(ids); + // 删除 + businessAssayReportDataMapper.deleteByIds(ids); + } + + private void validateBusinessAssayReportDataExists(List ids) { + List list = businessAssayReportDataMapper.selectByIds(ids); + if (CollUtil.isEmpty(list) || list.size() != ids.size()) { + throw exception(BUSINESS_ASSAY_REPORT_DATA_NOT_EXISTS); + } + } + + private void validateBusinessAssayReportDataExists(Long id) { + if (businessAssayReportDataMapper.selectById(id) == null) { + throw exception(BUSINESS_ASSAY_REPORT_DATA_NOT_EXISTS); + } + } + + @Override + public BusinessAssayReportDataDO getBusinessAssayReportData(Long id) { + return businessAssayReportDataMapper.selectById(id); + } + + @Override + public PageResult getBusinessAssayReportDataPage(BusinessAssayReportDataPageReqVO pageReqVO) { + return businessAssayReportDataMapper.selectPage(pageReqVO); + } + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessAssayTaskDataService.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessAssayTaskDataService.java index 40ca301..50c46be 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessAssayTaskDataService.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessAssayTaskDataService.java @@ -1,6 +1,8 @@ package com.zt.plat.module.qms.business.bus.service; import java.util.*; + +import com.zt.plat.module.qms.business.bus.controller.vo.*; import jakarta.validation.*; import com.zt.plat.framework.common.pojo.PageResult; import com.zt.plat.module.qms.business.bus.controller.vo.*; @@ -55,7 +57,14 @@ public interface BusinessAssayTaskDataService { * 获得未指派的子样检测任务业务分组列表 * @return */ - List> getUnAssayTaskGroupList(); + List getUnAssayTaskGroupList(BusinessAssayTaskDataReqVO reqVO); + + /** + * 获得审核的子样检测任务业务分组列表 + * @param reqVO + * @return + */ + List getUnAuditTaskGroupList(BusinessAssayTaskDataReqVO reqVO); /** * 获得子样检测任务业务列表 @@ -72,4 +81,5 @@ public interface BusinessAssayTaskDataService { */ PageResult getBusinessAssayTaskDataPage(BusinessAssayTaskDataPageReqVO pageReqVO); + } \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessAssayTaskDataServiceImpl.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessAssayTaskDataServiceImpl.java index 2422233..8046955 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessAssayTaskDataServiceImpl.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessAssayTaskDataServiceImpl.java @@ -1,12 +1,11 @@ package com.zt.plat.module.qms.business.bus.service; import cn.hutool.core.collection.CollUtil; +import com.zt.plat.module.qms.business.bus.controller.vo.*; import org.springframework.stereotype.Service; import jakarta.annotation.Resource; -import jakarta.validation.Valid; import org.springframework.validation.annotation.Validated; -import org.springframework.transaction.annotation.Transactional; import java.util.*; import com.zt.plat.module.qms.business.bus.controller.vo.*; @@ -86,8 +85,13 @@ public class BusinessAssayTaskDataServiceImpl implements BusinessAssayTaskDataSe } @Override - public List> getUnAssayTaskGroupList() { - return businessAssayTaskDataMapper.selectUnAssayTaskGroupList(); + public List getUnAssayTaskGroupList(BusinessAssayTaskDataReqVO reqVO) { + return businessAssayTaskDataMapper.selectUnAssayTaskGroupList(reqVO); + } + + @Override + public List getUnAuditTaskGroupList(BusinessAssayTaskDataReqVO reqVO) { + return businessAssayTaskDataMapper.selectUnAuditTaskGroupList(reqVO); } @Override diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessAssayTaskDetailService.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessAssayTaskDetailService.java new file mode 100644 index 0000000..e357ed7 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessAssayTaskDetailService.java @@ -0,0 +1,66 @@ +package com.zt.plat.module.qms.business.bus.service; + +import java.util.*; + +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessAssayTaskDetailPageReqVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessAssayTaskDetailRespVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessAssayTaskDetailSaveReqVO; +import jakarta.validation.*; +import com.zt.plat.framework.common.pojo.PageResult; +import com.zt.plat.module.qms.business.bus.controller.vo.*; +import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayTaskDetailDO; +import com.zt.plat.framework.common.pojo.PageParam; + +/** + * 检测任务分配明细 Service 接口 + * + * @author 后台管理 + */ +public interface BusinessAssayTaskDetailService { + + /** + * 创建检测任务分配明细 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + BusinessAssayTaskDetailRespVO createBusinessAssayTaskDetail(@Valid BusinessAssayTaskDetailSaveReqVO createReqVO); + + /** + * 更新检测任务分配明细 + * + * @param updateReqVO 更新信息 + */ + void updateBusinessAssayTaskDetail(@Valid BusinessAssayTaskDetailSaveReqVO updateReqVO); + + /** + * 删除检测任务分配明细 + * + * @param id 编号 + */ + void deleteBusinessAssayTaskDetail(Long id); + + /** + * 批量删除检测任务分配明细 + * + * @param ids 编号 + */ + void deleteBusinessAssayTaskDetailListByIds(List ids); + + /** + * 获得检测任务分配明细 + * + * @param id 编号 + * @return 检测任务分配明细 + */ + BusinessAssayTaskDetailDO getBusinessAssayTaskDetail(Long id); + + /** + * 获得检测任务分配明细分页 + * + * @param pageReqVO 分页查询 + * @return 检测任务分配明细分页 + */ + PageResult getBusinessAssayTaskDetailPage(BusinessAssayTaskDetailPageReqVO pageReqVO); + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessAssayTaskDetailServiceImpl.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessAssayTaskDetailServiceImpl.java new file mode 100644 index 0000000..4f62640 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessAssayTaskDetailServiceImpl.java @@ -0,0 +1,93 @@ +package com.zt.plat.module.qms.business.bus.service; + +import cn.hutool.core.collection.CollUtil; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessAssayTaskDetailPageReqVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessAssayTaskDetailRespVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessAssayTaskDetailSaveReqVO; +import org.springframework.stereotype.Service; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; + +import java.util.*; +import com.zt.plat.framework.common.pojo.PageResult; +import com.zt.plat.framework.common.pojo.PageParam; +import com.zt.plat.framework.common.util.object.BeanUtils; +import com.zt.plat.module.qms.business.bus.controller.vo.*; +import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayTaskDetailDO; +import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessAssayTaskDetailMapper; + +import static com.zt.plat.framework.common.exception.util.ServiceExceptionUtil.exception; +import static com.zt.plat.framework.common.util.collection.CollectionUtils.convertList; +import static com.zt.plat.framework.common.util.collection.CollectionUtils.diffList; +import static com.zt.plat.module.qms.enums.ErrorCodeConstants.*; + +/** + * 检测任务分配明细 Service 实现类 + * + * @author 后台管理 + */ +@Service +@Validated +public class BusinessAssayTaskDetailServiceImpl implements BusinessAssayTaskDetailService { + + @Resource + private BusinessAssayTaskDetailMapper businessAssayTaskDetailMapper; + + @Override + public BusinessAssayTaskDetailRespVO createBusinessAssayTaskDetail(BusinessAssayTaskDetailSaveReqVO createReqVO) { + // 插入 + BusinessAssayTaskDetailDO businessAssayTaskDetail = BeanUtils.toBean(createReqVO, BusinessAssayTaskDetailDO.class); + businessAssayTaskDetailMapper.insert(businessAssayTaskDetail); + // 返回 + return BeanUtils.toBean(businessAssayTaskDetail, BusinessAssayTaskDetailRespVO.class); + } + + @Override + public void updateBusinessAssayTaskDetail(BusinessAssayTaskDetailSaveReqVO updateReqVO) { + // 校验存在 + validateBusinessAssayTaskDetailExists(updateReqVO.getId()); + // 更新 + BusinessAssayTaskDetailDO updateObj = BeanUtils.toBean(updateReqVO, BusinessAssayTaskDetailDO.class); + businessAssayTaskDetailMapper.updateById(updateObj); + } + + @Override + public void deleteBusinessAssayTaskDetail(Long id) { + // 校验存在 + validateBusinessAssayTaskDetailExists(id); + // 删除 + businessAssayTaskDetailMapper.deleteById(id); + } + + @Override + public void deleteBusinessAssayTaskDetailListByIds(List ids) { + // 校验存在 + validateBusinessAssayTaskDetailExists(ids); + // 删除 + businessAssayTaskDetailMapper.deleteByIds(ids); + } + + private void validateBusinessAssayTaskDetailExists(List ids) { + List list = businessAssayTaskDetailMapper.selectByIds(ids); + if (CollUtil.isEmpty(list) || list.size() != ids.size()) { + throw exception(BUSINESS_ASSAY_TASK_DETAIL_NOT_EXISTS); + } + } + + private void validateBusinessAssayTaskDetailExists(Long id) { + if (businessAssayTaskDetailMapper.selectById(id) == null) { + throw exception(BUSINESS_ASSAY_TASK_DETAIL_NOT_EXISTS); + } + } + + @Override + public BusinessAssayTaskDetailDO getBusinessAssayTaskDetail(Long id) { + return businessAssayTaskDetailMapper.selectById(id); + } + + @Override + public PageResult getBusinessAssayTaskDetailPage(BusinessAssayTaskDetailPageReqVO pageReqVO) { + return businessAssayTaskDetailMapper.selectPage(pageReqVO); + } + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessAssayTaskService.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessAssayTaskService.java new file mode 100644 index 0000000..d056aad --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessAssayTaskService.java @@ -0,0 +1,67 @@ +package com.zt.plat.module.qms.business.bus.service; + +import java.util.*; + +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessAssayTaskExtendRespVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessAssayTaskPageReqVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessAssayTaskRespVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessAssayTaskSaveReqVO; +import jakarta.validation.*; +import com.zt.plat.framework.common.pojo.PageResult; +import com.zt.plat.module.qms.business.bus.controller.vo.*; +import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayTaskDO; +import com.zt.plat.framework.common.pojo.PageParam; + +/** + * 检测任务分配业务 Service 接口 + * + * @author 后台管理 + */ +public interface BusinessAssayTaskService { + + /** + * 创建检测任务分配业务 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + BusinessAssayTaskRespVO createBusinessAssayTask(@Valid BusinessAssayTaskSaveReqVO createReqVO); + + /** + * 更新检测任务分配业务 + * + * @param updateReqVO 更新信息 + */ + void updateBusinessAssayTask(@Valid BusinessAssayTaskSaveReqVO updateReqVO); + + /** + * 删除检测任务分配业务 + * + * @param id 编号 + */ + void deleteBusinessAssayTask(Long id); + + /** + * 批量删除检测任务分配业务 + * + * @param ids 编号 + */ + void deleteBusinessAssayTaskListByIds(List ids); + + /** + * 获得检测任务分配业务 + * + * @param id 编号 + * @return 检测任务分配业务 + */ + BusinessAssayTaskDO getBusinessAssayTask(Long id); + + /** + * 获得检测任务分配业务分页 + * + * @param pageReqVO 分页查询 + * @return 检测任务分配业务分页 + */ + PageResult getBusinessAssayTaskPage(BusinessAssayTaskPageReqVO pageReqVO); + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessAssayTaskServiceImpl.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessAssayTaskServiceImpl.java new file mode 100644 index 0000000..f161efc --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessAssayTaskServiceImpl.java @@ -0,0 +1,94 @@ +package com.zt.plat.module.qms.business.bus.service; + +import cn.hutool.core.collection.CollUtil; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessAssayTaskExtendRespVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessAssayTaskPageReqVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessAssayTaskRespVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessAssayTaskSaveReqVO; +import org.springframework.stereotype.Service; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; + +import java.util.*; +import com.zt.plat.framework.common.pojo.PageResult; +import com.zt.plat.framework.common.pojo.PageParam; +import com.zt.plat.framework.common.util.object.BeanUtils; +import com.zt.plat.module.qms.business.bus.controller.vo.*; +import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayTaskDO; +import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessAssayTaskMapper; + +import static com.zt.plat.framework.common.exception.util.ServiceExceptionUtil.exception; +import static com.zt.plat.framework.common.util.collection.CollectionUtils.convertList; +import static com.zt.plat.framework.common.util.collection.CollectionUtils.diffList; +import static com.zt.plat.module.qms.enums.ErrorCodeConstants.*; + +/** + * 检测任务分配业务 Service 实现类 + * + * @author 后台管理 + */ +@Service +@Validated +public class BusinessAssayTaskServiceImpl implements BusinessAssayTaskService { + + @Resource + private BusinessAssayTaskMapper businessAssayTaskMapper; + + @Override + public BusinessAssayTaskRespVO createBusinessAssayTask(BusinessAssayTaskSaveReqVO createReqVO) { + // 插入 + BusinessAssayTaskDO businessAssayTask = BeanUtils.toBean(createReqVO, BusinessAssayTaskDO.class); + businessAssayTaskMapper.insert(businessAssayTask); + // 返回 + return BeanUtils.toBean(businessAssayTask, BusinessAssayTaskRespVO.class); + } + + @Override + public void updateBusinessAssayTask(BusinessAssayTaskSaveReqVO updateReqVO) { + // 校验存在 + validateBusinessAssayTaskExists(updateReqVO.getId()); + // 更新 + BusinessAssayTaskDO updateObj = BeanUtils.toBean(updateReqVO, BusinessAssayTaskDO.class); + businessAssayTaskMapper.updateById(updateObj); + } + + @Override + public void deleteBusinessAssayTask(Long id) { + // 校验存在 + validateBusinessAssayTaskExists(id); + // 删除 + businessAssayTaskMapper.deleteById(id); + } + + @Override + public void deleteBusinessAssayTaskListByIds(List ids) { + // 校验存在 + validateBusinessAssayTaskExists(ids); + // 删除 + businessAssayTaskMapper.deleteByIds(ids); + } + + private void validateBusinessAssayTaskExists(List ids) { + List list = businessAssayTaskMapper.selectByIds(ids); + if (CollUtil.isEmpty(list) || list.size() != ids.size()) { + throw exception(BUSINESS_ASSAY_TASK_NOT_EXISTS); + } + } + + private void validateBusinessAssayTaskExists(Long id) { + if (businessAssayTaskMapper.selectById(id) == null) { + throw exception(BUSINESS_ASSAY_TASK_NOT_EXISTS); + } + } + + @Override + public BusinessAssayTaskDO getBusinessAssayTask(Long id) { + return businessAssayTaskMapper.selectById(id); + } + + @Override + public PageResult getBusinessAssayTaskPage(BusinessAssayTaskPageReqVO pageReqVO) { + return businessAssayTaskMapper.selectPage(pageReqVO); + } + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessBaseSampleService.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessBaseSampleService.java index 7a35be5..5b06577 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessBaseSampleService.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessBaseSampleService.java @@ -1,6 +1,10 @@ package com.zt.plat.module.qms.business.bus.service; import java.util.*; + +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessBaseSamplePageReqVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessBaseSampleRespVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessBaseSampleSaveReqVO; import jakarta.validation.*; import com.zt.plat.framework.common.pojo.PageResult; import com.zt.plat.module.qms.business.bus.controller.vo.*; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessBaseSampleServiceImpl.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessBaseSampleServiceImpl.java index 4e1ae9c..dc921fa 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessBaseSampleServiceImpl.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessBaseSampleServiceImpl.java @@ -1,10 +1,12 @@ package com.zt.plat.module.qms.business.bus.service; import cn.hutool.core.collection.CollUtil; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessBaseSamplePageReqVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessBaseSampleRespVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessBaseSampleSaveReqVO; import org.springframework.stereotype.Service; import jakarta.annotation.Resource; import org.springframework.validation.annotation.Validated; -import org.springframework.transaction.annotation.Transactional; import java.util.*; import com.zt.plat.framework.common.pojo.PageResult; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessDocumentDataService.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessDocumentDataService.java new file mode 100644 index 0000000..02e42db --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessDocumentDataService.java @@ -0,0 +1,66 @@ +package com.zt.plat.module.qms.business.bus.service; + +import java.util.*; + +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessDocumentDataPageReqVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessDocumentDataRespVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessDocumentDataSaveReqVO; +import jakarta.validation.*; +import com.zt.plat.framework.common.pojo.PageResult; +import com.zt.plat.module.qms.business.bus.controller.vo.*; +import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessDocumentDataDO; +import com.zt.plat.framework.common.pojo.PageParam; + +/** + * 检测报告明细 Service 接口 + * + * @author 后台管理 + */ +public interface BusinessDocumentDataService { + + /** + * 创建检测报告明细 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + BusinessDocumentDataRespVO createBusinessDocumentData(@Valid BusinessDocumentDataSaveReqVO createReqVO); + + /** + * 更新检测报告明细 + * + * @param updateReqVO 更新信息 + */ + void updateBusinessDocumentData(@Valid BusinessDocumentDataSaveReqVO updateReqVO); + + /** + * 删除检测报告明细 + * + * @param id 编号 + */ + void deleteBusinessDocumentData(Long id); + + /** + * 批量删除检测报告明细 + * + * @param ids 编号 + */ + void deleteBusinessDocumentDataListByIds(List ids); + + /** + * 获得检测报告明细 + * + * @param id 编号 + * @return 检测报告明细 + */ + BusinessDocumentDataDO getBusinessDocumentData(Long id); + + /** + * 获得检测报告明细分页 + * + * @param pageReqVO 分页查询 + * @return 检测报告明细分页 + */ + PageResult getBusinessDocumentDataPage(BusinessDocumentDataPageReqVO pageReqVO); + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessDocumentDataServiceImpl.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessDocumentDataServiceImpl.java new file mode 100644 index 0000000..cca22e2 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessDocumentDataServiceImpl.java @@ -0,0 +1,93 @@ +package com.zt.plat.module.qms.business.bus.service; + +import cn.hutool.core.collection.CollUtil; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessDocumentDataPageReqVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessDocumentDataRespVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessDocumentDataSaveReqVO; +import org.springframework.stereotype.Service; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; + +import java.util.*; +import com.zt.plat.framework.common.pojo.PageResult; +import com.zt.plat.framework.common.pojo.PageParam; +import com.zt.plat.framework.common.util.object.BeanUtils; +import com.zt.plat.module.qms.business.bus.controller.vo.*; +import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessDocumentDataDO; +import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessDocumentDataMapper; + +import static com.zt.plat.framework.common.exception.util.ServiceExceptionUtil.exception; +import static com.zt.plat.framework.common.util.collection.CollectionUtils.convertList; +import static com.zt.plat.framework.common.util.collection.CollectionUtils.diffList; +import static com.zt.plat.module.qms.enums.ErrorCodeConstants.*; + +/** + * 检测报告明细 Service 实现类 + * + * @author 后台管理 + */ +@Service +@Validated +public class BusinessDocumentDataServiceImpl implements BusinessDocumentDataService { + + @Resource + private BusinessDocumentDataMapper businessDocumentDataMapper; + + @Override + public BusinessDocumentDataRespVO createBusinessDocumentData(BusinessDocumentDataSaveReqVO createReqVO) { + // 插入 + BusinessDocumentDataDO businessDocumentData = BeanUtils.toBean(createReqVO, BusinessDocumentDataDO.class); + businessDocumentDataMapper.insert(businessDocumentData); + // 返回 + return BeanUtils.toBean(businessDocumentData, BusinessDocumentDataRespVO.class); + } + + @Override + public void updateBusinessDocumentData(BusinessDocumentDataSaveReqVO updateReqVO) { + // 校验存在 + validateBusinessDocumentDataExists(updateReqVO.getId()); + // 更新 + BusinessDocumentDataDO updateObj = BeanUtils.toBean(updateReqVO, BusinessDocumentDataDO.class); + businessDocumentDataMapper.updateById(updateObj); + } + + @Override + public void deleteBusinessDocumentData(Long id) { + // 校验存在 + validateBusinessDocumentDataExists(id); + // 删除 + businessDocumentDataMapper.deleteById(id); + } + + @Override + public void deleteBusinessDocumentDataListByIds(List ids) { + // 校验存在 + validateBusinessDocumentDataExists(ids); + // 删除 + businessDocumentDataMapper.deleteByIds(ids); + } + + private void validateBusinessDocumentDataExists(List ids) { + List list = businessDocumentDataMapper.selectByIds(ids); + if (CollUtil.isEmpty(list) || list.size() != ids.size()) { + throw exception(BUSINESS_DOCUMENT_DATA_NOT_EXISTS); + } + } + + private void validateBusinessDocumentDataExists(Long id) { + if (businessDocumentDataMapper.selectById(id) == null) { + throw exception(BUSINESS_DOCUMENT_DATA_NOT_EXISTS); + } + } + + @Override + public BusinessDocumentDataDO getBusinessDocumentData(Long id) { + return businessDocumentDataMapper.selectById(id); + } + + @Override + public PageResult getBusinessDocumentDataPage(BusinessDocumentDataPageReqVO pageReqVO) { + return businessDocumentDataMapper.selectPage(pageReqVO); + } + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessDocumentMainService.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessDocumentMainService.java new file mode 100644 index 0000000..a341931 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessDocumentMainService.java @@ -0,0 +1,66 @@ +package com.zt.plat.module.qms.business.bus.service; + +import java.util.*; + +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessDocumentMainPageReqVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessDocumentMainRespVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessDocumentMainSaveReqVO; +import jakarta.validation.*; +import com.zt.plat.framework.common.pojo.PageResult; +import com.zt.plat.module.qms.business.bus.controller.vo.*; +import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessDocumentMainDO; +import com.zt.plat.framework.common.pojo.PageParam; + +/** + * 检测报告业务 Service 接口 + * + * @author 后台管理 + */ +public interface BusinessDocumentMainService { + + /** + * 创建检测报告业务 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + BusinessDocumentMainRespVO createBusinessDocumentMain(@Valid BusinessDocumentMainSaveReqVO createReqVO); + + /** + * 更新检测报告业务 + * + * @param updateReqVO 更新信息 + */ + void updateBusinessDocumentMain(@Valid BusinessDocumentMainSaveReqVO updateReqVO); + + /** + * 删除检测报告业务 + * + * @param id 编号 + */ + void deleteBusinessDocumentMain(Long id); + + /** + * 批量删除检测报告业务 + * + * @param ids 编号 + */ + void deleteBusinessDocumentMainListByIds(List ids); + + /** + * 获得检测报告业务 + * + * @param id 编号 + * @return 检测报告业务 + */ + BusinessDocumentMainDO getBusinessDocumentMain(Long id); + + /** + * 获得检测报告业务分页 + * + * @param pageReqVO 分页查询 + * @return 检测报告业务分页 + */ + PageResult getBusinessDocumentMainPage(BusinessDocumentMainPageReqVO pageReqVO); + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessDocumentMainServiceImpl.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessDocumentMainServiceImpl.java new file mode 100644 index 0000000..ad855f8 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessDocumentMainServiceImpl.java @@ -0,0 +1,93 @@ +package com.zt.plat.module.qms.business.bus.service; + +import cn.hutool.core.collection.CollUtil; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessDocumentMainPageReqVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessDocumentMainRespVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessDocumentMainSaveReqVO; +import org.springframework.stereotype.Service; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; + +import java.util.*; +import com.zt.plat.framework.common.pojo.PageResult; +import com.zt.plat.framework.common.pojo.PageParam; +import com.zt.plat.framework.common.util.object.BeanUtils; +import com.zt.plat.module.qms.business.bus.controller.vo.*; +import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessDocumentMainDO; +import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessDocumentMainMapper; + +import static com.zt.plat.framework.common.exception.util.ServiceExceptionUtil.exception; +import static com.zt.plat.framework.common.util.collection.CollectionUtils.convertList; +import static com.zt.plat.framework.common.util.collection.CollectionUtils.diffList; +import static com.zt.plat.module.qms.enums.ErrorCodeConstants.*; + +/** + * 检测报告业务 Service 实现类 + * + * @author 后台管理 + */ +@Service +@Validated +public class BusinessDocumentMainServiceImpl implements BusinessDocumentMainService { + + @Resource + private BusinessDocumentMainMapper businessDocumentMainMapper; + + @Override + public BusinessDocumentMainRespVO createBusinessDocumentMain(BusinessDocumentMainSaveReqVO createReqVO) { + // 插入 + BusinessDocumentMainDO businessDocumentMain = BeanUtils.toBean(createReqVO, BusinessDocumentMainDO.class); + businessDocumentMainMapper.insert(businessDocumentMain); + // 返回 + return BeanUtils.toBean(businessDocumentMain, BusinessDocumentMainRespVO.class); + } + + @Override + public void updateBusinessDocumentMain(BusinessDocumentMainSaveReqVO updateReqVO) { + // 校验存在 + validateBusinessDocumentMainExists(updateReqVO.getId()); + // 更新 + BusinessDocumentMainDO updateObj = BeanUtils.toBean(updateReqVO, BusinessDocumentMainDO.class); + businessDocumentMainMapper.updateById(updateObj); + } + + @Override + public void deleteBusinessDocumentMain(Long id) { + // 校验存在 + validateBusinessDocumentMainExists(id); + // 删除 + businessDocumentMainMapper.deleteById(id); + } + + @Override + public void deleteBusinessDocumentMainListByIds(List ids) { + // 校验存在 + validateBusinessDocumentMainExists(ids); + // 删除 + businessDocumentMainMapper.deleteByIds(ids); + } + + private void validateBusinessDocumentMainExists(List ids) { + List list = businessDocumentMainMapper.selectByIds(ids); + if (CollUtil.isEmpty(list) || list.size() != ids.size()) { + throw exception(BUSINESS_DOCUMENT_MAIN_NOT_EXISTS); + } + } + + private void validateBusinessDocumentMainExists(Long id) { + if (businessDocumentMainMapper.selectById(id) == null) { + throw exception(BUSINESS_DOCUMENT_MAIN_NOT_EXISTS); + } + } + + @Override + public BusinessDocumentMainDO getBusinessDocumentMain(Long id) { + return businessDocumentMainMapper.selectById(id); + } + + @Override + public PageResult getBusinessDocumentMainPage(BusinessDocumentMainPageReqVO pageReqVO) { + return businessDocumentMainMapper.selectPage(pageReqVO); + } + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessHandoverRecordSubService.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessHandoverRecordSubService.java index bb3f0f7..d27965e 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessHandoverRecordSubService.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessHandoverRecordSubService.java @@ -1,6 +1,11 @@ package com.zt.plat.module.qms.business.bus.service; import java.util.*; + +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessHandoverRecordSubExtendRespVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessHandoverRecordSubPageReqVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessHandoverRecordSubRespVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessHandoverRecordSubSaveReqVO; import jakarta.validation.*; import com.zt.plat.framework.common.pojo.PageResult; import com.zt.plat.module.qms.business.bus.controller.vo.*; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessHandoverRecordSubServiceImpl.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessHandoverRecordSubServiceImpl.java index 05e98ba..a87d1df 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessHandoverRecordSubServiceImpl.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessHandoverRecordSubServiceImpl.java @@ -1,10 +1,13 @@ package com.zt.plat.module.qms.business.bus.service; import cn.hutool.core.collection.CollUtil; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessHandoverRecordSubExtendRespVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessHandoverRecordSubPageReqVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessHandoverRecordSubRespVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessHandoverRecordSubSaveReqVO; import org.springframework.stereotype.Service; import jakarta.annotation.Resource; import org.springframework.validation.annotation.Validated; -import org.springframework.transaction.annotation.Transactional; import java.util.*; import com.zt.plat.framework.common.pojo.PageResult; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessQualityControlSampleProjectService.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessQualityControlSampleProjectService.java new file mode 100644 index 0000000..84afe73 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessQualityControlSampleProjectService.java @@ -0,0 +1,66 @@ +package com.zt.plat.module.qms.business.bus.service; + +import java.util.*; + +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessQualityControlSampleProjectPageReqVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessQualityControlSampleProjectRespVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessQualityControlSampleProjectSaveReqVO; +import jakarta.validation.*; +import com.zt.plat.framework.common.pojo.PageResult; +import com.zt.plat.module.qms.business.bus.controller.vo.*; +import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessQualityControlSampleProjectDO; +import com.zt.plat.framework.common.pojo.PageParam; + +/** + * 质控样检测项目业务 Service 接口 + * + * @author 后台管理 + */ +public interface BusinessQualityControlSampleProjectService { + + /** + * 创建质控样检测项目业务 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + BusinessQualityControlSampleProjectRespVO createBusinessQualityControlSampleProject(@Valid BusinessQualityControlSampleProjectSaveReqVO createReqVO); + + /** + * 更新质控样检测项目业务 + * + * @param updateReqVO 更新信息 + */ + void updateBusinessQualityControlSampleProject(@Valid BusinessQualityControlSampleProjectSaveReqVO updateReqVO); + + /** + * 删除质控样检测项目业务 + * + * @param id 编号 + */ + void deleteBusinessQualityControlSampleProject(Long id); + + /** + * 批量删除质控样检测项目业务 + * + * @param ids 编号 + */ + void deleteBusinessQualityControlSampleProjectListByIds(List ids); + + /** + * 获得质控样检测项目业务 + * + * @param id 编号 + * @return 质控样检测项目业务 + */ + BusinessQualityControlSampleProjectDO getBusinessQualityControlSampleProject(Long id); + + /** + * 获得质控样检测项目业务分页 + * + * @param pageReqVO 分页查询 + * @return 质控样检测项目业务分页 + */ + PageResult getBusinessQualityControlSampleProjectPage(BusinessQualityControlSampleProjectPageReqVO pageReqVO); + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessQualityControlSampleProjectServiceImpl.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessQualityControlSampleProjectServiceImpl.java new file mode 100644 index 0000000..085e11b --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessQualityControlSampleProjectServiceImpl.java @@ -0,0 +1,93 @@ +package com.zt.plat.module.qms.business.bus.service; + +import cn.hutool.core.collection.CollUtil; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessQualityControlSampleProjectPageReqVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessQualityControlSampleProjectRespVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessQualityControlSampleProjectSaveReqVO; +import org.springframework.stereotype.Service; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; + +import java.util.*; +import com.zt.plat.framework.common.pojo.PageResult; +import com.zt.plat.framework.common.pojo.PageParam; +import com.zt.plat.framework.common.util.object.BeanUtils; +import com.zt.plat.module.qms.business.bus.controller.vo.*; +import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessQualityControlSampleProjectDO; +import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessQualityControlSampleProjectMapper; + +import static com.zt.plat.framework.common.exception.util.ServiceExceptionUtil.exception; +import static com.zt.plat.framework.common.util.collection.CollectionUtils.convertList; +import static com.zt.plat.framework.common.util.collection.CollectionUtils.diffList; +import static com.zt.plat.module.qms.enums.ErrorCodeConstants.*; + +/** + * 质控样检测项目业务 Service 实现类 + * + * @author 后台管理 + */ +@Service +@Validated +public class BusinessQualityControlSampleProjectServiceImpl implements BusinessQualityControlSampleProjectService { + + @Resource + private BusinessQualityControlSampleProjectMapper businessQualityControlSampleProjectMapper; + + @Override + public BusinessQualityControlSampleProjectRespVO createBusinessQualityControlSampleProject(BusinessQualityControlSampleProjectSaveReqVO createReqVO) { + // 插入 + BusinessQualityControlSampleProjectDO businessQualityControlSampleProject = BeanUtils.toBean(createReqVO, BusinessQualityControlSampleProjectDO.class); + businessQualityControlSampleProjectMapper.insert(businessQualityControlSampleProject); + // 返回 + return BeanUtils.toBean(businessQualityControlSampleProject, BusinessQualityControlSampleProjectRespVO.class); + } + + @Override + public void updateBusinessQualityControlSampleProject(BusinessQualityControlSampleProjectSaveReqVO updateReqVO) { + // 校验存在 + validateBusinessQualityControlSampleProjectExists(updateReqVO.getId()); + // 更新 + BusinessQualityControlSampleProjectDO updateObj = BeanUtils.toBean(updateReqVO, BusinessQualityControlSampleProjectDO.class); + businessQualityControlSampleProjectMapper.updateById(updateObj); + } + + @Override + public void deleteBusinessQualityControlSampleProject(Long id) { + // 校验存在 + validateBusinessQualityControlSampleProjectExists(id); + // 删除 + businessQualityControlSampleProjectMapper.deleteById(id); + } + + @Override + public void deleteBusinessQualityControlSampleProjectListByIds(List ids) { + // 校验存在 + validateBusinessQualityControlSampleProjectExists(ids); + // 删除 + businessQualityControlSampleProjectMapper.deleteByIds(ids); + } + + private void validateBusinessQualityControlSampleProjectExists(List ids) { + List list = businessQualityControlSampleProjectMapper.selectByIds(ids); + if (CollUtil.isEmpty(list) || list.size() != ids.size()) { + throw exception(BUSINESS_QUALITY_CONTROL_SAMPLE_PROJECT_NOT_EXISTS); + } + } + + private void validateBusinessQualityControlSampleProjectExists(Long id) { + if (businessQualityControlSampleProjectMapper.selectById(id) == null) { + throw exception(BUSINESS_QUALITY_CONTROL_SAMPLE_PROJECT_NOT_EXISTS); + } + } + + @Override + public BusinessQualityControlSampleProjectDO getBusinessQualityControlSampleProject(Long id) { + return businessQualityControlSampleProjectMapper.selectById(id); + } + + @Override + public PageResult getBusinessQualityControlSampleProjectPage(BusinessQualityControlSampleProjectPageReqVO pageReqVO) { + return businessQualityControlSampleProjectMapper.selectPage(pageReqVO); + } + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSampleAssayResultService.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSampleAssayResultService.java index 623f536..0b54901 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSampleAssayResultService.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSampleAssayResultService.java @@ -1,6 +1,10 @@ package com.zt.plat.module.qms.business.bus.service; import java.util.*; + +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSampleAssayResultPageReqVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSampleAssayResultRespVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSampleAssayResultSaveReqVO; import jakarta.validation.*; import com.zt.plat.framework.common.pojo.PageResult; import com.zt.plat.module.qms.business.bus.controller.vo.*; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSampleAssayResultServiceImpl.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSampleAssayResultServiceImpl.java index 7bb4e0d..73ea891 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSampleAssayResultServiceImpl.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSampleAssayResultServiceImpl.java @@ -1,10 +1,12 @@ package com.zt.plat.module.qms.business.bus.service; import cn.hutool.core.collection.CollUtil; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSampleAssayResultPageReqVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSampleAssayResultRespVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSampleAssayResultSaveReqVO; import org.springframework.stereotype.Service; import jakarta.annotation.Resource; import org.springframework.validation.annotation.Validated; -import org.springframework.transaction.annotation.Transactional; import java.util.*; import com.zt.plat.framework.common.pojo.PageResult; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSampleEntrustDetailService.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSampleEntrustDetailService.java index 72e4fa5..f9d5f91 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSampleEntrustDetailService.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSampleEntrustDetailService.java @@ -1,13 +1,12 @@ package com.zt.plat.module.qms.business.bus.service; import java.util.*; + +import com.zt.plat.module.qms.business.bus.controller.vo.*; import jakarta.validation.*; import com.zt.plat.framework.common.pojo.PageResult; -import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSampleEntrustDetailPageReqVO; -import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSampleEntrustDetailRespVO; -import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSampleEntrustDetailSaveReqVO; +import com.zt.plat.module.qms.business.bus.controller.vo.*; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSampleEntrustDetailDO; -import com.zt.plat.framework.common.pojo.PageParam; /** * 委检登记样品明细 Service 接口 @@ -53,12 +52,20 @@ public interface BusinessSampleEntrustDetailService { */ BusinessSampleEntrustDetailDO getBusinessSampleEntrustDetail(Long id); + /** + * 获得委检登记样品明细列表 + * + * @param pageReqVO 查询 + * @return 委检登记样品明细列表 + */ + List getBusinessSampleEntrustDetailList(BusinessSampleEntrustDetailReqVO reqVO); + /** * 获得委检登记样品明细分页 * * @param pageReqVO 分页查询 * @return 委检登记样品明细分页 */ - PageResult getBusinessSampleEntrustDetailPage(BusinessSampleEntrustDetailPageReqVO pageReqVO); + PageResult getBusinessSampleEntrustDetailPage(BusinessSampleEntrustDetailPageReqVO pageReqVO); } \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSampleEntrustDetailServiceImpl.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSampleEntrustDetailServiceImpl.java index b1610d4..d4bec16 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSampleEntrustDetailServiceImpl.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSampleEntrustDetailServiceImpl.java @@ -1,10 +1,10 @@ package com.zt.plat.module.qms.business.bus.service; import cn.hutool.core.collection.CollUtil; +import com.zt.plat.module.qms.business.bus.controller.vo.*; import org.springframework.stereotype.Service; import jakarta.annotation.Resource; import org.springframework.validation.annotation.Validated; -import org.springframework.transaction.annotation.Transactional; import java.util.*; import com.zt.plat.framework.common.pojo.PageResult; @@ -83,8 +83,13 @@ public class BusinessSampleEntrustDetailServiceImpl implements BusinessSampleEnt return businessSampleEntrustDetailMapper.selectById(id); } + @Override + public List getBusinessSampleEntrustDetailList(BusinessSampleEntrustDetailReqVO reqVO) { + return businessSampleEntrustDetailMapper.selectList(reqVO); + } + @Override - public PageResult getBusinessSampleEntrustDetailPage(BusinessSampleEntrustDetailPageReqVO pageReqVO) { + public PageResult getBusinessSampleEntrustDetailPage(BusinessSampleEntrustDetailPageReqVO pageReqVO) { return businessSampleEntrustDetailMapper.selectPage(pageReqVO); } diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSampleEntrustProjectService.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSampleEntrustProjectService.java index 187464d..444adb7 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSampleEntrustProjectService.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSampleEntrustProjectService.java @@ -1,6 +1,10 @@ package com.zt.plat.module.qms.business.bus.service; import java.util.*; + +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSampleEntrustProjectPageReqVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSampleEntrustProjectRespVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSampleEntrustProjectSaveReqVO; import jakarta.validation.*; import com.zt.plat.framework.common.pojo.PageResult; import com.zt.plat.module.qms.business.bus.controller.vo.*; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSampleEntrustProjectServiceImpl.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSampleEntrustProjectServiceImpl.java index 025a77e..78ff94a 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSampleEntrustProjectServiceImpl.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSampleEntrustProjectServiceImpl.java @@ -1,10 +1,12 @@ package com.zt.plat.module.qms.business.bus.service; import cn.hutool.core.collection.CollUtil; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSampleEntrustProjectPageReqVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSampleEntrustProjectRespVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSampleEntrustProjectSaveReqVO; import org.springframework.stereotype.Service; import jakarta.annotation.Resource; import org.springframework.validation.annotation.Validated; -import org.springframework.transaction.annotation.Transactional; import java.util.*; import com.zt.plat.framework.common.pojo.PageResult; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSampleEntrustRegistrationService.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSampleEntrustRegistrationService.java index b97e6e4..5162b07 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSampleEntrustRegistrationService.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSampleEntrustRegistrationService.java @@ -1,6 +1,11 @@ package com.zt.plat.module.qms.business.bus.service; import java.util.*; + +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSampleEntrustRegistrationExtendRespVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSampleEntrustRegistrationPageReqVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSampleEntrustRegistrationRespVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSampleEntrustRegistrationSaveReqVO; import jakarta.validation.*; import com.zt.plat.framework.common.pojo.PageResult; import com.zt.plat.module.qms.business.bus.controller.vo.*; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSampleEntrustRegistrationServiceImpl.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSampleEntrustRegistrationServiceImpl.java index 4dbaf90..04e77f1 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSampleEntrustRegistrationServiceImpl.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSampleEntrustRegistrationServiceImpl.java @@ -1,10 +1,13 @@ package com.zt.plat.module.qms.business.bus.service; import cn.hutool.core.collection.CollUtil; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSampleEntrustRegistrationExtendRespVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSampleEntrustRegistrationPageReqVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSampleEntrustRegistrationRespVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSampleEntrustRegistrationSaveReqVO; import org.springframework.stereotype.Service; import jakarta.annotation.Resource; import org.springframework.validation.annotation.Validated; -import org.springframework.transaction.annotation.Transactional; import java.util.*; import com.zt.plat.framework.common.pojo.PageResult; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSampleHandoverDetailServiceImpl.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSampleHandoverDetailServiceImpl.java index 3b02c5a..9f21e95 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSampleHandoverDetailServiceImpl.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSampleHandoverDetailServiceImpl.java @@ -1,10 +1,12 @@ package com.zt.plat.module.qms.business.bus.service; import cn.hutool.core.collection.CollUtil; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSampleHandoverDetailPageReqVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSampleHandoverDetailRespVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSampleHandoverDetailSaveReqVO; import org.springframework.stereotype.Service; import jakarta.annotation.Resource; import org.springframework.validation.annotation.Validated; -import org.springframework.transaction.annotation.Transactional; import java.util.*; import com.zt.plat.framework.common.pojo.PageResult; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSampleHandoverService.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSampleHandoverService.java index a169f5f..ff0e10e 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSampleHandoverService.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSampleHandoverService.java @@ -1,6 +1,10 @@ package com.zt.plat.module.qms.business.bus.service; import java.util.*; + +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSampleHandoverPageReqVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSampleHandoverRespVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSampleHandoverSaveReqVO; import jakarta.validation.*; import com.zt.plat.framework.common.pojo.PageResult; import com.zt.plat.module.qms.business.bus.controller.vo.*; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSampleHandoverServiceImpl.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSampleHandoverServiceImpl.java index 3fe41bd..861b686 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSampleHandoverServiceImpl.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSampleHandoverServiceImpl.java @@ -1,10 +1,12 @@ package com.zt.plat.module.qms.business.bus.service; import cn.hutool.core.collection.CollUtil; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSampleHandoverPageReqVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSampleHandoverRespVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSampleHandoverSaveReqVO; import org.springframework.stereotype.Service; import jakarta.annotation.Resource; import org.springframework.validation.annotation.Validated; -import org.springframework.transaction.annotation.Transactional; import java.util.*; import com.zt.plat.framework.common.pojo.PageResult; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessStandardSampleProjectService.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessStandardSampleProjectService.java new file mode 100644 index 0000000..c11e67a --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessStandardSampleProjectService.java @@ -0,0 +1,66 @@ +package com.zt.plat.module.qms.business.bus.service; + +import java.util.*; + +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessStandardSampleProjectPageReqVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessStandardSampleProjectRespVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessStandardSampleProjectSaveReqVO; +import jakarta.validation.*; +import com.zt.plat.framework.common.pojo.PageResult; +import com.zt.plat.module.qms.business.bus.controller.vo.*; +import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessStandardSampleProjectDO; +import com.zt.plat.framework.common.pojo.PageParam; + +/** + * 标准样检测项目业务 Service 接口 + * + * @author 后台管理 + */ +public interface BusinessStandardSampleProjectService { + + /** + * 创建标准样检测项目业务 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + BusinessStandardSampleProjectRespVO createBusinessStandardSampleProject(@Valid BusinessStandardSampleProjectSaveReqVO createReqVO); + + /** + * 更新标准样检测项目业务 + * + * @param updateReqVO 更新信息 + */ + void updateBusinessStandardSampleProject(@Valid BusinessStandardSampleProjectSaveReqVO updateReqVO); + + /** + * 删除标准样检测项目业务 + * + * @param id 编号 + */ + void deleteBusinessStandardSampleProject(Long id); + + /** + * 批量删除标准样检测项目业务 + * + * @param ids 编号 + */ + void deleteBusinessStandardSampleProjectListByIds(List ids); + + /** + * 获得标准样检测项目业务 + * + * @param id 编号 + * @return 标准样检测项目业务 + */ + BusinessStandardSampleProjectDO getBusinessStandardSampleProject(Long id); + + /** + * 获得标准样检测项目业务分页 + * + * @param pageReqVO 分页查询 + * @return 标准样检测项目业务分页 + */ + PageResult getBusinessStandardSampleProjectPage(BusinessStandardSampleProjectPageReqVO pageReqVO); + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessStandardSampleProjectServiceImpl.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessStandardSampleProjectServiceImpl.java new file mode 100644 index 0000000..5b6d2fb --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessStandardSampleProjectServiceImpl.java @@ -0,0 +1,93 @@ +package com.zt.plat.module.qms.business.bus.service; + +import cn.hutool.core.collection.CollUtil; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessStandardSampleProjectPageReqVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessStandardSampleProjectRespVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessStandardSampleProjectSaveReqVO; +import org.springframework.stereotype.Service; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; + +import java.util.*; +import com.zt.plat.framework.common.pojo.PageResult; +import com.zt.plat.framework.common.pojo.PageParam; +import com.zt.plat.framework.common.util.object.BeanUtils; +import com.zt.plat.module.qms.business.bus.controller.vo.*; +import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessStandardSampleProjectDO; +import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessStandardSampleProjectMapper; + +import static com.zt.plat.framework.common.exception.util.ServiceExceptionUtil.exception; +import static com.zt.plat.framework.common.util.collection.CollectionUtils.convertList; +import static com.zt.plat.framework.common.util.collection.CollectionUtils.diffList; +import static com.zt.plat.module.qms.enums.ErrorCodeConstants.*; + +/** + * 标准样检测项目业务 Service 实现类 + * + * @author 后台管理 + */ +@Service +@Validated +public class BusinessStandardSampleProjectServiceImpl implements BusinessStandardSampleProjectService { + + @Resource + private BusinessStandardSampleProjectMapper businessStandardSampleProjectMapper; + + @Override + public BusinessStandardSampleProjectRespVO createBusinessStandardSampleProject(BusinessStandardSampleProjectSaveReqVO createReqVO) { + // 插入 + BusinessStandardSampleProjectDO businessStandardSampleProject = BeanUtils.toBean(createReqVO, BusinessStandardSampleProjectDO.class); + businessStandardSampleProjectMapper.insert(businessStandardSampleProject); + // 返回 + return BeanUtils.toBean(businessStandardSampleProject, BusinessStandardSampleProjectRespVO.class); + } + + @Override + public void updateBusinessStandardSampleProject(BusinessStandardSampleProjectSaveReqVO updateReqVO) { + // 校验存在 + validateBusinessStandardSampleProjectExists(updateReqVO.getId()); + // 更新 + BusinessStandardSampleProjectDO updateObj = BeanUtils.toBean(updateReqVO, BusinessStandardSampleProjectDO.class); + businessStandardSampleProjectMapper.updateById(updateObj); + } + + @Override + public void deleteBusinessStandardSampleProject(Long id) { + // 校验存在 + validateBusinessStandardSampleProjectExists(id); + // 删除 + businessStandardSampleProjectMapper.deleteById(id); + } + + @Override + public void deleteBusinessStandardSampleProjectListByIds(List ids) { + // 校验存在 + validateBusinessStandardSampleProjectExists(ids); + // 删除 + businessStandardSampleProjectMapper.deleteByIds(ids); + } + + private void validateBusinessStandardSampleProjectExists(List ids) { + List list = businessStandardSampleProjectMapper.selectByIds(ids); + if (CollUtil.isEmpty(list) || list.size() != ids.size()) { + throw exception(BUSINESS_STANDARD_SAMPLE_PROJECT_NOT_EXISTS); + } + } + + private void validateBusinessStandardSampleProjectExists(Long id) { + if (businessStandardSampleProjectMapper.selectById(id) == null) { + throw exception(BUSINESS_STANDARD_SAMPLE_PROJECT_NOT_EXISTS); + } + } + + @Override + public BusinessStandardSampleProjectDO getBusinessStandardSampleProject(Long id) { + return businessStandardSampleProjectMapper.selectById(id); + } + + @Override + public PageResult getBusinessStandardSampleProjectPage(BusinessStandardSampleProjectPageReqVO pageReqVO) { + return businessStandardSampleProjectMapper.selectPage(pageReqVO); + } + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessStandardSampleService.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessStandardSampleService.java new file mode 100644 index 0000000..4394165 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessStandardSampleService.java @@ -0,0 +1,66 @@ +package com.zt.plat.module.qms.business.bus.service; + +import java.util.*; + +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessStandardSamplePageReqVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessStandardSampleRespVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessStandardSampleSaveReqVO; +import jakarta.validation.*; +import com.zt.plat.framework.common.pojo.PageResult; +import com.zt.plat.module.qms.business.bus.controller.vo.*; +import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessStandardSampleDO; +import com.zt.plat.framework.common.pojo.PageParam; + +/** + * 标准样业务 Service 接口 + * + * @author 后台管理 + */ +public interface BusinessStandardSampleService { + + /** + * 创建标准样业务 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + BusinessStandardSampleRespVO createBusinessStandardSample(@Valid BusinessStandardSampleSaveReqVO createReqVO); + + /** + * 更新标准样业务 + * + * @param updateReqVO 更新信息 + */ + void updateBusinessStandardSample(@Valid BusinessStandardSampleSaveReqVO updateReqVO); + + /** + * 删除标准样业务 + * + * @param id 编号 + */ + void deleteBusinessStandardSample(Long id); + + /** + * 批量删除标准样业务 + * + * @param ids 编号 + */ + void deleteBusinessStandardSampleListByIds(List ids); + + /** + * 获得标准样业务 + * + * @param id 编号 + * @return 标准样业务 + */ + BusinessStandardSampleDO getBusinessStandardSample(Long id); + + /** + * 获得标准样业务分页 + * + * @param pageReqVO 分页查询 + * @return 标准样业务分页 + */ + PageResult getBusinessStandardSamplePage(BusinessStandardSamplePageReqVO pageReqVO); + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessStandardSampleServiceImpl.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessStandardSampleServiceImpl.java new file mode 100644 index 0000000..b98de70 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessStandardSampleServiceImpl.java @@ -0,0 +1,93 @@ +package com.zt.plat.module.qms.business.bus.service; + +import cn.hutool.core.collection.CollUtil; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessStandardSamplePageReqVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessStandardSampleRespVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessStandardSampleSaveReqVO; +import org.springframework.stereotype.Service; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; + +import java.util.*; +import com.zt.plat.framework.common.pojo.PageResult; +import com.zt.plat.framework.common.pojo.PageParam; +import com.zt.plat.framework.common.util.object.BeanUtils; +import com.zt.plat.module.qms.business.bus.controller.vo.*; +import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessStandardSampleDO; +import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessStandardSampleMapper; + +import static com.zt.plat.framework.common.exception.util.ServiceExceptionUtil.exception; +import static com.zt.plat.framework.common.util.collection.CollectionUtils.convertList; +import static com.zt.plat.framework.common.util.collection.CollectionUtils.diffList; +import static com.zt.plat.module.qms.enums.ErrorCodeConstants.*; + +/** + * 标准样业务 Service 实现类 + * + * @author 后台管理 + */ +@Service +@Validated +public class BusinessStandardSampleServiceImpl implements BusinessStandardSampleService { + + @Resource + private BusinessStandardSampleMapper businessStandardSampleMapper; + + @Override + public BusinessStandardSampleRespVO createBusinessStandardSample(BusinessStandardSampleSaveReqVO createReqVO) { + // 插入 + BusinessStandardSampleDO businessStandardSample = BeanUtils.toBean(createReqVO, BusinessStandardSampleDO.class); + businessStandardSampleMapper.insert(businessStandardSample); + // 返回 + return BeanUtils.toBean(businessStandardSample, BusinessStandardSampleRespVO.class); + } + + @Override + public void updateBusinessStandardSample(BusinessStandardSampleSaveReqVO updateReqVO) { + // 校验存在 + validateBusinessStandardSampleExists(updateReqVO.getId()); + // 更新 + BusinessStandardSampleDO updateObj = BeanUtils.toBean(updateReqVO, BusinessStandardSampleDO.class); + businessStandardSampleMapper.updateById(updateObj); + } + + @Override + public void deleteBusinessStandardSample(Long id) { + // 校验存在 + validateBusinessStandardSampleExists(id); + // 删除 + businessStandardSampleMapper.deleteById(id); + } + + @Override + public void deleteBusinessStandardSampleListByIds(List ids) { + // 校验存在 + validateBusinessStandardSampleExists(ids); + // 删除 + businessStandardSampleMapper.deleteByIds(ids); + } + + private void validateBusinessStandardSampleExists(List ids) { + List list = businessStandardSampleMapper.selectByIds(ids); + if (CollUtil.isEmpty(list) || list.size() != ids.size()) { + throw exception(BUSINESS_STANDARD_SAMPLE_NOT_EXISTS); + } + } + + private void validateBusinessStandardSampleExists(Long id) { + if (businessStandardSampleMapper.selectById(id) == null) { + throw exception(BUSINESS_STANDARD_SAMPLE_NOT_EXISTS); + } + } + + @Override + public BusinessStandardSampleDO getBusinessStandardSample(Long id) { + return businessStandardSampleMapper.selectById(id); + } + + @Override + public PageResult getBusinessStandardSamplePage(BusinessStandardSamplePageReqVO pageReqVO) { + return businessStandardSampleMapper.selectPage(pageReqVO); + } + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSubParentSampleService.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSubParentSampleService.java index 1978c50..f06e2c2 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSubParentSampleService.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSubParentSampleService.java @@ -1,6 +1,10 @@ package com.zt.plat.module.qms.business.bus.service; import java.util.*; + +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSubParentSamplePageReqVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSubParentSampleRespVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSubParentSampleSaveReqVO; import jakarta.validation.*; import com.zt.plat.framework.common.pojo.PageResult; import com.zt.plat.module.qms.business.bus.controller.vo.*; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSubParentSampleServiceImpl.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSubParentSampleServiceImpl.java index 6053205..cab9420 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSubParentSampleServiceImpl.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSubParentSampleServiceImpl.java @@ -1,10 +1,12 @@ package com.zt.plat.module.qms.business.bus.service; import cn.hutool.core.collection.CollUtil; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSubParentSamplePageReqVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSubParentSampleRespVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSubParentSampleSaveReqVO; import org.springframework.stereotype.Service; import jakarta.annotation.Resource; import org.springframework.validation.annotation.Validated; -import org.springframework.transaction.annotation.Transactional; import java.util.*; import com.zt.plat.framework.common.pojo.PageResult; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSubSampleAnalysisGroupService.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSubSampleAnalysisGroupService.java new file mode 100644 index 0000000..bdd4505 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSubSampleAnalysisGroupService.java @@ -0,0 +1,66 @@ +package com.zt.plat.module.qms.business.bus.service; + +import java.util.*; + +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSubSampleAnalysisGroupPageReqVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSubSampleAnalysisGroupRespVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSubSampleAnalysisGroupSaveReqVO; +import jakarta.validation.*; +import com.zt.plat.framework.common.pojo.PageResult; +import com.zt.plat.module.qms.business.bus.controller.vo.*; +import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSubSampleAnalysisGroupDO; +import com.zt.plat.framework.common.pojo.PageParam; + +/** + * 子样分析班组业务 Service 接口 + * + * @author 后台管理 + */ +public interface BusinessSubSampleAnalysisGroupService { + + /** + * 创建子样分析班组业务 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + BusinessSubSampleAnalysisGroupRespVO createBusinessSubSampleAnalysisGroup(@Valid BusinessSubSampleAnalysisGroupSaveReqVO createReqVO); + + /** + * 更新子样分析班组业务 + * + * @param updateReqVO 更新信息 + */ + void updateBusinessSubSampleAnalysisGroup(@Valid BusinessSubSampleAnalysisGroupSaveReqVO updateReqVO); + + /** + * 删除子样分析班组业务 + * + * @param id 编号 + */ + void deleteBusinessSubSampleAnalysisGroup(Long id); + + /** + * 批量删除子样分析班组业务 + * + * @param ids 编号 + */ + void deleteBusinessSubSampleAnalysisGroupListByIds(List ids); + + /** + * 获得子样分析班组业务 + * + * @param id 编号 + * @return 子样分析班组业务 + */ + BusinessSubSampleAnalysisGroupDO getBusinessSubSampleAnalysisGroup(Long id); + + /** + * 获得子样分析班组业务分页 + * + * @param pageReqVO 分页查询 + * @return 子样分析班组业务分页 + */ + PageResult getBusinessSubSampleAnalysisGroupPage(BusinessSubSampleAnalysisGroupPageReqVO pageReqVO); + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSubSampleAnalysisGroupServiceImpl.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSubSampleAnalysisGroupServiceImpl.java new file mode 100644 index 0000000..fff47a2 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSubSampleAnalysisGroupServiceImpl.java @@ -0,0 +1,93 @@ +package com.zt.plat.module.qms.business.bus.service; + +import cn.hutool.core.collection.CollUtil; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSubSampleAnalysisGroupPageReqVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSubSampleAnalysisGroupRespVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSubSampleAnalysisGroupSaveReqVO; +import org.springframework.stereotype.Service; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; + +import java.util.*; +import com.zt.plat.framework.common.pojo.PageResult; +import com.zt.plat.framework.common.pojo.PageParam; +import com.zt.plat.framework.common.util.object.BeanUtils; +import com.zt.plat.module.qms.business.bus.controller.vo.*; +import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSubSampleAnalysisGroupDO; +import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessSubSampleAnalysisGroupMapper; + +import static com.zt.plat.framework.common.exception.util.ServiceExceptionUtil.exception; +import static com.zt.plat.framework.common.util.collection.CollectionUtils.convertList; +import static com.zt.plat.framework.common.util.collection.CollectionUtils.diffList; +import static com.zt.plat.module.qms.enums.ErrorCodeConstants.*; + +/** + * 子样分析班组业务 Service 实现类 + * + * @author 后台管理 + */ +@Service +@Validated +public class BusinessSubSampleAnalysisGroupServiceImpl implements BusinessSubSampleAnalysisGroupService { + + @Resource + private BusinessSubSampleAnalysisGroupMapper businessSubSampleAnalysisGroupMapper; + + @Override + public BusinessSubSampleAnalysisGroupRespVO createBusinessSubSampleAnalysisGroup(BusinessSubSampleAnalysisGroupSaveReqVO createReqVO) { + // 插入 + BusinessSubSampleAnalysisGroupDO businessSubSampleAnalysisGroup = BeanUtils.toBean(createReqVO, BusinessSubSampleAnalysisGroupDO.class); + businessSubSampleAnalysisGroupMapper.insert(businessSubSampleAnalysisGroup); + // 返回 + return BeanUtils.toBean(businessSubSampleAnalysisGroup, BusinessSubSampleAnalysisGroupRespVO.class); + } + + @Override + public void updateBusinessSubSampleAnalysisGroup(BusinessSubSampleAnalysisGroupSaveReqVO updateReqVO) { + // 校验存在 + validateBusinessSubSampleAnalysisGroupExists(updateReqVO.getId()); + // 更新 + BusinessSubSampleAnalysisGroupDO updateObj = BeanUtils.toBean(updateReqVO, BusinessSubSampleAnalysisGroupDO.class); + businessSubSampleAnalysisGroupMapper.updateById(updateObj); + } + + @Override + public void deleteBusinessSubSampleAnalysisGroup(Long id) { + // 校验存在 + validateBusinessSubSampleAnalysisGroupExists(id); + // 删除 + businessSubSampleAnalysisGroupMapper.deleteById(id); + } + + @Override + public void deleteBusinessSubSampleAnalysisGroupListByIds(List ids) { + // 校验存在 + validateBusinessSubSampleAnalysisGroupExists(ids); + // 删除 + businessSubSampleAnalysisGroupMapper.deleteByIds(ids); + } + + private void validateBusinessSubSampleAnalysisGroupExists(List ids) { + List list = businessSubSampleAnalysisGroupMapper.selectByIds(ids); + if (CollUtil.isEmpty(list) || list.size() != ids.size()) { + throw exception(BUSINESS_SUB_SAMPLE_ANALYSIS_GROUP_NOT_EXISTS); + } + } + + private void validateBusinessSubSampleAnalysisGroupExists(Long id) { + if (businessSubSampleAnalysisGroupMapper.selectById(id) == null) { + throw exception(BUSINESS_SUB_SAMPLE_ANALYSIS_GROUP_NOT_EXISTS); + } + } + + @Override + public BusinessSubSampleAnalysisGroupDO getBusinessSubSampleAnalysisGroup(Long id) { + return businessSubSampleAnalysisGroupMapper.selectById(id); + } + + @Override + public PageResult getBusinessSubSampleAnalysisGroupPage(BusinessSubSampleAnalysisGroupPageReqVO pageReqVO) { + return businessSubSampleAnalysisGroupMapper.selectPage(pageReqVO); + } + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSubSampleAssessmentService.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSubSampleAssessmentService.java index 5e595bb..87a91ce 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSubSampleAssessmentService.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSubSampleAssessmentService.java @@ -1,6 +1,10 @@ package com.zt.plat.module.qms.business.bus.service; import java.util.*; + +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSubSampleAssessmentPageReqVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSubSampleAssessmentRespVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSubSampleAssessmentSaveReqVO; import jakarta.validation.*; import com.zt.plat.framework.common.pojo.PageResult; import com.zt.plat.module.qms.business.bus.controller.vo.*; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSubSampleAssessmentServiceImpl.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSubSampleAssessmentServiceImpl.java index d60d4be..6460f6d 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSubSampleAssessmentServiceImpl.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSubSampleAssessmentServiceImpl.java @@ -1,10 +1,12 @@ package com.zt.plat.module.qms.business.bus.service; import cn.hutool.core.collection.CollUtil; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSubSampleAssessmentPageReqVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSubSampleAssessmentRespVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSubSampleAssessmentSaveReqVO; import org.springframework.stereotype.Service; import jakarta.annotation.Resource; import org.springframework.validation.annotation.Validated; -import org.springframework.transaction.annotation.Transactional; import java.util.*; import com.zt.plat.module.qms.business.bus.controller.vo.*; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSubSampleService.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSubSampleService.java index 6564d27..127c14b 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSubSampleService.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSubSampleService.java @@ -1,6 +1,8 @@ package com.zt.plat.module.qms.business.bus.service; import java.util.*; + +import com.zt.plat.module.qms.business.bus.controller.vo.*; import jakarta.validation.*; import com.zt.plat.framework.common.pojo.PageResult; import com.zt.plat.module.qms.business.bus.controller.vo.*; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSubSampleServiceImpl.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSubSampleServiceImpl.java index 7d3272a..70f8a9e 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSubSampleServiceImpl.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSubSampleServiceImpl.java @@ -1,12 +1,12 @@ package com.zt.plat.module.qms.business.bus.service; import cn.hutool.core.collection.CollUtil; +import com.zt.plat.module.qms.business.bus.controller.vo.*; import org.springframework.stereotype.Service; import jakarta.annotation.Resource; import jakarta.validation.Valid; import org.springframework.validation.annotation.Validated; -import org.springframework.transaction.annotation.Transactional; import java.util.*; import com.zt.plat.framework.common.pojo.PageResult; @@ -92,7 +92,7 @@ public class BusinessSubSampleServiceImpl implements BusinessSubSampleService { @Override public List getBusinessSubSampleList(@Valid BusinessSubSampleReqVO reqVO) { - return businessSubSampleMapper.selectlist(reqVO); + return businessSubSampleMapper.selectList(reqVO); } @Override diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessTeamAssessmentService.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessTeamAssessmentService.java new file mode 100644 index 0000000..7f96ccd --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessTeamAssessmentService.java @@ -0,0 +1,66 @@ +package com.zt.plat.module.qms.business.bus.service; + +import java.util.*; + +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessTeamAssessmentPageReqVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessTeamAssessmentRespVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessTeamAssessmentSaveReqVO; +import jakarta.validation.*; +import com.zt.plat.framework.common.pojo.PageResult; +import com.zt.plat.module.qms.business.bus.controller.vo.*; +import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessTeamAssessmentDO; +import com.zt.plat.framework.common.pojo.PageParam; + +/** + * 班组判定数据业务 Service 接口 + * + * @author 后台管理 + */ +public interface BusinessTeamAssessmentService { + + /** + * 创建班组判定数据业务 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + BusinessTeamAssessmentRespVO createBusinessTeamAssessment(@Valid BusinessTeamAssessmentSaveReqVO createReqVO); + + /** + * 更新班组判定数据业务 + * + * @param updateReqVO 更新信息 + */ + void updateBusinessTeamAssessment(@Valid BusinessTeamAssessmentSaveReqVO updateReqVO); + + /** + * 删除班组判定数据业务 + * + * @param id 编号 + */ + void deleteBusinessTeamAssessment(Long id); + + /** + * 批量删除班组判定数据业务 + * + * @param ids 编号 + */ + void deleteBusinessTeamAssessmentListByIds(List ids); + + /** + * 获得班组判定数据业务 + * + * @param id 编号 + * @return 班组判定数据业务 + */ + BusinessTeamAssessmentDO getBusinessTeamAssessment(Long id); + + /** + * 获得班组判定数据业务分页 + * + * @param pageReqVO 分页查询 + * @return 班组判定数据业务分页 + */ + PageResult getBusinessTeamAssessmentPage(BusinessTeamAssessmentPageReqVO pageReqVO); + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessTeamAssessmentServiceImpl.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessTeamAssessmentServiceImpl.java new file mode 100644 index 0000000..cedfd77 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessTeamAssessmentServiceImpl.java @@ -0,0 +1,93 @@ +package com.zt.plat.module.qms.business.bus.service; + +import cn.hutool.core.collection.CollUtil; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessTeamAssessmentPageReqVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessTeamAssessmentRespVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessTeamAssessmentSaveReqVO; +import org.springframework.stereotype.Service; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; + +import java.util.*; +import com.zt.plat.framework.common.pojo.PageResult; +import com.zt.plat.framework.common.pojo.PageParam; +import com.zt.plat.framework.common.util.object.BeanUtils; +import com.zt.plat.module.qms.business.bus.controller.vo.*; +import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessTeamAssessmentDO; +import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessTeamAssessmentMapper; + +import static com.zt.plat.framework.common.exception.util.ServiceExceptionUtil.exception; +import static com.zt.plat.framework.common.util.collection.CollectionUtils.convertList; +import static com.zt.plat.framework.common.util.collection.CollectionUtils.diffList; +import static com.zt.plat.module.qms.enums.ErrorCodeConstants.*; + +/** + * 班组判定数据业务 Service 实现类 + * + * @author 后台管理 + */ +@Service +@Validated +public class BusinessTeamAssessmentServiceImpl implements BusinessTeamAssessmentService { + + @Resource + private BusinessTeamAssessmentMapper businessTeamAssessmentMapper; + + @Override + public BusinessTeamAssessmentRespVO createBusinessTeamAssessment(BusinessTeamAssessmentSaveReqVO createReqVO) { + // 插入 + BusinessTeamAssessmentDO businessTeamAssessment = BeanUtils.toBean(createReqVO, BusinessTeamAssessmentDO.class); + businessTeamAssessmentMapper.insert(businessTeamAssessment); + // 返回 + return BeanUtils.toBean(businessTeamAssessment, BusinessTeamAssessmentRespVO.class); + } + + @Override + public void updateBusinessTeamAssessment(BusinessTeamAssessmentSaveReqVO updateReqVO) { + // 校验存在 + validateBusinessTeamAssessmentExists(updateReqVO.getId()); + // 更新 + BusinessTeamAssessmentDO updateObj = BeanUtils.toBean(updateReqVO, BusinessTeamAssessmentDO.class); + businessTeamAssessmentMapper.updateById(updateObj); + } + + @Override + public void deleteBusinessTeamAssessment(Long id) { + // 校验存在 + validateBusinessTeamAssessmentExists(id); + // 删除 + businessTeamAssessmentMapper.deleteById(id); + } + + @Override + public void deleteBusinessTeamAssessmentListByIds(List ids) { + // 校验存在 + validateBusinessTeamAssessmentExists(ids); + // 删除 + businessTeamAssessmentMapper.deleteByIds(ids); + } + + private void validateBusinessTeamAssessmentExists(List ids) { + List list = businessTeamAssessmentMapper.selectByIds(ids); + if (CollUtil.isEmpty(list) || list.size() != ids.size()) { + throw exception(BUSINESS_TEAM_ASSESSMENT_NOT_EXISTS); + } + } + + private void validateBusinessTeamAssessmentExists(Long id) { + if (businessTeamAssessmentMapper.selectById(id) == null) { + throw exception(BUSINESS_TEAM_ASSESSMENT_NOT_EXISTS); + } + } + + @Override + public BusinessTeamAssessmentDO getBusinessTeamAssessment(Long id) { + return businessTeamAssessmentMapper.selectById(id); + } + + @Override + public PageResult getBusinessTeamAssessmentPage(BusinessTeamAssessmentPageReqVO pageReqVO) { + return businessTeamAssessmentMapper.selectPage(pageReqVO); + } + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleAnalysisAuditService.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleAnalysisAuditService.java new file mode 100644 index 0000000..691c638 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleAnalysisAuditService.java @@ -0,0 +1,19 @@ +package com.zt.plat.module.qms.business.bus.service; + +/** + * SampleAnalysisAuditService + *

+ * 更新历史: + *

 版本         更新时间            更新者        更新内容
+ * V1.0 2025年9月29日 wxr Add
+ * Copyright (C) 云南志者竟成科技有限公司 + *

+ * @author 王兴荣 + * @version V1.0 + * @since 2025年9月29日 + */ +public interface SampleAnalysisAuditService { + + void crossAuditByByTaskId(Long businessAssayTaskId, String auditStatus); + +} diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleAnalysisAuditServiceImpl.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleAnalysisAuditServiceImpl.java new file mode 100644 index 0000000..61c2f02 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleAnalysisAuditServiceImpl.java @@ -0,0 +1,47 @@ +package com.zt.plat.module.qms.business.bus.service; + +import java.time.LocalDateTime; + +import org.springframework.stereotype.Service; + +import com.zt.plat.framework.security.core.util.SecurityFrameworkUtils; +import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayTaskDO; +import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessAssayTaskMapper; +import com.zt.plat.module.qms.enums.QmsCommonConstant; +import jakarta.annotation.Resource; + +/** + * SampleAnalysisAuditServiceImpl + *

+ * 更新历史: + *

 版本         更新时间            更新者        更新内容
+ * V1.0 2025年9月29日 wxr Add
+ * Copyright (C) 云南志者竟成科技有限公司 + *

+ * @author 王兴荣 + * @version V1.0 + * @since 2025年9月29日 + */ +@Service +public class SampleAnalysisAuditServiceImpl implements SampleAnalysisAuditService { + + @Resource + private BusinessAssayTaskMapper businessAssayTaskMapper; + + @Override + public void crossAuditByByTaskId(Long businessAssayTaskId, String auditStatus) { + + BusinessAssayTaskDO businessAssayTaskDO = businessAssayTaskMapper.selectById(businessAssayTaskId); + if (QmsCommonConstant.APPROVE.equals(auditStatus)) { + businessAssayTaskDO.setFinishStatus(QmsCommonConstant.COMPLETED); + businessAssayTaskDO.setFlowStatus(QmsCommonConstant.APPROVED); + businessAssayTaskDO.setReportTime(LocalDateTime.now()); + businessAssayTaskDO.setReportOperator(SecurityFrameworkUtils.getLoginUserNickname()); + } else { + businessAssayTaskDO.setFinishStatus(QmsCommonConstant.PENDING); + businessAssayTaskDO.setFlowStatus(QmsCommonConstant.NOT_START); + } + businessAssayTaskMapper.updateById(businessAssayTaskDO); + } + +} diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleAnalysisService.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleAnalysisService.java new file mode 100644 index 0000000..5f248c0 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleAnalysisService.java @@ -0,0 +1,39 @@ +package com.zt.plat.module.qms.business.bus.service; + +import com.zt.plat.module.qms.business.bus.controller.vo.*; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessAssayTaskAnalysisSampleProjectRespVO; + +/** + * SampleAnalysisService + *

+ * 更新历史: + *

 版本         更新时间            更新者        更新内容
+ * V1.0 2025年9月22日 wxr Add
+ * Copyright (C) 云南志者竟成科技有限公司 + *

+ * @author 王兴荣 + * @version V1.0 + * @since 2025年9月22日 + */ +public interface SampleAnalysisService { + + /** + * 根据分配任务单id获取任务分配单分析样品项目 + * @param businessAssayTaskId 任务分配单id + * @return + */ + BusinessAssayTaskAnalysisSampleProjectRespVO batchSampleAnalysisByTaskId(Long businessAssayTaskId); + + /** + * 批量保存任务单录入数据 + * @param vo + */ + void saveBatchSampleAnalysis(BusinessAssayTaskAnalysisSampleProjectRespVO vo); + + /** + * 根据任务单id提交分析数据 + * @param businessAssayTaskId 任务单id + */ + void submitSampleAnalysisByTaskId(Long businessAssayTaskId); + +} diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleAnalysisServiceImpl.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleAnalysisServiceImpl.java new file mode 100644 index 0000000..69457de --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleAnalysisServiceImpl.java @@ -0,0 +1,311 @@ +package com.zt.plat.module.qms.business.bus.service; + +import java.math.BigDecimal; +import java.math.RoundingMode; +import java.time.LocalDateTime; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +import org.apache.commons.collections4.map.HashedMap; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import com.alibaba.fastjson2.JSON; + +import com.zt.plat.framework.common.exception.ServiceException; +import com.zt.plat.framework.common.util.object.BeanUtils; +import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX; +import com.zt.plat.framework.security.core.util.SecurityFrameworkUtils; +import com.zt.plat.module.qms.business.bus.controller.vo.BatchSampleAnalysisColumnRespVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessAssayParameterDataReqVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessAssayProjectAndParameterRespVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessAssayProjectDataReqVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessAssayTaskAnalysisSampleProjectRespVO; +import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayParameterDataDO; +import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayProjectDataDO; +import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayTaskDO; +import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayTaskDataDO; +import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayTaskDetailDO; +import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessAssayParameterDataMapper; +import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessAssayProjectDataMapper; +import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessAssayTaskDataMapper; +import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessAssayTaskDetailMapper; +import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessAssayTaskMapper; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigAssayMethodProjectRangeRespVO; +import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigAssayMethodDO; +import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigAssayMethodProjectRangeDO; +import com.zt.plat.module.qms.business.config.dal.mapper.ConfigAssayMethodMapper; +import com.zt.plat.module.qms.business.config.dal.mapper.ConfigAssayMethodProjectRangeMapper; +import com.zt.plat.module.qms.common.data.dal.dataobject.DataCollectionDO; +import com.zt.plat.module.qms.common.data.service.DataCollectionService; +import jakarta.annotation.Resource; + +/** + * SampleAnalysisServiceImpl + *

+ * 更新历史: + *

 版本         更新时间            更新者        更新内容
+ * V1.0 2025年9月22日 wxr Add
+ * Copyright (C) 云南志者竟成科技有限公司 + *

+ * @author 王兴荣 + * @version V1.0 + * @since 2025年9月22日 + */ +@Service +public class SampleAnalysisServiceImpl implements SampleAnalysisService { + + @Resource + private ConfigAssayMethodMapper configAssayMethodMapper; + + @Resource + private ConfigAssayMethodProjectRangeMapper configAssayMethodProjectRangeMapper; + + @Resource + private BusinessAssayTaskMapper businessAssayTaskMapper; + + @Resource + private BusinessAssayTaskDetailMapper businessAssayTaskDetailMapper; + + @Resource + private BusinessAssayTaskDataMapper businessAssayTaskDataMapper; + + @Resource + private BusinessAssayProjectDataMapper businessAssayProjectDataMapper; + + @Resource + private BusinessAssayParameterDataMapper businessAssayParameterDataMapper; + + @Resource + private DataCollectionService dataCollectionService; + + @Override + public BusinessAssayTaskAnalysisSampleProjectRespVO batchSampleAnalysisByTaskId(Long businessAssayTaskId) { + BusinessAssayTaskAnalysisSampleProjectRespVO businessAssayTaskAnalysisSampleProjectRespVO = new BusinessAssayTaskAnalysisSampleProjectRespVO(); + BusinessAssayTaskDO businessAssayTaskDO = businessAssayTaskMapper.selectById(businessAssayTaskId); + if (businessAssayTaskDO == null) { + throw new ServiceException(500, "未找到任务分配单"); + } + businessAssayTaskAnalysisSampleProjectRespVO.setBusinessAssayTaskId(businessAssayTaskId); + businessAssayTaskAnalysisSampleProjectRespVO.setBusinessAssayTasNo(businessAssayTaskDO.getTaskNo()); + businessAssayTaskAnalysisSampleProjectRespVO.setBusinessAssayTasName(businessAssayTaskDO.getTaskName()); + businessAssayTaskAnalysisSampleProjectRespVO.setAssayOperator(businessAssayTaskDO.getAssayOperator()); + businessAssayTaskAnalysisSampleProjectRespVO.setAssayTime(businessAssayTaskDO.getAssayTime()); + businessAssayTaskAnalysisSampleProjectRespVO.setConfigAssayMethodId(businessAssayTaskDO.getConfigAssayMethodId()); + businessAssayTaskAnalysisSampleProjectRespVO.setDataCollectionId(businessAssayTaskDO.getFormDataCollectionId()); + businessAssayTaskAnalysisSampleProjectRespVO.setFormValue(businessAssayTaskDO.getFormValue()); + + ConfigAssayMethodDO configAssayMethodDO = configAssayMethodMapper.selectById(businessAssayTaskDO.getConfigAssayMethodId()); + businessAssayTaskAnalysisSampleProjectRespVO.setConfigAssayMethodName(configAssayMethodDO.getName()); + businessAssayTaskAnalysisSampleProjectRespVO.setDataCollectionKey(configAssayMethodDO.getDataCollectionKey()); + + //处理列 + List cloumns = new ArrayList<>(); + cloumns.add(new BatchSampleAnalysisColumnRespVO("sampleCode", "sampleCode", "样品编号", "200px", "200px", "string", null, null, null, null, false, null)); + cloumns.add(new BatchSampleAnalysisColumnRespVO("sampleName", "sampleName", "样品名称", "200px", "200px", "string", null, null, null, null, false, null)); + //cloumns.add(new BatchSampleAnalysisColumnRespVO("cupNumber", "cupNumber", "杯号", "200px", "200px", "string", null, null, null, null, true, null)); + + + List businessAssayTaskDetailList = businessAssayTaskDetailMapper.selectList(new LambdaQueryWrapperX().eq(BusinessAssayTaskDetailDO::getBusinessAssayTaskId, businessAssayTaskId)); + + List businessAssayTaskDataList = businessAssayTaskDataMapper.selectList(new LambdaQueryWrapperX().eq(BusinessAssayTaskDataDO::getBusinessAssayTaskId, businessAssayTaskId).eq(BusinessAssayTaskDataDO::getConfigAssayMethodId, businessAssayTaskDO.getConfigAssayMethodId())); + BusinessAssayTaskDataDO businessAssayTaskData = businessAssayTaskDataList.get(0); + + BusinessAssayProjectDataReqVO projectDataSearch = new BusinessAssayProjectDataReqVO(); + projectDataSearch.setBusinessAssayTaskDataId(businessAssayTaskData.getId()); + List projectAndParameterList = businessAssayProjectDataMapper.selectProjectAndParameterBy(projectDataSearch); + for (BusinessAssayProjectAndParameterRespVO ep : projectAndParameterList) { + String fieldIndex = "e" + ep.getDicId(); + String title = ep.getShowName() + (StringUtils.isBlank(ep.getUnit()) ? "" : "(" + ep.getUnit() + ")"); + boolean isEdit = StringUtils.isBlank(ep.getFormula()); + cloumns.add(new BatchSampleAnalysisColumnRespVO(fieldIndex, fieldIndex + ".value", title, "", "120px", ep.getDataType(), ep.getDecimalPosition(), null, ep.getFormula(), ep.getParamNo(), isEdit, ep.getUnit())); + + if (StringUtils.isNotEmpty(ep.getFormula())) { + BusinessAssayParameterDataReqVO parameterDataSearch = new BusinessAssayParameterDataReqVO(); + parameterDataSearch.setBusinessAssayProjectDataId(ep.getId()); + List plist = businessAssayParameterDataMapper.selectProjectAndParameterBy(parameterDataSearch); + for (BusinessAssayProjectAndParameterRespVO p : plist) { + fieldIndex = "p" + p.getDicId(); + title = p.getShowName() + (StringUtils.isBlank(p.getUnit()) ? "" : "(" + p.getUnit() + ")"); + isEdit = StringUtils.isBlank(p.getFormula()); + cloumns.add(new BatchSampleAnalysisColumnRespVO(fieldIndex, fieldIndex + ".value", title, "", "120px", p.getDataType(), p.getDecimalPosition(), null, p.getFormula(), p.getParamNo(), isEdit, p.getUnit())); + } + } + } + businessAssayTaskAnalysisSampleProjectRespVO.setColumns(cloumns); + + + //处理数据 + List> datas = new ArrayList<>(); + for (BusinessAssayTaskDataDO businessAssayTaskDataDO : businessAssayTaskDataList) { + BusinessAssayTaskDetailDO businessAssayTaskDetailDO = businessAssayTaskDetailList.stream().filter(f -> f.getSampleId().equals(businessAssayTaskDataDO.getBusinessSubSampleId())).findFirst().orElse(null); + + Map map = new HashedMap<>(); + map.put("businessAssayTaskDataId", businessAssayTaskDataDO.getId()); + map.put("businessAssayTaskId", businessAssayTaskDataDO.getBusinessAssayTaskId()); + map.put("businessSubSampleId", businessAssayTaskDataDO.getBusinessSubSampleId()); + map.put("businessSubParentSampleId", businessAssayTaskDataDO.getBusinessSubParentSampleId()); + map.put("configAssayMethodId", businessAssayTaskDataDO.getConfigAssayMethodId()); + map.put("businessAssayTaskDetailId", businessAssayTaskDetailDO.getId()); + map.put("sampleCode", businessAssayTaskDetailDO.getSampleCode()); + map.put("sampleName", businessAssayTaskDetailDO.getSampleName()); + + BusinessAssayProjectDataReqVO projectDataSearch2 = new BusinessAssayProjectDataReqVO(); + projectDataSearch2.setBusinessAssayTaskDataId(businessAssayTaskDataDO.getId()); + List projectAndParameterList2 = businessAssayProjectDataMapper.selectProjectAndParameterBy(projectDataSearch2); + for (BusinessAssayProjectAndParameterRespVO ep : projectAndParameterList2) { + map.put("e" + ep.getDicId(), ep); + if (StringUtils.isNotEmpty(ep.getFormula())) { + BusinessAssayParameterDataReqVO parameterDataSearch = new BusinessAssayParameterDataReqVO(); + parameterDataSearch.setBusinessAssayProjectDataId(ep.getId()); + List plist = businessAssayParameterDataMapper.selectProjectAndParameterBy(parameterDataSearch); + for (BusinessAssayProjectAndParameterRespVO p : plist) { + map.put("p" + p.getDicId(), p); + } + } + + } + datas.add(map); + } + + businessAssayTaskAnalysisSampleProjectRespVO.setDatas(datas); + + //查询区间范围 + List configAssayMethodProjectRangeDOList = configAssayMethodProjectRangeMapper.selectList(new LambdaQueryWrapperX().eq(ConfigAssayMethodProjectRangeDO::getConfigAssayMethodId, businessAssayTaskDO.getConfigAssayMethodId())); + businessAssayTaskAnalysisSampleProjectRespVO.setConfigAssayMethodProjectRangeList(BeanUtils.toBean(configAssayMethodProjectRangeDOList, ConfigAssayMethodProjectRangeRespVO.class)); + + return businessAssayTaskAnalysisSampleProjectRespVO; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void saveBatchSampleAnalysis(BusinessAssayTaskAnalysisSampleProjectRespVO vo) { + BusinessAssayTaskDO businessAssayTaskDO = businessAssayTaskMapper.selectById(vo.getBusinessAssayTaskId()); + businessAssayTaskDO.setFormValue(vo.getFormValue()); + businessAssayTaskDO.setAssayTime(vo.getAssayTime()); + + //赋值数据集id + if (vo.getDataCollectionId() == null) { + ConfigAssayMethodDO configAssayMethodDO = configAssayMethodMapper.selectById(businessAssayTaskDO.getConfigAssayMethodId()); + DataCollectionDO dataCollectionDO = dataCollectionService.getLatestDataCollectionByKey(configAssayMethodDO.getDataCollectionKey()); + businessAssayTaskDO.setFormDataCollectionId(dataCollectionDO.getId()); + } else { + businessAssayTaskDO.setFormDataCollectionId(vo.getDataCollectionId()); + } + + +// List businessAssayTaskDetailList = businessAssayTaskDetailMapper.selectList(new LambdaQueryWrapperX().eq(BusinessAssayTaskDetailDO::getBusinessAssayTaskId, vo.getBusinessAssayTaskId())); + + List businessAssayTaskDataList = businessAssayTaskDataMapper.selectList(new LambdaQueryWrapperX().eq(BusinessAssayTaskDataDO::getBusinessAssayTaskId, vo.getBusinessAssayTaskId()).eq(BusinessAssayTaskDataDO::getConfigAssayMethodId, businessAssayTaskDO.getConfigAssayMethodId())); + + List businessAssayTaskDataIdList = businessAssayTaskDataList.stream().map(m -> m.getId()).collect(Collectors.toList()); + + List businessAssayProjectDataList = businessAssayProjectDataMapper.selectList(new LambdaQueryWrapperX().in(BusinessAssayProjectDataDO::getBusinessAssayTaskDataId, businessAssayTaskDataIdList)); + List businessAssayProjectDataIdList = businessAssayProjectDataList.stream().map(m -> m.getId()).collect(Collectors.toList()); + + List businessAssayParameterDataList = businessAssayParameterDataMapper.selectList(new LambdaQueryWrapperX().in(BusinessAssayParameterDataDO::getBusinessAssayProjectDataId, businessAssayProjectDataIdList)); + + + List> datas = vo.getDatas(); + for (Map map : datas) { +// Long businessAssayTaskDataId = (Long) map.get("businessAssayTaskDataId"); +// Long businessAssayTaskId = (Long) map.get("businessAssayTaskId"); +// Long businessSubSampleId = (Long) map.get("businessSubSampleId"); +// Long businessSubParentSampleId = (Long) map.get("businessSubParentSampleId"); +// Long configAssayMethodId = (Long) map.get("configAssayMethodId"); +// Long businessAssayTaskDetailId = (Long) map.get("businessAssayTaskDetailId"); +// String sampleCode = map.get("sampleCode"); +// String sampleName = map.get("sampleName"); + + List listBusinessAssayProjectAndParameter = new ArrayList<>(); + for (Map.Entry entry : map.entrySet()) { +// String key = entry.getKey(); + Object val = entry.getValue(); + if (val instanceof String) { + continue; + } + BusinessAssayProjectAndParameterRespVO businessAssayProjectAndParameter = JSON.parseObject(JSON.toJSONString(val), BusinessAssayProjectAndParameterRespVO.class); + listBusinessAssayProjectAndParameter.add(businessAssayProjectAndParameter); + } + + //BusinessAssayTaskDataDO businessAssayTaskDataDO = businessAssayTaskDataList.stream().filter(f -> f.getId().equals(businessAssayTaskDataId)).findFirst().orElse(null); + + + for (BusinessAssayProjectAndParameterRespVO pap : listBusinessAssayProjectAndParameter) { + if ("project".equals(pap.getType())) { + BusinessAssayProjectDataDO businessAssayProjectDataDO = businessAssayProjectDataList.stream().filter(f -> f.getId().equals(pap.getId())).findFirst().orElse(null); + if (StringUtils.isNotBlank(pap.getValue())) { + String dataType = pap.getDataType();//string-字符串,int-整数,decimal-小数,date-日期,datetime-时间 + switch (dataType) { + case "int": + case "date": + case "datetime": + case "string": + businessAssayProjectDataDO.setValue(pap.getValue()); + businessAssayProjectDataDO.setRemark(pap.getShowName() + ": " + pap.getValue()); + break; + case "decimal": + BigDecimal value = new BigDecimal(pap.getValue()); + value = value.setScale(pap.getDecimalPosition(), RoundingMode.HALF_EVEN); + businessAssayProjectDataDO.setValue(value.toPlainString()); + businessAssayProjectDataDO.setRemark(pap.getShowName() + ": " + value.toPlainString()); + break; + default: + throw new IllegalArgumentException("Unexpected value: " + dataType); + } + + + } else { + businessAssayProjectDataDO.setValue(null); + } + + + } else if ("parameter".equals(pap.getType())) { + BusinessAssayParameterDataDO businessAssayParameterDataDO = businessAssayParameterDataList.stream().filter(f -> f.getId().equals(pap.getId())).findFirst().orElse(null); + if (StringUtils.isNotBlank(pap.getValue())) { + String dataType = pap.getDataType();//string-字符串,int-整数,decimal-小数,date-日期,datetime-时间 + switch (dataType) { + case "int": + case "date": + case "datetime": + case "string": + businessAssayParameterDataDO.setValue(pap.getValue()); + businessAssayParameterDataDO.setRemark(pap.getShowName() + ": " + pap.getValue()); + break; + case "decimal": + BigDecimal value = new BigDecimal(pap.getValue()); + value = value.setScale(pap.getDecimalPosition(), RoundingMode.HALF_EVEN); + businessAssayParameterDataDO.setValue(value.toPlainString()); + businessAssayParameterDataDO.setRemark(pap.getShowName() + ": " + value.toPlainString()); + break; + default: + throw new IllegalArgumentException("Unexpected value: " + dataType); + } + } else { + businessAssayParameterDataDO.setValue(null); + } + } + } + + } + + + + businessAssayTaskMapper.updateById(businessAssayTaskDO); + businessAssayProjectDataMapper.updateBatch(businessAssayProjectDataList); + businessAssayParameterDataMapper.updateBatch(businessAssayParameterDataList); + } + + @Override + public void submitSampleAnalysisByTaskId(Long businessAssayTaskId) { + String loginUserNickname = SecurityFrameworkUtils.getLoginUserNickname(); + BusinessAssayTaskDO businessAssayTaskDO = businessAssayTaskMapper.selectById(businessAssayTaskId); + businessAssayTaskDO.setReportOperator(loginUserNickname); + businessAssayTaskDO.setReportTime(LocalDateTime.now()); + businessAssayTaskMapper.updateById(businessAssayTaskDO); + } + +} diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleTaskAssignService.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleTaskAssignService.java new file mode 100644 index 0000000..98ab959 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleTaskAssignService.java @@ -0,0 +1,43 @@ +package com.zt.plat.module.qms.business.bus.service; + +import java.util.List; + +import com.yomahub.liteflow.flow.LiteflowResponse; + +import com.zt.plat.module.qms.business.bus.liteflow.param.SampleTaskAssignMethodParam; +import com.zt.plat.module.qms.business.bus.liteflow.param.SampleTaskAssignSampleParam; +import com.zt.plat.module.system.api.user.dto.AdminUserRespDTO; + +public interface SampleTaskAssignService { + + /** + * 获取分配用户列表 + * @return + */ + List getAssignUserList(); + + /** + * 按方法分配任务 + * @param param + */ + LiteflowResponse methodAssign(SampleTaskAssignMethodParam param); + + /** + * 按样品分配任务 + * @param param + */ + LiteflowResponse sampleAssign(SampleTaskAssignSampleParam param); + + /** + * 提交任务单 + * @param id + */ + void submitAssign(Long id); + + /** + * 作废任务单 + * @param id + */ + void voidAssign(Long id); + +} diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleTaskAssignServiceImpl.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleTaskAssignServiceImpl.java new file mode 100644 index 0000000..44b9ee8 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleTaskAssignServiceImpl.java @@ -0,0 +1,143 @@ +package com.zt.plat.module.qms.business.bus.service; + +import java.time.LocalDateTime; +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import com.yomahub.liteflow.core.FlowExecutor; +import com.yomahub.liteflow.flow.LiteflowResponse; + +import cn.hutool.core.collection.CollUtil; +import com.zt.plat.framework.common.exception.ServiceException; +import com.zt.plat.framework.common.pojo.CommonResult; +import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX; +import com.zt.plat.framework.security.core.LoginUser; +import com.zt.plat.framework.security.core.util.SecurityFrameworkUtils; +import com.zt.plat.framework.tenant.core.context.TenantContextHolder; +import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayTaskDO; +import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayTaskDataDO; +import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessAssayTaskDataMapper; +import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessAssayTaskDetailMapper; +import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessAssayTaskMapper; +import com.zt.plat.module.qms.business.bus.liteflow.param.SampleTaskAssignMethodParam; +import com.zt.plat.module.qms.business.bus.liteflow.param.SampleTaskAssignSampleParam; +import com.zt.plat.module.qms.business.bus.liteflow.slot.SampleTaskAssignContext; +import com.zt.plat.module.qms.enums.QmsCommonConstant; +import com.zt.plat.module.system.api.dept.DeptApi; +import com.zt.plat.module.system.api.dept.dto.DeptRespDTO; +import com.zt.plat.module.system.api.user.AdminUserApi; +import com.zt.plat.module.system.api.user.dto.AdminUserRespDTO; +import jakarta.annotation.Resource; +import lombok.extern.slf4j.Slf4j; + +@Slf4j +@Service +public class SampleTaskAssignServiceImpl implements SampleTaskAssignService { + + @Resource + private FlowExecutor flowExecutor; + + @Resource + private AdminUserApi adminUserApi; + + @Resource + private DeptApi deptApi; + + @Resource + private BusinessAssayTaskMapper businessAssayTaskMapper; + + @Resource + private BusinessAssayTaskDetailMapper businessAssayTaskDetailMapper; + + @Resource + private BusinessAssayTaskDataMapper businessAssayTaskDataMapper; + + @Override + public List getAssignUserList() { + //当前登录用户 + LoginUser loginUser = SecurityFrameworkUtils.getLoginUser(); + Long visitDeptId = loginUser.getVisitDeptId(); + //当前部门及子部门id + List deptIdList = new ArrayList<>(); + deptIdList.add(visitDeptId); + //获取子部门 + CommonResult> childDeptListResult = deptApi.getChildDeptList(visitDeptId); + if (childDeptListResult.isSuccess()) { + List childDeptList = childDeptListResult.getData(); + if (CollUtil.isNotEmpty(childDeptList)) { + List childDeptIdList = childDeptList.stream().map(m -> m.getId()).collect(Collectors.toList()); + deptIdList.addAll(childDeptIdList); + } + } + CommonResult> userListResult = adminUserApi.getUserListByDeptIds(deptIdList); + return userListResult.getCheckedData(); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public LiteflowResponse methodAssign(SampleTaskAssignMethodParam param) { + if (param.getConfigAssayMethodId() == null) { + throw new ServiceException(500, "无分析方法"); + } + if (CollUtil.isEmpty(param.getAssignAssayUserList())) { + throw new ServiceException(500, "无任务分配人员"); + } + Long tenantId = TenantContextHolder.getRequiredTenantId(); + LiteflowResponse response = flowExecutor.execute2Resp("sampleTaskAssignChain" + tenantId, param, SampleTaskAssignContext.class); + if (!response.isSuccess()){ + log.error("按方法分配任务失败", response.getCause()); + throw new ServiceException(500, response.getCause().getMessage()); + } + return response; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public LiteflowResponse sampleAssign(SampleTaskAssignSampleParam param) { + if (param.getAssignAssayUser() == null) { + throw new ServiceException(500, "无任务分配人员"); + } + if (CollUtil.isEmpty(param.getAssignSampleIdList())) { + throw new ServiceException(500, "无任务分配样品"); + } + Long tenantId = TenantContextHolder.getRequiredTenantId(); + LiteflowResponse response = flowExecutor.execute2Resp("sampleTaskAssignChain" + tenantId, param, SampleTaskAssignContext.class); + if (!response.isSuccess()){ + log.error("按样品分配任务失败", response.getCause()); + throw new ServiceException(500, response.getCause().getMessage()); + } + return response; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void submitAssign(Long id) { + BusinessAssayTaskDO businessAssayTaskDO = businessAssayTaskMapper.selectById(id); + businessAssayTaskDO.setTaskStatus(QmsCommonConstant.SUBMIT); + businessAssayTaskDO.setSubmitTime(LocalDateTime.now()); + businessAssayTaskMapper.updateById(businessAssayTaskDO); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void voidAssign(Long id) { + BusinessAssayTaskDO businessAssayTaskDO = businessAssayTaskMapper.selectById(id); + if (QmsCommonConstant.SUBMIT.equals(businessAssayTaskDO.getTaskStatus())) { + throw new ServiceException(500, "任务已提交,不允许作废"); + } + businessAssayTaskDO.setTaskStatus(QmsCommonConstant.VOID); + + List businessAssayTaskDataDOList = businessAssayTaskDataMapper.selectList(new LambdaQueryWrapperX().eq(BusinessAssayTaskDataDO::getBusinessAssayTaskId, businessAssayTaskDO.getId())); + for (BusinessAssayTaskDataDO businessAssayTaskDataDO : businessAssayTaskDataDOList) { + businessAssayTaskDataDO.setAssayOperator(null); + businessAssayTaskDataDO.setAssignTaskTime(null); + businessAssayTaskDataDO.setIsAssignTasked(0); + } + businessAssayTaskMapper.updateById(businessAssayTaskDO); + businessAssayTaskDataMapper.updateBatch(businessAssayTaskDataDOList); + } +} diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/admin/ConfigAssayMethodController.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/admin/ConfigAssayMethodController.java index 244ec1b..2868e78 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/admin/ConfigAssayMethodController.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/admin/ConfigAssayMethodController.java @@ -1,5 +1,6 @@ package com.zt.plat.module.qms.business.config.controller.admin; +import com.zt.plat.module.qms.business.config.controller.vo.*; import org.springframework.web.bind.annotation.*; import jakarta.annotation.Resource; import org.springframework.validation.annotation.Validated; @@ -10,7 +11,6 @@ import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.Operation; -import jakarta.validation.constraints.*; import jakarta.validation.*; import jakarta.servlet.http.*; import java.util.*; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/admin/ConfigAssayMethodProjectController.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/admin/ConfigAssayMethodProjectController.java index a4438a6..9bebe2b 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/admin/ConfigAssayMethodProjectController.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/admin/ConfigAssayMethodProjectController.java @@ -1,5 +1,8 @@ package com.zt.plat.module.qms.business.config.controller.admin; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigAssayMethodProjectPageReqVO; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigAssayMethodProjectRespVO; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigAssayMethodProjectSaveReqVO; import org.springframework.web.bind.annotation.*; import jakarta.annotation.Resource; import org.springframework.validation.annotation.Validated; @@ -10,7 +13,6 @@ import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.Operation; -import jakarta.validation.constraints.*; import jakarta.validation.*; import jakarta.servlet.http.*; import java.util.*; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/admin/ConfigAssayMethodProjectParameterController.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/admin/ConfigAssayMethodProjectParameterController.java index 48a7171..c358421 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/admin/ConfigAssayMethodProjectParameterController.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/admin/ConfigAssayMethodProjectParameterController.java @@ -1,5 +1,8 @@ package com.zt.plat.module.qms.business.config.controller.admin; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigAssayMethodProjectParameterPageReqVO; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigAssayMethodProjectParameterRespVO; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigAssayMethodProjectParameterSaveReqVO; import org.springframework.web.bind.annotation.*; import jakarta.annotation.Resource; import org.springframework.validation.annotation.Validated; @@ -10,7 +13,6 @@ import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.Operation; -import jakarta.validation.constraints.*; import jakarta.validation.*; import jakarta.servlet.http.*; import java.util.*; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/admin/ConfigAssayMethodProjectRangeController.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/admin/ConfigAssayMethodProjectRangeController.java new file mode 100644 index 0000000..6ce041e --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/admin/ConfigAssayMethodProjectRangeController.java @@ -0,0 +1,108 @@ +package com.zt.plat.module.qms.business.config.controller.admin; + +import com.zt.plat.module.qms.business.config.controller.vo.ConfigAssayMethodProjectRangePageReqVO; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigAssayMethodProjectRangeRespVO; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigAssayMethodProjectRangeSaveReqVO; +import org.springframework.web.bind.annotation.*; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.security.access.prepost.PreAuthorize; +import com.zt.plat.framework.business.interceptor.BusinessControllerMarker; + +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Operation; + +import jakarta.validation.*; +import jakarta.servlet.http.*; +import java.util.*; +import java.io.IOException; + +import com.zt.plat.framework.common.pojo.vo.BatchDeleteReqVO; +import com.zt.plat.framework.common.pojo.PageParam; +import com.zt.plat.framework.common.pojo.PageResult; +import com.zt.plat.framework.common.pojo.CommonResult; +import com.zt.plat.framework.common.util.object.BeanUtils; +import static com.zt.plat.framework.common.pojo.CommonResult.success; + +import com.zt.plat.framework.excel.core.util.ExcelUtils; +import com.zt.plat.module.qms.business.config.controller.vo.*; +import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigAssayMethodProjectRangeDO; +import com.zt.plat.module.qms.business.config.service.ConfigAssayMethodProjectRangeService; +import com.zt.plat.framework.apilog.core.annotation.ApiAccessLog; +import static com.zt.plat.framework.apilog.core.enums.OperateTypeEnum.*; + +@Tag(name = "管理后台 - 检测方法分析项目区间") +@RestController +@RequestMapping("/qms/config-assay-method-project-range") +@Validated +public class ConfigAssayMethodProjectRangeController implements BusinessControllerMarker { + + + @Resource + private ConfigAssayMethodProjectRangeService configAssayMethodProjectRangeService; + + @PostMapping("/create") + @Operation(summary = "创建检测方法分析项目区间") + @PreAuthorize("@ss.hasPermission('qms:config-assay-method-project-range:create')") + public CommonResult createConfigAssayMethodProjectRange(@Valid @RequestBody ConfigAssayMethodProjectRangeSaveReqVO createReqVO) { + return success(configAssayMethodProjectRangeService.createConfigAssayMethodProjectRange(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新检测方法分析项目区间") + @PreAuthorize("@ss.hasPermission('qms:config-assay-method-project-range:update')") + public CommonResult updateConfigAssayMethodProjectRange(@Valid @RequestBody ConfigAssayMethodProjectRangeSaveReqVO updateReqVO) { + configAssayMethodProjectRangeService.updateConfigAssayMethodProjectRange(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除检测方法分析项目区间") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('qms:config-assay-method-project-range:delete')") + public CommonResult deleteConfigAssayMethodProjectRange(@RequestParam("id") Long id) { + configAssayMethodProjectRangeService.deleteConfigAssayMethodProjectRange(id); + return success(true); + } + + @DeleteMapping("/delete-list") + @Parameter(name = "ids", description = "编号", required = true) + @Operation(summary = "批量删除检测方法分析项目区间") + @PreAuthorize("@ss.hasPermission('qms:config-assay-method-project-range:delete')") + public CommonResult deleteConfigAssayMethodProjectRangeList(@RequestBody BatchDeleteReqVO req) { + configAssayMethodProjectRangeService.deleteConfigAssayMethodProjectRangeListByIds(req.getIds()); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得检测方法分析项目区间") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('qms:config-assay-method-project-range:query')") + public CommonResult getConfigAssayMethodProjectRange(@RequestParam("id") Long id) { + ConfigAssayMethodProjectRangeDO configAssayMethodProjectRange = configAssayMethodProjectRangeService.getConfigAssayMethodProjectRange(id); + return success(BeanUtils.toBean(configAssayMethodProjectRange, ConfigAssayMethodProjectRangeRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得检测方法分析项目区间分页") + @PreAuthorize("@ss.hasPermission('qms:config-assay-method-project-range:query')") + public CommonResult> getConfigAssayMethodProjectRangePage(@Valid ConfigAssayMethodProjectRangePageReqVO pageReqVO) { + PageResult pageResult = configAssayMethodProjectRangeService.getConfigAssayMethodProjectRangePage(pageReqVO); + return success(BeanUtils.toBean(pageResult, ConfigAssayMethodProjectRangeRespVO.class)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出检测方法分析项目区间 Excel") + @PreAuthorize("@ss.hasPermission('qms:config-assay-method-project-range:export')") + @ApiAccessLog(operateType = EXPORT) + public void exportConfigAssayMethodProjectRangeExcel(@Valid ConfigAssayMethodProjectRangePageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = configAssayMethodProjectRangeService.getConfigAssayMethodProjectRangePage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "检测方法分析项目区间.xls", "数据", ConfigAssayMethodProjectRangeRespVO.class, + BeanUtils.toBean(list, ConfigAssayMethodProjectRangeRespVO.class)); + } + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/admin/ConfigBaseSampleController.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/admin/ConfigBaseSampleController.java index 5c5a82f..ec603d9 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/admin/ConfigBaseSampleController.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/admin/ConfigBaseSampleController.java @@ -1,5 +1,8 @@ package com.zt.plat.module.qms.business.config.controller.admin; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigBaseSamplePageReqVO; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigBaseSampleRespVO; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigBaseSampleSaveReqVO; import org.springframework.web.bind.annotation.*; import jakarta.annotation.Resource; import org.springframework.validation.annotation.Validated; @@ -10,7 +13,6 @@ import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.Operation; -import jakarta.validation.constraints.*; import jakarta.validation.*; import jakarta.servlet.http.*; import java.util.*; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/admin/ConfigDocumentTypeController.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/admin/ConfigDocumentTypeController.java new file mode 100644 index 0000000..ef5f87d --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/admin/ConfigDocumentTypeController.java @@ -0,0 +1,110 @@ +package com.zt.plat.module.qms.business.config.controller.admin; + +import com.zt.plat.module.qms.business.config.controller.vo.ConfigDocumentTypePageReqVO; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigDocumentTypeRespVO; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigDocumentTypeSaveReqVO; +import org.springframework.web.bind.annotation.*; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.security.access.prepost.PreAuthorize; +import com.zt.plat.framework.business.interceptor.BusinessControllerMarker; + +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Operation; + +import jakarta.validation.*; +import jakarta.servlet.http.*; +import java.util.*; +import java.io.IOException; + +import com.zt.plat.framework.common.pojo.vo.BatchDeleteReqVO; +import com.zt.plat.framework.common.pojo.PageParam; +import com.zt.plat.framework.common.pojo.PageResult; +import com.zt.plat.framework.common.pojo.CommonResult; +import com.zt.plat.framework.common.util.object.BeanUtils; +import static com.zt.plat.framework.common.pojo.CommonResult.success; + +import com.zt.plat.framework.excel.core.util.ExcelUtils; + +import com.zt.plat.framework.apilog.core.annotation.ApiAccessLog; +import static com.zt.plat.framework.apilog.core.enums.OperateTypeEnum.*; + +import com.zt.plat.module.qms.business.config.controller.vo.*; +import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigDocumentTypeDO; +import com.zt.plat.module.qms.business.config.service.ConfigDocumentTypeService; + +@Tag(name = "管理后台 - 报告类型配置") +@RestController +@RequestMapping("/qms/config-document-type") +@Validated +public class ConfigDocumentTypeController implements BusinessControllerMarker { + + + @Resource + private ConfigDocumentTypeService configDocumentTypeService; + + @PostMapping("/create") + @Operation(summary = "创建报告类型配置") + @PreAuthorize("@ss.hasPermission('qms:config-document-type:create')") + public CommonResult createConfigDocumentType(@Valid @RequestBody ConfigDocumentTypeSaveReqVO createReqVO) { + return success(configDocumentTypeService.createConfigDocumentType(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新报告类型配置") + @PreAuthorize("@ss.hasPermission('qms:config-document-type:update')") + public CommonResult updateConfigDocumentType(@Valid @RequestBody ConfigDocumentTypeSaveReqVO updateReqVO) { + configDocumentTypeService.updateConfigDocumentType(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除报告类型配置") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('qms:config-document-type:delete')") + public CommonResult deleteConfigDocumentType(@RequestParam("id") Long id) { + configDocumentTypeService.deleteConfigDocumentType(id); + return success(true); + } + + @DeleteMapping("/delete-list") + @Parameter(name = "ids", description = "编号", required = true) + @Operation(summary = "批量删除报告类型配置") + @PreAuthorize("@ss.hasPermission('qms:config-document-type:delete')") + public CommonResult deleteConfigDocumentTypeList(@RequestBody BatchDeleteReqVO req) { + configDocumentTypeService.deleteConfigDocumentTypeListByIds(req.getIds()); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得报告类型配置") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('qms:config-document-type:query')") + public CommonResult getConfigDocumentType(@RequestParam("id") Long id) { + ConfigDocumentTypeDO configDocumentType = configDocumentTypeService.getConfigDocumentType(id); + return success(BeanUtils.toBean(configDocumentType, ConfigDocumentTypeRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得报告类型配置分页") + @PreAuthorize("@ss.hasPermission('qms:config-document-type:query')") + public CommonResult> getConfigDocumentTypePage(@Valid ConfigDocumentTypePageReqVO pageReqVO) { + PageResult pageResult = configDocumentTypeService.getConfigDocumentTypePage(pageReqVO); + return success(BeanUtils.toBean(pageResult, ConfigDocumentTypeRespVO.class)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出报告类型配置 Excel") + @PreAuthorize("@ss.hasPermission('qms:config-document-type:export')") + @ApiAccessLog(operateType = EXPORT) + public void exportConfigDocumentTypeExcel(@Valid ConfigDocumentTypePageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = configDocumentTypeService.getConfigDocumentTypePage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "报告类型配置.xls", "数据", ConfigDocumentTypeRespVO.class, + BeanUtils.toBean(list, ConfigDocumentTypeRespVO.class)); + } + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/admin/ConfigEntrustSourceController.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/admin/ConfigEntrustSourceController.java index c0be048..8b14c96 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/admin/ConfigEntrustSourceController.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/admin/ConfigEntrustSourceController.java @@ -1,5 +1,9 @@ package com.zt.plat.module.qms.business.config.controller.admin; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigEntrustSourcePageReqVO; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigEntrustSourceReqVO; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigEntrustSourceRespVO; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigEntrustSourceSaveReqVO; import org.springframework.web.bind.annotation.*; import jakarta.annotation.Resource; import org.springframework.validation.annotation.Validated; @@ -10,7 +14,6 @@ import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.Operation; -import jakarta.validation.constraints.*; import jakarta.validation.*; import jakarta.servlet.http.*; import java.util.*; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/admin/ConfigProjectController.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/admin/ConfigProjectController.java index a846ea6..22cee8d 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/admin/ConfigProjectController.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/admin/ConfigProjectController.java @@ -1,5 +1,8 @@ package com.zt.plat.module.qms.business.config.controller.admin; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigProjectPageReqVO; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigProjectRespVO; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigProjectSaveReqVO; import org.springframework.web.bind.annotation.*; import jakarta.annotation.Resource; import org.springframework.validation.annotation.Validated; @@ -10,7 +13,6 @@ import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.Operation; -import jakarta.validation.constraints.*; import jakarta.validation.*; import jakarta.servlet.http.*; import java.util.*; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/admin/ConfigReportFieldController.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/admin/ConfigReportFieldController.java index 38c9dd8..8dd6b5a 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/admin/ConfigReportFieldController.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/admin/ConfigReportFieldController.java @@ -1,5 +1,8 @@ package com.zt.plat.module.qms.business.config.controller.admin; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigReportFieldPageReqVO; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigReportFieldRespVO; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigReportFieldSaveReqVO; import org.springframework.web.bind.annotation.*; import jakarta.annotation.Resource; import org.springframework.validation.annotation.Validated; @@ -10,7 +13,6 @@ import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.Operation; -import jakarta.validation.constraints.*; import jakarta.validation.*; import jakarta.servlet.http.*; import java.util.*; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/admin/ConfigReportTemplateController.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/admin/ConfigReportTemplateController.java index f0546ee..d8b7a72 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/admin/ConfigReportTemplateController.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/admin/ConfigReportTemplateController.java @@ -64,6 +64,9 @@ import static com.zt.plat.framework.apilog.core.enums.OperateTypeEnum.*; import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigReportTemplateDO; import com.zt.plat.module.qms.enums.ErrorCodeConstants; +import com.zt.plat.module.qms.framework.gridreport.GridReport; +import com.zt.plat.module.qms.framework.gridreport.PdfHelper; +import com.zt.plat.module.qms.framework.gridreport.exception.GridReportException; import com.zt.plat.module.qms.business.config.service.ConfigReportTemplateService; import gridreport.jni.BinaryObject; import gridreport.jni.ExportImageType; @@ -77,6 +80,11 @@ import gridreport.jni.Report; @Slf4j public class ConfigReportTemplateController implements BusinessControllerMarker { + public static final String WR_PREFIX = "_WR_"; + + @Resource + private GridReport gridReport; + @Resource private SecurityProperties securityProperties; @@ -161,6 +169,376 @@ public class ConfigReportTemplateController implements BusinessControllerMarker ExcelUtils.write(response, "报表模版配置.xls", "数据", ConfigReportTemplateRespVO.class, BeanUtils.toBean(list, ConfigReportTemplateRespVO.class)); } + + /*** + * 预览报表 + * @param reportId + * @param reportKey + * @param dataUrl + * @param isCrypto + * @param type + * @return + * @throws Exception + */ + @GetMapping("/preview") + @Operation(summary = "预览报表") + public ResponseEntity preview(Long reportId, String reportKey, String dataUrl, Boolean isCrypto, String type) throws Exception { + HttpServletRequest request = ServletUtils.getRequest(); + ConfigReportTemplateDO gridppReportFile = null; + if (reportId != null) { + gridppReportFile = configReportTemplateService.getConfigReportTemplate(reportId); + } else if (StrUtil.isNotBlank(reportKey)) { + gridppReportFile = configReportTemplateService.getConfigReportTemplateByKey(reportKey); + } + if (ObjectUtil.isEmpty(gridppReportFile)) { + throw new ServiceException(ErrorCodeConstants.CONFIG_REPORT_TEMPLATE_NOT_EXISTS); + } + String reportData = StringEscapeUtils.unescapeHtml4(gridppReportFile.getData()); + + //报表参数 + Map reportParams = new HashMap<>(); + //获取当前用户姓名 + LoginUser user = SecurityFrameworkUtils.getLoginUser(); + String realName = ""; + if (user != null) { + realName = SecurityFrameworkUtils.getLoginUserNickname(); + } + reportParams.put("operName", realName); + + if (StrUtil.isNotBlank(dataUrl)) { + log.info("url:" + dataUrl); + dataUrl = StringEscapeUtils.unescapeHtml4(dataUrl); + log.info("url:" + dataUrl); + //处理url参数 + if(dataUrl.contains("?")) { + String urlParam = dataUrl.split("\\?")[1]; + String[] urlVks = urlParam.split("&"); + for (int i = 0; i < urlVks.length; i++) { + String vk = urlVks[i]; + if (StrUtil.isNotBlank(vk)) { + String[] vkSplit = vk.split("="); + if(vkSplit.length == 2){ + reportParams.put(vkSplit[0], vkSplit[1]); + } + } + } + } + + Map headers = new HashMap<>(); + String token = SecurityFrameworkUtils.obtainAuthorization(request, + securityProperties.getTokenHeader(), securityProperties.getTokenParameter()); + headers.put(securityProperties.getTokenHeader(), token); + HttpResponse res = HttpRequest.get(dataUrl) + .addHeaders(headers) + .setConnectionTimeout(60 * 1000) + .setReadTimeout(120 * 1000) + .execute(); + if (res.getStatus() != 200) { + log.error("报表数据,网络请求错误!", res.body()); + throw new GridReportException("报表数据,网络请求错误!"); + } + String body = res.body(); + CommonResult dataR = JSON.parseObject(body, CommonResult.class); + if (dataR != null && dataR.getCode() == 200) { + if (ArrayUtil.isArray(dataR.getData()) || dataR.getData() instanceof Collection) { + reportData = JSON.toJSONString(dataR); + } else { + reportData = JSON.toJSONString(dataR.getData()); + } + } else { + log.error("获取报表数据错误!", dataR.getMsg()); + log.error("报表数据:" + reportData); + throw new GridReportException("获取报表数据错误!"); + } + } + + + BinaryObject binaryObject = gridReport.genReport(gridppReportFile.getContent(), reportData, reportParams, ExportType.valueOf("OFD".equals(type.toUpperCase()) ? "PDF" : type.toUpperCase())); + MediaType mediaType = null; + byte[] docBytes = null; + //文件扩展名 + String fileExtName = type.toLowerCase(); + switch (type.toUpperCase()) { + case "PDF": + mediaType = MediaType.APPLICATION_PDF; + docBytes = PdfHelper.modifyDocInfo(binaryObject.getDataBuf()); + break; + case "OFD": + mediaType = MediaType.APPLICATION_OCTET_STREAM; + docBytes = PdfHelper.modifyDocInfo(binaryObject.getDataBuf()); + break; + case "RTF": + fileExtName = "doc"; + mediaType = MediaType.APPLICATION_OCTET_STREAM; + docBytes = binaryObject.getDataBuf(); + break; + default: + mediaType = MediaType.APPLICATION_OCTET_STREAM; + docBytes = binaryObject.getDataBuf(); + break; + } + + return browser(new ByteArrayResource(docBytes), gridppReportFile.getName() + "." + fileExtName, mediaType); + } + + @GetMapping("/previewDocs") + @Operation(summary = "报告预览报表") + public ResponseEntity previewDocs(Long reportId, String reportKey, String dataUrl, Boolean isCrypto, String type) throws Exception { + HttpServletRequest request = ServletUtils.getRequest(); + ConfigReportTemplateDO gridppReportFile = null; + if (reportId != null) { + gridppReportFile = configReportTemplateService.getConfigReportTemplate(reportId); + } else if (StrUtil.isNotBlank(reportKey)) { + gridppReportFile = configReportTemplateService.getConfigReportTemplateByKey(reportKey); + } + if (ObjectUtil.isEmpty(gridppReportFile)) { + throw new GridReportException("未找到报表模板!"); + } + String reportData = StringEscapeUtils.unescapeHtml4(gridppReportFile.getData()); + + //报表参数 + Map reportParams = new HashMap<>(); + //获取当前用户姓名 + LoginUser user = SecurityFrameworkUtils.getLoginUser(); + String realName = ""; + if (user != null) { + realName = SecurityFrameworkUtils.getLoginUserNickname(); + } + reportParams.put("operName", realName); + + if (StrUtil.isNotBlank(dataUrl)) { + log.info("url:" + dataUrl); + dataUrl = StringEscapeUtils.unescapeHtml4(dataUrl); + log.info("url:" + dataUrl); + + + Map headers = new HashMap<>(); + String token = SecurityFrameworkUtils.obtainAuthorization(request, + securityProperties.getTokenHeader(), securityProperties.getTokenParameter()); + headers.put(securityProperties.getTokenHeader(), token); + HttpResponse res = HttpRequest.get(dataUrl) + .addHeaders(headers) + .setConnectionTimeout(60 * 1000) + .setReadTimeout(120 * 1000) + .execute(); + if (res.getStatus() != 200) { + log.error("报表数据,网络请求错误!", res.body()); + throw new GridReportException("报表数据,网络请求错误!"); + } + String body = res.body(); + CommonResult dataR = JSON.parseObject(body, CommonResult.class); + if (dataR != null && dataR.getCode() == 200) { + if (ArrayUtil.isArray(dataR.getData()) || dataR.getData() instanceof Collection) { + reportData = JSON.toJSONString(dataR); + } else { + + Map map = BeanUtil.beanToMap(dataR.getData()); + for (Map.Entry obj : BeanUtil.beanToMap(map.get("reportParams")).entrySet()) { + reportParams.put(obj.getKey(), obj.getValue() == null ? "": obj.getValue().toString()); + } + reportData = JSON.toJSONString(dataR.getData()); + } + } else { + log.error("获取报表数据错误!", dataR.getMsg()); + log.error("报表数据:" + reportData); + throw new GridReportException("获取报表数据错误!"); + } + + } + + BinaryObject binaryObject = gridReport.genReport(gridppReportFile.getContent(), reportData, reportParams, ExportType.valueOf("OFD".equals(type.toUpperCase()) ? "PDF" : type.toUpperCase())); + MediaType mediaType = null; + byte[] docBytes = null; + //文件扩展名 + String fileExtName = type.toLowerCase(); + switch (type.toUpperCase()) { + case "PDF": + mediaType = MediaType.APPLICATION_PDF; + docBytes = PdfHelper.modifyDocInfo(binaryObject.getDataBuf()); + break; + case "OFD": + mediaType = MediaType.APPLICATION_OCTET_STREAM; + docBytes = PdfHelper.modifyDocInfo(binaryObject.getDataBuf()); + break; + case "RTF": + fileExtName = "doc"; + mediaType = MediaType.APPLICATION_OCTET_STREAM; + docBytes = binaryObject.getDataBuf(); + break; + case "IMG": + fileExtName = "png"; + mediaType = MediaType.IMAGE_PNG; + docBytes = binaryObject.getDataBuf(); + break; + default: + mediaType = MediaType.APPLICATION_OCTET_STREAM; + docBytes = binaryObject.getDataBuf(); + break; + } + + return browser(new ByteArrayResource(docBytes), gridppReportFile.getName() + "." + fileExtName, mediaType); + } + + @GetMapping("/export") + @Operation(summary = "导出报表") + public ResponseEntity export(Long reportId, String reportKey, String exportName, String dataUrl, Boolean isCrypto, String type) throws Exception { + HttpServletRequest request = ServletUtils.getRequest(); + ConfigReportTemplateDO gridppReportFile = null; + if (reportId != null) { + gridppReportFile = configReportTemplateService.getConfigReportTemplate(reportId); + } else if (StrUtil.isNotBlank(reportKey)) { + gridppReportFile = configReportTemplateService.getConfigReportTemplateByKey(reportKey); + } + if (ObjectUtil.isEmpty(gridppReportFile)) { + throw new GridReportException("未找到报表模板!"); + } + String reportData = StringEscapeUtils.unescapeHtml4(gridppReportFile.getData()); + + //报表参数 + Map reportParams = new HashMap<>(); + //获取当前用户姓名 + LoginUser user = SecurityFrameworkUtils.getLoginUser(); + String realName = ""; + if (user != null) { + realName = SecurityFrameworkUtils.getLoginUserNickname(); + } + reportParams.put("operName", realName); + + if (StrUtil.isNotBlank(dataUrl)) { + dataUrl = StringEscapeUtils.unescapeHtml4(dataUrl); + //处理url参数 + if (dataUrl.contains("?")) { + String urlParam = dataUrl.split("\\?")[1]; + String[] urlVks = urlParam.split("&"); + for (int i = 0; i < urlVks.length; i++) { + String vk = urlVks[i]; + if (StrUtil.isNotBlank(vk)) { + String[] vkSplit = vk.split("="); + if(vkSplit.length == 2){ + reportParams.put(vkSplit[0], vkSplit[1]); + } + } + } + } + Map headers = new HashMap<>(); + String token = SecurityFrameworkUtils.obtainAuthorization(request, + securityProperties.getTokenHeader(), securityProperties.getTokenParameter()); + headers.put(securityProperties.getTokenHeader(), token); + HttpResponse res = HttpRequest.get(dataUrl) + .addHeaders(headers) + .setConnectionTimeout(60 * 1000) + .setReadTimeout(120 * 1000) + .execute(); + if (res.getStatus() != 200) { + log.error("报表数据,网络请求错误!", res.body()); + throw new GridReportException("报表数据,网络请求错误!"); + } + String body = res.body(); + CommonResult dataR = JSON.parseObject(body, CommonResult.class); + if (dataR != null && dataR.getCode() == 200) { + if (ArrayUtil.isArray(dataR.getData()) || dataR.getData() instanceof Collection) { + reportData = JSON.toJSONString(dataR); + } else { + reportData = JSON.toJSONString(dataR.getData()); + } + } else { + log.error("获取报表数据错误!", dataR.getMsg()); + throw new GridReportException("获取报表数据错误!"); + } + } + + BinaryObject binaryObject = gridReport.genReport(gridppReportFile.getContent(), reportData, reportParams, ExportType.valueOf("OFD".equals(type.toUpperCase()) ? "PDF" : type.toUpperCase())); + byte[] docBytes = null; + //文件扩展名 + String fileExtName = type.toLowerCase(); + switch (type.toUpperCase()) { + case "PDF": + docBytes = PdfHelper.modifyDocInfo(binaryObject.getDataBuf()); + break; + case "OFD": + docBytes = PdfHelper.modifyDocInfo(binaryObject.getDataBuf()); + break; + case "RTF": + fileExtName = "doc"; + docBytes = binaryObject.getDataBuf(); + break; + case "IMG": + fileExtName = "png"; + docBytes = binaryObject.getDataBuf(); + break; + default: + docBytes = binaryObject.getDataBuf(); + break; + } + String fileName = gridppReportFile.getName(); + if (StrUtil.isNotBlank(exportName)) { + fileName = exportName; + } + return download(new ByteArrayResource(docBytes), fileName + "." + fileExtName); + } + + /** + * 生成Base64图片 + * @return + */ + @PostMapping("/gen-report-png-image-base64") + @Operation(summary = "生成Base64图片") + public CommonResult genReportPngImageBase64(@RequestBody GenReportBody body) { + ConfigReportTemplateDO gridppReportFile = null; + if (body.getReportId() != null) { + gridppReportFile = configReportTemplateService.getConfigReportTemplate(body.getReportId()); + } else if (StrUtil.isNotBlank(body.getReportKey())) { + gridppReportFile = configReportTemplateService.getConfigReportTemplateByKey(body.getReportKey()); + } + if (ObjectUtil.isEmpty(gridppReportFile)) { + throw new ServiceException(ErrorCodeConstants.CONFIG_REPORT_TEMPLATE_NOT_EXISTS); + } + + String imgBase64 = null; + try { + BinaryObject binaryObject = gridReport.genReport(gridppReportFile.getContent(), body.getReportDataJson(), body.getReportParams(), ExportType.IMG, ExportImageType.PNG, body.getImgDpi()); + imgBase64 = binaryObject.getAsBase64Text(); + } catch (Exception e) { + log.error("生成base64图片失败", e); + } + if (StringUtils.isBlank(imgBase64)) { + return CommonResult.error(500, "生成Base64图片失败"); + } + return success(imgBase64); + } + + /** + * 生成Base64图片 + * @return + */ + @PostMapping("/gen-report-png-image-base64-by-pdf") + @Operation(summary = "生成Base64图片") + public CommonResult genReportPngImageBase64ByPdf(@RequestBody GenReportBody body) { + ConfigReportTemplateDO gridppReportFile = null; + if (body.getReportId() != null) { + gridppReportFile = configReportTemplateService.getConfigReportTemplate(body.getReportId()); + } else if (StrUtil.isNotBlank(body.getReportKey())) { + gridppReportFile = configReportTemplateService.getConfigReportTemplateByKey(body.getReportKey()); + } + if (ObjectUtil.isEmpty(gridppReportFile)) { + throw new ServiceException(ErrorCodeConstants.CONFIG_REPORT_TEMPLATE_NOT_EXISTS); + } + + String imgBase64 = null; + try { + BinaryObject binaryObject = gridReport.genReport(gridppReportFile.getContent(), body.getReportDataJson(), body.getReportParams(), ExportType.PDF); + byte[] pngBytes = PdfHelper.pdfToPng(binaryObject.getDataBuf(), body.getImgDpi()); + //String encodeHexStr = HexUtil.encodeHexStr(pngBytes); + //System.out.println(encodeHexStr); + imgBase64 = Base64.encode(pngBytes); + } catch (Exception e) { + log.error("生成base64图片失败", e); + } + if (StringUtils.isBlank(imgBase64)) { + return CommonResult.error(500, "生成Base64图片失败"); + } + return success(imgBase64); + } /** * 下载文件 diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/admin/ConfigReportTypeController.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/admin/ConfigReportTypeController.java index 6bafd4b..d089f0b 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/admin/ConfigReportTypeController.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/admin/ConfigReportTypeController.java @@ -1,5 +1,8 @@ package com.zt.plat.module.qms.business.config.controller.admin; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigReportTypePageReqVO; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigReportTypeRespVO; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigReportTypeSaveReqVO; import org.springframework.web.bind.annotation.*; import jakarta.annotation.Resource; import org.springframework.validation.annotation.Validated; @@ -10,7 +13,6 @@ import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.Operation; -import jakarta.validation.constraints.*; import jakarta.validation.*; import jakarta.servlet.http.*; import java.util.*; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/admin/ConfigSampleFlowController.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/admin/ConfigSampleFlowController.java index baa790d..7da7134 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/admin/ConfigSampleFlowController.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/admin/ConfigSampleFlowController.java @@ -1,5 +1,8 @@ package com.zt.plat.module.qms.business.config.controller.admin; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigSampleFlowPageReqVO; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigSampleFlowRespVO; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigSampleFlowSaveReqVO; import org.springframework.web.bind.annotation.*; import jakarta.annotation.Resource; import org.springframework.validation.annotation.Validated; @@ -10,7 +13,6 @@ import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.Operation; -import jakarta.validation.constraints.*; import jakarta.validation.*; import jakarta.servlet.http.*; import java.util.*; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/admin/ConfigSampleHandoverController.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/admin/ConfigSampleHandoverController.java index 68ea815..b171be9 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/admin/ConfigSampleHandoverController.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/admin/ConfigSampleHandoverController.java @@ -1,5 +1,8 @@ package com.zt.plat.module.qms.business.config.controller.admin; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigSampleHandoverPageReqVO; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigSampleHandoverRespVO; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigSampleHandoverSaveReqVO; import org.springframework.web.bind.annotation.*; import jakarta.annotation.Resource; import org.springframework.validation.annotation.Validated; @@ -10,7 +13,6 @@ import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.Operation; -import jakarta.validation.constraints.*; import jakarta.validation.*; import jakarta.servlet.http.*; import java.util.*; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/admin/ConfigSampleReportController.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/admin/ConfigSampleReportController.java index 1ada838..3fa6cb1 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/admin/ConfigSampleReportController.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/admin/ConfigSampleReportController.java @@ -1,5 +1,8 @@ package com.zt.plat.module.qms.business.config.controller.admin; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigSampleReportPageReqVO; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigSampleReportRespVO; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigSampleReportSaveReqVO; import org.springframework.web.bind.annotation.*; import jakarta.annotation.Resource; import org.springframework.validation.annotation.Validated; @@ -10,7 +13,6 @@ import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.Operation; -import jakarta.validation.constraints.*; import jakarta.validation.*; import jakarta.servlet.http.*; import java.util.*; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/admin/ConfigSimpleFlowCodeController.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/admin/ConfigSimpleFlowCodeController.java index b51f69b..4284b95 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/admin/ConfigSimpleFlowCodeController.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/admin/ConfigSimpleFlowCodeController.java @@ -10,7 +10,6 @@ import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.Operation; -import jakarta.validation.constraints.*; import jakarta.validation.*; import jakarta.servlet.http.*; import java.util.*; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/admin/ConfigStandardSampleProjectController.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/admin/ConfigStandardSampleProjectController.java index 962cee3..3cad9d2 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/admin/ConfigStandardSampleProjectController.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/admin/ConfigStandardSampleProjectController.java @@ -1,5 +1,8 @@ package com.zt.plat.module.qms.business.config.controller.admin; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigStandardSampleProjectPageReqVO; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigStandardSampleProjectRespVO; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigStandardSampleProjectSaveReqVO; import org.springframework.web.bind.annotation.*; import jakarta.annotation.Resource; import org.springframework.validation.annotation.Validated; @@ -10,7 +13,6 @@ import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.Operation; -import jakarta.validation.constraints.*; import jakarta.validation.*; import jakarta.servlet.http.*; import java.util.*; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/admin/ConfigStandardSampleTypeController.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/admin/ConfigStandardSampleTypeController.java index 14a7f71..5c78f3f 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/admin/ConfigStandardSampleTypeController.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/admin/ConfigStandardSampleTypeController.java @@ -1,5 +1,8 @@ package com.zt.plat.module.qms.business.config.controller.admin; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigStandardSampleTypePageReqVO; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigStandardSampleTypeRespVO; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigStandardSampleTypeSaveReqVO; import org.springframework.web.bind.annotation.*; import jakarta.annotation.Resource; import org.springframework.validation.annotation.Validated; @@ -10,7 +13,6 @@ import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.Operation; -import jakarta.validation.constraints.*; import jakarta.validation.*; import jakarta.servlet.http.*; import java.util.*; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/admin/ConfigSubSampleController.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/admin/ConfigSubSampleController.java index 694ef2e..7e99226 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/admin/ConfigSubSampleController.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/admin/ConfigSubSampleController.java @@ -1,5 +1,8 @@ package com.zt.plat.module.qms.business.config.controller.admin; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigSubSamplePageReqVO; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigSubSampleRespVO; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigSubSampleSaveReqVO; import org.springframework.web.bind.annotation.*; import jakarta.annotation.Resource; import org.springframework.validation.annotation.Validated; @@ -10,7 +13,6 @@ import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.Operation; -import jakarta.validation.constraints.*; import jakarta.validation.*; import jakarta.servlet.http.*; import java.util.*; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/admin/ConfigSubSampleMethodController.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/admin/ConfigSubSampleMethodController.java index c4a4fbb..729bc1b 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/admin/ConfigSubSampleMethodController.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/admin/ConfigSubSampleMethodController.java @@ -1,5 +1,8 @@ package com.zt.plat.module.qms.business.config.controller.admin; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigSubSampleMethodPageReqVO; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigSubSampleMethodRespVO; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigSubSampleMethodSaveReqVO; import org.springframework.web.bind.annotation.*; import jakarta.annotation.Resource; import org.springframework.validation.annotation.Validated; @@ -10,7 +13,6 @@ import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.Operation; -import jakarta.validation.constraints.*; import jakarta.validation.*; import jakarta.servlet.http.*; import java.util.*; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/admin/ConfigSubSampleParentController.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/admin/ConfigSubSampleParentController.java index f1558d5..13113c0 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/admin/ConfigSubSampleParentController.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/admin/ConfigSubSampleParentController.java @@ -1,5 +1,8 @@ package com.zt.plat.module.qms.business.config.controller.admin; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigSubSampleParentPageReqVO; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigSubSampleParentRespVO; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigSubSampleParentSaveReqVO; import org.springframework.web.bind.annotation.*; import jakarta.annotation.Resource; import org.springframework.validation.annotation.Validated; @@ -10,7 +13,6 @@ import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.Operation; -import jakarta.validation.constraints.*; import jakarta.validation.*; import jakarta.servlet.http.*; import java.util.*; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/admin/ConfigWarehouseLocationInfomationController.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/admin/ConfigWarehouseLocationInfomationController.java index 7f4abcd..5911f9a 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/admin/ConfigWarehouseLocationInfomationController.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/admin/ConfigWarehouseLocationInfomationController.java @@ -1,5 +1,8 @@ package com.zt.plat.module.qms.business.config.controller.admin; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigWarehouseLocationInfomationPageReqVO; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigWarehouseLocationInfomationRespVO; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigWarehouseLocationInfomationSaveReqVO; import org.springframework.web.bind.annotation.*; import jakarta.annotation.Resource; import org.springframework.validation.annotation.Validated; @@ -10,7 +13,6 @@ import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.Operation; -import jakarta.validation.constraints.*; import jakarta.validation.*; import jakarta.servlet.http.*; import java.util.*; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/admin/MaterialAssayStandardForecastProjectController.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/admin/MaterialAssayStandardForecastProjectController.java new file mode 100644 index 0000000..389a8e4 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/admin/MaterialAssayStandardForecastProjectController.java @@ -0,0 +1,108 @@ +package com.zt.plat.module.qms.business.config.controller.admin; + +import com.zt.plat.module.qms.business.config.controller.vo.MaterialAssayStandardForecastProjectPageReqVO; +import com.zt.plat.module.qms.business.config.controller.vo.MaterialAssayStandardForecastProjectRespVO; +import com.zt.plat.module.qms.business.config.controller.vo.MaterialAssayStandardForecastProjectSaveReqVO; +import org.springframework.web.bind.annotation.*; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.security.access.prepost.PreAuthorize; +import com.zt.plat.framework.business.interceptor.BusinessControllerMarker; + +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Operation; + +import jakarta.validation.*; +import jakarta.servlet.http.*; +import java.util.*; +import java.io.IOException; + +import com.zt.plat.framework.common.pojo.vo.BatchDeleteReqVO; +import com.zt.plat.framework.common.pojo.PageParam; +import com.zt.plat.framework.common.pojo.PageResult; +import com.zt.plat.framework.common.pojo.CommonResult; +import com.zt.plat.framework.common.util.object.BeanUtils; +import static com.zt.plat.framework.common.pojo.CommonResult.success; + +import com.zt.plat.framework.excel.core.util.ExcelUtils; +import com.zt.plat.module.qms.business.config.controller.vo.*; +import com.zt.plat.module.qms.business.config.dal.dataobject.MaterialAssayStandardForecastProjectDO; +import com.zt.plat.module.qms.business.config.service.MaterialAssayStandardForecastProjectService; +import com.zt.plat.framework.apilog.core.annotation.ApiAccessLog; +import static com.zt.plat.framework.apilog.core.enums.OperateTypeEnum.*; + +@Tag(name = "管理后台 - 物料检测标准来样品位配置") +@RestController +@RequestMapping("/qms/material-assay-standard-forecast-project") +@Validated +public class MaterialAssayStandardForecastProjectController implements BusinessControllerMarker { + + + @Resource + private MaterialAssayStandardForecastProjectService materialAssayStandardForecastProjectService; + + @PostMapping("/create") + @Operation(summary = "创建物料检测标准来样品位配置") + @PreAuthorize("@ss.hasPermission('t:material-assay-standard-forecast-project:create')") + public CommonResult createMaterialAssayStandardForecastProject(@Valid @RequestBody MaterialAssayStandardForecastProjectSaveReqVO createReqVO) { + return success(materialAssayStandardForecastProjectService.createMaterialAssayStandardForecastProject(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新物料检测标准来样品位配置") + @PreAuthorize("@ss.hasPermission('t:material-assay-standard-forecast-project:update')") + public CommonResult updateMaterialAssayStandardForecastProject(@Valid @RequestBody MaterialAssayStandardForecastProjectSaveReqVO updateReqVO) { + materialAssayStandardForecastProjectService.updateMaterialAssayStandardForecastProject(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除物料检测标准来样品位配置") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('t:material-assay-standard-forecast-project:delete')") + public CommonResult deleteMaterialAssayStandardForecastProject(@RequestParam("id") Long id) { + materialAssayStandardForecastProjectService.deleteMaterialAssayStandardForecastProject(id); + return success(true); + } + + @DeleteMapping("/delete-list") + @Parameter(name = "ids", description = "编号", required = true) + @Operation(summary = "批量删除物料检测标准来样品位配置") + @PreAuthorize("@ss.hasPermission('t:material-assay-standard-forecast-project:delete')") + public CommonResult deleteMaterialAssayStandardForecastProjectList(@RequestBody BatchDeleteReqVO req) { + materialAssayStandardForecastProjectService.deleteMaterialAssayStandardForecastProjectListByIds(req.getIds()); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得物料检测标准来样品位配置") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('t:material-assay-standard-forecast-project:query')") + public CommonResult getMaterialAssayStandardForecastProject(@RequestParam("id") Long id) { + MaterialAssayStandardForecastProjectDO materialAssayStandardForecastProject = materialAssayStandardForecastProjectService.getMaterialAssayStandardForecastProject(id); + return success(BeanUtils.toBean(materialAssayStandardForecastProject, MaterialAssayStandardForecastProjectRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得物料检测标准来样品位配置分页") + @PreAuthorize("@ss.hasPermission('t:material-assay-standard-forecast-project:query')") + public CommonResult> getMaterialAssayStandardForecastProjectPage(@Valid MaterialAssayStandardForecastProjectPageReqVO pageReqVO) { + PageResult pageResult = materialAssayStandardForecastProjectService.getMaterialAssayStandardForecastProjectPage(pageReqVO); + return success(BeanUtils.toBean(pageResult, MaterialAssayStandardForecastProjectRespVO.class)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出物料检测标准来样品位配置 Excel") + @PreAuthorize("@ss.hasPermission('t:material-assay-standard-forecast-project:export')") + @ApiAccessLog(operateType = EXPORT) + public void exportMaterialAssayStandardForecastProjectExcel(@Valid MaterialAssayStandardForecastProjectPageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = materialAssayStandardForecastProjectService.getMaterialAssayStandardForecastProjectPage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "物料检测标准来样品位配置.xls", "数据", MaterialAssayStandardForecastProjectRespVO.class, + BeanUtils.toBean(list, MaterialAssayStandardForecastProjectRespVO.class)); + } + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/BaseSamplePageReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/BaseSamplePageReqVO.java index 5a403cf..d5f78f4 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/BaseSamplePageReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/BaseSamplePageReqVO.java @@ -1,6 +1,7 @@ package com.zt.plat.module.qms.business.config.controller.vo; import lombok.*; +import java.util.*; import io.swagger.v3.oas.annotations.media.Schema; import com.zt.plat.framework.common.pojo.PageParam; import org.springframework.format.annotation.DateTimeFormat; @@ -12,10 +13,10 @@ import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH @Data public class BaseSamplePageReqVO extends PageParam { - @Schema(description = "大类名称", example = "王五") - private String sampleName; + @Schema(description = "样品大类名称", example = "王五") + private String name; - @Schema(description = "物料ID", example = "12840") + @Schema(description = "物料ID", example = "16711") private Long materialId; @Schema(description = "物料代码") @@ -24,13 +25,13 @@ public class BaseSamplePageReqVO extends PageParam { @Schema(description = "物料名称", example = "芋艿") private String materialName; - @Schema(description = "样品类型_ID,字典表【T_DIC_BSN】结算样、委检样、抽查样", example = "19234") + @Schema(description = "样品类型_ID,字典表【T_DIC_BSN】结算样、委检样、抽查样", example = "29325") private Long dictionaryBusinessId; @Schema(description = "所属部门") private String systemDepartmentCode; - @Schema(description = "创建日期") + @Schema(description = "创建时间") @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) private LocalDateTime[] createTime; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/BaseSampleRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/BaseSampleRespVO.java index 0e3f74f..fab165e 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/BaseSampleRespVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/BaseSampleRespVO.java @@ -14,15 +14,15 @@ import static com.zt.plat.module.qms.core.constant.DataTypeConstant.DICT_ANNOTAT @ExcelIgnoreUnannotated public class BaseSampleRespVO { - @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "6009") + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "14383") @ExcelProperty("ID") private Long id; - @Schema(description = "大类名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五") - @ExcelProperty("大类名称") - private String sampleName; + @Schema(description = "样品大类名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五") + @ExcelProperty("样品大类名称") + private String name; - @Schema(description = "物料ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "12840") + @Schema(description = "物料ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "16711") @ExcelProperty("物料ID") private Long materialId; @@ -34,17 +34,17 @@ public class BaseSampleRespVO { @ExcelProperty("物料名称") private String materialName; - @Schema(description = "样品类型_ID,字典表【T_DIC_BSN】结算样、委检样、抽查样", requiredMode = Schema.RequiredMode.REQUIRED, example = "19234") + @Schema(description = "样品类型_ID,字典表【T_DIC_BSN】结算样、委检样、抽查样", requiredMode = Schema.RequiredMode.REQUIRED, example = "29325") @ExcelProperty("样品类型_ID,字典表【T_DIC_BSN】结算样、委检样、抽查样") @Dict(dicCode = "sampleType", keyOrID = DICT_ANNOTATION_KEY_TYPE_ID) private Long dictionaryBusinessId; - @Schema(description = "所属部门", requiredMode = Schema.RequiredMode.REQUIRED) + @Schema(description = "所属部门") @ExcelProperty("所属部门") private String systemDepartmentCode; - @Schema(description = "创建日期", requiredMode = Schema.RequiredMode.REQUIRED) - @ExcelProperty("创建日期") + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("创建时间") private LocalDateTime createTime; @Schema(description = "备注") diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/BaseSampleSaveReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/BaseSampleSaveReqVO.java index ca7e405..31b9280 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/BaseSampleSaveReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/BaseSampleSaveReqVO.java @@ -2,20 +2,21 @@ package com.zt.plat.module.qms.business.config.controller.vo; import io.swagger.v3.oas.annotations.media.Schema; import lombok.*; +import java.util.*; import jakarta.validation.constraints.*; @Schema(description = "管理后台 - 样品大类管理新增/修改 Request VO") @Data public class BaseSampleSaveReqVO { - @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "6009") + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "14383") private Long id; - @Schema(description = "大类名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五") - @NotEmpty(message = "大类名称不能为空") - private String sampleName; + @Schema(description = "样品大类名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五") + @NotEmpty(message = "样品大类名称不能为空") + private String name; - @Schema(description = "物料ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "12840") + @Schema(description = "物料ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "16711") @NotNull(message = "物料ID不能为空") private Long materialId; @@ -25,11 +26,11 @@ public class BaseSampleSaveReqVO { @Schema(description = "物料名称", example = "芋艿") private String materialName; - @Schema(description = "样品类型_ID,字典表【T_DIC_BSN】结算样、委检样、抽查样", requiredMode = Schema.RequiredMode.REQUIRED, example = "19234") + @Schema(description = "样品类型_ID,字典表【T_DIC_BSN】结算样、委检样、抽查样", requiredMode = Schema.RequiredMode.REQUIRED, example = "29325") @NotNull(message = "样品类型_ID,字典表【T_DIC_BSN】结算样、委检样、抽查样不能为空") private Long dictionaryBusinessId; - @Schema(description = "所属部门", requiredMode = Schema.RequiredMode.REQUIRED) + @Schema(description = "所属部门") private String systemDepartmentCode; @Schema(description = "备注") diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodExtendRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodExtendRespVO.java index 505fe45..1978d9b 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodExtendRespVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodExtendRespVO.java @@ -2,7 +2,6 @@ package com.zt.plat.module.qms.business.config.controller.vo; import java.util.List; -import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigAssayMethodDO; import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigAssayMethodProjectDO; import lombok.Data; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodPageReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodPageReqVO.java index 1a9f71b..1070a46 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodPageReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodPageReqVO.java @@ -13,10 +13,10 @@ import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH @Data public class ConfigAssayMethodPageReqVO extends PageParam { - @Schema(description = "方法库ID", example = "31274") + @Schema(description = "方法库ID", example = "9346") private Long methodConfigId; - @Schema(description = "方法名称", example = "王五") + @Schema(description = "方法名称", example = "李四") private String name; @Schema(description = "方法编号") @@ -25,17 +25,20 @@ public class ConfigAssayMethodPageReqVO extends PageParam { @Schema(description = "描述") private String description; + @Schema(description = "数据集Key,T_DAT_COLT_FLD") + private String dataCollectionKey; + @Schema(description = "是否启用,1-启用,0-不启用") private Integer isEnabled; - @Schema(description = "任务模版key") - private String templateKey; + @Schema(description = "任务单模板key") + private String configReportTemplateKey; @Schema(description = "任务单编号规则") private String codeRule; @Schema(description = "分配方式,【字典】【jy_assay_method_assign_way】随机分配,按顺序分配,自动分配") - private Integer assignWay; + private String assignWay; @Schema(description = "展示平台,【字典】【jy_assay_method_assign_platform】pad、pc、pad&pc") private String assignPlatform; @@ -43,13 +46,16 @@ public class ConfigAssayMethodPageReqVO extends PageParam { @Schema(description = "任务分配表单配置信息,是否添加质控样;是否过筛;是否预览打印;是否查询S值范围;是否需要流程审批;流程审批编码;退回样品审批流程编码:任务完成时的提交方式;指派单抬头key") private String assayTaskInfomation; - @Schema(description = "检测部门编号") - private String assayDepartmentCode; + @Schema(description = "分析部门ID", example = "31510") + private Long assayDepartmentId; + + @Schema(description = "分析部门名称", example = "张三") + private String assayDepartmentName; @Schema(description = "所属部门") private String systemDepartmentCode; - @Schema(description = "创建日期") + @Schema(description = "创建时间") @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) private LocalDateTime[] createTime; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodProjectPageReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodProjectPageReqVO.java index 9ef7a4e..47da316 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodProjectPageReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodProjectPageReqVO.java @@ -13,13 +13,13 @@ import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH @Data public class ConfigAssayMethodProjectPageReqVO extends PageParam { - @Schema(description = "检测方法ID", example = "30102") + @Schema(description = "检测方法配置ID", example = "5225") private Long configAssayMethodId; - @Schema(description = "检测项目ID,字典表【T_DIC_PRJ】", example = "906") + @Schema(description = "检测项目ID,字典表【T_DIC_PRJ】", example = "32510") private Long dictionaryProjectId; - @Schema(description = "检测单位ID,UNT表", example = "15001") + @Schema(description = "检测单位ID,UNT表", example = "8007") private Long unitId; @Schema(description = "单位") @@ -43,13 +43,13 @@ public class ConfigAssayMethodProjectPageReqVO extends PageParam { @Schema(description = "是否默认启用,1-启用,0-不启用") private Integer isDefaultEnabled; - @Schema(description = "排序") - private Integer sort; + @Schema(description = "排序号") + private Integer sortNo; @Schema(description = "所属部门") private String systemDepartmentCode; - @Schema(description = "创建日期") + @Schema(description = "创建时间") @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) private LocalDateTime[] createTime; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodProjectParameterPageReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodProjectParameterPageReqVO.java index ad3326e..98f667e 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodProjectParameterPageReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodProjectParameterPageReqVO.java @@ -13,10 +13,10 @@ import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH @Data public class ConfigAssayMethodProjectParameterPageReqVO extends PageParam { - @Schema(description = "检测方法分析项目ID", example = "4278") + @Schema(description = "检测方法分析项目配置ID", example = "29746") private Long configAssayMethodProjectId; - @Schema(description = "参数ID,字典表【T_DIC_PRM】", example = "8889") + @Schema(description = "参数ID,字典表【T_DIC_PRM】", example = "1283") private Long dictionaryParameterId; @Schema(description = "数据类型,【字典】【jy_sample_data_type】字符串,整数,小数,日期,时间", example = "2") @@ -37,13 +37,13 @@ public class ConfigAssayMethodProjectParameterPageReqVO extends PageParam { @Schema(description = "pc界面是否显示") private Integer isShow; - @Schema(description = "排序") - private Integer sort; + @Schema(description = "排序号") + private Integer sortNo; @Schema(description = "所属部门") private String systemDepartmentCode; - @Schema(description = "创建日期") + @Schema(description = "创建时间") @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) private LocalDateTime[] createTime; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodProjectParameterRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodProjectParameterRespVO.java index 6cc965a..97edf8c 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodProjectParameterRespVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodProjectParameterRespVO.java @@ -12,15 +12,15 @@ import com.alibaba.excel.annotation.*; @ExcelIgnoreUnannotated public class ConfigAssayMethodProjectParameterRespVO { - @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "18320") + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "14738") @ExcelProperty("ID") private Long id; - @Schema(description = "检测方法分析项目ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "4278") - @ExcelProperty("检测方法分析项目ID") + @Schema(description = "检测方法分析项目配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "29746") + @ExcelProperty("检测方法分析项目配置ID") private Long configAssayMethodProjectId; - @Schema(description = "参数ID,字典表【T_DIC_PRM】", requiredMode = Schema.RequiredMode.REQUIRED, example = "8889") + @Schema(description = "参数ID,字典表【T_DIC_PRM】", requiredMode = Schema.RequiredMode.REQUIRED, example = "1283") @ExcelProperty("参数ID,字典表【T_DIC_PRM】") private Long dictionaryParameterId; @@ -48,16 +48,16 @@ public class ConfigAssayMethodProjectParameterRespVO { @ExcelProperty("pc界面是否显示") private Integer isShow; - @Schema(description = "排序") - @ExcelProperty("排序") - private Integer sort; + @Schema(description = "排序号") + @ExcelProperty("排序号") + private Integer sortNo; - @Schema(description = "所属部门", requiredMode = Schema.RequiredMode.REQUIRED) + @Schema(description = "所属部门") @ExcelProperty("所属部门") private String systemDepartmentCode; - @Schema(description = "创建日期", requiredMode = Schema.RequiredMode.REQUIRED) - @ExcelProperty("创建日期") + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("创建时间") private LocalDateTime createTime; @Schema(description = "备注") diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodProjectParameterSaveReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodProjectParameterSaveReqVO.java index 95e37ab..b5f1ae4 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodProjectParameterSaveReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodProjectParameterSaveReqVO.java @@ -9,14 +9,14 @@ import jakarta.validation.constraints.*; @Data public class ConfigAssayMethodProjectParameterSaveReqVO { - @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "18320") + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "14738") private Long id; - @Schema(description = "检测方法分析项目ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "4278") - @NotNull(message = "检测方法分析项目ID不能为空") + @Schema(description = "检测方法分析项目配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "29746") + @NotNull(message = "检测方法分析项目配置ID不能为空") private Long configAssayMethodProjectId; - @Schema(description = "参数ID,字典表【T_DIC_PRM】", requiredMode = Schema.RequiredMode.REQUIRED, example = "8889") + @Schema(description = "参数ID,字典表【T_DIC_PRM】", requiredMode = Schema.RequiredMode.REQUIRED, example = "1283") @NotNull(message = "参数ID,字典表【T_DIC_PRM】不能为空") private Long dictionaryParameterId; @@ -41,11 +41,10 @@ public class ConfigAssayMethodProjectParameterSaveReqVO { @NotNull(message = "pc界面是否显示不能为空") private Integer isShow; - @Schema(description = "排序") - private Integer sort; + @Schema(description = "排序号") + private Integer sortNo; - @Schema(description = "所属部门", requiredMode = Schema.RequiredMode.REQUIRED) - @NotEmpty(message = "所属部门不能为空") + @Schema(description = "所属部门") private String systemDepartmentCode; @Schema(description = "备注") diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodProjectRangePageReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodProjectRangePageReqVO.java new file mode 100644 index 0000000..d476294 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodProjectRangePageReqVO.java @@ -0,0 +1,53 @@ +package com.zt.plat.module.qms.business.config.controller.vo; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import com.zt.plat.framework.common.pojo.PageParam; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; + +import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 检测方法分析项目区间分页 Request VO") +@Data +public class ConfigAssayMethodProjectRangePageReqVO extends PageParam { + + @Schema(description = "检测方法配置ID", example = "6862") + private Long configAssayMethodId; + + @Schema(description = "检测方法分析项目配置ID", example = "11556") + private Long configAssayMethodProjectId; + + @Schema(description = "检测项目ID,字典表【T_DIC_PRJ】", example = "2925") + private Long dictionaryProjectId; + + @Schema(description = "范围类型,控制范围类型(0-不控制;1-只警告;2-只限制;3-警告+限制)", example = "2") + private String rangeType; + + @Schema(description = "最小限制值") + private String minimumValue; + + @Schema(description = "最小警告值") + private String minimumWarningValue; + + @Schema(description = "最大警告值") + private String maximumWarningValue; + + @Schema(description = "最大限制值") + private String maximumValue; + + @Schema(description = "所属部门") + private String systemDepartmentCode; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "备注") + private String remark; + + @Schema(description = "版本") + private Integer version; + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodProjectRangeRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodProjectRangeRespVO.java new file mode 100644 index 0000000..d03ffb1 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodProjectRangeRespVO.java @@ -0,0 +1,67 @@ +package com.zt.plat.module.qms.business.config.controller.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; +import com.alibaba.excel.annotation.*; + +@Schema(description = "管理后台 - 检测方法分析项目区间 Response VO") +@Data +@ExcelIgnoreUnannotated +public class ConfigAssayMethodProjectRangeRespVO { + + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "25632") + @ExcelProperty("ID") + private Long id; + + @Schema(description = "检测方法配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "6862") + @ExcelProperty("检测方法配置ID") + private Long configAssayMethodId; + + @Schema(description = "检测方法分析项目配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "11556") + @ExcelProperty("检测方法分析项目配置ID") + private Long configAssayMethodProjectId; + + @Schema(description = "检测项目ID,字典表【T_DIC_PRJ】", requiredMode = Schema.RequiredMode.REQUIRED, example = "2925") + @ExcelProperty("检测项目ID,字典表【T_DIC_PRJ】") + private Long dictionaryProjectId; + + @Schema(description = "范围类型,控制范围类型(0-不控制;1-只警告;2-只限制;3-警告+限制)", example = "2") + @ExcelProperty("范围类型,控制范围类型(0-不控制;1-只警告;2-只限制;3-警告+限制)") + private String rangeType; + + @Schema(description = "最小限制值") + @ExcelProperty("最小限制值") + private String minimumValue; + + @Schema(description = "最小警告值") + @ExcelProperty("最小警告值") + private String minimumWarningValue; + + @Schema(description = "最大警告值", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("最大警告值") + private String maximumWarningValue; + + @Schema(description = "最大限制值", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("最大限制值") + private String maximumValue; + + @Schema(description = "所属部门") + @ExcelProperty("所属部门") + private String systemDepartmentCode; + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("创建时间") + private LocalDateTime createTime; + + @Schema(description = "备注") + @ExcelProperty("备注") + private String remark; + + @Schema(description = "版本", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("版本") + private Integer version; + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodProjectRangeSaveReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodProjectRangeSaveReqVO.java new file mode 100644 index 0000000..b063629 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodProjectRangeSaveReqVO.java @@ -0,0 +1,54 @@ +package com.zt.plat.module.qms.business.config.controller.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import jakarta.validation.constraints.*; + +@Schema(description = "管理后台 - 检测方法分析项目区间新增/修改 Request VO") +@Data +public class ConfigAssayMethodProjectRangeSaveReqVO { + + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "25632") + private Long id; + + @Schema(description = "检测方法配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "6862") + @NotNull(message = "检测方法配置ID不能为空") + private Long configAssayMethodId; + + @Schema(description = "检测方法分析项目配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "11556") + @NotNull(message = "检测方法分析项目配置ID不能为空") + private Long configAssayMethodProjectId; + + @Schema(description = "检测项目ID,字典表【T_DIC_PRJ】", requiredMode = Schema.RequiredMode.REQUIRED, example = "2925") + @NotNull(message = "检测项目ID,字典表【T_DIC_PRJ】不能为空") + private Long dictionaryProjectId; + + @Schema(description = "范围类型,控制范围类型(0-不控制;1-只警告;2-只限制;3-警告+限制)", example = "2") + private String rangeType; + + @Schema(description = "最小限制值") + private String minimumValue; + + @Schema(description = "最小警告值") + private String minimumWarningValue; + + @Schema(description = "最大警告值", requiredMode = Schema.RequiredMode.REQUIRED) + @NotEmpty(message = "最大警告值不能为空") + private String maximumWarningValue; + + @Schema(description = "最大限制值", requiredMode = Schema.RequiredMode.REQUIRED) + @NotEmpty(message = "最大限制值不能为空") + private String maximumValue; + + @Schema(description = "所属部门") + private String systemDepartmentCode; + + @Schema(description = "备注") + private String remark; + + @Schema(description = "版本", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "版本不能为空") + private Integer version; + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodProjectRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodProjectRespVO.java index bf9c593..952811e 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodProjectRespVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodProjectRespVO.java @@ -12,19 +12,19 @@ import com.alibaba.excel.annotation.*; @ExcelIgnoreUnannotated public class ConfigAssayMethodProjectRespVO { - @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "24391") + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "12771") @ExcelProperty("ID") private Long id; - @Schema(description = "检测方法ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "30102") - @ExcelProperty("检测方法ID") + @Schema(description = "检测方法配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "5225") + @ExcelProperty("检测方法配置ID") private Long configAssayMethodId; - @Schema(description = "检测项目ID,字典表【T_DIC_PRJ】", requiredMode = Schema.RequiredMode.REQUIRED, example = "906") + @Schema(description = "检测项目ID,字典表【T_DIC_PRJ】", requiredMode = Schema.RequiredMode.REQUIRED, example = "32510") @ExcelProperty("检测项目ID,字典表【T_DIC_PRJ】") private Long dictionaryProjectId; - @Schema(description = "检测单位ID,UNT表", example = "15001") + @Schema(description = "检测单位ID,UNT表", example = "8007") @ExcelProperty("检测单位ID,UNT表") private Long unitId; @@ -56,16 +56,16 @@ public class ConfigAssayMethodProjectRespVO { @ExcelProperty("是否默认启用,1-启用,0-不启用") private Integer isDefaultEnabled; - @Schema(description = "排序") - @ExcelProperty("排序") - private Integer sort; + @Schema(description = "排序号") + @ExcelProperty("排序号") + private Integer sortNo; - @Schema(description = "所属部门", requiredMode = Schema.RequiredMode.REQUIRED) + @Schema(description = "所属部门") @ExcelProperty("所属部门") private String systemDepartmentCode; - @Schema(description = "创建日期", requiredMode = Schema.RequiredMode.REQUIRED) - @ExcelProperty("创建日期") + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("创建时间") private LocalDateTime createTime; @Schema(description = "备注") diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodProjectSaveReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodProjectSaveReqVO.java index f6725b6..0c6467e 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodProjectSaveReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodProjectSaveReqVO.java @@ -9,18 +9,18 @@ import jakarta.validation.constraints.*; @Data public class ConfigAssayMethodProjectSaveReqVO { - @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "24391") + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "12771") private Long id; - @Schema(description = "检测方法ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "30102") - @NotNull(message = "检测方法ID不能为空") + @Schema(description = "检测方法配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "5225") + @NotNull(message = "检测方法配置ID不能为空") private Long configAssayMethodId; - @Schema(description = "检测项目ID,字典表【T_DIC_PRJ】", requiredMode = Schema.RequiredMode.REQUIRED, example = "906") + @Schema(description = "检测项目ID,字典表【T_DIC_PRJ】", requiredMode = Schema.RequiredMode.REQUIRED, example = "32510") @NotNull(message = "检测项目ID,字典表【T_DIC_PRJ】不能为空") private Long dictionaryProjectId; - @Schema(description = "检测单位ID,UNT表", example = "15001") + @Schema(description = "检测单位ID,UNT表", example = "8007") private Long unitId; @Schema(description = "单位") @@ -47,11 +47,10 @@ public class ConfigAssayMethodProjectSaveReqVO { @NotNull(message = "是否默认启用,1-启用,0-不启用不能为空") private Integer isDefaultEnabled; - @Schema(description = "排序") - private Integer sort; + @Schema(description = "排序号") + private Integer sortNo; - @Schema(description = "所属部门", requiredMode = Schema.RequiredMode.REQUIRED) - @NotEmpty(message = "所属部门不能为空") + @Schema(description = "所属部门") private String systemDepartmentCode; @Schema(description = "备注") diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodReqVO.java index 44b4e24..736dd8c 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodReqVO.java @@ -11,12 +11,12 @@ import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH @Schema(description = "管理后台 - 检测方法配置分页 Request VO") @Data -public class ConfigAssayMethodReqVO extends PageParam { +public class ConfigAssayMethodReqVO { - @Schema(description = "方法库ID", example = "31274") + @Schema(description = "方法库ID", example = "9346") private Long methodConfigId; - @Schema(description = "方法名称", example = "王五") + @Schema(description = "方法名称", example = "李四") private String name; @Schema(description = "方法编号") @@ -25,11 +25,14 @@ public class ConfigAssayMethodReqVO extends PageParam { @Schema(description = "描述") private String description; + @Schema(description = "数据集Key,T_DAT_COLT_FLD") + private String dataCollectionKey; + @Schema(description = "是否启用,1-启用,0-不启用") private Integer isEnabled; - @Schema(description = "任务模版key") - private String templateKey; + @Schema(description = "任务单模板key") + private String configReportTemplateKey; @Schema(description = "任务单编号规则") private String codeRule; @@ -43,13 +46,16 @@ public class ConfigAssayMethodReqVO extends PageParam { @Schema(description = "任务分配表单配置信息,是否添加质控样;是否过筛;是否预览打印;是否查询S值范围;是否需要流程审批;流程审批编码;退回样品审批流程编码:任务完成时的提交方式;指派单抬头key") private String assayTaskInfomation; - @Schema(description = "检测部门编号") - private String assayDepartmentCode; + @Schema(description = "分析部门ID", example = "31510") + private Long assayDepartmentId; + + @Schema(description = "分析部门名称", example = "张三") + private String assayDepartmentName; @Schema(description = "所属部门") private String systemDepartmentCode; - @Schema(description = "创建日期") + @Schema(description = "创建时间") @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) private LocalDateTime[] createTime; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodRespVO.java index b60fd94..2ff7982 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodRespVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodRespVO.java @@ -12,15 +12,15 @@ import com.alibaba.excel.annotation.*; @ExcelIgnoreUnannotated public class ConfigAssayMethodRespVO { - @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "31987") + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "3640") @ExcelProperty("ID") private Long id; - @Schema(description = "方法库ID", example = "31274") + @Schema(description = "方法库ID", example = "9346") @ExcelProperty("方法库ID") private Long methodConfigId; - @Schema(description = "方法名称", example = "王五") + @Schema(description = "方法名称", example = "李四") @ExcelProperty("方法名称") private String name; @@ -32,13 +32,17 @@ public class ConfigAssayMethodRespVO { @ExcelProperty("描述") private String description; + @Schema(description = "数据集Key,T_DAT_COLT_FLD", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("数据集Key,T_DAT_COLT_FLD") + private String dataCollectionKey; + @Schema(description = "是否启用,1-启用,0-不启用", requiredMode = Schema.RequiredMode.REQUIRED) @ExcelProperty("是否启用,1-启用,0-不启用") private Integer isEnabled; - @Schema(description = "任务模版key") - @ExcelProperty("任务模版key") - private String templateKey; + @Schema(description = "任务单模板key") + @ExcelProperty("任务单模板key") + private String configReportTemplateKey; @Schema(description = "任务单编号规则", requiredMode = Schema.RequiredMode.REQUIRED) @ExcelProperty("任务单编号规则") @@ -56,16 +60,20 @@ public class ConfigAssayMethodRespVO { @ExcelProperty("任务分配表单配置信息,是否添加质控样;是否过筛;是否预览打印;是否查询S值范围;是否需要流程审批;流程审批编码;退回样品审批流程编码:任务完成时的提交方式;指派单抬头key") private String assayTaskInfomation; - @Schema(description = "检测部门编号", requiredMode = Schema.RequiredMode.REQUIRED) - @ExcelProperty("检测部门编号") - private String assayDepartmentCode; + @Schema(description = "分析部门ID", example = "31510") + @ExcelProperty("分析部门ID") + private Long assayDepartmentId; - @Schema(description = "所属部门", requiredMode = Schema.RequiredMode.REQUIRED) + @Schema(description = "分析部门名称", example = "张三") + @ExcelProperty("分析部门名称") + private String assayDepartmentName; + + @Schema(description = "所属部门") @ExcelProperty("所属部门") private String systemDepartmentCode; - @Schema(description = "创建日期", requiredMode = Schema.RequiredMode.REQUIRED) - @ExcelProperty("创建日期") + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("创建时间") private LocalDateTime createTime; @Schema(description = "备注") diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodSaveReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodSaveReqVO.java index f6b0e39..432be28 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodSaveReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodSaveReqVO.java @@ -9,13 +9,13 @@ import jakarta.validation.constraints.*; @Data public class ConfigAssayMethodSaveReqVO { - @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "31987") + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "3640") private Long id; - @Schema(description = "方法库ID", example = "31274") + @Schema(description = "方法库ID", example = "9346") private Long methodConfigId; - @Schema(description = "方法名称", example = "王五") + @Schema(description = "方法名称", example = "李四") private String name; @Schema(description = "方法编号") @@ -24,19 +24,23 @@ public class ConfigAssayMethodSaveReqVO { @Schema(description = "描述") private String description; + @Schema(description = "数据集Key,T_DAT_COLT_FLD", requiredMode = Schema.RequiredMode.REQUIRED) + @NotEmpty(message = "数据集Key,T_DAT_COLT_FLD不能为空") + private String dataCollectionKey; + @Schema(description = "是否启用,1-启用,0-不启用", requiredMode = Schema.RequiredMode.REQUIRED) @NotNull(message = "是否启用,1-启用,0-不启用不能为空") private Integer isEnabled; - @Schema(description = "任务模版key") - private String templateKey; + @Schema(description = "任务单模板key") + private String configReportTemplateKey; @Schema(description = "任务单编号规则", requiredMode = Schema.RequiredMode.REQUIRED) @NotEmpty(message = "任务单编号规则不能为空") private String codeRule; @Schema(description = "分配方式,【字典】【jy_assay_method_assign_way】随机分配,按顺序分配,自动分配", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "分配方式,【字典】【jy_assay_method_assign_way】随机分配,按顺序分配,自动分配不能为空") + @NotEmpty(message = "分配方式,【字典】【jy_assay_method_assign_way】随机分配,按顺序分配,自动分配不能为空") private String assignWay; @Schema(description = "展示平台,【字典】【jy_assay_method_assign_platform】pad、pc、pad&pc", requiredMode = Schema.RequiredMode.REQUIRED) @@ -46,12 +50,13 @@ public class ConfigAssayMethodSaveReqVO { @Schema(description = "任务分配表单配置信息,是否添加质控样;是否过筛;是否预览打印;是否查询S值范围;是否需要流程审批;流程审批编码;退回样品审批流程编码:任务完成时的提交方式;指派单抬头key") private String assayTaskInfomation; - @Schema(description = "检测部门编号", requiredMode = Schema.RequiredMode.REQUIRED) - @NotEmpty(message = "检测部门编号不能为空") - private String assayDepartmentCode; + @Schema(description = "分析部门ID", example = "31510") + private Long assayDepartmentId; - @Schema(description = "所属部门", requiredMode = Schema.RequiredMode.REQUIRED) - @NotEmpty(message = "所属部门不能为空") + @Schema(description = "分析部门名称", example = "张三") + private String assayDepartmentName; + + @Schema(description = "所属部门") private String systemDepartmentCode; @Schema(description = "备注") diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigBaseSamplePageReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigBaseSamplePageReqVO.java index 219c897..0854a3d 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigBaseSamplePageReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigBaseSamplePageReqVO.java @@ -13,10 +13,10 @@ import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH @Data public class ConfigBaseSamplePageReqVO extends PageParam { - @Schema(description = "样品ID", example = "18277") + @Schema(description = "样品大类ID", example = "15112") private Long baseSampleId; - @Schema(description = "父级ID", example = "17109") + @Schema(description = "父级ID", example = "25043") private Long parentId; @Schema(description = "编码规则") @@ -29,15 +29,15 @@ public class ConfigBaseSamplePageReqVO extends PageParam { private String printTemplate; @Schema(description = "样品标签打印份数") - private Integer codePrintQuantity; + private byte[] codePrintQuantity; - @Schema(description = "样品名称", example = "张三") + @Schema(description = "样品名称", example = "芋艿") private String sampleName; @Schema(description = "所属部门") private String systemDepartmentCode; - @Schema(description = "创建日期") + @Schema(description = "创建时间") @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) private LocalDateTime[] createTime; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigBaseSampleRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigBaseSampleRespVO.java index b679d36..f6f102e 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigBaseSampleRespVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigBaseSampleRespVO.java @@ -12,15 +12,15 @@ import com.alibaba.excel.annotation.*; @ExcelIgnoreUnannotated public class ConfigBaseSampleRespVO { - @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "12819") + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "1552") @ExcelProperty("ID") private Long id; - @Schema(description = "样品ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "18277") - @ExcelProperty("样品ID") + @Schema(description = "样品大类ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "15112") + @ExcelProperty("样品大类ID") private Long baseSampleId; - @Schema(description = "父级ID", example = "17109") + @Schema(description = "父级ID", example = "25043") @ExcelProperty("父级ID") private Long parentId; @@ -38,18 +38,18 @@ public class ConfigBaseSampleRespVO { @Schema(description = "样品标签打印份数", requiredMode = Schema.RequiredMode.REQUIRED) @ExcelProperty("样品标签打印份数") - private Integer codePrintQuantity; + private byte[] codePrintQuantity; - @Schema(description = "样品名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三") + @Schema(description = "样品名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿") @ExcelProperty("样品名称") private String sampleName; - @Schema(description = "所属部门", requiredMode = Schema.RequiredMode.REQUIRED) + @Schema(description = "所属部门") @ExcelProperty("所属部门") private String systemDepartmentCode; - @Schema(description = "创建日期", requiredMode = Schema.RequiredMode.REQUIRED) - @ExcelProperty("创建日期") + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("创建时间") private LocalDateTime createTime; @Schema(description = "备注") diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigBaseSampleSaveReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigBaseSampleSaveReqVO.java index 77aa160..64918f8 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigBaseSampleSaveReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigBaseSampleSaveReqVO.java @@ -9,14 +9,14 @@ import jakarta.validation.constraints.*; @Data public class ConfigBaseSampleSaveReqVO { - @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "12819") + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "1552") private Long id; - @Schema(description = "样品ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "18277") - @NotNull(message = "样品ID不能为空") + @Schema(description = "样品大类ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "15112") + @NotNull(message = "样品大类ID不能为空") private Long baseSampleId; - @Schema(description = "父级ID", example = "17109") + @Schema(description = "父级ID", example = "25043") private Long parentId; @Schema(description = "编码规则", requiredMode = Schema.RequiredMode.REQUIRED) @@ -33,14 +33,13 @@ public class ConfigBaseSampleSaveReqVO { @Schema(description = "样品标签打印份数", requiredMode = Schema.RequiredMode.REQUIRED) @NotNull(message = "样品标签打印份数不能为空") - private Integer codePrintQuantity; + private byte[] codePrintQuantity; - @Schema(description = "样品名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三") + @Schema(description = "样品名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿") @NotEmpty(message = "样品名称不能为空") private String sampleName; - @Schema(description = "所属部门", requiredMode = Schema.RequiredMode.REQUIRED) - @NotEmpty(message = "所属部门不能为空") + @Schema(description = "所属部门") private String systemDepartmentCode; @Schema(description = "备注") diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigDocumentTypePageReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigDocumentTypePageReqVO.java index dc2a425..06efab2 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigDocumentTypePageReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigDocumentTypePageReqVO.java @@ -13,7 +13,7 @@ import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH @Data public class ConfigDocumentTypePageReqVO extends PageParam { - @Schema(description = "报表类型ID", example = "21445") + @Schema(description = "报表类型ID", example = "23835") private Long configReportTypeId; @Schema(description = "类型名称", example = "王五") @@ -31,13 +31,13 @@ public class ConfigDocumentTypePageReqVO extends PageParam { @Schema(description = "报告编号规则") private String codeRule; - @Schema(description = "报告类型,【字典】【jy_doc_main_type】化验报告、典型性报告、检测报告", example = "1") + @Schema(description = "报告类型,【字典】【jy_doc_main_type】化验报告、典型性报告、检测报告", example = "2") private String type; @Schema(description = "所属部门") private String systemDepartmentCode; - @Schema(description = "创建日期") + @Schema(description = "创建时间") @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) private LocalDateTime[] createTime; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigDocumentTypeRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigDocumentTypeRespVO.java index b3cbd16..d036212 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigDocumentTypeRespVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigDocumentTypeRespVO.java @@ -12,11 +12,11 @@ import com.alibaba.excel.annotation.*; @ExcelIgnoreUnannotated public class ConfigDocumentTypeRespVO { - @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "32458") + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "8816") @ExcelProperty("ID") private Long id; - @Schema(description = "报表类型ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "21445") + @Schema(description = "报表类型ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "23835") @ExcelProperty("报表类型ID") private Long configReportTypeId; @@ -40,7 +40,7 @@ public class ConfigDocumentTypeRespVO { @ExcelProperty("报告编号规则") private String codeRule; - @Schema(description = "报告类型,【字典】【jy_doc_main_type】化验报告、典型性报告、检测报告", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + @Schema(description = "报告类型,【字典】【jy_doc_main_type】化验报告、典型性报告、检测报告", requiredMode = Schema.RequiredMode.REQUIRED, example = "2") @ExcelProperty("报告类型,【字典】【jy_doc_main_type】化验报告、典型性报告、检测报告") private String type; @@ -48,8 +48,8 @@ public class ConfigDocumentTypeRespVO { @ExcelProperty("所属部门") private String systemDepartmentCode; - @Schema(description = "创建日期", requiredMode = Schema.RequiredMode.REQUIRED) - @ExcelProperty("创建日期") + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("创建时间") private LocalDateTime createTime; @Schema(description = "备注") diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigDocumentTypeSaveReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigDocumentTypeSaveReqVO.java index f4d2668..3cd32bc 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigDocumentTypeSaveReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigDocumentTypeSaveReqVO.java @@ -9,10 +9,10 @@ import jakarta.validation.constraints.*; @Data public class ConfigDocumentTypeSaveReqVO { - @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "32458") + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "8816") private Long id; - @Schema(description = "报表类型ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "21445") + @Schema(description = "报表类型ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "23835") @NotNull(message = "报表类型ID不能为空") private Long configReportTypeId; @@ -36,12 +36,11 @@ public class ConfigDocumentTypeSaveReqVO { @NotEmpty(message = "报告编号规则不能为空") private String codeRule; - @Schema(description = "报告类型,【字典】【jy_doc_main_type】化验报告、典型性报告、检测报告", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + @Schema(description = "报告类型,【字典】【jy_doc_main_type】化验报告、典型性报告、检测报告", requiredMode = Schema.RequiredMode.REQUIRED, example = "2") @NotEmpty(message = "报告类型,【字典】【jy_doc_main_type】化验报告、典型性报告、检测报告不能为空") private String type; @Schema(description = "所属部门", requiredMode = Schema.RequiredMode.REQUIRED) - @NotEmpty(message = "所属部门不能为空") private String systemDepartmentCode; @Schema(description = "备注") diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigEntrustSourcePageReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigEntrustSourcePageReqVO.java index 1011668..b89ec46 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigEntrustSourcePageReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigEntrustSourcePageReqVO.java @@ -13,17 +13,20 @@ import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH @Data public class ConfigEntrustSourcePageReqVO extends PageParam { - @Schema(description = "名称,西南铜委托、商检委托、内部委托、抽查委托、内审委托、生产委托", example = "李四") + @Schema(description = "委托类型,委托登记-entrust_registration、检验委托-entrust_inspection", example = "1") + private String entrustType; + + @Schema(description = "委托来源名称,西南铜委托、商检委托、内部委托、抽查委托、内审委托、生产委托", example = "赵六") private String name; - @Schema(description = "模版Key") + @Schema(description = "委托来源Key") private String key; - @Schema(description = "数据集key,T_DAT_COLT_FLD") + @Schema(description = "数据集Key,T_DAT_COLT_FLD") private String dataCollectionKey; - @Schema(description = "委托单模版") - private String template; + @Schema(description = "委托单模版Key") + private String configReportTemplateKey; @Schema(description = "委托单号规则") private String codeRule; @@ -31,7 +34,7 @@ public class ConfigEntrustSourcePageReqVO extends PageParam { @Schema(description = "所属部门") private String systemDepartmentCode; - @Schema(description = "创建日期") + @Schema(description = "创建时间") @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) private LocalDateTime[] createTime; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigEntrustSourceReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigEntrustSourceReqVO.java index f74c551..718f25e 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigEntrustSourceReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigEntrustSourceReqVO.java @@ -13,17 +13,20 @@ import lombok.Data; @Data public class ConfigEntrustSourceReqVO { - @Schema(description = "名称,西南铜委托、商检委托、内部委托、抽查委托、内审委托、生产委托", example = "王五") + @Schema(description = "委托类型,委托登记-entrust_registration、检验委托-entrust_inspection", example = "1") + private String entrustType; + + @Schema(description = "委托来源名称,西南铜委托、商检委托、内部委托、抽查委托、内审委托、生产委托", example = "赵六") private String name; - @Schema(description = "模版Key") + @Schema(description = "委托来源Key") private String key; - @Schema(description = "数据集key,T_DAT_COLT_FLD", requiredMode = Schema.RequiredMode.REQUIRED) + @Schema(description = "数据集Key,T_DAT_COLT_FLD") private String dataCollectionKey; - @Schema(description = "委托单模版") - private String template; + @Schema(description = "委托单模版Key") + private String configReportTemplateKey; @Schema(description = "委托单号规则") private String codeRule; @@ -31,10 +34,11 @@ public class ConfigEntrustSourceReqVO { @Schema(description = "所属部门") private String systemDepartmentCode; - @Schema(description = "创建日期") + @Schema(description = "创建时间") @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) private LocalDateTime[] createTime; @Schema(description = "备注") private String remark; + } diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigEntrustSourceRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigEntrustSourceRespVO.java index 8a411a6..4004fcd 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigEntrustSourceRespVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigEntrustSourceRespVO.java @@ -12,25 +12,29 @@ import com.alibaba.excel.annotation.*; @ExcelIgnoreUnannotated public class ConfigEntrustSourceRespVO { - @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "6861") + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "1702") @ExcelProperty("ID") private Long id; - @Schema(description = "名称,西南铜委托、商检委托、内部委托、抽查委托、内审委托、生产委托", requiredMode = Schema.RequiredMode.REQUIRED, example = "李四") - @ExcelProperty("名称,西南铜委托、商检委托、内部委托、抽查委托、内审委托、生产委托") + @Schema(description = "委托类型,委托登记-entrust_registration、检验委托-entrust_inspection", example = "1") + @ExcelProperty("委托类型,委托登记-entrust_registration、检验委托-entrust_inspection") + private String entrustType; + + @Schema(description = "委托来源名称,西南铜委托、商检委托、内部委托、抽查委托、内审委托、生产委托", requiredMode = Schema.RequiredMode.REQUIRED, example = "赵六") + @ExcelProperty("委托来源名称,西南铜委托、商检委托、内部委托、抽查委托、内审委托、生产委托") private String name; - @Schema(description = "模版Key", requiredMode = Schema.RequiredMode.REQUIRED) - @ExcelProperty("模版Key") + @Schema(description = "委托来源Key", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("委托来源Key") private String key; - @Schema(description = "数据集key,T_DAT_COLT_FLD", requiredMode = Schema.RequiredMode.REQUIRED) - @ExcelProperty("数据集key,T_DAT_COLT_FLD") + @Schema(description = "数据集Key,T_DAT_COLT_FLD", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("数据集Key,T_DAT_COLT_FLD") private String dataCollectionKey; - @Schema(description = "委托单模版") - @ExcelProperty("委托单模版") - private String template; + @Schema(description = "委托单模版Key") + @ExcelProperty("委托单模版Key") + private String configReportTemplateKey; @Schema(description = "委托单号规则") @ExcelProperty("委托单号规则") @@ -40,8 +44,8 @@ public class ConfigEntrustSourceRespVO { @ExcelProperty("所属部门") private String systemDepartmentCode; - @Schema(description = "创建日期", requiredMode = Schema.RequiredMode.REQUIRED) - @ExcelProperty("创建日期") + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("创建时间") private LocalDateTime createTime; @Schema(description = "备注") diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigEntrustSourceSaveReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigEntrustSourceSaveReqVO.java index 76bfda0..2b0a9bf 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigEntrustSourceSaveReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigEntrustSourceSaveReqVO.java @@ -9,32 +9,34 @@ import jakarta.validation.constraints.*; @Data public class ConfigEntrustSourceSaveReqVO { - @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "6861") + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "1702") private Long id; - @Schema(description = "名称,西南铜委托、商检委托、内部委托、抽查委托、内审委托、生产委托", requiredMode = Schema.RequiredMode.REQUIRED, example = "李四") - @NotEmpty(message = "名称,西南铜委托、商检委托、内部委托、抽查委托、内审委托、生产委托不能为空") + @Schema(description = "委托类型,委托登记-entrust_registration、检验委托-entrust_inspection", example = "1") + private String entrustType; + + @Schema(description = "委托来源名称,西南铜委托、商检委托、内部委托、抽查委托、内审委托、生产委托", requiredMode = Schema.RequiredMode.REQUIRED, example = "赵六") + @NotEmpty(message = "委托来源名称,西南铜委托、商检委托、内部委托、抽查委托、内审委托、生产委托不能为空") private String name; - @Schema(description = "模版Key", requiredMode = Schema.RequiredMode.REQUIRED) - @NotEmpty(message = "模版Key不能为空") + @Schema(description = "委托来源Key", requiredMode = Schema.RequiredMode.REQUIRED) + @NotEmpty(message = "委托来源Key不能为空") private String key; - @Schema(description = "数据集key,T_DAT_COLT_FLD", requiredMode = Schema.RequiredMode.REQUIRED) - @NotEmpty(message = "数据集key,T_DAT_COLT_FLD不能为空") + @Schema(description = "数据集Key,T_DAT_COLT_FLD", requiredMode = Schema.RequiredMode.REQUIRED) + @NotEmpty(message = "数据集Key,T_DAT_COLT_FLD不能为空") private String dataCollectionKey; - @Schema(description = "委托单模版") - private String template; + @Schema(description = "委托单模版Key") + private String configReportTemplateKey; @Schema(description = "委托单号规则") private String codeRule; @Schema(description = "所属部门", requiredMode = Schema.RequiredMode.REQUIRED) - @NotEmpty(message = "所属部门不能为空") private String systemDepartmentCode; @Schema(description = "备注") private String remark; - + } \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigProjectPageReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigProjectPageReqVO.java index fb609de..62531e2 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigProjectPageReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigProjectPageReqVO.java @@ -13,10 +13,10 @@ import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH @Data public class ConfigProjectPageReqVO extends PageParam { - @Schema(description = "检测项目ID", example = "6630") + @Schema(description = "检测项目ID", example = "4822") private Long dictionaryProjectId; - @Schema(description = "检测方法配置ID", example = "5185") + @Schema(description = "检测方法配置ID", example = "22238") private Long configAssayMethodId; @Schema(description = "上报列字段") @@ -25,7 +25,7 @@ public class ConfigProjectPageReqVO extends PageParam { @Schema(description = "所属部门") private String systemDepartmentCode; - @Schema(description = "创建日期") + @Schema(description = "创建时间") @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) private LocalDateTime[] createTime; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigProjectRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigProjectRespVO.java index bfa7f4b..d351204 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigProjectRespVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigProjectRespVO.java @@ -12,15 +12,15 @@ import com.alibaba.excel.annotation.*; @ExcelIgnoreUnannotated public class ConfigProjectRespVO { - @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "27310") + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "5291") @ExcelProperty("ID") private Long id; - @Schema(description = "检测项目ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "6630") + @Schema(description = "检测项目ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "4822") @ExcelProperty("检测项目ID") private Long dictionaryProjectId; - @Schema(description = "检测方法配置ID", example = "5185") + @Schema(description = "检测方法配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "22238") @ExcelProperty("检测方法配置ID") private Long configAssayMethodId; @@ -28,12 +28,12 @@ public class ConfigProjectRespVO { @ExcelProperty("上报列字段") private String saveColumn; - @Schema(description = "所属部门", requiredMode = Schema.RequiredMode.REQUIRED) + @Schema(description = "所属部门") @ExcelProperty("所属部门") private String systemDepartmentCode; - @Schema(description = "创建日期", requiredMode = Schema.RequiredMode.REQUIRED) - @ExcelProperty("创建日期") + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("创建时间") private LocalDateTime createTime; @Schema(description = "备注") diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigProjectSaveReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigProjectSaveReqVO.java index 843ae38..4a731fb 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigProjectSaveReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigProjectSaveReqVO.java @@ -9,22 +9,22 @@ import jakarta.validation.constraints.*; @Data public class ConfigProjectSaveReqVO { - @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "27310") + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "5291") private Long id; - @Schema(description = "检测项目ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "6630") + @Schema(description = "检测项目ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "4822") @NotNull(message = "检测项目ID不能为空") private Long dictionaryProjectId; - @Schema(description = "检测方法配置ID", example = "5185") + @Schema(description = "检测方法配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "22238") + @NotNull(message = "检测方法配置ID不能为空") private Long configAssayMethodId; @Schema(description = "上报列字段", requiredMode = Schema.RequiredMode.REQUIRED) @NotEmpty(message = "上报列字段不能为空") private String saveColumn; - @Schema(description = "所属部门", requiredMode = Schema.RequiredMode.REQUIRED) - @NotEmpty(message = "所属部门不能为空") + @Schema(description = "所属部门") private String systemDepartmentCode; @Schema(description = "备注") diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigReportFieldPageReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigReportFieldPageReqVO.java index 4bbb60d..15f6266 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigReportFieldPageReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigReportFieldPageReqVO.java @@ -13,13 +13,13 @@ import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH @Data public class ConfigReportFieldPageReqVO extends PageParam { - @Schema(description = "报表类型ID", example = "28419") + @Schema(description = "报表类型ID", example = "24954") private Long configReportTypeId; @Schema(description = "绑定字段") private String field; - @Schema(description = "标题名称", example = "张三") + @Schema(description = "标题名称", example = "赵六") private String fieldName; @Schema(description = "排序号") @@ -29,7 +29,7 @@ public class ConfigReportFieldPageReqVO extends PageParam { private Integer dataType; @Schema(description = "小数位") - private Integer decimal; + private Integer decimalPosition; @Schema(description = "列宽") private Integer fieldWidth; @@ -50,7 +50,7 @@ public class ConfigReportFieldPageReqVO extends PageParam { @Schema(description = "所属部门") private String systemDepartmentCode; - @Schema(description = "创建日期") + @Schema(description = "创建时间") @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) private LocalDateTime[] createTime; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigReportFieldRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigReportFieldRespVO.java index 4a59fd4..3175d06 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigReportFieldRespVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigReportFieldRespVO.java @@ -12,11 +12,11 @@ import com.alibaba.excel.annotation.*; @ExcelIgnoreUnannotated public class ConfigReportFieldRespVO { - @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "6012") + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "20910") @ExcelProperty("ID") private Long id; - @Schema(description = "报表类型ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "28419") + @Schema(description = "报表类型ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "24954") @ExcelProperty("报表类型ID") private Long configReportTypeId; @@ -24,7 +24,7 @@ public class ConfigReportFieldRespVO { @ExcelProperty("绑定字段") private String field; - @Schema(description = "标题名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三") + @Schema(description = "标题名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "赵六") @ExcelProperty("标题名称") private String fieldName; @@ -38,7 +38,7 @@ public class ConfigReportFieldRespVO { @Schema(description = "小数位") @ExcelProperty("小数位") - private Integer decimal; + private Integer decimalPosition; @Schema(description = "列宽", requiredMode = Schema.RequiredMode.REQUIRED) @ExcelProperty("列宽") @@ -64,8 +64,8 @@ public class ConfigReportFieldRespVO { @ExcelProperty("所属部门") private String systemDepartmentCode; - @Schema(description = "创建日期", requiredMode = Schema.RequiredMode.REQUIRED) - @ExcelProperty("创建日期") + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("创建时间") private LocalDateTime createTime; @Schema(description = "备注,1-是,0-否") diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigReportFieldSaveReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigReportFieldSaveReqVO.java index 7404ae0..556cef9 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigReportFieldSaveReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigReportFieldSaveReqVO.java @@ -9,10 +9,10 @@ import jakarta.validation.constraints.*; @Data public class ConfigReportFieldSaveReqVO { - @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "6012") + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "20910") private Long id; - @Schema(description = "报表类型ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "28419") + @Schema(description = "报表类型ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "24954") @NotNull(message = "报表类型ID不能为空") private Long configReportTypeId; @@ -20,7 +20,7 @@ public class ConfigReportFieldSaveReqVO { @NotEmpty(message = "绑定字段不能为空") private String field; - @Schema(description = "标题名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三") + @Schema(description = "标题名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "赵六") @NotEmpty(message = "标题名称不能为空") private String fieldName; @@ -33,7 +33,7 @@ public class ConfigReportFieldSaveReqVO { private Integer dataType; @Schema(description = "小数位") - private Integer decimal; + private Integer decimalPosition; @Schema(description = "列宽", requiredMode = Schema.RequiredMode.REQUIRED) @NotNull(message = "列宽不能为空") @@ -56,7 +56,6 @@ public class ConfigReportFieldSaveReqVO { private String titleGroup; @Schema(description = "所属部门", requiredMode = Schema.RequiredMode.REQUIRED) - @NotEmpty(message = "所属部门不能为空") private String systemDepartmentCode; @Schema(description = "备注,1-是,0-否") diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigReportTemplatePageReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigReportTemplatePageReqVO.java index 90bc7c2..2a115a5 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigReportTemplatePageReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigReportTemplatePageReqVO.java @@ -1,21 +1,19 @@ package com.zt.plat.module.qms.business.config.controller.vo; import lombok.*; +import java.util.*; import io.swagger.v3.oas.annotations.media.Schema; import com.zt.plat.framework.common.pojo.PageParam; import org.springframework.format.annotation.DateTimeFormat; - -import com.alibaba.excel.annotation.ExcelProperty; - import java.time.LocalDateTime; import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; -@Schema(description = "管理后台 - 报表模版配置分页 Request VO") +@Schema(description = "管理后台 - 锐浪报表模版配置分页 Request VO") @Data public class ConfigReportTemplatePageReqVO extends PageParam { - @Schema(description = "模版名称", example = "赵六") + @Schema(description = "模版名称", example = "李四") private String name; @Schema(description = "模版Key") @@ -30,17 +28,17 @@ public class ConfigReportTemplatePageReqVO extends PageParam { @Schema(description = "数据") private String data; - @Schema(description = "模板是否已授权") + @Schema(description = "是否授权,1-是,0否") private Integer isAuthority; @Schema(description = "所属部门") private String systemDepartmentCode; - @Schema(description = "创建日期") + @Schema(description = "创建时间") @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) private LocalDateTime[] createTime; - @Schema(description = "乐观锁", example = "15082") + @Schema(description = "乐观锁", example = "1790") private Integer updateCount; @Schema(description = "备注") diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigReportTemplateRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigReportTemplateRespVO.java index 626b1a0..417ae0f 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigReportTemplateRespVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigReportTemplateRespVO.java @@ -2,20 +2,21 @@ package com.zt.plat.module.qms.business.config.controller.vo; import io.swagger.v3.oas.annotations.media.Schema; import lombok.*; - +import java.util.*; +import org.springframework.format.annotation.DateTimeFormat; import java.time.LocalDateTime; import com.alibaba.excel.annotation.*; -@Schema(description = "管理后台 - 报表模版配置 Response VO") +@Schema(description = "管理后台 - 锐浪报表模版配置 Response VO") @Data @ExcelIgnoreUnannotated public class ConfigReportTemplateRespVO { - @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "2363") + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "15119") @ExcelProperty("ID") private Long id; - @Schema(description = "模版名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "赵六") + @Schema(description = "模版名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "李四") @ExcelProperty("模版名称") private String name; @@ -35,19 +36,19 @@ public class ConfigReportTemplateRespVO { @ExcelProperty("数据") private String data; - @Schema(description = "模板是否已授权") - @ExcelProperty("模板是否已授权") + @Schema(description = "是否授权,1-是,0否") + @ExcelProperty("是否授权,1-是,0否") private Integer isAuthority; @Schema(description = "所属部门", requiredMode = Schema.RequiredMode.REQUIRED) @ExcelProperty("所属部门") private String systemDepartmentCode; - @Schema(description = "创建日期", requiredMode = Schema.RequiredMode.REQUIRED) - @ExcelProperty("创建日期") + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("创建时间") private LocalDateTime createTime; - @Schema(description = "乐观锁", requiredMode = Schema.RequiredMode.REQUIRED, example = "15082") + @Schema(description = "乐观锁", requiredMode = Schema.RequiredMode.REQUIRED, example = "1790") @ExcelProperty("乐观锁") private Integer updateCount; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigReportTemplateSaveReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigReportTemplateSaveReqVO.java index 67ff026..04c5378 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigReportTemplateSaveReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigReportTemplateSaveReqVO.java @@ -1,20 +1,18 @@ package com.zt.plat.module.qms.business.config.controller.vo; -import com.alibaba.excel.annotation.ExcelProperty; - import io.swagger.v3.oas.annotations.media.Schema; import lombok.*; - +import java.util.*; import jakarta.validation.constraints.*; -@Schema(description = "管理后台 - 报表模版配置新增/修改 Request VO") +@Schema(description = "管理后台 - 锐浪报表模版配置新增/修改 Request VO") @Data public class ConfigReportTemplateSaveReqVO { - @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "2363") + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "15119") private Long id; - @Schema(description = "模版名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "赵六") + @Schema(description = "模版名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "李四") @NotEmpty(message = "模版名称不能为空") private String name; @@ -32,14 +30,13 @@ public class ConfigReportTemplateSaveReqVO { @Schema(description = "数据") private String data; - @Schema(description = "模板是否已授权") + @Schema(description = "是否授权,1-是,0否") private Integer isAuthority; @Schema(description = "所属部门", requiredMode = Schema.RequiredMode.REQUIRED) - //@NotEmpty(message = "所属部门不能为空") private String systemDepartmentCode; - @Schema(description = "乐观锁", requiredMode = Schema.RequiredMode.REQUIRED, example = "15082") + @Schema(description = "乐观锁", requiredMode = Schema.RequiredMode.REQUIRED, example = "1790") private Integer updateCount; @Schema(description = "备注") diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigReportTypePageReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigReportTypePageReqVO.java index 055ab7a..af56996 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigReportTypePageReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigReportTypePageReqVO.java @@ -13,7 +13,7 @@ import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH @Data public class ConfigReportTypePageReqVO extends PageParam { - @Schema(description = "报表名称", example = "李四") + @Schema(description = "报表名称", example = "芋艿") private String name; @Schema(description = "键值") @@ -25,7 +25,7 @@ public class ConfigReportTypePageReqVO extends PageParam { @Schema(description = "所属部门") private String systemDepartmentCode; - @Schema(description = "创建日期") + @Schema(description = "创建时间") @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) private LocalDateTime[] createTime; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigReportTypeRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigReportTypeRespVO.java index 38aace0..04dc089 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigReportTypeRespVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigReportTypeRespVO.java @@ -12,11 +12,11 @@ import com.alibaba.excel.annotation.*; @ExcelIgnoreUnannotated public class ConfigReportTypeRespVO { - @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "9946") + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "19298") @ExcelProperty("ID") private Long id; - @Schema(description = "报表名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "李四") + @Schema(description = "报表名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿") @ExcelProperty("报表名称") private String name; @@ -28,12 +28,12 @@ public class ConfigReportTypeRespVO { @ExcelProperty("报表模版") private String template; - @Schema(description = "所属部门", requiredMode = Schema.RequiredMode.REQUIRED) + @Schema(description = "所属部门") @ExcelProperty("所属部门") private String systemDepartmentCode; - @Schema(description = "创建日期", requiredMode = Schema.RequiredMode.REQUIRED) - @ExcelProperty("创建日期") + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("创建时间") private LocalDateTime createTime; @Schema(description = "备注") diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigReportTypeSaveReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigReportTypeSaveReqVO.java index 840caf8..82148f3 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigReportTypeSaveReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigReportTypeSaveReqVO.java @@ -9,10 +9,10 @@ import jakarta.validation.constraints.*; @Data public class ConfigReportTypeSaveReqVO { - @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "9946") + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "19298") private Long id; - @Schema(description = "报表名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "李四") + @Schema(description = "报表名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿") @NotEmpty(message = "报表名称不能为空") private String name; @@ -23,8 +23,7 @@ public class ConfigReportTypeSaveReqVO { @NotEmpty(message = "报表模版不能为空") private String template; - @Schema(description = "所属部门", requiredMode = Schema.RequiredMode.REQUIRED) - @NotEmpty(message = "所属部门不能为空") + @Schema(description = "所属部门") private String systemDepartmentCode; @Schema(description = "备注") diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSampleFlowPageReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSampleFlowPageReqVO.java index bdbb9e1..a74932f 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSampleFlowPageReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSampleFlowPageReqVO.java @@ -13,7 +13,7 @@ import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH @Data public class ConfigSampleFlowPageReqVO extends PageParam { - @Schema(description = "流程名称", example = "芋艿") + @Schema(description = "流程名称", example = "王五") private String name; @Schema(description = "流程Key") @@ -25,17 +25,23 @@ public class ConfigSampleFlowPageReqVO extends PageParam { @Schema(description = "流程描述") private String description; - @Schema(description = "类型,主样、子样", example = "1") + @Schema(description = "类型,主样base_sample、子样sub_sample", example = "1") private String type; @Schema(description = "所属部门") private String systemDepartmentCode; - @Schema(description = "创建日期") + @Schema(description = "创建时间") @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) private LocalDateTime[] createTime; @Schema(description = "备注") private String remark; + @Schema(description = "版本") + private Integer version; + + @Schema(description = "是否最新版本,1-是,0-否") + private Integer isLast; + } \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSampleFlowRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSampleFlowRespVO.java index 6367aec..6620bdb 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSampleFlowRespVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSampleFlowRespVO.java @@ -12,11 +12,11 @@ import com.alibaba.excel.annotation.*; @ExcelIgnoreUnannotated public class ConfigSampleFlowRespVO { - @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "10654") + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "10354") @ExcelProperty("ID") private Long id; - @Schema(description = "流程名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿") + @Schema(description = "流程名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五") @ExcelProperty("流程名称") private String name; @@ -32,20 +32,28 @@ public class ConfigSampleFlowRespVO { @ExcelProperty("流程描述") private String description; - @Schema(description = "类型,主样、子样", example = "1") - @ExcelProperty("类型,主样、子样") + @Schema(description = "类型,主样base_sample、子样sub_sample", example = "1") + @ExcelProperty("类型,主样base_sample、子样sub_sample") private String type; @Schema(description = "所属部门", requiredMode = Schema.RequiredMode.REQUIRED) @ExcelProperty("所属部门") private String systemDepartmentCode; - @Schema(description = "创建日期", requiredMode = Schema.RequiredMode.REQUIRED) - @ExcelProperty("创建日期") + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("创建时间") private LocalDateTime createTime; @Schema(description = "备注") @ExcelProperty("备注") private String remark; + @Schema(description = "版本", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("版本") + private Integer version; + + @Schema(description = "是否最新版本,1-是,0-否") + @ExcelProperty("是否最新版本,1-是,0-否") + private Integer isLast; + } \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSampleFlowSaveReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSampleFlowSaveReqVO.java index 199e316..84a6d82 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSampleFlowSaveReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSampleFlowSaveReqVO.java @@ -9,10 +9,10 @@ import jakarta.validation.constraints.*; @Data public class ConfigSampleFlowSaveReqVO { - @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "10654") + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "10354") private Long id; - @Schema(description = "流程名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿") + @Schema(description = "流程名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五") @NotEmpty(message = "流程名称不能为空") private String name; @@ -26,7 +26,7 @@ public class ConfigSampleFlowSaveReqVO { @Schema(description = "流程描述") private String description; - @Schema(description = "类型,主样、子样", example = "1") + @Schema(description = "类型,主样base_sample、子样sub_sample", example = "1") private String type; @Schema(description = "所属部门", requiredMode = Schema.RequiredMode.REQUIRED) @@ -35,4 +35,11 @@ public class ConfigSampleFlowSaveReqVO { @Schema(description = "备注") private String remark; + @Schema(description = "版本", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "版本不能为空") + private Integer version; + + @Schema(description = "是否最新版本,1-是,0-否") + private Integer isLast; + } \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSampleHandoverPageReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSampleHandoverPageReqVO.java index e4d6eff..ca63ff5 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSampleHandoverPageReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSampleHandoverPageReqVO.java @@ -9,18 +9,18 @@ import java.time.LocalDateTime; import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; -@Schema(description = "管理后台 - 样品交接配置分页 Request VO") +@Schema(description = "管理后台 - 样品交接单配置分页 Request VO") @Data public class ConfigSampleHandoverPageReqVO extends PageParam { - @Schema(description = "交接单名称", example = "张三") + @Schema(description = "交接单名称", example = "芋艿") private String name; @Schema(description = "流程节点KY") private String dictionarySampleFlowNodeKey; @Schema(description = "交接模版key") - private String templateKey; + private String configReportTemplateKey; @Schema(description = "交接单编号规则") private String codeRule; @@ -31,7 +31,7 @@ public class ConfigSampleHandoverPageReqVO extends PageParam { @Schema(description = "所属部门") private String systemDepartmentCode; - @Schema(description = "创建日期") + @Schema(description = "创建时间") @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) private LocalDateTime[] createTime; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSampleHandoverRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSampleHandoverRespVO.java index d384178..eae7dc8 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSampleHandoverRespVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSampleHandoverRespVO.java @@ -7,16 +7,16 @@ import org.springframework.format.annotation.DateTimeFormat; import java.time.LocalDateTime; import com.alibaba.excel.annotation.*; -@Schema(description = "管理后台 - 样品交接配置 Response VO") +@Schema(description = "管理后台 - 样品交接单配置 Response VO") @Data @ExcelIgnoreUnannotated public class ConfigSampleHandoverRespVO { - @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "12423") + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "11869") @ExcelProperty("ID") private Long id; - @Schema(description = "交接单名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三") + @Schema(description = "交接单名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿") @ExcelProperty("交接单名称") private String name; @@ -24,9 +24,9 @@ public class ConfigSampleHandoverRespVO { @ExcelProperty("流程节点KY") private String dictionarySampleFlowNodeKey; - @Schema(description = "交接模版key", requiredMode = Schema.RequiredMode.REQUIRED) + @Schema(description = "交接模版key") @ExcelProperty("交接模版key") - private String templateKey; + private String configReportTemplateKey; @Schema(description = "交接单编号规则", requiredMode = Schema.RequiredMode.REQUIRED) @ExcelProperty("交接单编号规则") @@ -36,12 +36,12 @@ public class ConfigSampleHandoverRespVO { @ExcelProperty("是否预览打印") private Integer isPrint; - @Schema(description = "所属部门") + @Schema(description = "所属部门", requiredMode = Schema.RequiredMode.REQUIRED) @ExcelProperty("所属部门") private String systemDepartmentCode; - @Schema(description = "创建日期", requiredMode = Schema.RequiredMode.REQUIRED) - @ExcelProperty("创建日期") + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("创建时间") private LocalDateTime createTime; @Schema(description = "备注") diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSampleHandoverSaveReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSampleHandoverSaveReqVO.java index f6b25dd..2140392 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSampleHandoverSaveReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSampleHandoverSaveReqVO.java @@ -5,14 +5,14 @@ import lombok.*; import java.util.*; import jakarta.validation.constraints.*; -@Schema(description = "管理后台 - 样品交接配置新增/修改 Request VO") +@Schema(description = "管理后台 - 样品交接单配置新增/修改 Request VO") @Data public class ConfigSampleHandoverSaveReqVO { - @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "12423") + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "11869") private Long id; - @Schema(description = "交接单名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三") + @Schema(description = "交接单名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿") @NotEmpty(message = "交接单名称不能为空") private String name; @@ -20,9 +20,8 @@ public class ConfigSampleHandoverSaveReqVO { @NotEmpty(message = "流程节点KY不能为空") private String dictionarySampleFlowNodeKey; - @Schema(description = "交接模版key", requiredMode = Schema.RequiredMode.REQUIRED) - @NotEmpty(message = "交接模版key不能为空") - private String templateKey; + @Schema(description = "交接模版key") + private String configReportTemplateKey; @Schema(description = "交接单编号规则", requiredMode = Schema.RequiredMode.REQUIRED) @NotEmpty(message = "交接单编号规则不能为空") @@ -31,7 +30,7 @@ public class ConfigSampleHandoverSaveReqVO { @Schema(description = "是否预览打印") private Integer isPrint; - @Schema(description = "所属部门") + @Schema(description = "所属部门", requiredMode = Schema.RequiredMode.REQUIRED) private String systemDepartmentCode; @Schema(description = "备注") diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSampleReportPageReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSampleReportPageReqVO.java index 77d9d76..5eedc88 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSampleReportPageReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSampleReportPageReqVO.java @@ -13,13 +13,13 @@ import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH @Data public class ConfigSampleReportPageReqVO extends PageParam { - @Schema(description = "报表类型", example = "23048") + @Schema(description = "报表类型", example = "30219") private Long configReportTypeId; - @Schema(description = "主样配置ID", example = "10803") + @Schema(description = "主样配置ID", example = "29156") private Long configBaseSampleId; - @Schema(description = "样品名称", example = "李四") + @Schema(description = "样品名称", example = "张三") private String sampleName; @Schema(description = "数据来源") @@ -28,7 +28,7 @@ public class ConfigSampleReportPageReqVO extends PageParam { @Schema(description = "所属部门") private String systemDepartmentCode; - @Schema(description = "创建日期") + @Schema(description = "创建时间") @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) private LocalDateTime[] createTime; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSampleReportRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSampleReportRespVO.java index 5f2563e..049c310 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSampleReportRespVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSampleReportRespVO.java @@ -12,19 +12,19 @@ import com.alibaba.excel.annotation.*; @ExcelIgnoreUnannotated public class ConfigSampleReportRespVO { - @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "17737") + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "24222") @ExcelProperty("ID") private Long id; - @Schema(description = "报表类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "23048") + @Schema(description = "报表类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "30219") @ExcelProperty("报表类型") private Long configReportTypeId; - @Schema(description = "主样配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "10803") + @Schema(description = "主样配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "29156") @ExcelProperty("主样配置ID") private Long configBaseSampleId; - @Schema(description = "样品名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "李四") + @Schema(description = "样品名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三") @ExcelProperty("样品名称") private String sampleName; @@ -32,12 +32,12 @@ public class ConfigSampleReportRespVO { @ExcelProperty("数据来源") private String dataSource; - @Schema(description = "所属部门", requiredMode = Schema.RequiredMode.REQUIRED) + @Schema(description = "所属部门") @ExcelProperty("所属部门") private String systemDepartmentCode; - @Schema(description = "创建日期", requiredMode = Schema.RequiredMode.REQUIRED) - @ExcelProperty("创建日期") + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("创建时间") private LocalDateTime createTime; @Schema(description = "备注") diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSampleReportSaveReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSampleReportSaveReqVO.java index 72a0cc6..2a02f3d 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSampleReportSaveReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSampleReportSaveReqVO.java @@ -9,26 +9,25 @@ import jakarta.validation.constraints.*; @Data public class ConfigSampleReportSaveReqVO { - @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "17737") + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "24222") private Long id; - @Schema(description = "报表类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "23048") + @Schema(description = "报表类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "30219") @NotNull(message = "报表类型不能为空") private Long configReportTypeId; - @Schema(description = "主样配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "10803") + @Schema(description = "主样配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "29156") @NotNull(message = "主样配置ID不能为空") private Long configBaseSampleId; - @Schema(description = "样品名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "李四") + @Schema(description = "样品名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三") @NotEmpty(message = "样品名称不能为空") private String sampleName; @Schema(description = "数据来源") private String dataSource; - @Schema(description = "所属部门", requiredMode = Schema.RequiredMode.REQUIRED) - @NotEmpty(message = "所属部门不能为空") + @Schema(description = "所属部门") private String systemDepartmentCode; @Schema(description = "备注") diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSimpleFlowCodePageReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSimpleFlowCodePageReqVO.java index 031584b..ec6ca7f 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSimpleFlowCodePageReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSimpleFlowCodePageReqVO.java @@ -16,7 +16,7 @@ public class ConfigSimpleFlowCodePageReqVO extends PageParam { @Schema(description = "脚本序号") private String codeNo; - @Schema(description = "脚本名称", example = "李四") + @Schema(description = "脚本名称", example = "张三") private String codeName; @Schema(description = "脚本数据") @@ -31,7 +31,7 @@ public class ConfigSimpleFlowCodePageReqVO extends PageParam { @Schema(description = "所属部门") private String systemDepartmentCode; - @Schema(description = "创建日期") + @Schema(description = "创建时间") @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) private LocalDateTime[] createTime; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSimpleFlowCodeRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSimpleFlowCodeRespVO.java index 00bb5aa..3e7c6ae 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSimpleFlowCodeRespVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSimpleFlowCodeRespVO.java @@ -2,17 +2,17 @@ package com.zt.plat.module.qms.business.config.controller.vo; import io.swagger.v3.oas.annotations.media.Schema; import lombok.*; -import java.util.*; -import org.springframework.format.annotation.DateTimeFormat; import java.time.LocalDateTime; import com.alibaba.excel.annotation.*; +import com.zt.plat.module.qms.core.aspect.annotation.Dict; + @Schema(description = "管理后台 - LiteFlow脚本配置 Response VO") @Data @ExcelIgnoreUnannotated public class ConfigSimpleFlowCodeRespVO { - @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "17472") + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "21610") @ExcelProperty("ID") private Long id; @@ -20,7 +20,7 @@ public class ConfigSimpleFlowCodeRespVO { @ExcelProperty("脚本序号") private String codeNo; - @Schema(description = "脚本名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "李四") + @Schema(description = "脚本名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三") @ExcelProperty("脚本名称") private String codeName; @@ -30,18 +30,20 @@ public class ConfigSimpleFlowCodeRespVO { @Schema(description = "脚本类型,【字典】【jy_simple_flow_code_type】普通脚本、选择脚本、条件脚本、数量循环、条件循环、退出循环节", example = "1") @ExcelProperty("脚本类型,【字典】【jy_simple_flow_code_type】普通脚本、选择脚本、条件脚本、数量循环、条件循环、退出循环节") + @Dict(dicCode = "liteflow_code_type") private String codeType; @Schema(description = "脚本语言,【字典】【jy_simple_flow_code_language】Java,Groovy,QLExpress") @ExcelProperty("脚本语言,【字典】【jy_simple_flow_code_language】Java,Groovy,QLExpress") + @Dict(dicCode = "liteflow_code_language") private String codeLanguage; @Schema(description = "所属部门", requiredMode = Schema.RequiredMode.REQUIRED) @ExcelProperty("所属部门") private String systemDepartmentCode; - @Schema(description = "创建日期", requiredMode = Schema.RequiredMode.REQUIRED) - @ExcelProperty("创建日期") + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("创建时间") private LocalDateTime createTime; @Schema(description = "备注") diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSimpleFlowCodeSaveReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSimpleFlowCodeSaveReqVO.java index 93d0124..53fd350 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSimpleFlowCodeSaveReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSimpleFlowCodeSaveReqVO.java @@ -9,30 +9,28 @@ import jakarta.validation.constraints.*; @Data public class ConfigSimpleFlowCodeSaveReqVO { - @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "17472") + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "21610") private Long id; - @Schema(description = "脚本名称", requiredMode = Schema.RequiredMode.REQUIRED) - @NotEmpty(message = "脚本名称不能为空") + @Schema(description = "脚本序号", requiredMode = Schema.RequiredMode.REQUIRED) + @NotEmpty(message = "脚本序号不能为空") private String codeNo; - @Schema(description = "脚本描述", requiredMode = Schema.RequiredMode.REQUIRED, example = "李四") - @NotEmpty(message = "脚本描述不能为空") + @Schema(description = "脚本名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三") + @NotEmpty(message = "脚本名称不能为空") private String codeName; - @Schema(description = "脚本类型,【字典】【jy_simple_flow_code_type】普通脚本、选择脚本、条件脚本、数量循环、条件循环、退出循环节", example = "1") - @NotEmpty(message = "脚本类型不能为空") - private String codeType; - - @Schema(description = "脚本语言,【字典】【jy_simple_flow_code_language】Java,Groovy,QLExpress") - @NotEmpty(message = "脚本语言不能为空") - private String codeLanguage; - @Schema(description = "脚本数据", requiredMode = Schema.RequiredMode.REQUIRED) @NotEmpty(message = "脚本数据不能为空") private String codeData; - @Schema(description = "所属部门") + @Schema(description = "脚本类型,【字典】【jy_simple_flow_code_type】普通脚本、选择脚本、条件脚本、数量循环、条件循环、退出循环节", example = "1") + private String codeType; + + @Schema(description = "脚本语言,【字典】【jy_simple_flow_code_language】Java,Groovy,QLExpress") + private String codeLanguage; + + @Schema(description = "所属部门", requiredMode = Schema.RequiredMode.REQUIRED) private String systemDepartmentCode; @Schema(description = "备注") diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSimpleFlowRulePageReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSimpleFlowRulePageReqVO.java index 4d0d321..acd083c 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSimpleFlowRulePageReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSimpleFlowRulePageReqVO.java @@ -13,7 +13,7 @@ import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH @Data public class ConfigSimpleFlowRulePageReqVO extends PageParam { - @Schema(description = "名称", example = "王五") + @Schema(description = "名称", example = "张三") private String name; @Schema(description = "描述") @@ -22,19 +22,19 @@ public class ConfigSimpleFlowRulePageReqVO extends PageParam { @Schema(description = "EL表达式") private String data; + @Schema(description = "流程图") + private String flow; + @Schema(description = "路由") private String route; - @Schema(description = "组") - private String group; - - @Schema(description = "流程图") - private String flow; + @Schema(description = "组", example = "芋艿") + private String groupName; @Schema(description = "所属部门") private String systemDepartmentCode; - @Schema(description = "创建日期") + @Schema(description = "创建时间") @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) private LocalDateTime[] createTime; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSimpleFlowRuleReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSimpleFlowRuleReqVO.java index 28d436b..cdfda74 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSimpleFlowRuleReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSimpleFlowRuleReqVO.java @@ -13,7 +13,7 @@ import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH @Data public class ConfigSimpleFlowRuleReqVO { - @Schema(description = "名称", example = "王五") + @Schema(description = "名称", example = "张三") private String name; @Schema(description = "描述") @@ -22,19 +22,19 @@ public class ConfigSimpleFlowRuleReqVO { @Schema(description = "EL表达式") private String data; + @Schema(description = "流程图") + private String flow; + @Schema(description = "路由") private String route; - @Schema(description = "组") - private String group; - - @Schema(description = "流程图") - private String flow; + @Schema(description = "组", example = "芋艿") + private String groupName; @Schema(description = "所属部门") private String systemDepartmentCode; - @Schema(description = "创建日期") + @Schema(description = "创建时间") @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) private LocalDateTime[] createTime; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSimpleFlowRuleRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSimpleFlowRuleRespVO.java index a2830dd..6405a9e 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSimpleFlowRuleRespVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSimpleFlowRuleRespVO.java @@ -12,11 +12,11 @@ import com.alibaba.excel.annotation.*; @ExcelIgnoreUnannotated public class ConfigSimpleFlowRuleRespVO { - @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "26561") + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "15976") @ExcelProperty("ID") private Long id; - @Schema(description = "名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五") + @Schema(description = "名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三") @ExcelProperty("名称") private String name; @@ -28,24 +28,24 @@ public class ConfigSimpleFlowRuleRespVO { @ExcelProperty("EL表达式") private String data; + @Schema(description = "流程图") + @ExcelProperty("流程图") + private String flow; + @Schema(description = "路由") @ExcelProperty("路由") private String route; - @Schema(description = "组") + @Schema(description = "组", example = "芋艿") @ExcelProperty("组") - private String group; - - @Schema(description = "流程图") - @ExcelProperty("流程图") - private String flow; + private String groupName; @Schema(description = "所属部门", requiredMode = Schema.RequiredMode.REQUIRED) @ExcelProperty("所属部门") private String systemDepartmentCode; - @Schema(description = "创建日期", requiredMode = Schema.RequiredMode.REQUIRED) - @ExcelProperty("创建日期") + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("创建时间") private LocalDateTime createTime; @Schema(description = "备注") diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSimpleFlowRuleSaveReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSimpleFlowRuleSaveReqVO.java index 980ab35..bae63c6 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSimpleFlowRuleSaveReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSimpleFlowRuleSaveReqVO.java @@ -9,30 +9,31 @@ import jakarta.validation.constraints.*; @Data public class ConfigSimpleFlowRuleSaveReqVO { - @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "26561") + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "15976") private Long id; - @Schema(description = "名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五") + @Schema(description = "名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三") @NotEmpty(message = "名称不能为空") private String name; @Schema(description = "描述", requiredMode = Schema.RequiredMode.REQUIRED) + @NotEmpty(message = "描述不能为空") private String description; @Schema(description = "EL表达式", requiredMode = Schema.RequiredMode.REQUIRED) @NotEmpty(message = "EL表达式不能为空") private String data; - @Schema(description = "路由") - private String route; - - @Schema(description = "组") - private String group; - @Schema(description = "流程图") private String flow; - @Schema(description = "所属部门") + @Schema(description = "路由") + private String route; + + @Schema(description = "组", example = "芋艿") + private String groupName; + + @Schema(description = "所属部门", requiredMode = Schema.RequiredMode.REQUIRED) private String systemDepartmentCode; @Schema(description = "备注") diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigStandardSampleProjectPageReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigStandardSampleProjectPageReqVO.java index 7d4bb9f..9e20deb 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigStandardSampleProjectPageReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigStandardSampleProjectPageReqVO.java @@ -13,16 +13,16 @@ import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH @Data public class ConfigStandardSampleProjectPageReqVO extends PageParam { - @Schema(description = "标准样类型ID", example = "31807") + @Schema(description = "标准样类型ID", example = "12426") private Long configStandardSampleTypeId; - @Schema(description = "检测项目ID", example = "7405") + @Schema(description = "检测项目ID", example = "8525") private Long dictionaryProjectId; - @Schema(description = "检测项目名称", example = "张三") + @Schema(description = "检测项目名称", example = "芋艿") private String dictionaryProjectName; - @Schema(description = "检测单位ID,UNT表", example = "25945") + @Schema(description = "检测单位ID,UNT表", example = "31396") private Long unitId; @Schema(description = "检测项目单位") @@ -32,12 +32,12 @@ public class ConfigStandardSampleProjectPageReqVO extends PageParam { private Integer accuracy; @Schema(description = "排序号") - private String sort; + private Integer sortNo; @Schema(description = "所属部门") private String systemDepartmentCode; - @Schema(description = "创建日期") + @Schema(description = "创建时间") @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) private LocalDateTime[] createTime; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigStandardSampleProjectRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigStandardSampleProjectRespVO.java index ac9c4e2..e59e050 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigStandardSampleProjectRespVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigStandardSampleProjectRespVO.java @@ -12,23 +12,23 @@ import com.alibaba.excel.annotation.*; @ExcelIgnoreUnannotated public class ConfigStandardSampleProjectRespVO { - @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "13401") + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "6168") @ExcelProperty("ID") private Long id; - @Schema(description = "标准样类型ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "31807") + @Schema(description = "标准样类型ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "12426") @ExcelProperty("标准样类型ID") private Long configStandardSampleTypeId; - @Schema(description = "检测项目ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "7405") + @Schema(description = "检测项目ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "8525") @ExcelProperty("检测项目ID") private Long dictionaryProjectId; - @Schema(description = "检测项目名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三") + @Schema(description = "检测项目名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿") @ExcelProperty("检测项目名称") private String dictionaryProjectName; - @Schema(description = "检测单位ID,UNT表", example = "25945") + @Schema(description = "检测单位ID,UNT表", example = "31396") @ExcelProperty("检测单位ID,UNT表") private Long unitId; @@ -40,16 +40,16 @@ public class ConfigStandardSampleProjectRespVO { @ExcelProperty("小数精度") private Integer accuracy; - @Schema(description = "排序号") + @Schema(description = "排序号", requiredMode = Schema.RequiredMode.REQUIRED) @ExcelProperty("排序号") - private String sort; + private Integer sortNo; - @Schema(description = "所属部门", requiredMode = Schema.RequiredMode.REQUIRED) + @Schema(description = "所属部门") @ExcelProperty("所属部门") private String systemDepartmentCode; - @Schema(description = "创建日期", requiredMode = Schema.RequiredMode.REQUIRED) - @ExcelProperty("创建日期") + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("创建时间") private LocalDateTime createTime; @Schema(description = "备注") diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigStandardSampleProjectSaveReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigStandardSampleProjectSaveReqVO.java index 19e069e..672c57e 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigStandardSampleProjectSaveReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigStandardSampleProjectSaveReqVO.java @@ -9,22 +9,22 @@ import jakarta.validation.constraints.*; @Data public class ConfigStandardSampleProjectSaveReqVO { - @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "13401") + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "6168") private Long id; - @Schema(description = "标准样类型ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "31807") + @Schema(description = "标准样类型ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "12426") @NotNull(message = "标准样类型ID不能为空") private Long configStandardSampleTypeId; - @Schema(description = "检测项目ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "7405") + @Schema(description = "检测项目ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "8525") @NotNull(message = "检测项目ID不能为空") private Long dictionaryProjectId; - @Schema(description = "检测项目名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三") + @Schema(description = "检测项目名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿") @NotEmpty(message = "检测项目名称不能为空") private String dictionaryProjectName; - @Schema(description = "检测单位ID,UNT表", example = "25945") + @Schema(description = "检测单位ID,UNT表", example = "31396") private Long unitId; @Schema(description = "检测项目单位") @@ -34,11 +34,11 @@ public class ConfigStandardSampleProjectSaveReqVO { @NotNull(message = "小数精度不能为空") private Integer accuracy; - @Schema(description = "排序号") - private String sort; + @Schema(description = "排序号", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "排序号不能为空") + private Integer sortNo; - @Schema(description = "所属部门", requiredMode = Schema.RequiredMode.REQUIRED) - @NotEmpty(message = "所属部门不能为空") + @Schema(description = "所属部门") private String systemDepartmentCode; @Schema(description = "备注") diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigStandardSampleTypePageReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigStandardSampleTypePageReqVO.java index 6a8cc53..eacee6a 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigStandardSampleTypePageReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigStandardSampleTypePageReqVO.java @@ -13,25 +13,28 @@ import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH @Data public class ConfigStandardSampleTypePageReqVO extends PageParam { - @Schema(description = "主样配置ID", example = "7034") + @Schema(description = "主样配置ID", example = "9270") private Long configBaseSampleId; - @Schema(description = "标准样类型名称", example = "赵六") + @Schema(description = "标准样类型名称", example = "芋艿") private String name; @Schema(description = "编码规则") private String codeRule; + @Schema(description = "分析部门ID", example = "765") + private Long assayDepartmentId; + + @Schema(description = "分析部门名称", example = "张三") + private String assayDepartmentName; + @Schema(description = "所属部门") private String systemDepartmentCode; - @Schema(description = "创建日期") + @Schema(description = "创建时间") @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) private LocalDateTime[] createTime; - @Schema(description = "化验部门编号") - private String assayDepartmentCode; - @Schema(description = "备注") private String remark; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigStandardSampleTypeRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigStandardSampleTypeRespVO.java index e77be14..cc8e578 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigStandardSampleTypeRespVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigStandardSampleTypeRespVO.java @@ -12,15 +12,15 @@ import com.alibaba.excel.annotation.*; @ExcelIgnoreUnannotated public class ConfigStandardSampleTypeRespVO { - @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "22010") + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "408") @ExcelProperty("ID") private Long id; - @Schema(description = "主样配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "7034") + @Schema(description = "主样配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "9270") @ExcelProperty("主样配置ID") private Long configBaseSampleId; - @Schema(description = "标准样类型名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "赵六") + @Schema(description = "标准样类型名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿") @ExcelProperty("标准样类型名称") private String name; @@ -28,18 +28,22 @@ public class ConfigStandardSampleTypeRespVO { @ExcelProperty("编码规则") private String codeRule; + @Schema(description = "分析部门ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "765") + @ExcelProperty("分析部门ID") + private Long assayDepartmentId; + + @Schema(description = "分析部门名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三") + @ExcelProperty("分析部门名称") + private String assayDepartmentName; + @Schema(description = "所属部门", requiredMode = Schema.RequiredMode.REQUIRED) @ExcelProperty("所属部门") private String systemDepartmentCode; - @Schema(description = "创建日期", requiredMode = Schema.RequiredMode.REQUIRED) - @ExcelProperty("创建日期") + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("创建时间") private LocalDateTime createTime; - @Schema(description = "化验部门编号", requiredMode = Schema.RequiredMode.REQUIRED) - @ExcelProperty("化验部门编号") - private String assayDepartmentCode; - @Schema(description = "备注") @ExcelProperty("备注") private String remark; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigStandardSampleTypeSaveReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigStandardSampleTypeSaveReqVO.java index 649ad47..7ac094f 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigStandardSampleTypeSaveReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigStandardSampleTypeSaveReqVO.java @@ -9,14 +9,14 @@ import jakarta.validation.constraints.*; @Data public class ConfigStandardSampleTypeSaveReqVO { - @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "22010") + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "408") private Long id; - @Schema(description = "主样配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "7034") + @Schema(description = "主样配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "9270") @NotNull(message = "主样配置ID不能为空") private Long configBaseSampleId; - @Schema(description = "标准样类型名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "赵六") + @Schema(description = "标准样类型名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿") @NotEmpty(message = "标准样类型名称不能为空") private String name; @@ -24,13 +24,16 @@ public class ConfigStandardSampleTypeSaveReqVO { @NotEmpty(message = "编码规则不能为空") private String codeRule; - @Schema(description = "所属部门", requiredMode = Schema.RequiredMode.REQUIRED) - @NotEmpty(message = "所属部门不能为空") - private String systemDepartmentCode; + @Schema(description = "分析部门ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "765") + @NotNull(message = "分析部门ID不能为空") + private Long assayDepartmentId; - @Schema(description = "化验部门编号", requiredMode = Schema.RequiredMode.REQUIRED) - @NotEmpty(message = "化验部门编号不能为空") - private String assayDepartmentCode; + @Schema(description = "分析部门名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三") + @NotEmpty(message = "分析部门名称不能为空") + private String assayDepartmentName; + + @Schema(description = "所属部门", requiredMode = Schema.RequiredMode.REQUIRED) + private String systemDepartmentCode; @Schema(description = "备注") private String remark; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSubSampleMethodPageReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSubSampleMethodPageReqVO.java index 97e7ff4..5d45da2 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSubSampleMethodPageReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSubSampleMethodPageReqVO.java @@ -13,22 +13,22 @@ import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH @Data public class ConfigSubSampleMethodPageReqVO extends PageParam { - @Schema(description = "子样配置ID", example = "19245") + @Schema(description = "子样配置ID", example = "27079") private Long configSubSampleId; - @Schema(description = "分析方法ID", example = "15616") + @Schema(description = "检测方法配置ID", example = "30543") private Long configAssayMethodId; @Schema(description = "是否默认使用,1-启用,0-不启用") private Integer isDefaultUse; - @Schema(description = "任务数", example = "3171") + @Schema(description = "任务数", example = "27414") private Integer taskCount; @Schema(description = "所属部门") private String systemDepartmentCode; - @Schema(description = "创建日期") + @Schema(description = "创建时间") @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) private LocalDateTime[] createTime; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSubSampleMethodRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSubSampleMethodRespVO.java index ddee9df..9a0f87b 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSubSampleMethodRespVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSubSampleMethodRespVO.java @@ -12,23 +12,23 @@ import com.alibaba.excel.annotation.*; @ExcelIgnoreUnannotated public class ConfigSubSampleMethodRespVO { - @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "26039") + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "6150") @ExcelProperty("ID") private Long id; - @Schema(description = "子样配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "19245") + @Schema(description = "子样配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "27079") @ExcelProperty("子样配置ID") private Long configSubSampleId; - @Schema(description = "分析方法ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "15616") - @ExcelProperty("分析方法ID") + @Schema(description = "检测方法配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "30543") + @ExcelProperty("检测方法配置ID") private Long configAssayMethodId; @Schema(description = "是否默认使用,1-启用,0-不启用", requiredMode = Schema.RequiredMode.REQUIRED) @ExcelProperty("是否默认使用,1-启用,0-不启用") private Integer isDefaultUse; - @Schema(description = "任务数", example = "3171") + @Schema(description = "任务数", example = "27414") @ExcelProperty("任务数") private Integer taskCount; @@ -36,8 +36,8 @@ public class ConfigSubSampleMethodRespVO { @ExcelProperty("所属部门") private String systemDepartmentCode; - @Schema(description = "创建日期", requiredMode = Schema.RequiredMode.REQUIRED) - @ExcelProperty("创建日期") + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("创建时间") private LocalDateTime createTime; @Schema(description = "备注") diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSubSampleMethodSaveReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSubSampleMethodSaveReqVO.java index 4067c3c..6cd3ca2 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSubSampleMethodSaveReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSubSampleMethodSaveReqVO.java @@ -9,26 +9,25 @@ import jakarta.validation.constraints.*; @Data public class ConfigSubSampleMethodSaveReqVO { - @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "26039") + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "6150") private Long id; - @Schema(description = "子样配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "19245") + @Schema(description = "子样配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "27079") @NotNull(message = "子样配置ID不能为空") private Long configSubSampleId; - @Schema(description = "分析方法ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "15616") - @NotNull(message = "分析方法ID不能为空") + @Schema(description = "检测方法配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "30543") + @NotNull(message = "检测方法配置ID不能为空") private Long configAssayMethodId; @Schema(description = "是否默认使用,1-启用,0-不启用", requiredMode = Schema.RequiredMode.REQUIRED) @NotNull(message = "是否默认使用,1-启用,0-不启用不能为空") private Integer isDefaultUse; - @Schema(description = "任务数", example = "3171") + @Schema(description = "任务数", example = "27414") private Integer taskCount; @Schema(description = "所属部门", requiredMode = Schema.RequiredMode.REQUIRED) - @NotEmpty(message = "所属部门不能为空") private String systemDepartmentCode; @Schema(description = "备注") diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSubSamplePageReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSubSamplePageReqVO.java index c2fcfc6..b9845c5 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSubSamplePageReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSubSamplePageReqVO.java @@ -13,10 +13,16 @@ import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH @Data public class ConfigSubSamplePageReqVO extends PageParam { - @Schema(description = "分样配置ID", example = "19927") + @Schema(description = "样品大类ID", example = "15082") + private Long baseSampleId; + + @Schema(description = "主样配置ID", example = "1906") + private Long configBaseSampleId; + + @Schema(description = "分样配置ID", example = "13652") private Long configSubSampleParentId; - @Schema(description = "样品类型ID", example = "3267") + @Schema(description = "样品类型ID", example = "28450") private Long dictionaryBusinessId; @Schema(description = "子样流程Key,样品流转流程key") @@ -34,7 +40,7 @@ public class ConfigSubSamplePageReqVO extends PageParam { @Schema(description = "复检节点") private String recheckFlowCode; - @Schema(description = "样品名称", example = "张三") + @Schema(description = "样品名称", example = "芋艿") private String sampleName; @Schema(description = "样品保存天数") @@ -43,7 +49,7 @@ public class ConfigSubSamplePageReqVO extends PageParam { @Schema(description = "所属部门") private String systemDepartmentCode; - @Schema(description = "创建日期") + @Schema(description = "创建时间") @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) private LocalDateTime[] createTime; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSubSampleParentPageReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSubSampleParentPageReqVO.java index e7537c2..1af6112 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSubSampleParentPageReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSubSampleParentPageReqVO.java @@ -13,13 +13,16 @@ import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH @Data public class ConfigSubSampleParentPageReqVO extends PageParam { - @Schema(description = "主样配置ID", example = "24881") + @Schema(description = "样品大类ID", example = "9295") + private Long baseSampleId; + + @Schema(description = "主样配置ID", example = "12856") private Long configBaseSampleId; - @Schema(description = "样品类型ID", example = "5105") + @Schema(description = "样品类型ID", example = "15013") private Long dictionaryBusinessId; - @Schema(description = "样品名称", example = "张三") + @Schema(description = "样品名称", example = "李四") private String sampleName; @Schema(description = "是否默认启用") @@ -31,7 +34,7 @@ public class ConfigSubSampleParentPageReqVO extends PageParam { @Schema(description = "所属部门") private String systemDepartmentCode; - @Schema(description = "创建日期") + @Schema(description = "创建时间") @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) private LocalDateTime[] createTime; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSubSampleParentRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSubSampleParentRespVO.java index a8fcb48..4d806ae 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSubSampleParentRespVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSubSampleParentRespVO.java @@ -12,19 +12,23 @@ import com.alibaba.excel.annotation.*; @ExcelIgnoreUnannotated public class ConfigSubSampleParentRespVO { - @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "7218") + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "2689") @ExcelProperty("ID") private Long id; - @Schema(description = "主样配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "24881") + @Schema(description = "样品大类ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "9295") + @ExcelProperty("样品大类ID") + private Long baseSampleId; + + @Schema(description = "主样配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "12856") @ExcelProperty("主样配置ID") private Long configBaseSampleId; - @Schema(description = "样品类型ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "5105") + @Schema(description = "样品类型ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "15013") @ExcelProperty("样品类型ID") private Long dictionaryBusinessId; - @Schema(description = "样品名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三") + @Schema(description = "样品名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "李四") @ExcelProperty("样品名称") private String sampleName; @@ -36,12 +40,12 @@ public class ConfigSubSampleParentRespVO { @ExcelProperty("审核方式,多个流程用|分隔") private Integer auditWay; - @Schema(description = "所属部门", requiredMode = Schema.RequiredMode.REQUIRED) + @Schema(description = "所属部门") @ExcelProperty("所属部门") private String systemDepartmentCode; - @Schema(description = "创建日期", requiredMode = Schema.RequiredMode.REQUIRED) - @ExcelProperty("创建日期") + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("创建时间") private LocalDateTime createTime; @Schema(description = "备注") diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSubSampleParentSaveReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSubSampleParentSaveReqVO.java index 14f92d3..b87cbb3 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSubSampleParentSaveReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSubSampleParentSaveReqVO.java @@ -9,18 +9,22 @@ import jakarta.validation.constraints.*; @Data public class ConfigSubSampleParentSaveReqVO { - @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "7218") + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "2689") private Long id; - @Schema(description = "主样配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "24881") + @Schema(description = "样品大类ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "9295") + @NotNull(message = "样品大类ID不能为空") + private Long baseSampleId; + + @Schema(description = "主样配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "12856") @NotNull(message = "主样配置ID不能为空") private Long configBaseSampleId; - @Schema(description = "样品类型ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "5105") + @Schema(description = "样品类型ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "15013") @NotNull(message = "样品类型ID不能为空") private Long dictionaryBusinessId; - @Schema(description = "样品名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三") + @Schema(description = "样品名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "李四") @NotEmpty(message = "样品名称不能为空") private String sampleName; @@ -31,8 +35,7 @@ public class ConfigSubSampleParentSaveReqVO { @Schema(description = "审核方式,多个流程用|分隔") private Integer auditWay; - @Schema(description = "所属部门", requiredMode = Schema.RequiredMode.REQUIRED) - @NotEmpty(message = "所属部门不能为空") + @Schema(description = "所属部门") private String systemDepartmentCode; @Schema(description = "备注") diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSubSampleRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSubSampleRespVO.java index 1f011cb..fbd2a11 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSubSampleRespVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSubSampleRespVO.java @@ -12,15 +12,23 @@ import com.alibaba.excel.annotation.*; @ExcelIgnoreUnannotated public class ConfigSubSampleRespVO { - @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "18604") + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "27982") @ExcelProperty("ID") private Long id; - @Schema(description = "分样配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "19927") + @Schema(description = "样品大类ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "15082") + @ExcelProperty("样品大类ID") + private Long baseSampleId; + + @Schema(description = "主样配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "1906") + @ExcelProperty("主样配置ID") + private Long configBaseSampleId; + + @Schema(description = "分样配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "13652") @ExcelProperty("分样配置ID") private Long configSubSampleParentId; - @Schema(description = "样品类型ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "3267") + @Schema(description = "样品类型ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "28450") @ExcelProperty("样品类型ID") private Long dictionaryBusinessId; @@ -44,7 +52,7 @@ public class ConfigSubSampleRespVO { @ExcelProperty("复检节点") private String recheckFlowCode; - @Schema(description = "样品名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三") + @Schema(description = "样品名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿") @ExcelProperty("样品名称") private String sampleName; @@ -52,12 +60,12 @@ public class ConfigSubSampleRespVO { @ExcelProperty("样品保存天数") private Integer sampleSaveDay; - @Schema(description = "所属部门", requiredMode = Schema.RequiredMode.REQUIRED) + @Schema(description = "所属部门") @ExcelProperty("所属部门") private String systemDepartmentCode; - @Schema(description = "创建日期", requiredMode = Schema.RequiredMode.REQUIRED) - @ExcelProperty("创建日期") + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("创建时间") private LocalDateTime createTime; @Schema(description = "备注") diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSubSampleSaveReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSubSampleSaveReqVO.java index 9406ef6..cafb9c2 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSubSampleSaveReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSubSampleSaveReqVO.java @@ -9,14 +9,22 @@ import jakarta.validation.constraints.*; @Data public class ConfigSubSampleSaveReqVO { - @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "18604") + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "27982") private Long id; - @Schema(description = "分样配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "19927") + @Schema(description = "样品大类ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "15082") + @NotNull(message = "样品大类ID不能为空") + private Long baseSampleId; + + @Schema(description = "主样配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "1906") + @NotNull(message = "主样配置ID不能为空") + private Long configBaseSampleId; + + @Schema(description = "分样配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "13652") @NotNull(message = "分样配置ID不能为空") private Long configSubSampleParentId; - @Schema(description = "样品类型ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "3267") + @Schema(description = "样品类型ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "28450") @NotNull(message = "样品类型ID不能为空") private Long dictionaryBusinessId; @@ -38,7 +46,7 @@ public class ConfigSubSampleSaveReqVO { @Schema(description = "复检节点") private String recheckFlowCode; - @Schema(description = "样品名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三") + @Schema(description = "样品名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿") @NotEmpty(message = "样品名称不能为空") private String sampleName; @@ -46,8 +54,7 @@ public class ConfigSubSampleSaveReqVO { @NotNull(message = "样品保存天数不能为空") private Integer sampleSaveDay; - @Schema(description = "所属部门", requiredMode = Schema.RequiredMode.REQUIRED) - @NotEmpty(message = "所属部门不能为空") + @Schema(description = "所属部门") private String systemDepartmentCode; @Schema(description = "备注") diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigWarehouseLocationInfomationPageReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigWarehouseLocationInfomationPageReqVO.java index ccad34b..95bfb1a 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigWarehouseLocationInfomationPageReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigWarehouseLocationInfomationPageReqVO.java @@ -28,7 +28,7 @@ public class ConfigWarehouseLocationInfomationPageReqVO extends PageParam { @Schema(description = "所属部门") private String systemDepartmentCode; - @Schema(description = "创建日期") + @Schema(description = "创建时间") @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) private LocalDateTime[] createTime; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigWarehouseLocationInfomationRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigWarehouseLocationInfomationRespVO.java index 77f3ad0..5ce7217 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigWarehouseLocationInfomationRespVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigWarehouseLocationInfomationRespVO.java @@ -12,7 +12,7 @@ import com.alibaba.excel.annotation.*; @ExcelIgnoreUnannotated public class ConfigWarehouseLocationInfomationRespVO { - @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "22903") + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "8270") @ExcelProperty("ID") private Long id; @@ -36,8 +36,8 @@ public class ConfigWarehouseLocationInfomationRespVO { @ExcelProperty("所属部门") private String systemDepartmentCode; - @Schema(description = "创建日期", requiredMode = Schema.RequiredMode.REQUIRED) - @ExcelProperty("创建日期") + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("创建时间") private LocalDateTime createTime; @Schema(description = "备注") diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigWarehouseLocationInfomationSaveReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigWarehouseLocationInfomationSaveReqVO.java index 6f4a4bb..351e627 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigWarehouseLocationInfomationSaveReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigWarehouseLocationInfomationSaveReqVO.java @@ -9,7 +9,7 @@ import jakarta.validation.constraints.*; @Data public class ConfigWarehouseLocationInfomationSaveReqVO { - @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "22903") + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "8270") private Long id; @Schema(description = "样品库名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三") @@ -28,7 +28,6 @@ public class ConfigWarehouseLocationInfomationSaveReqVO { private Integer capacity; @Schema(description = "所属部门", requiredMode = Schema.RequiredMode.REQUIRED) - @NotEmpty(message = "所属部门不能为空") private String systemDepartmentCode; @Schema(description = "备注") diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/MaterialAssayStandardDetailPageReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/MaterialAssayStandardDetailPageReqVO.java index 4d0c528..b621e1b 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/MaterialAssayStandardDetailPageReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/MaterialAssayStandardDetailPageReqVO.java @@ -1,12 +1,11 @@ package com.zt.plat.module.qms.business.config.controller.vo; -import com.baomidou.mybatisplus.annotation.TableField; import lombok.*; +import java.util.*; import io.swagger.v3.oas.annotations.media.Schema; import com.zt.plat.framework.common.pojo.PageParam; import org.springframework.format.annotation.DateTimeFormat; import java.time.LocalDateTime; -import java.util.List; import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; @@ -14,28 +13,28 @@ import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH @Data public class MaterialAssayStandardDetailPageReqVO extends PageParam { - @Schema(description = "物料检测标准ID", example = "30312") + @Schema(description = "物料检测标准ID", example = "3494") private Long materialAssayStandardId; - @Schema(description = "检测项目ID", example = "22587") + @Schema(description = "检测项目ID", example = "27840") private Long dictionaryProjectId; @Schema(description = "检测项目编码") private String dictionaryProjectCode; - @Schema(description = "检测结果单位ID", example = "29303") + @Schema(description = "检测结果单位ID", example = "18156") private Long unitId; @Schema(description = "检测结果单位") private String unit; - @Schema(description = "数据类型,【字典】【jy_sample_data_type】字符串,整数,小数,日期,时间", example = "1") + @Schema(description = "数据类型,字典表【T_DIC_BSN】string-字符串,int-整数,decimal-小数,date-日期,datetime-时间", example = "2") private String dataType; @Schema(description = "小数位") private Integer decimalPosition; - @Schema(description = "检测分类,【字典】【jy_assay_standard_category】化学;仪器;外检") + @Schema(description = "检测分类,字典表【T_DIC_BSN】化学;仪器;外检") private String assayCategory; @Schema(description = "是否默认选择,委托时是否默认选择;1-是,0-否") @@ -44,7 +43,7 @@ public class MaterialAssayStandardDetailPageReqVO extends PageParam { @Schema(description = "所属部门") private String systemDepartmentCode; - @Schema(description = "创建日期") + @Schema(description = "创建时间") @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) private LocalDateTime[] createTime; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/MaterialAssayStandardDetailRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/MaterialAssayStandardDetailRespVO.java index 92498c7..7cdbb53 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/MaterialAssayStandardDetailRespVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/MaterialAssayStandardDetailRespVO.java @@ -2,7 +2,8 @@ package com.zt.plat.module.qms.business.config.controller.vo; import io.swagger.v3.oas.annotations.media.Schema; import lombok.*; - +import java.util.*; +import org.springframework.format.annotation.DateTimeFormat; import java.time.LocalDateTime; import com.alibaba.excel.annotation.*; @@ -11,15 +12,15 @@ import com.alibaba.excel.annotation.*; @ExcelIgnoreUnannotated public class MaterialAssayStandardDetailRespVO { - @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "2831") + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "12586") @ExcelProperty("ID") private Long id; - @Schema(description = "物料检测标准ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "30312") + @Schema(description = "物料检测标准ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "3494") @ExcelProperty("物料检测标准ID") private Long materialAssayStandardId; - @Schema(description = "检测项目ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "22587") + @Schema(description = "检测项目ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "27840") @ExcelProperty("检测项目ID") private Long dictionaryProjectId; @@ -27,7 +28,7 @@ public class MaterialAssayStandardDetailRespVO { @ExcelProperty("检测项目编码") private String dictionaryProjectCode; - @Schema(description = "检测结果单位ID", example = "29303") + @Schema(description = "检测结果单位ID", example = "18156") @ExcelProperty("检测结果单位ID") private Long unitId; @@ -35,16 +36,16 @@ public class MaterialAssayStandardDetailRespVO { @ExcelProperty("检测结果单位") private String unit; - @Schema(description = "数据类型,【字典】【jy_sample_data_type】字符串,整数,小数,日期,时间", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") - @ExcelProperty("数据类型,【字典】【jy_sample_data_type】字符串,整数,小数,日期,时间") + @Schema(description = "数据类型,字典表【T_DIC_BSN】string-字符串,int-整数,decimal-小数,date-日期,datetime-时间", requiredMode = Schema.RequiredMode.REQUIRED, example = "2") + @ExcelProperty("数据类型,字典表【T_DIC_BSN】string-字符串,int-整数,decimal-小数,date-日期,datetime-时间") private String dataType; @Schema(description = "小数位") @ExcelProperty("小数位") private Integer decimalPosition; - @Schema(description = "检测分类,【字典】【jy_assay_standard_category】化学;仪器;外检", requiredMode = Schema.RequiredMode.REQUIRED) - @ExcelProperty("检测分类,【字典】【jy_assay_standard_category】化学;仪器;外检") + @Schema(description = "检测分类,字典表【T_DIC_BSN】化学;仪器;外检", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("检测分类,字典表【T_DIC_BSN】化学;仪器;外检") private String assayCategory; @Schema(description = "是否默认选择,委托时是否默认选择;1-是,0-否", requiredMode = Schema.RequiredMode.REQUIRED) @@ -55,8 +56,8 @@ public class MaterialAssayStandardDetailRespVO { @ExcelProperty("所属部门") private String systemDepartmentCode; - @Schema(description = "创建日期", requiredMode = Schema.RequiredMode.REQUIRED) - @ExcelProperty("创建日期") + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("创建时间") private LocalDateTime createTime; @Schema(description = "备注") @@ -70,6 +71,9 @@ public class MaterialAssayStandardDetailRespVO { @Schema(description = "检测项简称") private String dictionaryProjectSimpleName; + @Schema(description = "检测项显示名") + private String dictionaryProjectShowName; + @Schema(description = "数据类型") private String dataTypeName; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/MaterialAssayStandardDetailSaveReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/MaterialAssayStandardDetailSaveReqVO.java index 29e9f77..6e09837 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/MaterialAssayStandardDetailSaveReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/MaterialAssayStandardDetailSaveReqVO.java @@ -2,22 +2,21 @@ package com.zt.plat.module.qms.business.config.controller.vo; import io.swagger.v3.oas.annotations.media.Schema; import lombok.*; +import java.util.*; import jakarta.validation.constraints.*; -import java.util.List; - @Schema(description = "管理后台 - 物料检测标准检测项目新增/修改 Request VO") @Data public class MaterialAssayStandardDetailSaveReqVO { - @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "2831") + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "12586") private Long id; - @Schema(description = "物料检测标准ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "30312") + @Schema(description = "物料检测标准ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "3494") @NotNull(message = "物料检测标准ID不能为空") private Long materialAssayStandardId; - @Schema(description = "检测项目ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "22587") + @Schema(description = "检测项目ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "27840") @NotNull(message = "检测项目ID不能为空") private Long dictionaryProjectId; @@ -25,21 +24,21 @@ public class MaterialAssayStandardDetailSaveReqVO { @NotEmpty(message = "检测项目编码不能为空") private String dictionaryProjectCode; - @Schema(description = "检测结果单位ID", example = "29303") + @Schema(description = "检测结果单位ID", example = "18156") private Long unitId; @Schema(description = "检测结果单位") private String unit; - @Schema(description = "数据类型,【字典】【jy_sample_data_type】字符串,整数,小数,日期,时间", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") - @NotEmpty(message = "数据类型,【字典】【jy_sample_data_type】字符串,整数,小数,日期,时间不能为空") + @Schema(description = "数据类型,字典表【T_DIC_BSN】string-字符串,int-整数,decimal-小数,date-日期,datetime-时间", requiredMode = Schema.RequiredMode.REQUIRED, example = "2") + @NotEmpty(message = "数据类型,字典表【T_DIC_BSN】string-字符串,int-整数,decimal-小数,date-日期,datetime-时间不能为空") private String dataType; @Schema(description = "小数位") private Integer decimalPosition; - @Schema(description = "检测分类,【字典】【jy_assay_standard_category】化学;仪器;外检", requiredMode = Schema.RequiredMode.REQUIRED) - @NotEmpty(message = "检测分类,【字典】【jy_assay_standard_category】化学;仪器;外检不能为空") + @Schema(description = "检测分类,字典表【T_DIC_BSN】化学;仪器;外检", requiredMode = Schema.RequiredMode.REQUIRED) + @NotEmpty(message = "检测分类,字典表【T_DIC_BSN】化学;仪器;外检不能为空") private String assayCategory; @Schema(description = "是否默认选择,委托时是否默认选择;1-是,0-否", requiredMode = Schema.RequiredMode.REQUIRED) diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/MaterialAssayStandardForecastProjectPageReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/MaterialAssayStandardForecastProjectPageReqVO.java new file mode 100644 index 0000000..c2c2f3c --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/MaterialAssayStandardForecastProjectPageReqVO.java @@ -0,0 +1,50 @@ +package com.zt.plat.module.qms.business.config.controller.vo; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import com.zt.plat.framework.common.pojo.PageParam; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; + +import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 物料检测标准来样品位配置分页 Request VO") +@Data +public class MaterialAssayStandardForecastProjectPageReqVO extends PageParam { + + @Schema(description = "物料检测标准ID", example = "28807") + private Long materialAssayStandardId; + + @Schema(description = "检测项目ID", example = "16539") + private Long dictionaryProjectId; + + @Schema(description = "检测项目编码") + private String dictionaryProjectCode; + + @Schema(description = "检测结果单位ID", example = "11072") + private Long unitId; + + @Schema(description = "检测结果单位") + private String unit; + + @Schema(description = "数据类型,【字典】【jy_sample_data_type】字符串,整数,小数,日期,时间", example = "1") + private String dataType; + + @Schema(description = "小数位") + private Integer decimalPosition; + + @Schema(description = "是否必填,委托时是否必填;1-是,0-否") + private Integer isDefault; + + @Schema(description = "所属部门") + private String systemDepartmentCode; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "备注") + private String remark; + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/MaterialAssayStandardForecastProjectRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/MaterialAssayStandardForecastProjectRespVO.java new file mode 100644 index 0000000..1b4924e --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/MaterialAssayStandardForecastProjectRespVO.java @@ -0,0 +1,63 @@ +package com.zt.plat.module.qms.business.config.controller.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; +import com.alibaba.excel.annotation.*; + +@Schema(description = "管理后台 - 物料检测标准来样品位配置 Response VO") +@Data +@ExcelIgnoreUnannotated +public class MaterialAssayStandardForecastProjectRespVO { + + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "30597") + @ExcelProperty("ID") + private Long id; + + @Schema(description = "物料检测标准ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "28807") + @ExcelProperty("物料检测标准ID") + private Long materialAssayStandardId; + + @Schema(description = "检测项目ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "16539") + @ExcelProperty("检测项目ID") + private Long dictionaryProjectId; + + @Schema(description = "检测项目编码", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("检测项目编码") + private String dictionaryProjectCode; + + @Schema(description = "检测结果单位ID", example = "11072") + @ExcelProperty("检测结果单位ID") + private Long unitId; + + @Schema(description = "检测结果单位") + @ExcelProperty("检测结果单位") + private String unit; + + @Schema(description = "数据类型,【字典】【jy_sample_data_type】字符串,整数,小数,日期,时间", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + @ExcelProperty("数据类型,【字典】【jy_sample_data_type】字符串,整数,小数,日期,时间") + private String dataType; + + @Schema(description = "小数位") + @ExcelProperty("小数位") + private Integer decimalPosition; + + @Schema(description = "是否必填,委托时是否必填;1-是,0-否", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("是否必填,委托时是否必填;1-是,0-否") + private Integer isDefault; + + @Schema(description = "所属部门", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("所属部门") + private String systemDepartmentCode; + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("创建时间") + private LocalDateTime createTime; + + @Schema(description = "备注") + @ExcelProperty("备注") + private String remark; + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/MaterialAssayStandardForecastProjectSaveReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/MaterialAssayStandardForecastProjectSaveReqVO.java new file mode 100644 index 0000000..8ed36b4 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/MaterialAssayStandardForecastProjectSaveReqVO.java @@ -0,0 +1,50 @@ +package com.zt.plat.module.qms.business.config.controller.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import jakarta.validation.constraints.*; + +@Schema(description = "管理后台 - 物料检测标准来样品位配置新增/修改 Request VO") +@Data +public class MaterialAssayStandardForecastProjectSaveReqVO { + + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "30597") + private Long id; + + @Schema(description = "物料检测标准ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "28807") + @NotNull(message = "物料检测标准ID不能为空") + private Long materialAssayStandardId; + + @Schema(description = "检测项目ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "16539") + @NotNull(message = "检测项目ID不能为空") + private Long dictionaryProjectId; + + @Schema(description = "检测项目编码", requiredMode = Schema.RequiredMode.REQUIRED) + @NotEmpty(message = "检测项目编码不能为空") + private String dictionaryProjectCode; + + @Schema(description = "检测结果单位ID", example = "11072") + private Long unitId; + + @Schema(description = "检测结果单位") + private String unit; + + @Schema(description = "数据类型,【字典】【jy_sample_data_type】字符串,整数,小数,日期,时间", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + @NotEmpty(message = "数据类型,【字典】【jy_sample_data_type】字符串,整数,小数,日期,时间不能为空") + private String dataType; + + @Schema(description = "小数位") + private Integer decimalPosition; + + @Schema(description = "是否必填,委托时是否必填;1-是,0-否", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "是否必填,委托时是否必填;1-是,0-否不能为空") + private Integer isDefault; + + @Schema(description = "所属部门", requiredMode = Schema.RequiredMode.REQUIRED) + private String systemDepartmentCode; + + @Schema(description = "备注") + private String remark; + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/MaterialAssayStandardMethodPageReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/MaterialAssayStandardMethodPageReqVO.java index 119c859..baeab66 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/MaterialAssayStandardMethodPageReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/MaterialAssayStandardMethodPageReqVO.java @@ -1,6 +1,7 @@ package com.zt.plat.module.qms.business.config.controller.vo; import lombok.*; +import java.util.*; import io.swagger.v3.oas.annotations.media.Schema; import com.zt.plat.framework.common.pojo.PageParam; import org.springframework.format.annotation.DateTimeFormat; @@ -12,22 +13,28 @@ import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH @Data public class MaterialAssayStandardMethodPageReqVO extends PageParam { - @Schema(description = "物料检测标准明细项ID", example = "27123") + @Schema(description = "物料检测标准明细项ID", example = "19112") private Long materialAssayStandardDetailId; - @Schema(description = "检测方法配置ID", example = "32735") + @Schema(description = "检测方法配置ID", example = "30282") private Long configAssayMethodId; - @Schema(description = "是否默认,1-是,0-否") - private Integer isDefault; + @Schema(description = "分析部门ID", example = "3726") + private Long assayDepartmentId; + + @Schema(description = "分析部门名称", example = "张三") + private String assayDepartmentName; @Schema(description = "是否双杯分析,1-是,0-否") private Integer isDualCup; + @Schema(description = "是否默认,1-是,0-否") + private Integer isDefault; + @Schema(description = "所属部门") private String systemDepartmentCode; - @Schema(description = "创建日期") + @Schema(description = "创建时间") @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) private LocalDateTime[] createTime; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/MaterialAssayStandardMethodRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/MaterialAssayStandardMethodRespVO.java index a2d5c17..7fe53b2 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/MaterialAssayStandardMethodRespVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/MaterialAssayStandardMethodRespVO.java @@ -2,7 +2,8 @@ package com.zt.plat.module.qms.business.config.controller.vo; import io.swagger.v3.oas.annotations.media.Schema; import lombok.*; - +import java.util.*; +import org.springframework.format.annotation.DateTimeFormat; import java.time.LocalDateTime; import com.alibaba.excel.annotation.*; @@ -11,32 +12,40 @@ import com.alibaba.excel.annotation.*; @ExcelIgnoreUnannotated public class MaterialAssayStandardMethodRespVO { - @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "21965") + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "23530") @ExcelProperty("ID") private Long id; - @Schema(description = "物料检测标准明细项ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "27123") + @Schema(description = "物料检测标准明细项ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "19112") @ExcelProperty("物料检测标准明细项ID") private Long materialAssayStandardDetailId; - @Schema(description = "检测方法配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "32735") + @Schema(description = "检测方法配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "30282") @ExcelProperty("检测方法配置ID") private Long configAssayMethodId; - @Schema(description = "是否默认,1-是,0-否", requiredMode = Schema.RequiredMode.REQUIRED) - @ExcelProperty("是否默认,1-是,0-否") - private Integer isDefault; + @Schema(description = "分析部门ID", example = "3726") + @ExcelProperty("分析部门ID") + private Long assayDepartmentId; + + @Schema(description = "分析部门名称", example = "张三") + @ExcelProperty("分析部门名称") + private String assayDepartmentName; @Schema(description = "是否双杯分析,1-是,0-否") @ExcelProperty("是否双杯分析,1-是,0-否") private Integer isDualCup; - @Schema(description = "所属部门", requiredMode = Schema.RequiredMode.REQUIRED) + @Schema(description = "是否默认,1-是,0-否", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("是否默认,1-是,0-否") + private Integer isDefault; + + @Schema(description = "所属部门") @ExcelProperty("所属部门") private String systemDepartmentCode; - @Schema(description = "创建日期", requiredMode = Schema.RequiredMode.REQUIRED) - @ExcelProperty("创建日期") + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("创建时间") private LocalDateTime createTime; @Schema(description = "备注") diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/MaterialAssayStandardMethodSaveReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/MaterialAssayStandardMethodSaveReqVO.java index b61a845..6d2218b 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/MaterialAssayStandardMethodSaveReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/MaterialAssayStandardMethodSaveReqVO.java @@ -2,32 +2,38 @@ package com.zt.plat.module.qms.business.config.controller.vo; import io.swagger.v3.oas.annotations.media.Schema; import lombok.*; +import java.util.*; import jakarta.validation.constraints.*; @Schema(description = "管理后台 - 物料检测标准与方法新增/修改 Request VO") @Data public class MaterialAssayStandardMethodSaveReqVO { - @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "21965") + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "23530") private Long id; - @Schema(description = "物料检测标准明细项ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "27123") + @Schema(description = "物料检测标准明细项ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "19112") @NotNull(message = "物料检测标准明细项ID不能为空") private Long materialAssayStandardDetailId; - @Schema(description = "检测方法配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "32735") + @Schema(description = "检测方法配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "30282") @NotNull(message = "检测方法配置ID不能为空") private Long configAssayMethodId; + @Schema(description = "分析部门ID", example = "3726") + private Long assayDepartmentId; + + @Schema(description = "分析部门名称", example = "张三") + private String assayDepartmentName; + + @Schema(description = "是否双杯分析,1-是,0-否") + private Integer isDualCup; + @Schema(description = "是否默认,1-是,0-否", requiredMode = Schema.RequiredMode.REQUIRED) @NotNull(message = "是否默认,1-是,0-否不能为空") private Integer isDefault; - @Schema(description = "是否双杯分析,1-是,0-否") - private Integer isDualCup; - - @Schema(description = "所属部门", requiredMode = Schema.RequiredMode.REQUIRED) - @NotEmpty(message = "所属部门不能为空") + @Schema(description = "所属部门") private String systemDepartmentCode; @Schema(description = "备注") diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/MaterialAssayStandardRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/MaterialAssayStandardRespVO.java index f8fdc90..0a56bcb 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/MaterialAssayStandardRespVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/MaterialAssayStandardRespVO.java @@ -4,7 +4,6 @@ import com.zt.plat.module.qms.core.aspect.annotation.Dict; import io.swagger.v3.oas.annotations.media.Schema; import lombok.*; import java.util.*; -import org.springframework.format.annotation.DateTimeFormat; import java.time.LocalDateTime; import com.alibaba.excel.annotation.*; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/BaseSampleDO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/BaseSampleDO.java index 8a65a95..9fd5436 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/BaseSampleDO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/BaseSampleDO.java @@ -1,6 +1,9 @@ package com.zt.plat.module.qms.business.config.dal.dataobject; import lombok.*; +import java.util.*; + import java.time.LocalDateTime; + import java.time.LocalDateTime; import com.baomidou.mybatisplus.annotation.*; import com.zt.plat.framework.mybatis.core.dataobject.BusinessBaseDO; /** @@ -29,10 +32,10 @@ public class BaseSampleDO extends BusinessBaseDO { @TableId(type = IdType.ASSIGN_ID) private Long id; /** - * 大类名称 + * 样品大类名称 */ - @TableField("SMP_NAME") - private String sampleName; + @TableField("NAME") + private String name; /** * 物料ID */ @@ -64,11 +67,4 @@ public class BaseSampleDO extends BusinessBaseDO { @TableField("RMK") private String remark; - - //===================扩展字段=================== - //检测标准数量 - @TableField(exist = false) - private String assayStandardCount; - - } \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/ConfigAssayMethodDO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/ConfigAssayMethodDO.java index a88e178..a9809ae 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/ConfigAssayMethodDO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/ConfigAssayMethodDO.java @@ -52,15 +52,20 @@ public class ConfigAssayMethodDO extends BusinessBaseDO { @TableField("DSP") private String description; /** + * 数据集Key,T_DAT_COLT_FLD + */ + @TableField("DAT_COLT_KY") + private String dataCollectionKey; + /** * 是否启用,1-启用,0-不启用 */ @TableField("IS_ENBD") private Integer isEnabled; /** - * 任务模版key + * 任务单模板key */ - @TableField("TMPL_KY") - private String templateKey; + @TableField("CFG_RPT_TMPL_KY") + private String configReportTemplateKey; /** * 任务单编号规则 */ @@ -82,10 +87,15 @@ public class ConfigAssayMethodDO extends BusinessBaseDO { @TableField("ASY_TSK_INF") private String assayTaskInfomation; /** - * 检测部门编号 + * 分析部门ID */ - @TableField("ASY_DEPT_CD") - private String assayDepartmentCode; + @TableField("ASY_DEPT_ID") + private Long assayDepartmentId; + /** + * 分析部门名称 + */ + @TableField("ASY_DEPT_NAME") + private String assayDepartmentName; /** * 所属部门 */ diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/ConfigAssayMethodProjectDO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/ConfigAssayMethodProjectDO.java index 3a6dacf..6da75ac 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/ConfigAssayMethodProjectDO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/ConfigAssayMethodProjectDO.java @@ -32,7 +32,7 @@ public class ConfigAssayMethodProjectDO extends BusinessBaseDO { @TableId(type = IdType.ASSIGN_ID) private Long id; /** - * 检测方法ID + * 检测方法配置ID */ @TableField("CFG_ASY_MTHD_ID") private Long configAssayMethodId; @@ -82,10 +82,10 @@ public class ConfigAssayMethodProjectDO extends BusinessBaseDO { @TableField("IS_DFT_ENBD") private Integer isDefaultEnabled; /** - * 排序 + * 排序号 */ - @TableField("SRT") - private Integer sort; + @TableField("SRT_NO") + private Integer sortNo; /** * 所属部门 */ diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/ConfigAssayMethodProjectParameterDO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/ConfigAssayMethodProjectParameterDO.java index f21668c..03a2634 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/ConfigAssayMethodProjectParameterDO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/ConfigAssayMethodProjectParameterDO.java @@ -32,7 +32,7 @@ public class ConfigAssayMethodProjectParameterDO extends BusinessBaseDO { @TableId(type = IdType.ASSIGN_ID) private Long id; /** - * 检测方法分析项目ID + * 检测方法分析项目配置ID */ @TableField("CFG_ASY_MTHD_PRJ_ID") private Long configAssayMethodProjectId; @@ -72,10 +72,10 @@ public class ConfigAssayMethodProjectParameterDO extends BusinessBaseDO { @TableField("IS_SHW") private Integer isShow; /** - * 排序 + * 排序号 */ - @TableField("SRT") - private Integer sort; + @TableField("SRT_NO") + private Integer sortNo; /** * 所属部门 */ diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/ConfigAssayMethodProjectRangeDO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/ConfigAssayMethodProjectRangeDO.java new file mode 100644 index 0000000..066780e --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/ConfigAssayMethodProjectRangeDO.java @@ -0,0 +1,90 @@ +package com.zt.plat.module.qms.business.config.dal.dataobject; + +import lombok.*; +import java.util.*; + import java.time.LocalDateTime; + import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.*; +import com.zt.plat.framework.mybatis.core.dataobject.BusinessBaseDO; +/** +* 检测方法分析项目区间 DO +* +* @author 后台管理 +*/ +@TableName("t_cfg_asy_mthd_prj_rng") +@KeySequence("t_cfg_asy_mthd_prj_rng_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +/** +* 支持业务基类继承:isBusiness=true 时继承 BusinessBaseDO,否则继承 BaseDO +*/ +public class ConfigAssayMethodProjectRangeDO extends BusinessBaseDO { + + + + /** + * ID + */ + @TableId(type = IdType.ASSIGN_ID) + private Long id; + /** + * 检测方法配置ID + */ + @TableField("CFG_ASY_MTHD_ID") + private Long configAssayMethodId; + /** + * 检测方法分析项目配置ID + */ + @TableField("CFG_ASY_MTHD_PRJ_ID") + private Long configAssayMethodProjectId; + /** + * 检测项目ID,字典表【T_DIC_PRJ】 + */ + @TableField("DIC_PRJ_ID") + private Long dictionaryProjectId; + /** + * 范围类型,控制范围类型(0-不控制;1-只警告;2-只限制;3-警告+限制) + */ + @TableField("RNG_TP") + private String rangeType; + /** + * 最小限制值 + */ + @TableField("MIN_VAL") + private String minimumValue; + /** + * 最小警告值 + */ + @TableField("MIN_WARN_VAL") + private String minimumWarningValue; + /** + * 最大警告值 + */ + @TableField("MAX_WARN_VAL") + private String maximumWarningValue; + /** + * 最大限制值 + */ + @TableField("MAX_VAL") + private String maximumValue; + /** + * 所属部门 + */ + @TableField("SYS_DEPT_CD") + private String systemDepartmentCode; + /** + * 备注 + */ + @TableField("RMK") + private String remark; + /** + * 版本 + */ + @TableField("VER") + private Integer version; + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/ConfigBaseSampleDO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/ConfigBaseSampleDO.java index ffeaee1..fef2da6 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/ConfigBaseSampleDO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/ConfigBaseSampleDO.java @@ -32,7 +32,7 @@ public class ConfigBaseSampleDO extends BusinessBaseDO { @TableId(type = IdType.ASSIGN_ID) private Long id; /** - * 样品ID + * 样品大类ID */ @TableField("BSE_SMP_ID") private Long baseSampleId; @@ -60,7 +60,7 @@ public class ConfigBaseSampleDO extends BusinessBaseDO { * 样品标签打印份数 */ @TableField("CD_PRNT_QTY") - private Integer codePrintQuantity; + private byte[] codePrintQuantity; /** * 样品名称 */ diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/ConfigDocumentTypeDO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/ConfigDocumentTypeDO.java new file mode 100644 index 0000000..eb69672 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/ConfigDocumentTypeDO.java @@ -0,0 +1,85 @@ +package com.zt.plat.module.qms.business.config.dal.dataobject; + +import lombok.*; +import java.util.*; + import java.time.LocalDateTime; + import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.*; +import com.zt.plat.framework.mybatis.core.dataobject.BusinessBaseDO; +/** +* 报告类型配置 DO +* +* @author 后台管理 +*/ +@TableName("t_cfg_doc_tp") +@KeySequence("t_cfg_doc_tp_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +/** +* 支持业务基类继承:isBusiness=true 时继承 BusinessBaseDO,否则继承 BaseDO +*/ +public class ConfigDocumentTypeDO extends BusinessBaseDO { + + + + /** + * ID + */ + @TableId(type = IdType.ASSIGN_ID) + private Long id; + /** + * 报表类型ID + */ + @TableField("CFG_RPT_TP_ID") + private Long configReportTypeId; + /** + * 类型名称 + */ + @TableField("NAME") + private String name; + /** + * 流程模型key + */ + @TableField("FLW_MDL_KY") + private String flowModelKey; + /** + * 流程表单key + */ + @TableField("FLW_FORM_KY") + private String flowFormKey; + /** + * 报告模板key + */ + @TableField("RPT_KY") + private String reportKey; + /** + * 报告编号规则 + */ + @TableField("CD_RUL") + private String codeRule; + /** + * 报告类型,【字典】【jy_doc_main_type】化验报告、典型性报告、检测报告 + */ + @TableField("TP") + private String type; + /** + * 所属部门 + */ + @TableField("SYS_DEPT_CD") + private String systemDepartmentCode; + /** + * 备注 + */ + @TableField("RMK") + private String remark; + /** + * 版本 + */ + @TableField("VER") + private Integer version; + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/ConfigEntrustSourceDO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/ConfigEntrustSourceDO.java index b3c5375..fc4ef2f 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/ConfigEntrustSourceDO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/ConfigEntrustSourceDO.java @@ -25,32 +25,36 @@ import com.zt.plat.framework.mybatis.core.dataobject.BusinessBaseDO; public class ConfigEntrustSourceDO extends BusinessBaseDO { - /** * ID */ @TableId(type = IdType.ASSIGN_ID) private Long id; /** - * 名称,西南铜委托、商检委托、内部委托、抽查委托、内审委托、生产委托 + * 委托类型,委托登记-entrust_registration、检验委托-entrust_inspection + */ + @TableField("ENTT_TP") + private String entrustType; + /** + * 委托来源名称,西南铜委托、商检委托、内部委托、抽查委托、内审委托、生产委托 */ @TableField("NAME") private String name; /** - * 模版Key + * 委托来源Key */ @TableField("KY") private String key; /** - * 数据集key,T_DAT_COLT_FLD + * 数据集Key,T_DAT_COLT_FLD */ @TableField("DAT_COLT_KY") private String dataCollectionKey; /** - * 委托单模版 + * 委托单模版Key */ - @TableField("TMPL") - private String template; + @TableField("CFG_RPT_TMPL_KY") + private String configReportTemplateKey; /** * 委托单号规则 */ diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/ConfigReportFieldDO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/ConfigReportFieldDO.java index 55ecafc..798e4cd 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/ConfigReportFieldDO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/ConfigReportFieldDO.java @@ -59,8 +59,8 @@ public class ConfigReportFieldDO extends BusinessBaseDO { /** * 小数位 */ - @TableField("DEC") - private Integer decimal; + @TableField("DEC_POS") + private Integer decimalPosition; /** * 列宽 */ diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/ConfigReportTemplateDO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/ConfigReportTemplateDO.java index 399cbe0..fc26709 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/ConfigReportTemplateDO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/ConfigReportTemplateDO.java @@ -1,10 +1,13 @@ package com.zt.plat.module.qms.business.config.dal.dataobject; import lombok.*; +import java.util.*; + import java.time.LocalDateTime; + import java.time.LocalDateTime; import com.baomidou.mybatisplus.annotation.*; import com.zt.plat.framework.mybatis.core.dataobject.BusinessBaseDO; /** -* 报表模版配置 DO +* 锐浪报表模版配置 DO * * @author 后台管理 */ @@ -54,8 +57,8 @@ public class ConfigReportTemplateDO extends BusinessBaseDO { @TableField("DAT") private String data; /** - * 模板是否认证 - */ + * 是否授权,1-是,0否 + */ @TableField("IS_AUTH") private Integer isAuthority; /** @@ -66,7 +69,6 @@ public class ConfigReportTemplateDO extends BusinessBaseDO { /** * 乐观锁 */ - @Version @TableField("UPD_CNT") private Integer updateCount; /** @@ -74,5 +76,15 @@ public class ConfigReportTemplateDO extends BusinessBaseDO { */ @TableField("RMK") private String remark; + /** + * 版本 + */ + @TableField("VER") + private Integer version; + /** + * 是否最新版本,1-是,0-否 + */ + @TableField("IS_LST") + private Integer isLast; } \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/ConfigSampleFlowDO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/ConfigSampleFlowDO.java index ed88dbc..2c0a7bd 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/ConfigSampleFlowDO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/ConfigSampleFlowDO.java @@ -52,7 +52,7 @@ public class ConfigSampleFlowDO extends BusinessBaseDO { @TableField("DSP") private String description; /** - * 类型,主样、子样 + * 类型,主样base_sample、子样sub_sample */ @TableField("TP") private String type; @@ -66,5 +66,15 @@ public class ConfigSampleFlowDO extends BusinessBaseDO { */ @TableField("RMK") private String remark; + /** + * 版本 + */ + @TableField("VER") + private Integer version; + /** + * 是否最新版本,1-是,0-否 + */ + @TableField("IS_LST") + private Integer isLast; } \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/ConfigSampleHandoverDO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/ConfigSampleHandoverDO.java index 53ef3fd..3dd5db4 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/ConfigSampleHandoverDO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/ConfigSampleHandoverDO.java @@ -7,7 +7,7 @@ import java.util.*; import com.baomidou.mybatisplus.annotation.*; import com.zt.plat.framework.mybatis.core.dataobject.BusinessBaseDO; /** -* 样品交接配置 DO +* 样品交接单配置 DO * * @author 后台管理 */ @@ -44,8 +44,8 @@ public class ConfigSampleHandoverDO extends BusinessBaseDO { /** * 交接模版key */ - @TableField("TMPL_KY") - private String templateKey; + @TableField("CFG_RPT_TMPL_KY") + private String configReportTemplateKey; /** * 交接单编号规则 */ diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/ConfigSimpleFlowRuleDO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/ConfigSimpleFlowRuleDO.java index 1db893e..c1871e8 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/ConfigSimpleFlowRuleDO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/ConfigSimpleFlowRuleDO.java @@ -47,6 +47,11 @@ public class ConfigSimpleFlowRuleDO extends BusinessBaseDO { @TableField("DAT") private String data; /** + * 流程图 + */ + @TableField("FLW") + private String flow; + /** * 路由 */ @TableField("RUT") @@ -57,11 +62,6 @@ public class ConfigSimpleFlowRuleDO extends BusinessBaseDO { @TableField("GRP_NAME") private String groupName; /** - * 流程图 - */ - @TableField("FLW") - private String flow; - /** * 所属部门 */ @TableField("SYS_DEPT_CD") diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/ConfigStandardSampleProjectDO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/ConfigStandardSampleProjectDO.java index 8498332..33adb24 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/ConfigStandardSampleProjectDO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/ConfigStandardSampleProjectDO.java @@ -64,8 +64,8 @@ public class ConfigStandardSampleProjectDO extends BusinessBaseDO { /** * 排序号 */ - @TableField("SRT") - private String sort; + @TableField("SRT_NO") + private Integer sortNo; /** * 所属部门 */ diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/ConfigStandardSampleTypeDO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/ConfigStandardSampleTypeDO.java index df59cb2..f257bbf 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/ConfigStandardSampleTypeDO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/ConfigStandardSampleTypeDO.java @@ -47,16 +47,21 @@ public class ConfigStandardSampleTypeDO extends BusinessBaseDO { @TableField("CD_RUL") private String codeRule; /** + * 分析部门ID + */ + @TableField("ASY_DEPT_ID") + private Long assayDepartmentId; + /** + * 分析部门名称 + */ + @TableField("ASY_DEPT_NAME") + private String assayDepartmentName; + /** * 所属部门 */ @TableField("SYS_DEPT_CD") private String systemDepartmentCode; /** - * 化验部门编号 - */ - @TableField("ASY_DEPT_CD") - private String assayDepartmentCode; - /** * 备注 */ @TableField("RMK") diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/ConfigSubSampleDO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/ConfigSubSampleDO.java index e26948e..322dbe3 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/ConfigSubSampleDO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/ConfigSubSampleDO.java @@ -32,6 +32,16 @@ public class ConfigSubSampleDO extends BusinessBaseDO { @TableId(type = IdType.ASSIGN_ID) private Long id; /** + * 样品大类ID + */ + @TableField("BSE_SMP_ID") + private Long baseSampleId; + /** + * 主样配置ID + */ + @TableField("CFG_BSE_SMP_ID") + private Long configBaseSampleId; + /** * 分样配置ID */ @TableField("CFG_SB_SMP_PRN_ID") diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/ConfigSubSampleMethodDO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/ConfigSubSampleMethodDO.java index 415675e..a1997a2 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/ConfigSubSampleMethodDO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/ConfigSubSampleMethodDO.java @@ -37,7 +37,7 @@ public class ConfigSubSampleMethodDO extends BusinessBaseDO { @TableField("CFG_SB_SMP_ID") private Long configSubSampleId; /** - * 分析方法ID + * 检测方法配置ID */ @TableField("CFG_ASY_MTHD_ID") private Long configAssayMethodId; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/ConfigSubSampleParentDO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/ConfigSubSampleParentDO.java index e6fc0df..24193a6 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/ConfigSubSampleParentDO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/ConfigSubSampleParentDO.java @@ -32,6 +32,11 @@ public class ConfigSubSampleParentDO extends BusinessBaseDO { @TableId(type = IdType.ASSIGN_ID) private Long id; /** + * 样品大类ID + */ + @TableField("BSE_SMP_ID") + private Long baseSampleId; + /** * 主样配置ID */ @TableField("CFG_BSE_SMP_ID") diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/MaterialAssayStandardDetailDO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/MaterialAssayStandardDetailDO.java index e616e38..51c3001 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/MaterialAssayStandardDetailDO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/MaterialAssayStandardDetailDO.java @@ -54,7 +54,7 @@ public class MaterialAssayStandardDetailDO extends BusinessBaseDO { @TableField("UNT") private String unit; /** - * 数据类型,【字典】【jy_sample_data_type】字符串,整数,小数,日期,时间 + * 数据类型,字典表【T_DIC_BSN】string-字符串,int-整数,decimal-小数,date-日期,datetime-时间 */ @TableField("DAT_TP") private String dataType; @@ -64,7 +64,7 @@ public class MaterialAssayStandardDetailDO extends BusinessBaseDO { @TableField("DEC_POS") private Integer decimalPosition; /** - * 检测分类,【字典】【jy_assay_standard_category】化学;仪器;外检 + * 检测分类,字典表【T_DIC_BSN】化学;仪器;外检 */ @TableField("ASY_CTGR") private String assayCategory; @@ -84,7 +84,4 @@ public class MaterialAssayStandardDetailDO extends BusinessBaseDO { @TableField("RMK") private String remark; - - - } \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/MaterialAssayStandardDetailExtendDO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/MaterialAssayStandardDetailExtendDO.java index 7ea519c..ec256bb 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/MaterialAssayStandardDetailExtendDO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/MaterialAssayStandardDetailExtendDO.java @@ -1,6 +1,5 @@ package com.zt.plat.module.qms.business.config.dal.dataobject; -import com.baomidou.mybatisplus.annotation.TableField; import lombok.*; @Data @@ -15,6 +14,7 @@ public class MaterialAssayStandardDetailExtendDO extends MaterialAssayStandardDe // @TableField(value = "DIC_PRJ_NAME", select = false) private String dictionaryProjectName; private String dictionaryProjectSimpleName; + private String dictionaryProjectShowName; //数据类型 // @TableField(value = "DATA_TYPE_NAME", select = false) diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/MaterialAssayStandardExtendDO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/MaterialAssayStandardExtendDO.java index 68c97a4..0c5d296 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/MaterialAssayStandardExtendDO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/MaterialAssayStandardExtendDO.java @@ -1,6 +1,5 @@ package com.zt.plat.module.qms.business.config.dal.dataobject; -import com.baomidou.mybatisplus.annotation.TableField; import lombok.*; @Data diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/MaterialAssayStandardForecastProjectDO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/MaterialAssayStandardForecastProjectDO.java new file mode 100644 index 0000000..96aa9da --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/MaterialAssayStandardForecastProjectDO.java @@ -0,0 +1,85 @@ +package com.zt.plat.module.qms.business.config.dal.dataobject; + +import lombok.*; +import java.util.*; + import java.time.LocalDateTime; + import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.*; +import com.zt.plat.framework.mybatis.core.dataobject.BusinessBaseDO; +/** +* 物料检测标准来样品位配置 DO +* +* @author 后台管理 +*/ +@TableName("t_mtrl_asy_std_frcst_prj") +@KeySequence("t_mtrl_asy_std_frcst_prj_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +/** +* 支持业务基类继承:isBusiness=true 时继承 BusinessBaseDO,否则继承 BaseDO +*/ +public class MaterialAssayStandardForecastProjectDO extends BusinessBaseDO { + + + + /** + * ID + */ + @TableId(type = IdType.ASSIGN_ID) + private Long id; + /** + * 物料检测标准ID + */ + @TableField("MTRL_ASY_STD_ID") + private Long materialAssayStandardId; + /** + * 检测项目ID + */ + @TableField("DIC_PRJ_ID") + private Long dictionaryProjectId; + /** + * 检测项目编码 + */ + @TableField("DIC_PRJ_CD") + private String dictionaryProjectCode; + /** + * 检测结果单位ID + */ + @TableField("UNT_ID") + private Long unitId; + /** + * 检测结果单位 + */ + @TableField("UNT") + private String unit; + /** + * 数据类型,【字典】【jy_sample_data_type】字符串,整数,小数,日期,时间 + */ + @TableField("DAT_TP") + private String dataType; + /** + * 小数位 + */ + @TableField("DEC_POS") + private Integer decimalPosition; + /** + * 是否必填,委托时是否必填;1-是,0-否 + */ + @TableField("IS_DFT") + private Integer isDefault; + /** + * 所属部门 + */ + @TableField("SYS_DEPT_CD") + private String systemDepartmentCode; + /** + * 备注 + */ + @TableField("RMK") + private String remark; + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/MaterialAssayStandardMethodDO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/MaterialAssayStandardMethodDO.java index 34a0e5f..8266da5 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/MaterialAssayStandardMethodDO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/MaterialAssayStandardMethodDO.java @@ -39,16 +39,26 @@ public class MaterialAssayStandardMethodDO extends BusinessBaseDO { @TableField("CFG_ASY_MTHD_ID") private Long configAssayMethodId; /** - * 是否默认,1-是,0-否 + * 分析部门ID */ - @TableField("IS_DFT") - private Integer isDefault; + @TableField("ASY_DEPT_ID") + private Long assayDepartmentId; + /** + * 分析部门名称 + */ + @TableField("ASY_DEPT_NAME") + private String assayDepartmentName; /** * 是否双杯分析,1-是,0-否 */ @TableField("IS_DUAL_CP") private Integer isDualCup; /** + * 是否默认,1-是,0-否 + */ + @TableField("IS_DFT") + private Integer isDefault; + /** * 所属部门 */ @TableField("SYS_DEPT_CD") diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/BaseSampleMapper.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/BaseSampleMapper.java index 315b194..d208ce7 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/BaseSampleMapper.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/BaseSampleMapper.java @@ -19,7 +19,7 @@ public interface BaseSampleMapper extends BaseMapperX { default PageResult selectPage(BaseSamplePageReqVO reqVO) { return selectPage(reqVO, new LambdaQueryWrapperX() - .likeIfPresent(BaseSampleDO::getSampleName, reqVO.getSampleName()) + .likeIfPresent(BaseSampleDO::getName, reqVO.getName()) .eqIfPresent(BaseSampleDO::getMaterialId, reqVO.getMaterialId()) .eqIfPresent(BaseSampleDO::getMaterialCode, reqVO.getMaterialCode()) .likeIfPresent(BaseSampleDO::getMaterialName, reqVO.getMaterialName()) diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/ConfigAssayMethodMapper.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/ConfigAssayMethodMapper.java index 94506ba..caaf8c0 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/ConfigAssayMethodMapper.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/ConfigAssayMethodMapper.java @@ -6,8 +6,9 @@ import com.zt.plat.framework.common.pojo.PageResult; import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX; import com.zt.plat.framework.mybatis.core.query.MPJLambdaWrapperX; import com.zt.plat.framework.mybatis.core.mapper.BaseMapperX; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigAssayMethodPageReqVO; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigAssayMethodReqVO; import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigAssayMethodDO; -import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigAssayMethodProjectDO; import org.apache.ibatis.annotations.Mapper; import com.zt.plat.module.qms.business.config.controller.vo.*; @@ -21,22 +22,23 @@ import com.zt.plat.module.qms.business.config.controller.vo.*; public interface ConfigAssayMethodMapper extends BaseMapperX { default List selectList(ConfigAssayMethodReqVO reqVO) { - return selectList(new LambdaQueryWrapperX() + return selectList(new LambdaQueryWrapperX() .eqIfPresent(ConfigAssayMethodDO::getMethodConfigId, reqVO.getMethodConfigId()) .likeIfPresent(ConfigAssayMethodDO::getName, reqVO.getName()) .eqIfPresent(ConfigAssayMethodDO::getMethodCode, reqVO.getMethodCode()) .eqIfPresent(ConfigAssayMethodDO::getDescription, reqVO.getDescription()) .eqIfPresent(ConfigAssayMethodDO::getIsEnabled, reqVO.getIsEnabled()) - .eqIfPresent(ConfigAssayMethodDO::getTemplateKey, reqVO.getTemplateKey()) + .eqIfPresent(ConfigAssayMethodDO::getConfigReportTemplateKey, reqVO.getConfigReportTemplateKey()) .eqIfPresent(ConfigAssayMethodDO::getCodeRule, reqVO.getCodeRule()) .eqIfPresent(ConfigAssayMethodDO::getAssignWay, reqVO.getAssignWay()) .eqIfPresent(ConfigAssayMethodDO::getAssignPlatform, reqVO.getAssignPlatform()) .eqIfPresent(ConfigAssayMethodDO::getAssayTaskInfomation, reqVO.getAssayTaskInfomation()) - .eqIfPresent(ConfigAssayMethodDO::getAssayDepartmentCode, reqVO.getAssayDepartmentCode()) - .eqIfPresent(ConfigAssayMethodDO::getSystemDepartmentCode, reqVO.getSystemDepartmentCode()) + .eqIfPresent(ConfigAssayMethodDO::getAssayDepartmentId, reqVO.getAssayDepartmentId()) + .likeIfPresent(ConfigAssayMethodDO::getAssayDepartmentName, reqVO.getAssayDepartmentName()) .betweenIfPresent(ConfigAssayMethodDO::getCreateTime, reqVO.getCreateTime()) .eqIfPresent(ConfigAssayMethodDO::getRemark, reqVO.getRemark()) .eqIfPresent(ConfigAssayMethodDO::getVersion, reqVO.getVersion()) + .eqIfPresent(ConfigAssayMethodDO::getDataCollectionKey, reqVO.getDataCollectionKey()) .orderByDesc(ConfigAssayMethodDO::getId)); } @@ -46,13 +48,15 @@ public interface ConfigAssayMethodMapper extends BaseMapperX { + + default PageResult selectPage(ConfigAssayMethodProjectRangePageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(ConfigAssayMethodProjectRangeDO::getConfigAssayMethodId, reqVO.getConfigAssayMethodId()) + .eqIfPresent(ConfigAssayMethodProjectRangeDO::getConfigAssayMethodProjectId, reqVO.getConfigAssayMethodProjectId()) + .eqIfPresent(ConfigAssayMethodProjectRangeDO::getDictionaryProjectId, reqVO.getDictionaryProjectId()) + .eqIfPresent(ConfigAssayMethodProjectRangeDO::getRangeType, reqVO.getRangeType()) + .eqIfPresent(ConfigAssayMethodProjectRangeDO::getMinimumValue, reqVO.getMinimumValue()) + .eqIfPresent(ConfigAssayMethodProjectRangeDO::getMinimumWarningValue, reqVO.getMinimumWarningValue()) + .eqIfPresent(ConfigAssayMethodProjectRangeDO::getMaximumWarningValue, reqVO.getMaximumWarningValue()) + .eqIfPresent(ConfigAssayMethodProjectRangeDO::getMaximumValue, reqVO.getMaximumValue()) + .eqIfPresent(ConfigAssayMethodProjectRangeDO::getSystemDepartmentCode, reqVO.getSystemDepartmentCode()) + .betweenIfPresent(ConfigAssayMethodProjectRangeDO::getCreateTime, reqVO.getCreateTime()) + .eqIfPresent(ConfigAssayMethodProjectRangeDO::getRemark, reqVO.getRemark()) + .eqIfPresent(ConfigAssayMethodProjectRangeDO::getVersion, reqVO.getVersion()) + .orderByDesc(ConfigAssayMethodProjectRangeDO::getId)); + } + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/ConfigBaseSampleMapper.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/ConfigBaseSampleMapper.java index 7372c8f..69e0306 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/ConfigBaseSampleMapper.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/ConfigBaseSampleMapper.java @@ -1,10 +1,9 @@ package com.zt.plat.module.qms.business.config.dal.mapper; -import java.util.*; - import com.zt.plat.framework.common.pojo.PageResult; import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX; import com.zt.plat.module.qms.business.config.controller.vo.*; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigBaseSamplePageReqVO; import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigBaseSampleDO; import com.zt.plat.framework.mybatis.core.mapper.BaseMapperX; import org.apache.ibatis.annotations.Mapper; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/ConfigDocumentTypeMapper.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/ConfigDocumentTypeMapper.java new file mode 100644 index 0000000..48192ed --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/ConfigDocumentTypeMapper.java @@ -0,0 +1,35 @@ +package com.zt.plat.module.qms.business.config.dal.mapper; + +import com.zt.plat.framework.common.pojo.PageResult; +import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX; +import com.zt.plat.framework.mybatis.core.mapper.BaseMapperX; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigDocumentTypePageReqVO; +import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigDocumentTypeDO; +import org.apache.ibatis.annotations.Mapper; +import com.zt.plat.module.qms.business.config.controller.vo.*; + +/** + * 报告类型配置 Mapper + * + * @author 后台管理 + */ +@Mapper +public interface ConfigDocumentTypeMapper extends BaseMapperX { + + default PageResult selectPage(ConfigDocumentTypePageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(ConfigDocumentTypeDO::getConfigReportTypeId, reqVO.getConfigReportTypeId()) + .likeIfPresent(ConfigDocumentTypeDO::getName, reqVO.getName()) + .eqIfPresent(ConfigDocumentTypeDO::getFlowModelKey, reqVO.getFlowModelKey()) + .eqIfPresent(ConfigDocumentTypeDO::getFlowFormKey, reqVO.getFlowFormKey()) + .eqIfPresent(ConfigDocumentTypeDO::getReportKey, reqVO.getReportKey()) + .eqIfPresent(ConfigDocumentTypeDO::getCodeRule, reqVO.getCodeRule()) + .eqIfPresent(ConfigDocumentTypeDO::getType, reqVO.getType()) + .eqIfPresent(ConfigDocumentTypeDO::getSystemDepartmentCode, reqVO.getSystemDepartmentCode()) + .betweenIfPresent(ConfigDocumentTypeDO::getCreateTime, reqVO.getCreateTime()) + .eqIfPresent(ConfigDocumentTypeDO::getRemark, reqVO.getRemark()) + .eqIfPresent(ConfigDocumentTypeDO::getVersion, reqVO.getVersion()) + .orderByDesc(ConfigDocumentTypeDO::getId)); + } + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/ConfigEntrustSourceMapper.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/ConfigEntrustSourceMapper.java index 4eb85b0..8baf1da 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/ConfigEntrustSourceMapper.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/ConfigEntrustSourceMapper.java @@ -5,6 +5,8 @@ import java.util.*; import com.zt.plat.framework.common.pojo.PageResult; import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX; import com.zt.plat.module.qms.business.config.controller.vo.*; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigEntrustSourcePageReqVO; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigEntrustSourceReqVO; import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigEntrustSourceDO; import com.zt.plat.framework.mybatis.core.mapper.BaseMapperX; import org.apache.ibatis.annotations.Mapper; @@ -22,11 +24,12 @@ public interface ConfigEntrustSourceMapper extends BaseMapperX selectHistoryConfigReportTemplateByKey(String key) { + return selectList(new LambdaQueryWrapperX().eq(ConfigReportTemplateDO::getKey, key).eq(ConfigReportTemplateDO::getIsLast, QmsCommonConstant.NO).orderByDesc(ConfigReportTemplateDO::getVersion)); + } + + default ConfigReportTemplateDO selectLatestConfigReportTemplateByKey(String key) { + return selectOne(new LambdaQueryWrapperX() + .eq(ConfigReportTemplateDO::getKey, key).eq(ConfigReportTemplateDO::getIsLast, QmsCommonConstant.YES)); + } + + default List selectLatestConfigReportTemplateListByKeys(List keyList) { + return selectList(new LambdaQueryWrapperX().in(ConfigReportTemplateDO::getKey, keyList).eq(ConfigReportTemplateDO::getIsLast, QmsCommonConstant.YES)); + } } \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/ConfigReportTypeMapper.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/ConfigReportTypeMapper.java index 403436d..abfeba7 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/ConfigReportTypeMapper.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/ConfigReportTypeMapper.java @@ -1,10 +1,9 @@ package com.zt.plat.module.qms.business.config.dal.mapper; -import java.util.*; - import com.zt.plat.framework.common.pojo.PageResult; import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX; import com.zt.plat.framework.mybatis.core.mapper.BaseMapperX; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigReportTypePageReqVO; import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigReportTypeDO; import org.apache.ibatis.annotations.Mapper; import com.zt.plat.module.qms.business.config.controller.vo.*; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/ConfigSampleFlowMapper.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/ConfigSampleFlowMapper.java index dfe5659..0c687e4 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/ConfigSampleFlowMapper.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/ConfigSampleFlowMapper.java @@ -5,7 +5,10 @@ import java.util.*; import com.zt.plat.framework.common.pojo.PageResult; import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX; import com.zt.plat.framework.mybatis.core.mapper.BaseMapperX; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigSampleFlowPageReqVO; import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigSampleFlowDO; +import com.zt.plat.module.qms.enums.QmsCommonConstant; + import org.apache.ibatis.annotations.Mapper; import com.zt.plat.module.qms.business.config.controller.vo.*; @@ -27,12 +30,23 @@ public interface ConfigSampleFlowMapper extends BaseMapperX .eqIfPresent(ConfigSampleFlowDO::getSystemDepartmentCode, reqVO.getSystemDepartmentCode()) .betweenIfPresent(ConfigSampleFlowDO::getCreateTime, reqVO.getCreateTime()) .eqIfPresent(ConfigSampleFlowDO::getRemark, reqVO.getRemark()) + .eqIfPresent(ConfigSampleFlowDO::getVersion, reqVO.getVersion()) + .eq(ConfigSampleFlowDO::getIsLast, QmsCommonConstant.YES) .orderByDesc(ConfigSampleFlowDO::getId)); } + + + default List selectHistoryConfigSampleByKey(String key) { + return selectList(new LambdaQueryWrapperX().eq(ConfigSampleFlowDO::getKey, key).eq(ConfigSampleFlowDO::getIsLast, QmsCommonConstant.NO).orderByDesc(ConfigSampleFlowDO::getVersion)); + } - default ConfigSampleFlowDO selectByKey(String key) { + default ConfigSampleFlowDO selectLatestConfigSampleByKey(String key) { return selectOne(new LambdaQueryWrapperX() - .eq(ConfigSampleFlowDO::getKey, key)); + .eq(ConfigSampleFlowDO::getKey, key).eq(ConfigSampleFlowDO::getIsLast, QmsCommonConstant.YES)); } + default List selectLatestConfigSampleFlowListByKeys(List keyList) { + return selectList(new LambdaQueryWrapperX().in(ConfigSampleFlowDO::getKey, keyList).eq(ConfigSampleFlowDO::getIsLast, QmsCommonConstant.YES)); + } + } \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/ConfigSampleHandoverMapper.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/ConfigSampleHandoverMapper.java index 0c37857..970baca 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/ConfigSampleHandoverMapper.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/ConfigSampleHandoverMapper.java @@ -1,16 +1,15 @@ package com.zt.plat.module.qms.business.config.dal.mapper; -import java.util.*; - import com.zt.plat.framework.common.pojo.PageResult; import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX; import com.zt.plat.module.qms.business.config.controller.vo.*; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigSampleHandoverPageReqVO; import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigSampleHandoverDO; import com.zt.plat.framework.mybatis.core.mapper.BaseMapperX; import org.apache.ibatis.annotations.Mapper; /** - * 样品交接配置 Mapper + * 样品交接单配置 Mapper * * @author 后台管理 */ @@ -21,7 +20,7 @@ public interface ConfigSampleHandoverMapper extends BaseMapperX() .likeIfPresent(ConfigSampleHandoverDO::getName, reqVO.getName()) .eqIfPresent(ConfigSampleHandoverDO::getDictionarySampleFlowNodeKey, reqVO.getDictionarySampleFlowNodeKey()) - .eqIfPresent(ConfigSampleHandoverDO::getTemplateKey, reqVO.getTemplateKey()) + .eqIfPresent(ConfigSampleHandoverDO::getConfigReportTemplateKey, reqVO.getConfigReportTemplateKey()) .eqIfPresent(ConfigSampleHandoverDO::getCodeRule, reqVO.getCodeRule()) .eqIfPresent(ConfigSampleHandoverDO::getIsPrint, reqVO.getIsPrint()) .eqIfPresent(ConfigSampleHandoverDO::getSystemDepartmentCode, reqVO.getSystemDepartmentCode()) diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/ConfigSampleReportMapper.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/ConfigSampleReportMapper.java index d0abbc4..fd1f1f3 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/ConfigSampleReportMapper.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/ConfigSampleReportMapper.java @@ -1,10 +1,9 @@ package com.zt.plat.module.qms.business.config.dal.mapper; -import java.util.*; - import com.zt.plat.framework.common.pojo.PageResult; import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX; import com.zt.plat.framework.mybatis.core.mapper.BaseMapperX; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigSampleReportPageReqVO; import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigSampleReportDO; import org.apache.ibatis.annotations.Mapper; import com.zt.plat.module.qms.business.config.controller.vo.*; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/ConfigSimpleFlowRuleMapper.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/ConfigSimpleFlowRuleMapper.java index d032a51..d0ffa17 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/ConfigSimpleFlowRuleMapper.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/ConfigSimpleFlowRuleMapper.java @@ -24,6 +24,8 @@ public interface ConfigSimpleFlowRuleMapper extends BaseMapperX { default PageResult selectPage(ConfigSubSamplePageReqVO reqVO) { return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(ConfigSubSampleDO::getBaseSampleId, reqVO.getBaseSampleId()) + .eqIfPresent(ConfigSubSampleDO::getConfigBaseSampleId, reqVO.getConfigBaseSampleId()) .eqIfPresent(ConfigSubSampleDO::getConfigSubSampleParentId, reqVO.getConfigSubSampleParentId()) .eqIfPresent(ConfigSubSampleDO::getDictionaryBusinessId, reqVO.getDictionaryBusinessId()) .eqIfPresent(ConfigSubSampleDO::getFlowKey, reqVO.getFlowKey()) diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/ConfigSubSampleMethodMapper.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/ConfigSubSampleMethodMapper.java index 10fffba..7c2ea5d 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/ConfigSubSampleMethodMapper.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/ConfigSubSampleMethodMapper.java @@ -1,10 +1,9 @@ package com.zt.plat.module.qms.business.config.dal.mapper; -import java.util.*; - import com.zt.plat.framework.common.pojo.PageResult; import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX; import com.zt.plat.module.qms.business.config.controller.vo.*; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigSubSampleMethodPageReqVO; import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigSubSampleMethodDO; import com.zt.plat.framework.mybatis.core.mapper.BaseMapperX; import org.apache.ibatis.annotations.Mapper; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/ConfigSubSampleParentMapper.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/ConfigSubSampleParentMapper.java index d2382fb..128215f 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/ConfigSubSampleParentMapper.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/ConfigSubSampleParentMapper.java @@ -1,10 +1,9 @@ package com.zt.plat.module.qms.business.config.dal.mapper; -import java.util.*; - import com.zt.plat.framework.common.pojo.PageResult; import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX; import com.zt.plat.module.qms.business.config.controller.vo.*; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigSubSampleParentPageReqVO; import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigSubSampleParentDO; import com.zt.plat.framework.mybatis.core.mapper.BaseMapperX; import org.apache.ibatis.annotations.Mapper; @@ -19,6 +18,7 @@ public interface ConfigSubSampleParentMapper extends BaseMapperX selectPage(ConfigSubSampleParentPageReqVO reqVO) { return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(ConfigSubSampleParentDO::getBaseSampleId, reqVO.getBaseSampleId()) .eqIfPresent(ConfigSubSampleParentDO::getConfigBaseSampleId, reqVO.getConfigBaseSampleId()) .eqIfPresent(ConfigSubSampleParentDO::getDictionaryBusinessId, reqVO.getDictionaryBusinessId()) .likeIfPresent(ConfigSubSampleParentDO::getSampleName, reqVO.getSampleName()) diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/ConfigWarehouseLocationInfomationMapper.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/ConfigWarehouseLocationInfomationMapper.java index 766db58..8b776da 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/ConfigWarehouseLocationInfomationMapper.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/ConfigWarehouseLocationInfomationMapper.java @@ -1,10 +1,9 @@ package com.zt.plat.module.qms.business.config.dal.mapper; -import java.util.*; - import com.zt.plat.framework.common.pojo.PageResult; import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX; import com.zt.plat.framework.mybatis.core.mapper.BaseMapperX; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigWarehouseLocationInfomationPageReqVO; import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigWarehouseLocationInfomationDO; import org.apache.ibatis.annotations.Mapper; import com.zt.plat.module.qms.business.config.controller.vo.*; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/MaterialAssayStandardForecastProjectMapper.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/MaterialAssayStandardForecastProjectMapper.java new file mode 100644 index 0000000..2b8f33a --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/MaterialAssayStandardForecastProjectMapper.java @@ -0,0 +1,35 @@ +package com.zt.plat.module.qms.business.config.dal.mapper; + +import com.zt.plat.framework.common.pojo.PageResult; +import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX; +import com.zt.plat.module.qms.business.config.controller.vo.*; +import com.zt.plat.module.qms.business.config.controller.vo.MaterialAssayStandardForecastProjectPageReqVO; +import com.zt.plat.module.qms.business.config.dal.dataobject.MaterialAssayStandardForecastProjectDO; +import com.zt.plat.framework.mybatis.core.mapper.BaseMapperX; +import org.apache.ibatis.annotations.Mapper; + +/** + * 物料检测标准来样品位配置 Mapper + * + * @author 后台管理 + */ +@Mapper +public interface MaterialAssayStandardForecastProjectMapper extends BaseMapperX { + + default PageResult selectPage(MaterialAssayStandardForecastProjectPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(MaterialAssayStandardForecastProjectDO::getMaterialAssayStandardId, reqVO.getMaterialAssayStandardId()) + .eqIfPresent(MaterialAssayStandardForecastProjectDO::getDictionaryProjectId, reqVO.getDictionaryProjectId()) + .eqIfPresent(MaterialAssayStandardForecastProjectDO::getDictionaryProjectCode, reqVO.getDictionaryProjectCode()) + .eqIfPresent(MaterialAssayStandardForecastProjectDO::getUnitId, reqVO.getUnitId()) + .eqIfPresent(MaterialAssayStandardForecastProjectDO::getUnit, reqVO.getUnit()) + .eqIfPresent(MaterialAssayStandardForecastProjectDO::getDataType, reqVO.getDataType()) + .eqIfPresent(MaterialAssayStandardForecastProjectDO::getDecimalPosition, reqVO.getDecimalPosition()) + .eqIfPresent(MaterialAssayStandardForecastProjectDO::getIsDefault, reqVO.getIsDefault()) + .eqIfPresent(MaterialAssayStandardForecastProjectDO::getSystemDepartmentCode, reqVO.getSystemDepartmentCode()) + .betweenIfPresent(MaterialAssayStandardForecastProjectDO::getCreateTime, reqVO.getCreateTime()) + .eqIfPresent(MaterialAssayStandardForecastProjectDO::getRemark, reqVO.getRemark()) + .orderByDesc(MaterialAssayStandardForecastProjectDO::getId)); + } + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/MaterialAssayStandardMapper.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/MaterialAssayStandardMapper.java index 0fa5e4c..f75b1e4 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/MaterialAssayStandardMapper.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/MaterialAssayStandardMapper.java @@ -1,10 +1,9 @@ package com.zt.plat.module.qms.business.config.dal.mapper; -import java.util.*; - import com.zt.plat.framework.common.pojo.PageResult; import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX; import com.zt.plat.module.qms.business.config.controller.vo.*; +import com.zt.plat.module.qms.business.config.controller.vo.MaterialAssayStandardPageReqVO; import com.zt.plat.module.qms.business.config.dal.dataobject.MaterialAssayStandardDO; import com.zt.plat.framework.mybatis.core.mapper.BaseMapperX; import com.zt.plat.module.qms.business.config.dal.dataobject.MaterialAssayStandardExtendDO; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/MaterialAssayStandardMethodMapper.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/MaterialAssayStandardMethodMapper.java index aab201a..9123678 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/MaterialAssayStandardMethodMapper.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/MaterialAssayStandardMethodMapper.java @@ -19,8 +19,10 @@ public interface MaterialAssayStandardMethodMapper extends BaseMapperX() .eqIfPresent(MaterialAssayStandardMethodDO::getMaterialAssayStandardDetailId, reqVO.getMaterialAssayStandardDetailId()) .eqIfPresent(MaterialAssayStandardMethodDO::getConfigAssayMethodId, reqVO.getConfigAssayMethodId()) - .eqIfPresent(MaterialAssayStandardMethodDO::getIsDefault, reqVO.getIsDefault()) + .eqIfPresent(MaterialAssayStandardMethodDO::getAssayDepartmentId, reqVO.getAssayDepartmentId()) + .likeIfPresent(MaterialAssayStandardMethodDO::getAssayDepartmentName, reqVO.getAssayDepartmentName()) .eqIfPresent(MaterialAssayStandardMethodDO::getIsDualCup, reqVO.getIsDualCup()) + .eqIfPresent(MaterialAssayStandardMethodDO::getIsDefault, reqVO.getIsDefault()) .eqIfPresent(MaterialAssayStandardMethodDO::getSystemDepartmentCode, reqVO.getSystemDepartmentCode()) .betweenIfPresent(MaterialAssayStandardMethodDO::getCreateTime, reqVO.getCreateTime()) .eqIfPresent(MaterialAssayStandardMethodDO::getRemark, reqVO.getRemark()) diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigAssayMethodProjectParameterService.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigAssayMethodProjectParameterService.java index 11ea01a..a6146ed 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigAssayMethodProjectParameterService.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigAssayMethodProjectParameterService.java @@ -1,6 +1,10 @@ package com.zt.plat.module.qms.business.config.service; import java.util.*; + +import com.zt.plat.module.qms.business.config.controller.vo.ConfigAssayMethodProjectParameterPageReqVO; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigAssayMethodProjectParameterRespVO; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigAssayMethodProjectParameterSaveReqVO; import jakarta.validation.*; import com.zt.plat.module.qms.business.config.controller.vo.*; import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigAssayMethodProjectParameterDO; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigAssayMethodProjectParameterServiceImpl.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigAssayMethodProjectParameterServiceImpl.java index 4b1aaf6..b6353cd 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigAssayMethodProjectParameterServiceImpl.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigAssayMethodProjectParameterServiceImpl.java @@ -1,6 +1,9 @@ package com.zt.plat.module.qms.business.config.service; import cn.hutool.core.collection.CollUtil; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigAssayMethodProjectParameterPageReqVO; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigAssayMethodProjectParameterRespVO; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigAssayMethodProjectParameterSaveReqVO; import org.springframework.stereotype.Service; import jakarta.annotation.Resource; import org.springframework.validation.annotation.Validated; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigAssayMethodProjectRangeService.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigAssayMethodProjectRangeService.java new file mode 100644 index 0000000..c50a2b3 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigAssayMethodProjectRangeService.java @@ -0,0 +1,66 @@ +package com.zt.plat.module.qms.business.config.service; + +import java.util.*; + +import com.zt.plat.module.qms.business.config.controller.vo.ConfigAssayMethodProjectRangePageReqVO; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigAssayMethodProjectRangeRespVO; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigAssayMethodProjectRangeSaveReqVO; +import jakarta.validation.*; +import com.zt.plat.framework.common.pojo.PageResult; +import com.zt.plat.module.qms.business.config.controller.vo.*; +import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigAssayMethodProjectRangeDO; +import com.zt.plat.framework.common.pojo.PageParam; + +/** + * 检测方法分析项目区间 Service 接口 + * + * @author 后台管理 + */ +public interface ConfigAssayMethodProjectRangeService { + + /** + * 创建检测方法分析项目区间 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + ConfigAssayMethodProjectRangeRespVO createConfigAssayMethodProjectRange(@Valid ConfigAssayMethodProjectRangeSaveReqVO createReqVO); + + /** + * 更新检测方法分析项目区间 + * + * @param updateReqVO 更新信息 + */ + void updateConfigAssayMethodProjectRange(@Valid ConfigAssayMethodProjectRangeSaveReqVO updateReqVO); + + /** + * 删除检测方法分析项目区间 + * + * @param id 编号 + */ + void deleteConfigAssayMethodProjectRange(Long id); + + /** + * 批量删除检测方法分析项目区间 + * + * @param ids 编号 + */ + void deleteConfigAssayMethodProjectRangeListByIds(List ids); + + /** + * 获得检测方法分析项目区间 + * + * @param id 编号 + * @return 检测方法分析项目区间 + */ + ConfigAssayMethodProjectRangeDO getConfigAssayMethodProjectRange(Long id); + + /** + * 获得检测方法分析项目区间分页 + * + * @param pageReqVO 分页查询 + * @return 检测方法分析项目区间分页 + */ + PageResult getConfigAssayMethodProjectRangePage(ConfigAssayMethodProjectRangePageReqVO pageReqVO); + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigAssayMethodProjectRangeServiceImpl.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigAssayMethodProjectRangeServiceImpl.java new file mode 100644 index 0000000..824ea0a --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigAssayMethodProjectRangeServiceImpl.java @@ -0,0 +1,93 @@ +package com.zt.plat.module.qms.business.config.service; + +import cn.hutool.core.collection.CollUtil; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigAssayMethodProjectRangePageReqVO; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigAssayMethodProjectRangeRespVO; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigAssayMethodProjectRangeSaveReqVO; +import org.springframework.stereotype.Service; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; + +import java.util.*; +import com.zt.plat.framework.common.pojo.PageResult; +import com.zt.plat.framework.common.pojo.PageParam; +import com.zt.plat.framework.common.util.object.BeanUtils; +import com.zt.plat.module.qms.business.config.controller.vo.*; +import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigAssayMethodProjectRangeDO; +import com.zt.plat.module.qms.business.config.dal.mapper.ConfigAssayMethodProjectRangeMapper; + +import static com.zt.plat.framework.common.exception.util.ServiceExceptionUtil.exception; +import static com.zt.plat.framework.common.util.collection.CollectionUtils.convertList; +import static com.zt.plat.framework.common.util.collection.CollectionUtils.diffList; +import static com.zt.plat.module.qms.enums.ErrorCodeConstants.*; + +/** + * 检测方法分析项目区间 Service 实现类 + * + * @author 后台管理 + */ +@Service +@Validated +public class ConfigAssayMethodProjectRangeServiceImpl implements ConfigAssayMethodProjectRangeService { + + @Resource + private ConfigAssayMethodProjectRangeMapper configAssayMethodProjectRangeMapper; + + @Override + public ConfigAssayMethodProjectRangeRespVO createConfigAssayMethodProjectRange(ConfigAssayMethodProjectRangeSaveReqVO createReqVO) { + // 插入 + ConfigAssayMethodProjectRangeDO configAssayMethodProjectRange = BeanUtils.toBean(createReqVO, ConfigAssayMethodProjectRangeDO.class); + configAssayMethodProjectRangeMapper.insert(configAssayMethodProjectRange); + // 返回 + return BeanUtils.toBean(configAssayMethodProjectRange, ConfigAssayMethodProjectRangeRespVO.class); + } + + @Override + public void updateConfigAssayMethodProjectRange(ConfigAssayMethodProjectRangeSaveReqVO updateReqVO) { + // 校验存在 + validateConfigAssayMethodProjectRangeExists(updateReqVO.getId()); + // 更新 + ConfigAssayMethodProjectRangeDO updateObj = BeanUtils.toBean(updateReqVO, ConfigAssayMethodProjectRangeDO.class); + configAssayMethodProjectRangeMapper.updateById(updateObj); + } + + @Override + public void deleteConfigAssayMethodProjectRange(Long id) { + // 校验存在 + validateConfigAssayMethodProjectRangeExists(id); + // 删除 + configAssayMethodProjectRangeMapper.deleteById(id); + } + + @Override + public void deleteConfigAssayMethodProjectRangeListByIds(List ids) { + // 校验存在 + validateConfigAssayMethodProjectRangeExists(ids); + // 删除 + configAssayMethodProjectRangeMapper.deleteByIds(ids); + } + + private void validateConfigAssayMethodProjectRangeExists(List ids) { + List list = configAssayMethodProjectRangeMapper.selectByIds(ids); + if (CollUtil.isEmpty(list) || list.size() != ids.size()) { + throw exception(CONFIG_ASSAY_METHOD_PROJECT_RANGE_NOT_EXISTS); + } + } + + private void validateConfigAssayMethodProjectRangeExists(Long id) { + if (configAssayMethodProjectRangeMapper.selectById(id) == null) { + throw exception(CONFIG_ASSAY_METHOD_PROJECT_RANGE_NOT_EXISTS); + } + } + + @Override + public ConfigAssayMethodProjectRangeDO getConfigAssayMethodProjectRange(Long id) { + return configAssayMethodProjectRangeMapper.selectById(id); + } + + @Override + public PageResult getConfigAssayMethodProjectRangePage(ConfigAssayMethodProjectRangePageReqVO pageReqVO) { + return configAssayMethodProjectRangeMapper.selectPage(pageReqVO); + } + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigAssayMethodProjectService.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigAssayMethodProjectService.java index bb516ee..895025b 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigAssayMethodProjectService.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigAssayMethodProjectService.java @@ -1,6 +1,10 @@ package com.zt.plat.module.qms.business.config.service; import java.util.*; + +import com.zt.plat.module.qms.business.config.controller.vo.ConfigAssayMethodProjectPageReqVO; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigAssayMethodProjectRespVO; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigAssayMethodProjectSaveReqVO; import jakarta.validation.*; import com.zt.plat.module.qms.business.config.controller.vo.*; import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigAssayMethodProjectDO; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigAssayMethodProjectServiceImpl.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigAssayMethodProjectServiceImpl.java index 58e2688..5067b68 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigAssayMethodProjectServiceImpl.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigAssayMethodProjectServiceImpl.java @@ -1,6 +1,9 @@ package com.zt.plat.module.qms.business.config.service; import cn.hutool.core.collection.CollUtil; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigAssayMethodProjectPageReqVO; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigAssayMethodProjectRespVO; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigAssayMethodProjectSaveReqVO; import org.springframework.stereotype.Service; import jakarta.annotation.Resource; import org.springframework.validation.annotation.Validated; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigAssayMethodService.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigAssayMethodService.java index 3c4a431..0d46bd4 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigAssayMethodService.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigAssayMethodService.java @@ -1,6 +1,8 @@ package com.zt.plat.module.qms.business.config.service; import java.util.*; + +import com.zt.plat.module.qms.business.config.controller.vo.*; import jakarta.validation.*; import com.zt.plat.module.qms.business.config.controller.vo.*; import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigAssayMethodDO; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigAssayMethodServiceImpl.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigAssayMethodServiceImpl.java index 2fe6e2c..481cec9 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigAssayMethodServiceImpl.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigAssayMethodServiceImpl.java @@ -1,6 +1,7 @@ package com.zt.plat.module.qms.business.config.service; import cn.hutool.core.collection.CollUtil; +import com.zt.plat.module.qms.business.config.controller.vo.*; import org.springframework.stereotype.Service; import jakarta.annotation.Resource; import org.springframework.validation.annotation.Validated; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigBaseSampleService.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigBaseSampleService.java index ced9ff5..5c87888 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigBaseSampleService.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigBaseSampleService.java @@ -1,6 +1,10 @@ package com.zt.plat.module.qms.business.config.service; import java.util.*; + +import com.zt.plat.module.qms.business.config.controller.vo.ConfigBaseSamplePageReqVO; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigBaseSampleRespVO; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigBaseSampleSaveReqVO; import jakarta.validation.*; import com.zt.plat.module.qms.business.config.controller.vo.*; import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigBaseSampleDO; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigBaseSampleServiceImpl.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigBaseSampleServiceImpl.java index 7f2cf21..e5abd84 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigBaseSampleServiceImpl.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigBaseSampleServiceImpl.java @@ -1,6 +1,9 @@ package com.zt.plat.module.qms.business.config.service; import cn.hutool.core.collection.CollUtil; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigBaseSamplePageReqVO; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigBaseSampleRespVO; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigBaseSampleSaveReqVO; import org.springframework.stereotype.Service; import jakarta.annotation.Resource; import org.springframework.validation.annotation.Validated; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigDocumentTypeService.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigDocumentTypeService.java new file mode 100644 index 0000000..0635b04 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigDocumentTypeService.java @@ -0,0 +1,66 @@ +package com.zt.plat.module.qms.business.config.service; + +import java.util.*; + +import com.zt.plat.module.qms.business.config.controller.vo.ConfigDocumentTypePageReqVO; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigDocumentTypeRespVO; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigDocumentTypeSaveReqVO; +import jakarta.validation.*; +import com.zt.plat.module.qms.business.config.controller.vo.*; +import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigDocumentTypeDO; +import com.zt.plat.framework.common.pojo.PageResult; +import com.zt.plat.framework.common.pojo.PageParam; + +/** + * 报告类型配置 Service 接口 + * + * @author 后台管理 + */ +public interface ConfigDocumentTypeService { + + /** + * 创建报告类型配置 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + ConfigDocumentTypeRespVO createConfigDocumentType(@Valid ConfigDocumentTypeSaveReqVO createReqVO); + + /** + * 更新报告类型配置 + * + * @param updateReqVO 更新信息 + */ + void updateConfigDocumentType(@Valid ConfigDocumentTypeSaveReqVO updateReqVO); + + /** + * 删除报告类型配置 + * + * @param id 编号 + */ + void deleteConfigDocumentType(Long id); + + /** + * 批量删除报告类型配置 + * + * @param ids 编号 + */ + void deleteConfigDocumentTypeListByIds(List ids); + + /** + * 获得报告类型配置 + * + * @param id 编号 + * @return 报告类型配置 + */ + ConfigDocumentTypeDO getConfigDocumentType(Long id); + + /** + * 获得报告类型配置分页 + * + * @param pageReqVO 分页查询 + * @return 报告类型配置分页 + */ + PageResult getConfigDocumentTypePage(ConfigDocumentTypePageReqVO pageReqVO); + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigDocumentTypeServiceImpl.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigDocumentTypeServiceImpl.java new file mode 100644 index 0000000..57fc0f8 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigDocumentTypeServiceImpl.java @@ -0,0 +1,92 @@ +package com.zt.plat.module.qms.business.config.service; + +import cn.hutool.core.collection.CollUtil; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigDocumentTypePageReqVO; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigDocumentTypeRespVO; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigDocumentTypeSaveReqVO; +import org.springframework.stereotype.Service; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; + +import java.util.*; +import com.zt.plat.module.qms.business.config.controller.vo.*; +import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigDocumentTypeDO; +import com.zt.plat.framework.common.pojo.PageResult; +import com.zt.plat.framework.common.util.object.BeanUtils; + +import com.zt.plat.module.qms.business.config.dal.mapper.ConfigDocumentTypeMapper; + +import static com.zt.plat.framework.common.exception.util.ServiceExceptionUtil.exception; +import static com.zt.plat.framework.common.util.collection.CollectionUtils.convertList; +import static com.zt.plat.module.qms.enums.ErrorCodeConstants.CONFIG_DOCUMENT_TYPE_NOT_EXISTS; + +/** + * 报告类型配置 Service 实现类 + * + * @author 后台管理 + */ +@Service +@Validated +public class ConfigDocumentTypeServiceImpl implements ConfigDocumentTypeService { + + @Resource + private ConfigDocumentTypeMapper configDocumentTypeMapper; + + @Override + public ConfigDocumentTypeRespVO createConfigDocumentType(ConfigDocumentTypeSaveReqVO createReqVO) { + // 插入 + ConfigDocumentTypeDO configDocumentType = BeanUtils.toBean(createReqVO, ConfigDocumentTypeDO.class); + configDocumentTypeMapper.insert(configDocumentType); + // 返回 + return BeanUtils.toBean(configDocumentType, ConfigDocumentTypeRespVO.class); + } + + @Override + public void updateConfigDocumentType(ConfigDocumentTypeSaveReqVO updateReqVO) { + // 校验存在 + validateConfigDocumentTypeExists(updateReqVO.getId()); + // 更新 + ConfigDocumentTypeDO updateObj = BeanUtils.toBean(updateReqVO, ConfigDocumentTypeDO.class); + configDocumentTypeMapper.updateById(updateObj); + } + + @Override + public void deleteConfigDocumentType(Long id) { + // 校验存在 + validateConfigDocumentTypeExists(id); + // 删除 + configDocumentTypeMapper.deleteById(id); + } + + @Override + public void deleteConfigDocumentTypeListByIds(List ids) { + // 校验存在 + validateConfigDocumentTypeExists(ids); + // 删除 + configDocumentTypeMapper.deleteByIds(ids); + } + + private void validateConfigDocumentTypeExists(List ids) { + List list = configDocumentTypeMapper.selectByIds(ids); + if (CollUtil.isEmpty(list) || list.size() != ids.size()) { + throw exception(CONFIG_DOCUMENT_TYPE_NOT_EXISTS); + } + } + + private void validateConfigDocumentTypeExists(Long id) { + if (configDocumentTypeMapper.selectById(id) == null) { + throw exception(CONFIG_DOCUMENT_TYPE_NOT_EXISTS); + } + } + + @Override + public ConfigDocumentTypeDO getConfigDocumentType(Long id) { + return configDocumentTypeMapper.selectById(id); + } + + @Override + public PageResult getConfigDocumentTypePage(ConfigDocumentTypePageReqVO pageReqVO) { + return configDocumentTypeMapper.selectPage(pageReqVO); + } + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigEntrustSourceService.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigEntrustSourceService.java index 6bac92e..855c00f 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigEntrustSourceService.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigEntrustSourceService.java @@ -1,6 +1,11 @@ package com.zt.plat.module.qms.business.config.service; import java.util.*; + +import com.zt.plat.module.qms.business.config.controller.vo.ConfigEntrustSourcePageReqVO; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigEntrustSourceReqVO; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigEntrustSourceRespVO; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigEntrustSourceSaveReqVO; import jakarta.validation.*; import com.zt.plat.module.qms.business.config.controller.vo.*; import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigEntrustSourceDO; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigEntrustSourceServiceImpl.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigEntrustSourceServiceImpl.java index 39b38ca..8b90743 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigEntrustSourceServiceImpl.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigEntrustSourceServiceImpl.java @@ -1,6 +1,10 @@ package com.zt.plat.module.qms.business.config.service; import cn.hutool.core.collection.CollUtil; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigEntrustSourcePageReqVO; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigEntrustSourceReqVO; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigEntrustSourceRespVO; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigEntrustSourceSaveReqVO; import org.springframework.stereotype.Service; import jakarta.annotation.Resource; import jakarta.validation.Valid; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigProjectService.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigProjectService.java index 423e775..760d1b3 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigProjectService.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigProjectService.java @@ -1,6 +1,10 @@ package com.zt.plat.module.qms.business.config.service; import java.util.*; + +import com.zt.plat.module.qms.business.config.controller.vo.ConfigProjectPageReqVO; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigProjectRespVO; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigProjectSaveReqVO; import jakarta.validation.*; import com.zt.plat.module.qms.business.config.controller.vo.*; import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigProjectDO; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigProjectServiceImpl.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigProjectServiceImpl.java index 8819aba..bf4ad5d 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigProjectServiceImpl.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigProjectServiceImpl.java @@ -1,6 +1,9 @@ package com.zt.plat.module.qms.business.config.service; import cn.hutool.core.collection.CollUtil; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigProjectPageReqVO; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigProjectRespVO; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigProjectSaveReqVO; import org.springframework.stereotype.Service; import jakarta.annotation.Resource; import org.springframework.validation.annotation.Validated; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigReportFieldService.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigReportFieldService.java index df0de2d..d159add 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigReportFieldService.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigReportFieldService.java @@ -1,6 +1,10 @@ package com.zt.plat.module.qms.business.config.service; import java.util.*; + +import com.zt.plat.module.qms.business.config.controller.vo.ConfigReportFieldPageReqVO; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigReportFieldRespVO; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigReportFieldSaveReqVO; import jakarta.validation.*; import com.zt.plat.module.qms.business.config.controller.vo.*; import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigReportFieldDO; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigReportFieldServiceImpl.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigReportFieldServiceImpl.java index 4c7e658..49cb106 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigReportFieldServiceImpl.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigReportFieldServiceImpl.java @@ -1,6 +1,9 @@ package com.zt.plat.module.qms.business.config.service; import cn.hutool.core.collection.CollUtil; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigReportFieldPageReqVO; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigReportFieldRespVO; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigReportFieldSaveReqVO; import org.springframework.stereotype.Service; import jakarta.annotation.Resource; import org.springframework.validation.annotation.Validated; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigReportTypeService.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigReportTypeService.java index bed9db8..adca246 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigReportTypeService.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigReportTypeService.java @@ -1,6 +1,10 @@ package com.zt.plat.module.qms.business.config.service; import java.util.*; + +import com.zt.plat.module.qms.business.config.controller.vo.ConfigReportTypePageReqVO; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigReportTypeRespVO; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigReportTypeSaveReqVO; import jakarta.validation.*; import com.zt.plat.module.qms.business.config.controller.vo.*; import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigReportTypeDO; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigReportTypeServiceImpl.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigReportTypeServiceImpl.java index ac5f174..858e097 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigReportTypeServiceImpl.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigReportTypeServiceImpl.java @@ -1,6 +1,9 @@ package com.zt.plat.module.qms.business.config.service; import cn.hutool.core.collection.CollUtil; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigReportTypePageReqVO; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigReportTypeRespVO; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigReportTypeSaveReqVO; import org.springframework.stereotype.Service; import jakarta.annotation.Resource; import org.springframework.validation.annotation.Validated; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigSampleFlowService.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigSampleFlowService.java index f84fd60..ad578c7 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigSampleFlowService.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigSampleFlowService.java @@ -1,6 +1,10 @@ package com.zt.plat.module.qms.business.config.service; import java.util.*; + +import com.zt.plat.module.qms.business.config.controller.vo.ConfigSampleFlowPageReqVO; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigSampleFlowRespVO; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigSampleFlowSaveReqVO; import jakarta.validation.*; import com.zt.plat.module.qms.business.config.controller.vo.*; import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigSampleFlowDO; @@ -58,7 +62,26 @@ public interface ConfigSampleFlowService { * @return 样品流程配置分页 */ PageResult getConfigSampleFlowPage(ConfigSampleFlowPageReqVO pageReqVO); + + /** + * 根据key获取历史版本 + * @param key + * @return + */ + List getHistoryConfigSampleFlowByKey(String key); - ConfigSampleFlowDO getConfigSampleFlowByKey(String key); + /** + * 根据key获取最大的样品流程配置 + * @param key + * @return + */ + ConfigSampleFlowDO getLatestConfigSampleFlowByKey(String key); + + /** + * 根据key列表查询版本最大的样品流程配置列表 + * @param keyList + * @return + */ + List getLatestConfigSampleFlowListByKeys(List keyList); } \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigSampleFlowServiceImpl.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigSampleFlowServiceImpl.java index bd2ef84..b750c76 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigSampleFlowServiceImpl.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigSampleFlowServiceImpl.java @@ -1,16 +1,16 @@ package com.zt.plat.module.qms.business.config.service; import cn.hutool.core.collection.CollUtil; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigSampleFlowPageReqVO; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigSampleFlowRespVO; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigSampleFlowSaveReqVO; import org.springframework.stereotype.Service; import jakarta.annotation.Resource; import org.springframework.validation.annotation.Validated; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; - import java.util.*; import com.zt.plat.module.qms.business.config.controller.vo.*; import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigSampleFlowDO; -import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigSubSampleDO; import com.zt.plat.framework.common.pojo.PageResult; import com.zt.plat.framework.common.util.object.BeanUtils; @@ -90,8 +90,18 @@ public class ConfigSampleFlowServiceImpl implements ConfigSampleFlowService { } @Override - public ConfigSampleFlowDO getConfigSampleFlowByKey(String key) { - return configSampleFlowMapper.selectByKey(key); + public List getHistoryConfigSampleFlowByKey(String key) { + return configSampleFlowMapper.selectHistoryConfigSampleByKey(key); + } + + @Override + public ConfigSampleFlowDO getLatestConfigSampleFlowByKey(String key) { + return configSampleFlowMapper.selectLatestConfigSampleByKey(key); + } + + @Override + public List getLatestConfigSampleFlowListByKeys(List keyList) { + return configSampleFlowMapper.selectLatestConfigSampleFlowListByKeys(keyList); } } \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigSampleHandoverService.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigSampleHandoverService.java index 79b006a..1959944 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigSampleHandoverService.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigSampleHandoverService.java @@ -1,6 +1,10 @@ package com.zt.plat.module.qms.business.config.service; import java.util.*; + +import com.zt.plat.module.qms.business.config.controller.vo.ConfigSampleHandoverPageReqVO; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigSampleHandoverRespVO; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigSampleHandoverSaveReqVO; import jakarta.validation.*; import com.zt.plat.framework.common.pojo.PageResult; import com.zt.plat.module.qms.business.config.controller.vo.*; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigSampleHandoverServiceImpl.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigSampleHandoverServiceImpl.java index 73d7bf3..1d1ad08 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigSampleHandoverServiceImpl.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigSampleHandoverServiceImpl.java @@ -1,10 +1,12 @@ package com.zt.plat.module.qms.business.config.service; import cn.hutool.core.collection.CollUtil; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigSampleHandoverPageReqVO; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigSampleHandoverRespVO; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigSampleHandoverSaveReqVO; import org.springframework.stereotype.Service; import jakarta.annotation.Resource; import org.springframework.validation.annotation.Validated; -import org.springframework.transaction.annotation.Transactional; import java.util.*; import com.zt.plat.framework.common.pojo.PageResult; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigSampleReportService.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigSampleReportService.java index 8a5b7cd..268c183 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigSampleReportService.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigSampleReportService.java @@ -1,6 +1,10 @@ package com.zt.plat.module.qms.business.config.service; import java.util.*; + +import com.zt.plat.module.qms.business.config.controller.vo.ConfigSampleReportPageReqVO; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigSampleReportRespVO; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigSampleReportSaveReqVO; import jakarta.validation.*; import com.zt.plat.module.qms.business.config.controller.vo.*; import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigSampleReportDO; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigSampleReportServiceImpl.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigSampleReportServiceImpl.java index 9e90136..74a47de 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigSampleReportServiceImpl.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigSampleReportServiceImpl.java @@ -1,6 +1,9 @@ package com.zt.plat.module.qms.business.config.service; import cn.hutool.core.collection.CollUtil; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigSampleReportPageReqVO; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigSampleReportRespVO; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigSampleReportSaveReqVO; import org.springframework.stereotype.Service; import jakarta.annotation.Resource; import org.springframework.validation.annotation.Validated; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigSimpleFlowCodeServiceImpl.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigSimpleFlowCodeServiceImpl.java index 9f3ee44..db6eeb0 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigSimpleFlowCodeServiceImpl.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigSimpleFlowCodeServiceImpl.java @@ -7,8 +7,6 @@ import org.springframework.validation.annotation.Validated; import com.baomidou.mybatisplus.core.toolkit.IdWorker; -import org.springframework.transaction.annotation.Transactional; - import java.util.*; import com.zt.plat.framework.common.pojo.PageResult; import com.zt.plat.framework.common.pojo.PageParam; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigSimpleFlowRuleServiceImpl.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigSimpleFlowRuleServiceImpl.java index 3596c96..cd58304 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigSimpleFlowRuleServiceImpl.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigSimpleFlowRuleServiceImpl.java @@ -7,8 +7,6 @@ import org.springframework.validation.annotation.Validated; import com.baomidou.mybatisplus.core.toolkit.IdWorker; -import org.springframework.transaction.annotation.Transactional; - import java.util.*; import com.zt.plat.framework.common.pojo.PageResult; import com.zt.plat.framework.common.pojo.PageParam; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigStandardSampleProjectService.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigStandardSampleProjectService.java index 141a327..ede53b8 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigStandardSampleProjectService.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigStandardSampleProjectService.java @@ -1,6 +1,10 @@ package com.zt.plat.module.qms.business.config.service; import java.util.*; + +import com.zt.plat.module.qms.business.config.controller.vo.ConfigStandardSampleProjectPageReqVO; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigStandardSampleProjectRespVO; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigStandardSampleProjectSaveReqVO; import jakarta.validation.*; import com.zt.plat.module.qms.business.config.controller.vo.*; import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigStandardSampleProjectDO; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigStandardSampleProjectServiceImpl.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigStandardSampleProjectServiceImpl.java index 44b7818..2e6205d 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigStandardSampleProjectServiceImpl.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigStandardSampleProjectServiceImpl.java @@ -1,6 +1,9 @@ package com.zt.plat.module.qms.business.config.service; import cn.hutool.core.collection.CollUtil; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigStandardSampleProjectPageReqVO; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigStandardSampleProjectRespVO; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigStandardSampleProjectSaveReqVO; import org.springframework.stereotype.Service; import jakarta.annotation.Resource; import org.springframework.validation.annotation.Validated; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigStandardSampleTypeService.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigStandardSampleTypeService.java index 208da38..ddfaf00 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigStandardSampleTypeService.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigStandardSampleTypeService.java @@ -1,6 +1,10 @@ package com.zt.plat.module.qms.business.config.service; import java.util.*; + +import com.zt.plat.module.qms.business.config.controller.vo.ConfigStandardSampleTypePageReqVO; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigStandardSampleTypeRespVO; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigStandardSampleTypeSaveReqVO; import jakarta.validation.*; import com.zt.plat.module.qms.business.config.controller.vo.*; import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigStandardSampleTypeDO; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigStandardSampleTypeServiceImpl.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigStandardSampleTypeServiceImpl.java index ccba8cd..2bfbee1 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigStandardSampleTypeServiceImpl.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigStandardSampleTypeServiceImpl.java @@ -1,6 +1,9 @@ package com.zt.plat.module.qms.business.config.service; import cn.hutool.core.collection.CollUtil; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigStandardSampleTypePageReqVO; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigStandardSampleTypeRespVO; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigStandardSampleTypeSaveReqVO; import org.springframework.stereotype.Service; import jakarta.annotation.Resource; import org.springframework.validation.annotation.Validated; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigSubSampleMethodService.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigSubSampleMethodService.java index 2a69e9d..720559d 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigSubSampleMethodService.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigSubSampleMethodService.java @@ -1,6 +1,10 @@ package com.zt.plat.module.qms.business.config.service; import java.util.*; + +import com.zt.plat.module.qms.business.config.controller.vo.ConfigSubSampleMethodPageReqVO; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigSubSampleMethodRespVO; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigSubSampleMethodSaveReqVO; import jakarta.validation.*; import com.zt.plat.module.qms.business.config.controller.vo.*; import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigSubSampleMethodDO; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigSubSampleMethodServiceImpl.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigSubSampleMethodServiceImpl.java index 83da650..38c6d3c 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigSubSampleMethodServiceImpl.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigSubSampleMethodServiceImpl.java @@ -1,6 +1,9 @@ package com.zt.plat.module.qms.business.config.service; import cn.hutool.core.collection.CollUtil; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigSubSampleMethodPageReqVO; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigSubSampleMethodRespVO; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigSubSampleMethodSaveReqVO; import org.springframework.stereotype.Service; import jakarta.annotation.Resource; import org.springframework.validation.annotation.Validated; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigSubSampleParentService.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigSubSampleParentService.java index 00ad44c..4985ead 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigSubSampleParentService.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigSubSampleParentService.java @@ -1,6 +1,10 @@ package com.zt.plat.module.qms.business.config.service; import java.util.*; + +import com.zt.plat.module.qms.business.config.controller.vo.ConfigSubSampleParentPageReqVO; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigSubSampleParentRespVO; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigSubSampleParentSaveReqVO; import jakarta.validation.*; import com.zt.plat.module.qms.business.config.controller.vo.*; import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigSubSampleParentDO; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigSubSampleParentServiceImpl.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigSubSampleParentServiceImpl.java index 4566af3..ea47e5a 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigSubSampleParentServiceImpl.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigSubSampleParentServiceImpl.java @@ -1,6 +1,9 @@ package com.zt.plat.module.qms.business.config.service; import cn.hutool.core.collection.CollUtil; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigSubSampleParentPageReqVO; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigSubSampleParentRespVO; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigSubSampleParentSaveReqVO; import org.springframework.stereotype.Service; import jakarta.annotation.Resource; import org.springframework.validation.annotation.Validated; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigSubSampleService.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigSubSampleService.java index c75274c..35c2283 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigSubSampleService.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigSubSampleService.java @@ -1,6 +1,10 @@ package com.zt.plat.module.qms.business.config.service; import java.util.*; + +import com.zt.plat.module.qms.business.config.controller.vo.ConfigSubSamplePageReqVO; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigSubSampleRespVO; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigSubSampleSaveReqVO; import jakarta.validation.*; import com.zt.plat.module.qms.business.config.controller.vo.*; import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigSubSampleDO; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigSubSampleServiceImpl.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigSubSampleServiceImpl.java index 2fac1b4..294d287 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigSubSampleServiceImpl.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigSubSampleServiceImpl.java @@ -1,6 +1,9 @@ package com.zt.plat.module.qms.business.config.service; import cn.hutool.core.collection.CollUtil; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigSubSamplePageReqVO; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigSubSampleRespVO; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigSubSampleSaveReqVO; import org.springframework.stereotype.Service; import jakarta.annotation.Resource; import org.springframework.validation.annotation.Validated; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigWarehouseLocationInfomationService.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigWarehouseLocationInfomationService.java index cad2dce..e25f1b5 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigWarehouseLocationInfomationService.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigWarehouseLocationInfomationService.java @@ -1,6 +1,10 @@ package com.zt.plat.module.qms.business.config.service; import java.util.*; + +import com.zt.plat.module.qms.business.config.controller.vo.ConfigWarehouseLocationInfomationPageReqVO; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigWarehouseLocationInfomationRespVO; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigWarehouseLocationInfomationSaveReqVO; import jakarta.validation.*; import com.zt.plat.module.qms.business.config.controller.vo.*; import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigWarehouseLocationInfomationDO; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigWarehouseLocationInfomationServiceImpl.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigWarehouseLocationInfomationServiceImpl.java index 37ee5be..381e553 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigWarehouseLocationInfomationServiceImpl.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigWarehouseLocationInfomationServiceImpl.java @@ -1,6 +1,9 @@ package com.zt.plat.module.qms.business.config.service; import cn.hutool.core.collection.CollUtil; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigWarehouseLocationInfomationPageReqVO; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigWarehouseLocationInfomationRespVO; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigWarehouseLocationInfomationSaveReqVO; import org.springframework.stereotype.Service; import jakarta.annotation.Resource; import org.springframework.validation.annotation.Validated; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/MaterialAssayStandardDetailService.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/MaterialAssayStandardDetailService.java index 87c6c52..b4c9e22 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/MaterialAssayStandardDetailService.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/MaterialAssayStandardDetailService.java @@ -5,7 +5,6 @@ import java.util.*; import com.zt.plat.module.qms.business.config.controller.vo.MaterialAssayStandardDetailPageReqVO; import com.zt.plat.module.qms.business.config.controller.vo.MaterialAssayStandardDetailRespVO; import com.zt.plat.module.qms.business.config.controller.vo.MaterialAssayStandardDetailSaveReqVO; -import com.zt.plat.module.qms.business.config.dal.dataobject.MaterialAssayStandardDetailExtendDO; import jakarta.validation.*; import com.zt.plat.module.qms.business.config.dal.dataobject.MaterialAssayStandardDetailDO; import com.zt.plat.framework.common.pojo.PageResult; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/MaterialAssayStandardDetailServiceImpl.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/MaterialAssayStandardDetailServiceImpl.java index 792b601..4ec5de8 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/MaterialAssayStandardDetailServiceImpl.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/MaterialAssayStandardDetailServiceImpl.java @@ -5,7 +5,6 @@ import com.zt.plat.module.qms.business.config.controller.vo.MaterialAssayStandar import com.zt.plat.module.qms.business.config.controller.vo.MaterialAssayStandardDetailRespVO; import com.zt.plat.module.qms.business.config.controller.vo.MaterialAssayStandardDetailSaveReqVO; import com.zt.plat.module.qms.business.config.dal.dataobject.MaterialAssayStandardDetailExtendDO; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import org.springframework.stereotype.Service; import jakarta.annotation.Resource; import org.springframework.validation.annotation.Validated; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/MaterialAssayStandardForecastProjectService.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/MaterialAssayStandardForecastProjectService.java new file mode 100644 index 0000000..13733f3 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/MaterialAssayStandardForecastProjectService.java @@ -0,0 +1,66 @@ +package com.zt.plat.module.qms.business.config.service; + +import java.util.*; + +import com.zt.plat.module.qms.business.config.controller.vo.MaterialAssayStandardForecastProjectPageReqVO; +import com.zt.plat.module.qms.business.config.controller.vo.MaterialAssayStandardForecastProjectRespVO; +import com.zt.plat.module.qms.business.config.controller.vo.MaterialAssayStandardForecastProjectSaveReqVO; +import jakarta.validation.*; +import com.zt.plat.framework.common.pojo.PageResult; +import com.zt.plat.module.qms.business.config.controller.vo.*; +import com.zt.plat.module.qms.business.config.dal.dataobject.MaterialAssayStandardForecastProjectDO; +import com.zt.plat.framework.common.pojo.PageParam; + +/** + * 物料检测标准来样品位配置 Service 接口 + * + * @author 后台管理 + */ +public interface MaterialAssayStandardForecastProjectService { + + /** + * 创建物料检测标准来样品位配置 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + MaterialAssayStandardForecastProjectRespVO createMaterialAssayStandardForecastProject(@Valid MaterialAssayStandardForecastProjectSaveReqVO createReqVO); + + /** + * 更新物料检测标准来样品位配置 + * + * @param updateReqVO 更新信息 + */ + void updateMaterialAssayStandardForecastProject(@Valid MaterialAssayStandardForecastProjectSaveReqVO updateReqVO); + + /** + * 删除物料检测标准来样品位配置 + * + * @param id 编号 + */ + void deleteMaterialAssayStandardForecastProject(Long id); + + /** + * 批量删除物料检测标准来样品位配置 + * + * @param ids 编号 + */ + void deleteMaterialAssayStandardForecastProjectListByIds(List ids); + + /** + * 获得物料检测标准来样品位配置 + * + * @param id 编号 + * @return 物料检测标准来样品位配置 + */ + MaterialAssayStandardForecastProjectDO getMaterialAssayStandardForecastProject(Long id); + + /** + * 获得物料检测标准来样品位配置分页 + * + * @param pageReqVO 分页查询 + * @return 物料检测标准来样品位配置分页 + */ + PageResult getMaterialAssayStandardForecastProjectPage(MaterialAssayStandardForecastProjectPageReqVO pageReqVO); + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/MaterialAssayStandardForecastProjectServiceImpl.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/MaterialAssayStandardForecastProjectServiceImpl.java new file mode 100644 index 0000000..9c6bbd7 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/MaterialAssayStandardForecastProjectServiceImpl.java @@ -0,0 +1,93 @@ +package com.zt.plat.module.qms.business.config.service; + +import cn.hutool.core.collection.CollUtil; +import com.zt.plat.module.qms.business.config.controller.vo.MaterialAssayStandardForecastProjectPageReqVO; +import com.zt.plat.module.qms.business.config.controller.vo.MaterialAssayStandardForecastProjectRespVO; +import com.zt.plat.module.qms.business.config.controller.vo.MaterialAssayStandardForecastProjectSaveReqVO; +import org.springframework.stereotype.Service; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; + +import java.util.*; +import com.zt.plat.framework.common.pojo.PageResult; +import com.zt.plat.framework.common.pojo.PageParam; +import com.zt.plat.framework.common.util.object.BeanUtils; +import com.zt.plat.module.qms.business.config.controller.vo.*; +import com.zt.plat.module.qms.business.config.dal.dataobject.MaterialAssayStandardForecastProjectDO; +import com.zt.plat.module.qms.business.config.dal.mapper.MaterialAssayStandardForecastProjectMapper; + +import static com.zt.plat.framework.common.exception.util.ServiceExceptionUtil.exception; +import static com.zt.plat.framework.common.util.collection.CollectionUtils.convertList; +import static com.zt.plat.framework.common.util.collection.CollectionUtils.diffList; +import static com.zt.plat.module.qms.enums.ErrorCodeConstants.*; + +/** + * 物料检测标准来样品位配置 Service 实现类 + * + * @author 后台管理 + */ +@Service +@Validated +public class MaterialAssayStandardForecastProjectServiceImpl implements MaterialAssayStandardForecastProjectService { + + @Resource + private MaterialAssayStandardForecastProjectMapper materialAssayStandardForecastProjectMapper; + + @Override + public MaterialAssayStandardForecastProjectRespVO createMaterialAssayStandardForecastProject(MaterialAssayStandardForecastProjectSaveReqVO createReqVO) { + // 插入 + MaterialAssayStandardForecastProjectDO materialAssayStandardForecastProject = BeanUtils.toBean(createReqVO, MaterialAssayStandardForecastProjectDO.class); + materialAssayStandardForecastProjectMapper.insert(materialAssayStandardForecastProject); + // 返回 + return BeanUtils.toBean(materialAssayStandardForecastProject, MaterialAssayStandardForecastProjectRespVO.class); + } + + @Override + public void updateMaterialAssayStandardForecastProject(MaterialAssayStandardForecastProjectSaveReqVO updateReqVO) { + // 校验存在 + validateMaterialAssayStandardForecastProjectExists(updateReqVO.getId()); + // 更新 + MaterialAssayStandardForecastProjectDO updateObj = BeanUtils.toBean(updateReqVO, MaterialAssayStandardForecastProjectDO.class); + materialAssayStandardForecastProjectMapper.updateById(updateObj); + } + + @Override + public void deleteMaterialAssayStandardForecastProject(Long id) { + // 校验存在 + validateMaterialAssayStandardForecastProjectExists(id); + // 删除 + materialAssayStandardForecastProjectMapper.deleteById(id); + } + + @Override + public void deleteMaterialAssayStandardForecastProjectListByIds(List ids) { + // 校验存在 + validateMaterialAssayStandardForecastProjectExists(ids); + // 删除 + materialAssayStandardForecastProjectMapper.deleteByIds(ids); + } + + private void validateMaterialAssayStandardForecastProjectExists(List ids) { + List list = materialAssayStandardForecastProjectMapper.selectByIds(ids); + if (CollUtil.isEmpty(list) || list.size() != ids.size()) { + throw exception(MATERIAL_ASSAY_STANDARD_FORECAST_PROJECT_NOT_EXISTS); + } + } + + private void validateMaterialAssayStandardForecastProjectExists(Long id) { + if (materialAssayStandardForecastProjectMapper.selectById(id) == null) { + throw exception(MATERIAL_ASSAY_STANDARD_FORECAST_PROJECT_NOT_EXISTS); + } + } + + @Override + public MaterialAssayStandardForecastProjectDO getMaterialAssayStandardForecastProject(Long id) { + return materialAssayStandardForecastProjectMapper.selectById(id); + } + + @Override + public PageResult getMaterialAssayStandardForecastProjectPage(MaterialAssayStandardForecastProjectPageReqVO pageReqVO) { + return materialAssayStandardForecastProjectMapper.selectPage(pageReqVO); + } + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/dic/controller/vo/DictionaryParameterPageReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/dic/controller/vo/DictionaryParameterPageReqVO.java index d3df856..13b027d 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/dic/controller/vo/DictionaryParameterPageReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/dic/controller/vo/DictionaryParameterPageReqVO.java @@ -16,19 +16,19 @@ public class DictionaryParameterPageReqVO extends PageParam { @Schema(description = "参数序号") private Integer no; - @Schema(description = "名称", example = "李四") + @Schema(description = "名称", example = "王五") private String name; @Schema(description = "键值") private String key; - @Schema(description = "检测单位ID,UNT表", example = "23653") + @Schema(description = "检测单位ID,UNT表", example = "20894") private Long unitId; @Schema(description = "单位") private String unit; - @Schema(description = "数据类型,【字典】【jy_sample_data_type】STR-字符串,INTG-整数,DEC-小数,DT-日期,DTM-时间", example = "2") + @Schema(description = "数据类型,字典表【T_DIC_BSN】string-字符串,int-整数,decimal-小数,date-日期,datetime-时间", example = "2") private String dataType; @Schema(description = "小数位") @@ -40,16 +40,16 @@ public class DictionaryParameterPageReqVO extends PageParam { @Schema(description = "计算公式") private String formula; - @Schema(description = "填写方式,【字典】【jy_dictionary_parameter_Filling_way】人工录入,天平采集,计算") + @Schema(description = "填写方式,字典表【T_DIC_BSN】人工录入,天平采集,计算") private String fillingWay; - @Schema(description = "参数简称", example = "李四") + @Schema(description = "参数简称", example = "芋艿") private String shortName; @Schema(description = "所属部门") private String systemDepartmentCode; - @Schema(description = "创建日期") + @Schema(description = "创建时间") @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) private LocalDateTime[] createTime; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/dic/controller/vo/DictionaryParameterRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/dic/controller/vo/DictionaryParameterRespVO.java index 827e035..402d490 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/dic/controller/vo/DictionaryParameterRespVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/dic/controller/vo/DictionaryParameterRespVO.java @@ -12,7 +12,7 @@ import com.alibaba.excel.annotation.*; @ExcelIgnoreUnannotated public class DictionaryParameterRespVO { - @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "16564") + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "23180") @ExcelProperty("ID") private Long id; @@ -20,7 +20,7 @@ public class DictionaryParameterRespVO { @ExcelProperty("参数序号") private Integer no; - @Schema(description = "名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "李四") + @Schema(description = "名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五") @ExcelProperty("名称") private String name; @@ -28,7 +28,7 @@ public class DictionaryParameterRespVO { @ExcelProperty("键值") private String key; - @Schema(description = "检测单位ID,UNT表", example = "23653") + @Schema(description = "检测单位ID,UNT表", example = "20894") @ExcelProperty("检测单位ID,UNT表") private Long unitId; @@ -36,8 +36,8 @@ public class DictionaryParameterRespVO { @ExcelProperty("单位") private String unit; - @Schema(description = "数据类型,【字典】【jy_sample_data_type】STR-字符串,INTG-整数,DEC-小数,DT-日期,DTM-时间", requiredMode = Schema.RequiredMode.REQUIRED, example = "2") - @ExcelProperty("数据类型,【字典】【jy_sample_data_type】STR-字符串,INTG-整数,DEC-小数,DT-日期,DTM-时间") + @Schema(description = "数据类型,字典表【T_DIC_BSN】string-字符串,int-整数,decimal-小数,date-日期,datetime-时间", requiredMode = Schema.RequiredMode.REQUIRED, example = "2") + @ExcelProperty("数据类型,字典表【T_DIC_BSN】string-字符串,int-整数,decimal-小数,date-日期,datetime-时间") private String dataType; @Schema(description = "小数位") @@ -52,11 +52,11 @@ public class DictionaryParameterRespVO { @ExcelProperty("计算公式") private String formula; - @Schema(description = "填写方式,【字典】【jy_dictionary_parameter_Filling_way】人工录入,天平采集,计算", requiredMode = Schema.RequiredMode.REQUIRED) - @ExcelProperty("填写方式,【字典】【jy_dictionary_parameter_Filling_way】人工录入,天平采集,计算") + @Schema(description = "填写方式,字典表【T_DIC_BSN】人工录入,天平采集,计算", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("填写方式,字典表【T_DIC_BSN】人工录入,天平采集,计算") private String fillingWay; - @Schema(description = "参数简称", example = "李四") + @Schema(description = "参数简称", example = "芋艿") @ExcelProperty("参数简称") private String shortName; @@ -64,8 +64,8 @@ public class DictionaryParameterRespVO { @ExcelProperty("所属部门") private String systemDepartmentCode; - @Schema(description = "创建日期", requiredMode = Schema.RequiredMode.REQUIRED) - @ExcelProperty("创建日期") + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("创建时间") private LocalDateTime createTime; @Schema(description = "备注") diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/dic/controller/vo/DictionaryParameterSaveReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/dic/controller/vo/DictionaryParameterSaveReqVO.java index 74febb0..d3549b9 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/dic/controller/vo/DictionaryParameterSaveReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/dic/controller/vo/DictionaryParameterSaveReqVO.java @@ -9,28 +9,28 @@ import jakarta.validation.constraints.*; @Data public class DictionaryParameterSaveReqVO { - @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "16564") + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "23180") private Long id; @Schema(description = "参数序号", requiredMode = Schema.RequiredMode.REQUIRED) @NotNull(message = "参数序号不能为空") private Integer no; - @Schema(description = "名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "李四") + @Schema(description = "名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五") @NotEmpty(message = "名称不能为空") private String name; @Schema(description = "键值") private String key; - @Schema(description = "检测单位ID,UNT表", example = "23653") + @Schema(description = "检测单位ID,UNT表", example = "20894") private Long unitId; @Schema(description = "单位") private String unit; - @Schema(description = "数据类型,【字典】【jy_sample_data_type】STR-字符串,INTG-整数,DEC-小数,DT-日期,DTM-时间", requiredMode = Schema.RequiredMode.REQUIRED, example = "2") - @NotEmpty(message = "数据类型,【字典】【jy_sample_data_type】STR-字符串,INTG-整数,DEC-小数,DT-日期,DTM-时间不能为空") + @Schema(description = "数据类型,字典表【T_DIC_BSN】string-字符串,int-整数,decimal-小数,date-日期,datetime-时间", requiredMode = Schema.RequiredMode.REQUIRED, example = "2") + @NotEmpty(message = "数据类型,字典表【T_DIC_BSN】string-字符串,int-整数,decimal-小数,date-日期,datetime-时间不能为空") private String dataType; @Schema(description = "小数位") @@ -43,15 +43,14 @@ public class DictionaryParameterSaveReqVO { @Schema(description = "计算公式") private String formula; - @Schema(description = "填写方式,【字典】【jy_dictionary_parameter_Filling_way】人工录入,天平采集,计算", requiredMode = Schema.RequiredMode.REQUIRED) - @NotEmpty(message = "填写方式,【字典】【jy_dictionary_parameter_Filling_way】人工录入,天平采集,计算不能为空") + @Schema(description = "填写方式,字典表【T_DIC_BSN】人工录入,天平采集,计算", requiredMode = Schema.RequiredMode.REQUIRED) + @NotEmpty(message = "填写方式,字典表【T_DIC_BSN】人工录入,天平采集,计算不能为空") private String fillingWay; - @Schema(description = "参数简称", example = "李四") + @Schema(description = "参数简称", example = "芋艿") private String shortName; @Schema(description = "所属部门", requiredMode = Schema.RequiredMode.REQUIRED) - @NotEmpty(message = "所属部门不能为空") private String systemDepartmentCode; @Schema(description = "备注") diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/dic/controller/vo/DictionaryProjectPageReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/dic/controller/vo/DictionaryProjectPageReqVO.java index 01d5242..f3b78a2 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/dic/controller/vo/DictionaryProjectPageReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/dic/controller/vo/DictionaryProjectPageReqVO.java @@ -1,10 +1,10 @@ package com.zt.plat.module.qms.business.dic.controller.vo; -import com.zt.plat.framework.common.pojo.PageParam; +import lombok.*; +import java.util.*; import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; +import com.zt.plat.framework.common.pojo.PageParam; import org.springframework.format.annotation.DateTimeFormat; - import java.time.LocalDateTime; import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; @@ -16,19 +16,19 @@ public class DictionaryProjectPageReqVO extends PageParam { @Schema(description = "检测项目代码") private String code; - @Schema(description = "检测项目名称", example = "三氧化二铝") + @Schema(description = "检测项目名称", example = "芋艿") private String name; - @Schema(description = "检测项目缩写", example = "Al2O3") + @Schema(description = "检测项目缩写", example = "李四") private String simpleName; - @Schema(description = "检测项目显示名称", example = "Al2O3") + @Schema(description = "显示名称", example = "李四") private String showName; @Schema(description = "键值") private String key; - @Schema(description = "物料属性ID", example = "15500") + @Schema(description = "物料属性ID", example = "29278") private Long materialPropertiesId; @Schema(description = "物料属性编码") @@ -37,7 +37,7 @@ public class DictionaryProjectPageReqVO extends PageParam { @Schema(description = "所属部门") private String systemDepartmentCode; - @Schema(description = "创建日期") + @Schema(description = "创建时间") @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) private LocalDateTime[] createTime; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/dic/controller/vo/DictionaryProjectRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/dic/controller/vo/DictionaryProjectRespVO.java index 8928b33..0c14e83 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/dic/controller/vo/DictionaryProjectRespVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/dic/controller/vo/DictionaryProjectRespVO.java @@ -1,18 +1,18 @@ package com.zt.plat.module.qms.business.dic.controller.vo; -import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; -import com.alibaba.excel.annotation.ExcelProperty; import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - +import lombok.*; +import java.util.*; +import org.springframework.format.annotation.DateTimeFormat; import java.time.LocalDateTime; +import com.alibaba.excel.annotation.*; @Schema(description = "管理后台 - 检测项目字典 Response VO") @Data @ExcelIgnoreUnannotated public class DictionaryProjectRespVO { - @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "16336") + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "13395") @ExcelProperty("ID") private Long id; @@ -20,23 +20,23 @@ public class DictionaryProjectRespVO { @ExcelProperty("检测项目代码") private String code; - @Schema(description = "检测项目名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "三氧化二铝") + @Schema(description = "检测项目名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿") @ExcelProperty("检测项目名称") private String name; - @Schema(description = "检测项目缩写", requiredMode = Schema.RequiredMode.REQUIRED, example = "Al2O3") + @Schema(description = "检测项目缩写", requiredMode = Schema.RequiredMode.REQUIRED, example = "李四") @ExcelProperty("检测项目缩写") private String simpleName; - @Schema(description = "检测项目显示名称", example = "Al2O3") - @ExcelProperty("检测项目显示名称") + @Schema(description = "显示名称", example = "李四") + @ExcelProperty("显示名称") private String showName; @Schema(description = "键值") @ExcelProperty("键值") private String key; - @Schema(description = "物料属性ID", example = "15500") + @Schema(description = "物料属性ID", example = "29278") @ExcelProperty("物料属性ID") private Long materialPropertiesId; @@ -48,8 +48,8 @@ public class DictionaryProjectRespVO { @ExcelProperty("所属部门") private String systemDepartmentCode; - @Schema(description = "创建日期", requiredMode = Schema.RequiredMode.REQUIRED) - @ExcelProperty("创建日期") + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("创建时间") private LocalDateTime createTime; @Schema(description = "备注") diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/dic/controller/vo/DictionaryProjectSaveReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/dic/controller/vo/DictionaryProjectSaveReqVO.java index 628a2ff..f4ee3f5 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/dic/controller/vo/DictionaryProjectSaveReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/dic/controller/vo/DictionaryProjectSaveReqVO.java @@ -1,42 +1,41 @@ package com.zt.plat.module.qms.business.dic.controller.vo; import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotEmpty; -import lombok.Data; +import lombok.*; +import java.util.*; +import jakarta.validation.constraints.*; @Schema(description = "管理后台 - 检测项目字典新增/修改 Request VO") @Data public class DictionaryProjectSaveReqVO { - @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "16336") + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "13395") private Long id; @Schema(description = "检测项目代码") private String code; - @Schema(description = "检测项目名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "三氧化二铝") + @Schema(description = "检测项目名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿") @NotEmpty(message = "检测项目名称不能为空") private String name; - @Schema(description = "检测项目缩写", requiredMode = Schema.RequiredMode.REQUIRED, example = "Al2O3") + @Schema(description = "检测项目缩写", requiredMode = Schema.RequiredMode.REQUIRED, example = "李四") @NotEmpty(message = "检测项目缩写不能为空") private String simpleName; - @Schema(description = "检测项目显示名称", example = "Al2O3") - @NotEmpty(message = "检测项目显示名称不能为空") + @Schema(description = "显示名称", example = "李四") private String showName; @Schema(description = "键值") private String key; - @Schema(description = "物料属性ID", example = "15500") + @Schema(description = "物料属性ID", example = "29278") private Long materialPropertiesId; @Schema(description = "物料属性编码") private String materialPropertiesCode; @Schema(description = "所属部门", requiredMode = Schema.RequiredMode.REQUIRED) - @NotEmpty(message = "所属部门不能为空") private String systemDepartmentCode; @Schema(description = "备注") diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/dic/controller/vo/DictionarySampleFlowNodePageReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/dic/controller/vo/DictionarySampleFlowNodePageReqVO.java index 4bc2195..ed7d7f7 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/dic/controller/vo/DictionarySampleFlowNodePageReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/dic/controller/vo/DictionarySampleFlowNodePageReqVO.java @@ -1,10 +1,10 @@ package com.zt.plat.module.qms.business.dic.controller.vo; -import com.zt.plat.framework.common.pojo.PageParam; +import lombok.*; +import java.util.*; import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; +import com.zt.plat.framework.common.pojo.PageParam; import org.springframework.format.annotation.DateTimeFormat; - import java.time.LocalDateTime; import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; @@ -13,13 +13,13 @@ import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH @Data public class DictionarySampleFlowNodePageReqVO extends PageParam { - @Schema(description = "键") + @Schema(description = "键值") private String key; @Schema(description = "名称", example = "李四") private String name; - @Schema(description = "类型,主样、子样", example = "1") + @Schema(description = "类型,主样base_sample、子样sub_sample", example = "1") private String type; @Schema(description = "代码") @@ -28,13 +28,13 @@ public class DictionarySampleFlowNodePageReqVO extends PageParam { @Schema(description = "默认事件") private String defaultEvent; - @Schema(description = "排序") - private Integer sort; + @Schema(description = "排序号") + private Integer sortNo; @Schema(description = "所属部门") private String systemDepartmentCode; - @Schema(description = "创建日期") + @Schema(description = "创建时间") @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) private LocalDateTime[] createTime; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/dic/controller/vo/DictionarySampleFlowNodeRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/dic/controller/vo/DictionarySampleFlowNodeRespVO.java index c48732f..cea1f3f 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/dic/controller/vo/DictionarySampleFlowNodeRespVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/dic/controller/vo/DictionarySampleFlowNodeRespVO.java @@ -1,31 +1,31 @@ package com.zt.plat.module.qms.business.dic.controller.vo; -import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; -import com.alibaba.excel.annotation.ExcelProperty; import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - +import lombok.*; +import java.util.*; +import org.springframework.format.annotation.DateTimeFormat; import java.time.LocalDateTime; +import com.alibaba.excel.annotation.*; @Schema(description = "管理后台 - 样品流程节点字典 Response VO") @Data @ExcelIgnoreUnannotated public class DictionarySampleFlowNodeRespVO { - @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "17734") + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "7544") @ExcelProperty("ID") private Long id; - @Schema(description = "键") - @ExcelProperty("键") + @Schema(description = "键值", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("键值") private String key; @Schema(description = "名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "李四") @ExcelProperty("名称") private String name; - @Schema(description = "类型,主样、子样", example = "1") - @ExcelProperty("类型,主样、子样") + @Schema(description = "类型,主样base_sample、子样sub_sample", example = "1") + @ExcelProperty("类型,主样base_sample、子样sub_sample") private String type; @Schema(description = "代码", requiredMode = Schema.RequiredMode.REQUIRED) @@ -36,15 +36,16 @@ public class DictionarySampleFlowNodeRespVO { @ExcelProperty("默认事件") private String defaultEvent; - @Schema(description = "排序") - private Integer sort; + @Schema(description = "排序号", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("排序号") + private Integer sortNo; - @Schema(description = "所属部门", requiredMode = Schema.RequiredMode.REQUIRED) + @Schema(description = "所属部门") @ExcelProperty("所属部门") private String systemDepartmentCode; - @Schema(description = "创建日期", requiredMode = Schema.RequiredMode.REQUIRED) - @ExcelProperty("创建日期") + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("创建时间") private LocalDateTime createTime; @Schema(description = "备注") diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/dic/controller/vo/DictionarySampleFlowNodeSaveReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/dic/controller/vo/DictionarySampleFlowNodeSaveReqVO.java index ccb78b9..95e1469 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/dic/controller/vo/DictionarySampleFlowNodeSaveReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/dic/controller/vo/DictionarySampleFlowNodeSaveReqVO.java @@ -1,25 +1,26 @@ package com.zt.plat.module.qms.business.dic.controller.vo; import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotEmpty; -import lombok.Data; +import lombok.*; +import java.util.*; +import jakarta.validation.constraints.*; @Schema(description = "管理后台 - 样品流程节点字典新增/修改 Request VO") @Data public class DictionarySampleFlowNodeSaveReqVO { - @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "17734") + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "7544") private Long id; - @Schema(description = "键") - @NotEmpty(message = "键名不能为空") + @Schema(description = "键值", requiredMode = Schema.RequiredMode.REQUIRED) + @NotEmpty(message = "键值不能为空") private String key; @Schema(description = "名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "李四") @NotEmpty(message = "名称不能为空") private String name; - @Schema(description = "类型,主样、子样", example = "1") + @Schema(description = "类型,主样base_sample、子样sub_sample", example = "1") private String type; @Schema(description = "代码", requiredMode = Schema.RequiredMode.REQUIRED) @@ -29,10 +30,11 @@ public class DictionarySampleFlowNodeSaveReqVO { @Schema(description = "默认事件") private String defaultEvent; - @Schema(description = "排序") - private Integer sort; + @Schema(description = "排序号", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "排序号不能为空") + private Integer sortNo; - @Schema(description = "所属部门", requiredMode = Schema.RequiredMode.REQUIRED) + @Schema(description = "所属部门") private String systemDepartmentCode; @Schema(description = "备注") diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/dic/controller/vo/DictionarySampleTypeSaveReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/dic/controller/vo/DictionarySampleTypeSaveReqVO.java index 80b8941..3da89d9 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/dic/controller/vo/DictionarySampleTypeSaveReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/dic/controller/vo/DictionarySampleTypeSaveReqVO.java @@ -25,7 +25,6 @@ public class DictionarySampleTypeSaveReqVO { private String key; @Schema(description = "所属部门", requiredMode = Schema.RequiredMode.REQUIRED) - @NotEmpty(message = "所属部门不能为空") private String systemDepartmentCode; @Schema(description = "备注") diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/dic/dal/dataobject/DictionaryParameterDO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/dic/dal/dataobject/DictionaryParameterDO.java index d505ee6..c25946c 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/dic/dal/dataobject/DictionaryParameterDO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/dic/dal/dataobject/DictionaryParameterDO.java @@ -57,7 +57,7 @@ public class DictionaryParameterDO extends BusinessBaseDO { @TableField("UNT") private String unit; /** - * 数据类型,【字典】【jy_sample_data_type】STR-字符串,INTG-整数,DEC-小数,DT-日期,DTM-时间 + * 数据类型,字典表【T_DIC_BSN】string-字符串,int-整数,decimal-小数,date-日期,datetime-时间 */ @TableField("DAT_TP") private String dataType; @@ -77,7 +77,7 @@ public class DictionaryParameterDO extends BusinessBaseDO { @TableField("FMU") private String formula; /** - * 填写方式,【字典】【jy_dictionary_parameter_Filling_way】人工录入,天平采集,计算 + * 填写方式,字典表【T_DIC_BSN】人工录入,天平采集,计算 */ @TableField("FIL_WY") private String fillingWay; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/dic/dal/dataobject/DictionaryProjectDO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/dic/dal/dataobject/DictionaryProjectDO.java index da6f529..41a7967 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/dic/dal/dataobject/DictionaryProjectDO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/dic/dal/dataobject/DictionaryProjectDO.java @@ -44,7 +44,7 @@ public class DictionaryProjectDO extends BusinessBaseDO { @TableField("SMPL_NAME") private String simpleName; /** - * 检测项目显示名称 + * 显示名称 */ @TableField("SHW_NAME") private String showName; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/dic/dal/dataobject/DictionarySampleFlowNodeDO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/dic/dal/dataobject/DictionarySampleFlowNodeDO.java index faac275..589ddc3 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/dic/dal/dataobject/DictionarySampleFlowNodeDO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/dic/dal/dataobject/DictionarySampleFlowNodeDO.java @@ -1,8 +1,11 @@ package com.zt.plat.module.qms.business.dic.dal.dataobject; -import com.zt.plat.framework.mybatis.core.dataobject.BusinessBaseDO; -import com.baomidou.mybatisplus.annotation.*; import lombok.*; +import java.util.*; + import java.time.LocalDateTime; + import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.*; +import com.zt.plat.framework.mybatis.core.dataobject.BusinessBaseDO; /** * 样品流程节点字典 DO * @@ -29,7 +32,7 @@ public class DictionarySampleFlowNodeDO extends BusinessBaseDO { @TableId(type = IdType.ASSIGN_ID) private Long id; /** - * key + * 键 */ @TableField("KY") private String key; @@ -39,7 +42,7 @@ public class DictionarySampleFlowNodeDO extends BusinessBaseDO { @TableField("NAME") private String name; /** - * 类型,主样、子样 + * 类型,主样base_sample、子样sub_sample */ @TableField("TP") private String type; @@ -54,10 +57,10 @@ public class DictionarySampleFlowNodeDO extends BusinessBaseDO { @TableField("DFT_EVN") private String defaultEvent; /** - * 排序 + * 排序号 */ - @TableField("SRT") - private Integer sort; + @TableField("SRT_NO") + private Integer sortNo; /** * 所属部门 */ diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/dic/dal/mapper/DictionaryParameterMapper.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/dic/dal/mapper/DictionaryParameterMapper.java index 0453b88..7634267 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/dic/dal/mapper/DictionaryParameterMapper.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/dic/dal/mapper/DictionaryParameterMapper.java @@ -1,10 +1,9 @@ package com.zt.plat.module.qms.business.dic.dal.mapper; -import java.util.*; - import com.zt.plat.framework.common.pojo.PageResult; import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX; import com.zt.plat.module.qms.business.dic.controller.vo.*; +import com.zt.plat.module.qms.business.dic.controller.vo.DictionaryParameterPageReqVO; import com.zt.plat.module.qms.business.dic.dal.dataobject.DictionaryParameterDO; import com.zt.plat.framework.mybatis.core.mapper.BaseMapperX; import org.apache.ibatis.annotations.Mapper; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/dic/dal/mapper/DictionaryProjectMapper.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/dic/dal/mapper/DictionaryProjectMapper.java index e37572c..e5b1766 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/dic/dal/mapper/DictionaryProjectMapper.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/dic/dal/mapper/DictionaryProjectMapper.java @@ -20,6 +20,7 @@ public interface DictionaryProjectMapper extends BaseMapperX selectPage(DictionarySampleFlowNodePageReqVO reqVO) { return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(DictionarySampleFlowNodeDO::getKey, reqVO.getKey()) .likeIfPresent(DictionarySampleFlowNodeDO::getName, reqVO.getName()) .eqIfPresent(DictionarySampleFlowNodeDO::getType, reqVO.getType()) .eqIfPresent(DictionarySampleFlowNodeDO::getCode, reqVO.getCode()) .eqIfPresent(DictionarySampleFlowNodeDO::getDefaultEvent, reqVO.getDefaultEvent()) + .eqIfPresent(DictionarySampleFlowNodeDO::getSortNo, reqVO.getSortNo()) .eqIfPresent(DictionarySampleFlowNodeDO::getSystemDepartmentCode, reqVO.getSystemDepartmentCode()) .betweenIfPresent(DictionarySampleFlowNodeDO::getCreateTime, reqVO.getCreateTime()) .eqIfPresent(DictionarySampleFlowNodeDO::getRemark, reqVO.getRemark()) diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/common/data/controller/admin/DataCollectionFieldController.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/common/data/controller/admin/DataCollectionFieldController.java index 8ff7668..d2c818e 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/common/data/controller/admin/DataCollectionFieldController.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/common/data/controller/admin/DataCollectionFieldController.java @@ -15,7 +15,6 @@ import com.zt.plat.module.qms.common.data.controller.vo.DataCollectionFieldRespV import com.zt.plat.module.qms.common.data.controller.vo.DataCollectionFieldSaveReqVO; import com.zt.plat.module.qms.common.data.service.DataCollectionFieldService; import com.zt.plat.module.qms.common.data.service.DataCollectionService; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.tags.Tag; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/common/data/controller/admin/DataFormController.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/common/data/controller/admin/DataFormController.java index 4d9c971..d51f321 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/common/data/controller/admin/DataFormController.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/common/data/controller/admin/DataFormController.java @@ -11,6 +11,9 @@ import com.zt.plat.framework.common.pojo.vo.BatchDeleteReqVO; import com.zt.plat.framework.common.util.object.BeanUtils; import com.zt.plat.framework.excel.core.util.ExcelUtils; import com.zt.plat.module.qms.common.data.controller.vo.*; +import com.zt.plat.module.qms.common.data.controller.vo.DataFormPageReqVO; +import com.zt.plat.module.qms.common.data.controller.vo.DataFormRespVO; +import com.zt.plat.module.qms.common.data.controller.vo.DataFormSaveReqVO; import com.zt.plat.module.qms.common.data.dal.dataobject.DataFormDO; import com.zt.plat.module.qms.common.data.service.DataFormService; import io.swagger.v3.oas.annotations.Operation; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/common/data/controller/vo/DataCollectionFieldRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/common/data/controller/vo/DataCollectionFieldRespVO.java index da10ae2..364420f 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/common/data/controller/vo/DataCollectionFieldRespVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/common/data/controller/vo/DataCollectionFieldRespVO.java @@ -8,8 +8,6 @@ import lombok.Data; import java.time.LocalDateTime; -import static com.zt.plat.module.qms.core.constant.DataTypeConstant.DICT_ANNOTATION_KEY_TYPE_ID; - @Schema(description = "管理后台 - 数据集字段 Response VO") @Data @ExcelIgnoreUnannotated diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/common/data/controller/vo/DataCollectionSaveReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/common/data/controller/vo/DataCollectionSaveReqVO.java index 0a815ef..c84eabd 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/common/data/controller/vo/DataCollectionSaveReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/common/data/controller/vo/DataCollectionSaveReqVO.java @@ -1,7 +1,6 @@ package com.zt.plat.module.qms.common.data.controller.vo; import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotEmpty; import jakarta.validation.constraints.NotNull; import lombok.Data; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/common/data/dal/mapper/DataFormMapper.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/common/data/dal/mapper/DataFormMapper.java index 046a6bc..baba00c 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/common/data/dal/mapper/DataFormMapper.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/common/data/dal/mapper/DataFormMapper.java @@ -4,6 +4,7 @@ import com.zt.plat.framework.common.pojo.PageResult; import com.zt.plat.framework.mybatis.core.mapper.BaseMapperX; import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX; import com.zt.plat.module.qms.common.data.controller.vo.*; +import com.zt.plat.module.qms.common.data.controller.vo.DataFormPageReqVO; import com.zt.plat.module.qms.common.data.dal.dataobject.DataFormDO; import org.apache.ibatis.annotations.Mapper; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/common/data/service/DataFormService.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/common/data/service/DataFormService.java index 407d54b..9f2409c 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/common/data/service/DataFormService.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/common/data/service/DataFormService.java @@ -2,6 +2,9 @@ package com.zt.plat.module.qms.common.data.service; import com.zt.plat.framework.common.pojo.PageResult; import com.zt.plat.module.qms.common.data.controller.vo.*; +import com.zt.plat.module.qms.common.data.controller.vo.DataFormPageReqVO; +import com.zt.plat.module.qms.common.data.controller.vo.DataFormRespVO; +import com.zt.plat.module.qms.common.data.controller.vo.DataFormSaveReqVO; import com.zt.plat.module.qms.common.data.dal.dataobject.DataFormDO; import jakarta.validation.Valid; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/common/data/service/DataFormServiceImpl.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/common/data/service/DataFormServiceImpl.java index 4b17500..25fe40f 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/common/data/service/DataFormServiceImpl.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/common/data/service/DataFormServiceImpl.java @@ -8,9 +8,11 @@ import com.zt.plat.framework.security.core.LoginUser; import com.zt.plat.framework.security.core.util.SecurityFrameworkUtils; import com.zt.plat.module.bpm.api.task.BpmProcessInstanceApi; import com.zt.plat.module.bpm.api.task.dto.BpmProcessInstanceCreateReqDTO; +import com.zt.plat.module.qms.common.data.controller.vo.DataFormPageReqVO; +import com.zt.plat.module.qms.common.data.controller.vo.DataFormRespVO; +import com.zt.plat.module.qms.common.data.controller.vo.DataFormSaveReqVO; import com.zt.plat.module.qms.api.task.BMPCallbackInterface; import com.zt.plat.module.qms.api.task.dto.QmsBpmDTO; -import com.zt.plat.module.qms.common.data.controller.vo.*; import com.zt.plat.module.qms.common.data.dal.dataobject.DataCollectionDO; import com.zt.plat.module.qms.common.data.dal.dataobject.DataFormDO; import com.zt.plat.module.qms.common.data.dal.mapper.DataFormMapper; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/common/dic/controller/vo/DictionaryBusinessPageReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/common/dic/controller/vo/DictionaryBusinessPageReqVO.java index c67739c..cba63b9 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/common/dic/controller/vo/DictionaryBusinessPageReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/common/dic/controller/vo/DictionaryBusinessPageReqVO.java @@ -1,28 +1,28 @@ package com.zt.plat.module.qms.common.dic.controller.vo; -import com.zt.plat.framework.common.pojo.PageParam; +import lombok.*; +import java.util.*; import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; +import com.zt.plat.framework.common.pojo.PageParam; import org.springframework.format.annotation.DateTimeFormat; - import java.time.LocalDateTime; import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; -@Schema(description = "管理后台 - 业务参数字典分页 Request VO") +@Schema(description = "管理后台 - 业务字典分页 Request VO") @Data public class DictionaryBusinessPageReqVO extends PageParam { - @Schema(description = "id路径") + @Schema(description = "ID路径") private String idPath; - @Schema(description = "上级id", example = "3392") + @Schema(description = "上级ID", example = "17939") private Long parentId; @Schema(description = "节点类型", example = "2") private String nodeType; - @Schema(description = "名称", example = "芋艿") + @Schema(description = "名称", example = "王五") private String name; @Schema(description = "键") @@ -34,17 +34,17 @@ public class DictionaryBusinessPageReqVO extends PageParam { @Schema(description = "其他配置") private String customConfig; + @Schema(description = "排序号") + private Integer sortNo; + @Schema(description = "所属部门") private String systemDepartmentCode; - @Schema(description = "创建日期") + @Schema(description = "创建时间") @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) private LocalDateTime[] createTime; @Schema(description = "备注") private String remark; - @Schema(description = "排序号") - private Integer sortNo; - } \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/common/dic/controller/vo/DictionaryBusinessRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/common/dic/controller/vo/DictionaryBusinessRespVO.java index 896411e..a5b0c6f 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/common/dic/controller/vo/DictionaryBusinessRespVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/common/dic/controller/vo/DictionaryBusinessRespVO.java @@ -1,34 +1,34 @@ package com.zt.plat.module.qms.common.dic.controller.vo; -import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; -import com.alibaba.excel.annotation.ExcelProperty; import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - +import lombok.*; +import java.util.*; +import org.springframework.format.annotation.DateTimeFormat; import java.time.LocalDateTime; +import com.alibaba.excel.annotation.*; -@Schema(description = "管理后台 - 业务参数字典 Response VO") +@Schema(description = "管理后台 - 业务字典 Response VO") @Data @ExcelIgnoreUnannotated public class DictionaryBusinessRespVO { - @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "5551") + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "20038") @ExcelProperty("ID") private Long id; - @Schema(description = "id路径", requiredMode = Schema.RequiredMode.REQUIRED) - @ExcelProperty("id路径") + @Schema(description = "ID路径") + @ExcelProperty("ID路径") private String idPath; - @Schema(description = "上级id", example = "3392") - @ExcelProperty("上级id") + @Schema(description = "上级ID", example = "17939") + @ExcelProperty("上级ID") private Long parentId; @Schema(description = "节点类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "2") @ExcelProperty("节点类型") private String nodeType; - @Schema(description = "名称", example = "芋艿") + @Schema(description = "名称", example = "王五") @ExcelProperty("名称") private String name; @@ -44,20 +44,20 @@ public class DictionaryBusinessRespVO { @ExcelProperty("其他配置") private String customConfig; + @Schema(description = "排序号") + @ExcelProperty("排序号") + private Integer sortNo; + @Schema(description = "所属部门") @ExcelProperty("所属部门") private String systemDepartmentCode; - @Schema(description = "创建日期", requiredMode = Schema.RequiredMode.REQUIRED) - @ExcelProperty("创建日期") + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("创建时间") private LocalDateTime createTime; @Schema(description = "备注") @ExcelProperty("备注") private String remark; - @Schema(description = "排序号") - @ExcelProperty("排序号") - private Integer sortNo; - } \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/common/dic/controller/vo/DictionaryBusinessSaveReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/common/dic/controller/vo/DictionaryBusinessSaveReqVO.java index 8ab227c..21e9743 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/common/dic/controller/vo/DictionaryBusinessSaveReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/common/dic/controller/vo/DictionaryBusinessSaveReqVO.java @@ -1,26 +1,28 @@ package com.zt.plat.module.qms.common.dic.controller.vo; import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotEmpty; -import lombok.Data; +import lombok.*; +import java.util.*; +import jakarta.validation.constraints.*; -@Schema(description = "管理后台 - 业务参数字典新增/修改 Request VO") +@Schema(description = "管理后台 - 业务字典新增/修改 Request VO") @Data public class DictionaryBusinessSaveReqVO { - @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "5551") + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "20038") private Long id; - @Schema(description = "id路径", requiredMode = Schema.RequiredMode.REQUIRED) + @Schema(description = "ID路径") private String idPath; - @Schema(description = "上级id", example = "3392") + @Schema(description = "上级ID", example = "17939") private Long parentId; @Schema(description = "节点类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "2") + @NotEmpty(message = "节点类型不能为空") private String nodeType; - @Schema(description = "名称", example = "芋艿") + @Schema(description = "名称", example = "王五") private String name; @Schema(description = "键") @@ -32,12 +34,13 @@ public class DictionaryBusinessSaveReqVO { @Schema(description = "其他配置") private String customConfig; + @Schema(description = "排序号") + private Integer sortNo; + @Schema(description = "所属部门") private String systemDepartmentCode; @Schema(description = "备注") private String remark; - @Schema(description = "排序号") - private Integer sortNo; } \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/common/dic/dal/dataobject/DictionaryBusinessDO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/common/dic/dal/dataobject/DictionaryBusinessDO.java index 97d00b6..9ddfcc0 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/common/dic/dal/dataobject/DictionaryBusinessDO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/common/dic/dal/dataobject/DictionaryBusinessDO.java @@ -1,10 +1,13 @@ package com.zt.plat.module.qms.common.dic.dal.dataobject; -import com.zt.plat.framework.mybatis.core.dataobject.BusinessBaseDO; -import com.baomidou.mybatisplus.annotation.*; import lombok.*; +import java.util.*; + import java.time.LocalDateTime; + import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.*; +import com.zt.plat.framework.mybatis.core.dataobject.BusinessBaseDO; /** -* 业务参数字典 DO +* 业务字典 DO * * @author 后台管理 */ @@ -29,12 +32,12 @@ public class DictionaryBusinessDO extends BusinessBaseDO { @TableId(type = IdType.ASSIGN_ID) private Long id; /** - * id路径 + * ID路径 */ @TableField("ID_PATH") private String idPath; /** - * 上级id + * 上级ID */ @TableField("PRN_ID") private Long parentId; @@ -64,6 +67,11 @@ public class DictionaryBusinessDO extends BusinessBaseDO { @TableField("CST_CFG") private String customConfig; /** + * 排序号 + */ + @TableField("SRT_NO") + private Integer sortNo; + /** * 所属部门 */ @TableField("SYS_DEPT_CD") @@ -73,10 +81,5 @@ public class DictionaryBusinessDO extends BusinessBaseDO { */ @TableField("RMK") private String remark; - /** - * 排序号 - */ - @TableField("SRT_NO") - private Integer sortNo; } \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/common/dic/dal/mapper/DictionaryBusinessMapper.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/common/dic/dal/mapper/DictionaryBusinessMapper.java index 5c8827d..f438223 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/common/dic/dal/mapper/DictionaryBusinessMapper.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/common/dic/dal/mapper/DictionaryBusinessMapper.java @@ -4,6 +4,7 @@ import com.zt.plat.framework.common.pojo.PageResult; import com.zt.plat.framework.mybatis.core.mapper.BaseMapperX; import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX; import com.zt.plat.module.qms.common.dic.controller.vo.*; +import com.zt.plat.module.qms.common.dic.controller.vo.DictionaryBusinessPageReqVO; import com.zt.plat.module.qms.common.dic.dal.dataobject.DictionaryBusinessDO; import com.zt.plat.module.qms.core.legend.vo.DictModel; import org.apache.ibatis.annotations.Mapper; @@ -28,6 +29,7 @@ public interface DictionaryBusinessMapper extends BaseMapperXQlExpressRuleEngineConfig + *

+ * 更新历史: + *

 版本         更新时间            更新者        更新内容
+ * V1.0 2025年10月9日 wxr Add
+ * Copyright (C) 云南志者竟成科技有限公司 + *

+ * @author 王兴荣 + * @version V1.0 + * @since 2025年10月9日 + */ +@Configuration +public class QlExpressRuleEngineConfig { + + @Bean + public ExpressRunner expressRunner() { + //需要高精度计算支持 + ExpressRunner expressRunner = new ExpressRunner(true, false); + return expressRunner; + } +} diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/core/qlexpress/function/package-info.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/core/qlexpress/function/package-info.java new file mode 100644 index 0000000..02438bd --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/core/qlexpress/function/package-info.java @@ -0,0 +1,4 @@ +/** + * 占位 + */ +package com.zt.plat.module.qms.core.qlexpress.function; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/core/sampleflow/SampleFlowNode.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/core/sampleflow/SampleFlowNode.java index caee31e..c5a6edf 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/core/sampleflow/SampleFlowNode.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/core/sampleflow/SampleFlowNode.java @@ -3,6 +3,7 @@ package com.zt.plat.module.qms.core.sampleflow; import java.io.Serializable; import java.util.List; +import cn.hutool.core.collection.CollUtil; import lombok.Data; import lombok.experimental.Accessors; @@ -29,4 +30,16 @@ public class SampleFlowNode implements Serializable { /** 下级流程节点 **/ private List nextFlowNodeList; + + /** 获取下级流程节点名称 **/ + public String getNextFlowNodeName() { + StringBuilder sb = new StringBuilder(); + if (CollUtil.isNotEmpty(this.nextFlowNodeList)) { + for (SampleFlowNode sampleFlowNode : nextFlowNodeList) { + sb.append(sampleFlowNode.getNodeName()).append("、"); + } + sb.delete(sb.length() - 1, sb.length()); + } + return sb.toString(); + } } diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/framework/gridreport/GridReport.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/framework/gridreport/GridReport.java new file mode 100644 index 0000000..9ff73f2 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/framework/gridreport/GridReport.java @@ -0,0 +1,180 @@ +package com.zt.plat.module.qms.framework.gridreport; + +import java.io.Serializable; +import java.util.Map; + +import com.zt.plat.module.qms.framework.gridreport.exception.GridReportException; +import gridreport.jni.BinaryObject; +import gridreport.jni.E2IMGOption; +import gridreport.jni.ExportImageType; +import gridreport.jni.ExportOption; +import gridreport.jni.ExportType; +import gridreport.jni.Report; +import lombok.extern.slf4j.Slf4j; + +@Slf4j +public class GridReport implements Serializable { + + private static final long serialVersionUID = -8308393930858342837L; + + public static final String WR_PREFIX = "_WR_"; + + private String gridReportOutPath; + + public GridReport() {} + + public GridReport(String gridReportOutPath) { + this.gridReportOutPath = gridReportOutPath; + } + + /** + * 输出目录 + * @return + */ + public String getGridReportOutPath() { + return gridReportOutPath; + } + + /** + * 获取报表对象 + * @return + * @throws Exception + */ + public Report getReport() throws Exception { + if (!"amd64".equalsIgnoreCase(System.getProperty("os.arch"))) { + log.error("锐浪报表SDK不支持当前" + System.getProperty("os.arch") + "平台!"); + } + Report report = new Report(); + if (report.getNativeHandle() == 0) { + throw new Exception("Report Create failed."); + } + return report; + } + + /** + * 导出报表二进制数据 + * @param reportTemplate 报表模板json数据 + * @param reportData 报表json数据 + * @param reportParams 报表参数 + * @param type 报表类型 + * @return + * @throws Exception + */ + public BinaryObject genReport(String reportTemplate, String reportData, Map reportParams, ExportType type) throws Exception { + Report report = new Report(); + boolean success = report.LoadFromStr(reportTemplate); + if (!success) { + log.error("加载报表模板数据失败!"); + throw new GridReportException("加载报表模板数据失败!"); + } + success = report.LoadDataFromXML(reportData); + if (!success) { + log.error("加载报表数据失败!"); + throw new GridReportException("加载报表数据失败!"); + } + //处理报表参数 + for (Map.Entry param : reportParams.entrySet()) { + if (report.ParameterByName(param.getKey()) != null) { + report.ParameterByName(param.getKey()).setAsString(param.getValue()); + } + } + BinaryObject bo = report.ExportDirectToBinaryObject(type); + if (bo == null || bo.getNativeHandle() == 0) { + log.error("导出二进制数据失败!"); + throw new GridReportException("导出二进制数据失败!"); + } + return bo; + } + + /** + * 导出报表二进制数据 + * @param reportTemplate 报表模板json数据 + * @param reportData 报表json数据 + * @param reportParams 报表参数 + * @param type 报表类型 + * @param imgType 指定生成的图像数据格式,仅当生成图像数据时需要,可选[png|bmp|jpg|tif] + * @param imgDpi 指定导出图像的分辨率DPI,默认为96。打印的化需要根据打印机来具体设置 + * @return + * @throws Exception + */ + public BinaryObject genReport(String reportTemplate, String reportData, Map reportParams, ExportType type, ExportImageType imgType, Integer imgDPI) throws Exception { + Report report = new Report(); + boolean success = report.LoadFromStr(reportTemplate); + if (!success) { + log.error("加载报表模板数据失败!"); + throw new GridReportException("加载报表模板数据失败!"); + } + success = report.LoadDataFromXML(reportData); + if (!success) { + log.error("加载报表数据失败!"); + throw new GridReportException("加载报表数据失败!"); + } + //处理报表参数 + for (Map.Entry param : reportParams.entrySet()) { + if (report.ParameterByName(param.getKey()) != null) { + report.ParameterByName(param.getKey()).setAsString(param.getValue()); + } + } + //准备进行数据导出,指定要导出的文件类型。 + //在调用Export方法之前一定要调用本方法,在其后一定要调用UnprepareExport方法。本方法返回的选项对象的接口引用可以用来设定选项值。 + ExportOption exportOption = report.PrepareExport(type); + if (type.equals(ExportType.IMG)) {//如果为图片格式 + //获取将本对象转换为导出图像文件选项对象的接口引用。 + E2IMGOption e2imgOption = exportOption.getAsE2IMGOption(); + //设置图片格式 + e2imgOption.setImageType(imgType); + //所有页产生在一个图像文件中 + e2imgOption.setAllInOne(true); + e2imgOption.setDPI(imgDPI); + } + //执行数据导出 + BinaryObject bo = report.ExportToBinaryObject(); + //数据导出完成之后,进行一些内部释放任务。 + report.UnprepareExport(); + if (bo == null || bo.getNativeHandle() == 0) { + log.error("导出二进制数据失败!"); + throw new GridReportException("导出二进制数据失败!"); + } + return bo; + + } + + /** + * 生成报表并保存 + * @param reportName 报表名称 + * @param reportTemplate 报表模板json + * @param reportData 报表数据json + * @param reportParams 报表参数 + * @param type 报表类型 + * @return 报表保存路径 + * @throws Exception + */ + public String genReportAndSave(String reportName, String reportTemplate, String reportData, Map reportParams, ExportType type) throws Exception { + Report report = new Report(); + boolean success = report.LoadFromStr(reportTemplate); + if (!success) { + log.error("加载报表模板数据失败!"); + throw new GridReportException("加载报表模板数据失败!"); + } + success = report.LoadDataFromXML(reportData); + if (!success) { + log.error("加载报表数据失败!"); + throw new GridReportException("加载报表数据失败!"); + } + //处理报表参数 + for (Map.Entry param : reportParams.entrySet()) { + if (report.ParameterByName(param.getKey()) != null) { + report.ParameterByName(param.getKey()).setAsString(param.getValue()); + } + } + BinaryObject bo = report.ExportDirectToBinaryObject(type); + if (bo == null || bo.getNativeHandle() == 0) { + log.error("导出二进制数据失败!"); + throw new GridReportException("导出二进制数据失败!"); + } + String exportPathFile = this.gridReportOutPath + reportName + "." + type.toString().toLowerCase(); + bo.SaveToFile(exportPathFile); + report.Release(); + return exportPathFile; + } +} diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/framework/gridreport/PdfHelper.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/framework/gridreport/PdfHelper.java new file mode 100644 index 0000000..04341b9 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/framework/gridreport/PdfHelper.java @@ -0,0 +1,134 @@ +package com.zt.plat.module.qms.framework.gridreport; + +import java.awt.image.BufferedImage; +import java.io.ByteArrayOutputStream; +import javax.imageio.ImageIO; + +import org.apache.commons.lang3.StringUtils; +import org.apache.pdfbox.pdmodel.PDDocument; +import org.apache.pdfbox.pdmodel.PDDocumentInformation; +import com.spire.pdf.PdfDocument; +import com.spire.pdf.graphics.PdfImageType; + +import lombok.extern.slf4j.Slf4j; + +@Slf4j +public class PdfHelper { + + /** + * 修改pdf属性 + * @param pdfBytes pdf + * @param author 作者 + * @return + */ + public static byte[] modifyDocInfo(byte[] pdfBytes) { + return modifyDocInfo(pdfBytes, null, null, null, null, null, null); + } + + /** + * 修改pdf属性 + * @param pdfBytes pdf + * @param author 作者 + * @return + */ + public static byte[] modifyDocInfo(byte[] pdfBytes, String author) { + return modifyDocInfo(pdfBytes, null, author, null, null, null, null); + } + + /** + * 修改pdf属性 + * @param pdfBytes pdf + * @param author 作者 + * @param subject 主题 + * @return + */ + public static byte[] modifyDocInfo(byte[] pdfBytes, String author, String subject) { + return modifyDocInfo(pdfBytes, null, author, subject, null, null, null); + } + + /** + * 修改pdf属性 + * @param pdfBytes pdf + * @param title 标题 + * @param author 作者 + * @param subject 主题 + * @param keywords 关键字 + * @param creator 应用程序 + * @param producer 制作程序 + * @return + */ + public static byte[] modifyDocInfo(byte[] pdfBytes, String title, String author, String subject, String keywords, String creator, String producer) { + //加载PDF文件 + try (PDDocument pdfDocument = PDDocument.load(pdfBytes); ByteArrayOutputStream baos = new ByteArrayOutputStream();) { + //属性信息 + PDDocumentInformation info = pdfDocument.getDocumentInformation(); + //标题 + if (StringUtils.isNotBlank(title)) { + info.setTitle(title); + } + + //作者 + if (StringUtils.isNotBlank(author)) { + info.setAuthor(author); + } else { + info.setAuthor("王兴荣"); + } + + //主题 + if (StringUtils.isNotBlank(subject)) { + info.setSubject(subject); + } else { + info.setSubject("志者竟成报告系统"); + } + + //关键字 + if (StringUtils.isNotBlank(keywords)) { + info.setKeywords(keywords); + } + + //应用程序 + if (StringUtils.isNotBlank(creator)) { + info.setCreator(creator); + } else { + info.setCreator("志者竟成报告系统"); + } + + //pdf制作程序 + if (StringUtils.isNotBlank(producer)) { + info.setProducer(producer); + } else { + info.setProducer("志者竟成报告系统V1.0"); + } + //将修改后的PDF保存 + pdfDocument.save(baos); + return baos.toByteArray(); + } catch (Exception e) { + log.error("处理pdf出错!"); + } + return null; + } + + /** + * pdf转png图片 + * @param pdfBytes pdf + * @param dpi DPI + * @return + */ + public static byte[] pdfToPng(byte[] pdfBytes, int dpi) { + long startTime = System.nanoTime(); + //加载PDF文件 + PdfDocument pdfDocument = new PdfDocument(); + pdfDocument.loadFromBytes(pdfBytes); + try ( ByteArrayOutputStream baos = new ByteArrayOutputStream();) { + BufferedImage bufferedImage = pdfDocument.saveAsImage(0, PdfImageType.Bitmap, dpi, dpi); + ImageIO.write(bufferedImage, "PNG", baos); + long endTime = System.nanoTime(); + log.info("png转换用时:{}ms", (endTime - startTime)/1000000); + return baos.toByteArray(); + } catch (Exception e) { + log.error("处理pdf出错!"); + } + return null; + } + +} diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/framework/gridreport/config/GridReportConfig.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/framework/gridreport/config/GridReportConfig.java new file mode 100644 index 0000000..57f460e --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/framework/gridreport/config/GridReportConfig.java @@ -0,0 +1,27 @@ +package com.zt.plat.module.qms.framework.gridreport.config; + +import org.springframework.beans.factory.annotation.Value; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +import com.zt.plat.module.qms.framework.gridreport.GridReport; +import gridreport.jni.Report; + +@Configuration +public class GridReportConfig { + + /** gridreport服务器安装地址,详见锐浪报表帮助文档,Java报表服务器开发起步-web报表服务器(JAVA) **/ + @Value("${zzjc.report.gridreport.server.path:/usr/local/grsvr6}") + private String gridReportPath; + + /** 文档输出目录 **/ + @Value("${zzjc.report.gridreport.file.out-path:/appdata/data/pdf}") + private String gridReportOutPath; + + @Bean + public GridReport gridReport() { + //初始化报表模块路径 + Report.ConfigModulePath(gridReportPath); + return new GridReport(gridReportOutPath); + } +} diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/framework/gridreport/exception/GridReportException.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/framework/gridreport/exception/GridReportException.java new file mode 100644 index 0000000..82bd5b2 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/framework/gridreport/exception/GridReportException.java @@ -0,0 +1,27 @@ +package com.zt.plat.module.qms.framework.gridreport.exception; + +public class GridReportException extends Exception { + + private static final long serialVersionUID = 3767718880859242703L; + + public GridReportException() { + super(); + } + + public GridReportException(String message, Throwable cause, boolean enableSuppression, boolean writableStackTrace) { + super(message, cause, enableSuppression, writableStackTrace); + } + + public GridReportException(String message, Throwable cause) { + super(message, cause); + } + + public GridReportException(String message) { + super(message); + } + + public GridReportException(Throwable cause) { + super(cause); + } + +} diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/framework/rpc/config/RpcConfiguration.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/framework/rpc/config/RpcConfiguration.java index 21daebb..9b670c7 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/framework/rpc/config/RpcConfiguration.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/framework/rpc/config/RpcConfiguration.java @@ -2,12 +2,14 @@ package com.zt.plat.module.qms.framework.rpc.config; import com.zt.plat.module.bpm.api.task.BpmProcessInstanceApi; import com.zt.plat.module.infra.api.file.FileApi; +import com.zt.plat.module.system.api.dept.DeptApi; import com.zt.plat.module.system.api.sequence.SequenceApi; +import com.zt.plat.module.system.api.user.AdminUserApi; import org.springframework.cloud.openfeign.EnableFeignClients; import org.springframework.context.annotation.Configuration; @Configuration(value = "qmsRpcConfiguration", proxyBeanMethods = false) -@EnableFeignClients(clients = {FileApi.class, SequenceApi.class, BpmProcessInstanceApi.class}) +@EnableFeignClients(clients = {FileApi.class, SequenceApi.class, AdminUserApi.class, DeptApi.class, BpmProcessInstanceApi.class}) public class RpcConfiguration { } diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/controller/admin/IotConnectManagerStatsController.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/controller/admin/IotConnectManagerStatsController.java new file mode 100644 index 0000000..f1bfca2 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/controller/admin/IotConnectManagerStatsController.java @@ -0,0 +1,221 @@ +package com.zt.plat.module.qms.iot.controller.admin; + +import com.zt.plat.framework.common.pojo.CommonResult; +import com.zt.plat.module.qms.iot.tcpserver.core.ChannelContextConstant; +import com.zt.plat.module.qms.iot.tcpserver.core.IotDeviceSessionContext; +import com.github.xingfudeshi.knife4j.annotations.ApiOperationSupport; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.annotation.Resource; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import org.springframework.web.bind.annotation.*; +import com.zt.plat.module.qms.iot.tcpserver.core.ChannelStatInfo; +import tech.zzjc.tio.core.ChannelContext; +import tech.zzjc.tio.core.Tio; +import tech.zzjc.tio.core.stat.ChannelStat; +import tech.zzjc.tio.starter.TioServerBootstrap; +import tech.zzjc.tio.utils.lock.SetWithLock; + +import java.util.*; +import java.util.concurrent.atomic.AtomicLong; +import java.util.concurrent.locks.ReentrantReadWriteLock; +import java.util.stream.Collectors; + +/** + * IotManagerStatsController + * iot 管理统计 + *

更新历史:

+ *
 版本         更新时间            更新者        更新内容
+ * V1.0      2021-12-1          王兴荣         Add
+ * Copyright (C) 云南志者竟成科技有限公司 + * @author 王兴荣 <xingrong_wang@will-way.cn> + * @version V1.0 + * @since 2021-12-1 + */ +@Slf4j +@RestController +@AllArgsConstructor +@RequestMapping("/qms/resource/iot/connect-manager-stats") +@Tag(name = "iot连接管理-连接统计") +public class IotConnectManagerStatsController { + + @Resource + private TioServerBootstrap tioServerBootstrap; + + @GetMapping("/all-connect") + @ApiOperationSupport(order = 1) + @Operation(summary = "获取当前所有连接") + public CommonResult currentAllConnect(@RequestParam(name = "clientIp", required = false) String clientIp) { + SetWithLock setWithLock = Tio.getAll(tioServerBootstrap.getServerTioConfig()); + Set set = null; + ReentrantReadWriteLock.ReadLock readLock = setWithLock.getLock().readLock(); + List list = null; + try { + readLock.lock(); + set = setWithLock.getObj(); + list = new ArrayList<>(); + + for (ChannelContext channelContext : set) { + + ChannelStatInfo info = new ChannelStatInfo(); + ChannelStat stat = channelContext.stat; + + + String id = channelContext.getId(); + String bsId = channelContext.getBsId(); + Date regTime = channelContext.get("regTime") == null ? null : (Date) channelContext.get("regTime"); + String ip = channelContext.get("realClientIp") == null ? channelContext.getClientNode().getIp() : channelContext.get("realClientIp").toString(); // 客户端IP + int port = channelContext.get("realClientPort") == null ? channelContext.getClientNode().getPort() : Integer.parseInt(channelContext.get("realClientPort").toString()); // 客户端端口 + String protocol = channelContext.get("realClientProtocol") == null ? channelContext.getClientNode().getProtocol() : channelContext.get("realClientProtocol").toString();//协议 + String ipProxy = channelContext.getProxyClientNode() == null ? "" : channelContext.getProxyClientNode().getIp();//代理 ip + int portProxy = channelContext.getProxyClientNode() == null ? -1 : channelContext.getProxyClientNode().getPort();//代理 端口 + String protocolProxy = channelContext.getProxyClientNode() == null ? "" : channelContext.getProxyClientNode().getProtocol(); //代理协议 + + //连接类型 + String connectType = channelContext.get(ChannelContextConstant.CONNECT_TYPE) == null ? "" : channelContext.get(ChannelContextConstant.CONNECT_TYPE).toString(); + + switch (connectType) { + case ChannelContextConstant.CONNECT_CONSOLE_CLIENT://控制客户端 + String userRealName = channelContext.get("user-real-name") == null ? "无" : channelContext.get("user-real-name").toString(); + info.setRealName(userRealName); + info.setRemarks("操作人:" + userRealName); + break; + case ChannelContextConstant.CONNECT_CAA_CLIENT://平板端 + String caaUserRealName = channelContext.get("user-real-name") == null ? "无" : channelContext.get("user-real-name").toString(); + info.setRealName(caaUserRealName); + info.setRemarks("操作人:" + caaUserRealName); + break; + case ChannelContextConstant.CONNECT_DEVICE://设备 + IotDeviceSessionContext deviceSessionContext = (IotDeviceSessionContext) channelContext.get(IotDeviceSessionContext.DEFAULT_DEVICE_SESSION_CONTEXT_KEY); + String deviceId = deviceSessionContext.getDeviceId(); + String deviceCode = deviceSessionContext.getDeviceCode(); + String deviceType = deviceSessionContext.getDeviceType(); + String deviceName = deviceSessionContext.getDeviceName(); + String controlRealName = deviceSessionContext.getControlRealName() == null ? "无" : deviceSessionContext.getControlRealName(); + info.setDeviceId(deviceId); + info.setDeviceCode(deviceCode); + info.setDeviceType(deviceType); + info.setDeviceName(deviceName); + info.setControlRealName(controlRealName); + StringBuilder deviceInfo = new StringBuilder(); + if (StringUtils.isNoneBlank(deviceName)) { + deviceInfo.append("设备名称:").append(deviceName).append(";"); + } else { + deviceInfo.append("注册号:").append(deviceCode).append(";"); + //deviceInfo.append("设备Id:").append(deviceId).append(";"); + } + deviceInfo.append("控制人:").append(controlRealName); + info.setRemarks(deviceInfo.toString()); + break; + + default: + break; + } + + + int decodeFailCount = stat.getDecodeFailCount(); // 解码异常次数 + String userId = channelContext.userid; // 用户ID + String token = channelContext.getToken(); // 用户token + long timeStart = stat.getTimeCreated(); // 统计开始时间 + // 统计时长 + AtomicLong receivedBytes = stat.getReceivedBytes(); // 已接收字节 + AtomicLong receivedPackets = stat.getReceivedPackets(); // 已接收业务包 + AtomicLong receivedTcps = stat.getReceivedTcps(); // 已接收TCP包 + + double bytesPerTcpReceive = stat.getBytesPerTcpReceive(); // 平均每次TCP包接收的字节数 + double packetsPerTcpReceive = stat.getPacketsPerTcpReceive(); // 平均每次TCP包接收的业务包 + + AtomicLong handledBytes = stat.getHandledBytes(); // 已处理字节 + AtomicLong handledPackets = stat.getHandledPackets(); // 已处理业务包 + + AtomicLong sentBytes = stat.getSentBytes(); // 已发送字节数 + AtomicLong sentPackets = stat.getSentPackets(); // 已发送业务包 + + long timeLatestReceivedMsg = stat.getLatestTimeOfReceivedByte(); + long timeLatestSentMsg = stat.getLatestTimeOfSentPacket(); + long latestCommunicateTime = Math.max(timeLatestReceivedMsg, timeLatestSentMsg); // 最近一次通信时间 + + info.setId(id); + info.setBsId(bsId); + info.setClientIp(ip); + info.setClientPort(port); + info.setClientProtocol(protocol); + info.setProxyIp(ipProxy); + info.setProxyPort(portProxy); + info.setProxyProtocol(protocolProxy); + info.setConnectType(connectType); + //info.setReConnCount(reconnCount); + info.setDecodeFailCount(decodeFailCount); + info.setUserId(userId); + info.setToken(token); + info.setGmtCreate(new Date(timeStart)); + info.setReceivedBytes(receivedBytes); + info.setReceivedPackets(receivedPackets); + info.setReceivedTcps(receivedTcps); + info.setBytesPerTcpReceive(bytesPerTcpReceive); + info.setPacketsPerTcpReceive(packetsPerTcpReceive); + info.setHandledBytes(handledBytes); + info.setHandledPackets(handledPackets); + info.setSentBytes(sentBytes); + info.setSentPackets(sentPackets); + info.setGmtLatestCommunicate(new Date(latestCommunicateTime)); + info.setRegTime(regTime); + + list.add(info); + + log.info("Current Client Info : [{}].", info); + } + } catch (Throwable e) { + log.error("获取在线连接失败!", e); + } finally { + readLock.unlock(); + } + + List resultList = list.stream().filter(f -> { + if (StringUtils.isNotBlank(clientIp)) { + return clientIp.equals(f.getClientIp()); + } + return true; + }).sorted(Comparator.comparing(ChannelStatInfo::getClientIp).thenComparing(ChannelStatInfo::getConnectType).thenComparing(ChannelStatInfo::getClientPort)) + .collect(Collectors.toList()); + return CommonResult.success(resultList); + } + + /** + * 关闭连接 + * @param id ChannelContextId + * @return + */ + @PostMapping("/close") + @ApiOperationSupport(order = 6) + @Operation(summary = "关闭连接") + public CommonResult close(@RequestParam(name="id",required=true) String id) { + ChannelContext channelContext = Tio.getByChannelContextId(tioServerBootstrap.getServerTioConfig(), id); + Tio.IpBlacklist.clear();//清空全局黑名单 + Tio.close(channelContext, "控制端主动关闭连接"); + return CommonResult.success("ok"); + } + + /** + * 清除设备控制 + * @param id + * @return + */ + @PostMapping("/clearDeviceControl") + @ApiOperationSupport(order = 7) + @Operation(summary = "清除设备控制") + public CommonResult clearDeviceControl(@RequestParam(name="id",required=true) String id) { + ChannelContext channelContext = Tio.getByChannelContextId(tioServerBootstrap.getServerTioConfig(), id); + Tio.IpBlacklist.clear();//清空全局黑名单 + if(channelContext != null) { + IotDeviceSessionContext deviceSessionContext = (IotDeviceSessionContext) channelContext.get(IotDeviceSessionContext.DEFAULT_DEVICE_SESSION_CONTEXT_KEY); + //设置控制点的channelContext + deviceSessionContext.setControlChannelContext(null); + deviceSessionContext.setControlRealName(""); + channelContext.set(ChannelContextConstant.CONTROL_DEVICE_ID, ""); + } + return CommonResult.success("ok"); + } +} diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/mapper/IotHelloMapper.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/mapper/IotHelloMapper.java new file mode 100644 index 0000000..fce43bb --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/mapper/IotHelloMapper.java @@ -0,0 +1,8 @@ +//package com.zt.plat.module.qms.iot.mapper; +// +//import com.baomidou.mybatisplus.core.mapper.BaseMapper; +//import com.yncic.modules.iot.entity.IotHelloEntity; +// +//public interface IotHelloMapper extends BaseMapper { +// +//} diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/service/IIotHelloService.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/service/IIotHelloService.java new file mode 100644 index 0000000..8337255 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/service/IIotHelloService.java @@ -0,0 +1,13 @@ +//package com.zt.plat.module.qms.iot.service; +// +//import com.baomidou.mybatisplus.extension.service.IService; +//import com.yncic.modules.iot.entity.IotHelloEntity; +// +///** +// * 测试接口 +// */ +//public interface IIotHelloService extends IService { +// +// String hello(); +// +//} diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/service/impl/IotHelloServiceImpl.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/service/impl/IotHelloServiceImpl.java new file mode 100644 index 0000000..385848d --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/service/impl/IotHelloServiceImpl.java @@ -0,0 +1,19 @@ +//package com.zt.plat.module.qms.iot.service.impl; +// +//import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +//import com.yncic.modules.iot.entity.IotHelloEntity; +//import com.yncic.modules.iot.mapper.IotHelloMapper; +//import com.yncic.modules.iot.service.IIotHelloService; +//import org.springframework.stereotype.Service; +// +///** +// * 测试Service +// */ +//@Service +//public class IotHelloServiceImpl extends ServiceImpl implements IIotHelloService { +// +// @Override +// public String hello() { +// return "hello ,我是 iot 微服务节点!"; +// } +//} diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/IgnorePacket.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/IgnorePacket.java new file mode 100644 index 0000000..250830d --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/IgnorePacket.java @@ -0,0 +1,33 @@ +package com.zt.plat.module.qms.iot.tcpserver; + +import tech.zzjc.tio.core.intf.Packet; + +/** + * IgnorePacket + *

+ * 更新历史: + *

 版本         更新时间            更新者        更新内容
+ * V1.0 2024年9月10日 wxr Add
+ * Copyright (C) 云南志者竟成科技有限公司 + *

+ * @author 王兴荣 + * @version V1.0 + * @since 2024年9月10日 + */ +public class IgnorePacket extends Packet { + + private static final long serialVersionUID = 6940342835895273535L; + + /** + * 实例 + */ + public static final IgnorePacket INSTANCE = new IgnorePacket(); + + private IgnorePacket() { + } + + @Override + public String logstr() { + return "IgnorePacket"; + } +} diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/IotDataUtils.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/IotDataUtils.java new file mode 100644 index 0000000..3f3169b --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/IotDataUtils.java @@ -0,0 +1,144 @@ +package com.zt.plat.module.qms.iot.tcpserver; + +import com.alibaba.fastjson.JSONObject; +import com.zt.plat.module.qms.iot.tcpserver.core.Balance; +import com.zt.plat.module.qms.iot.tcpserver.core.Weighbridge; +import com.zt.plat.module.qms.iot.tcpserver.core.WeightUnit; +import tech.zzjc.tio.core.ChannelContext; +import tech.zzjc.tio.core.Tio; +import tech.zzjc.tio.utils.lock.MapWithLock; + +import java.io.UnsupportedEncodingException; + +import static com.zt.plat.module.qms.iot.tcpserver.IotDeviceType.BALANCE; + +/** + * IotDataUtils + *

+ * 更新历史: + *

 版本         更新时间            更新者        更新内容
+ * V1.0 2019年9月16日 王兴荣 Add
+ * Copyright (C) 云南志者竟成科技有限公司 + *

+ * @author 王兴荣 <xingrong_wang@will-way.cn> + * @version V1.0 + * @since 2019年9月16日 + */ +public class IotDataUtils { + + private static MapWithLock iotToConn = new MapWithLock<>(); + + public static void hander(ChannelContext channelContext, String data) { + IotDeviceType iotDeviceType = (IotDeviceType) channelContext.get("iotType"); + String iotCode = (String) channelContext.get("iotCode"); + String bsId = channelContext.getBsId(); + ChannelContext toChannelContext = iotToConn.get(bsId); + switch (iotDeviceType) { + case BALANCE: + double weightData = 0d; + String weightUnit = null; + if (data.startsWith("S")) { + String[] splits = data.split(" "); + System.out.println("第一个:" + splits[0]); + System.out.println("第二个:" + splits[1]); + System.out.println("重量数据:" + splits[splits.length - 2]); + System.out.println("单位数据:" + splits[splits.length - 1]); + weightData = Double.parseDouble(splits[splits.length - 2]); + weightUnit = splits[splits.length - 1]; + } else { + data = data.replace("(", "").replace(")", ""); + String[] splits = data.split(" "); + System.out.println(iotCode + "重量数据:" + splits[0]); + System.out.println(iotCode + "单位数据:" + splits[1]); + weightData = Double.parseDouble(splits[0]); + weightUnit = splits[1]; + } + if (toChannelContext != null && !toChannelContext.isClosed) { + Balance balance = new Balance(); + balance.setDeviceId(iotCode); + balance.setWeight(weightData); + balance.setWeightUnit(WeightUnit.getByName(weightUnit)); + JSONObject jsonObject = new JSONObject(); + jsonObject.put("type", BALANCE); + jsonObject.put("data", balance); + IotPacket packet = new IotPacket(); + try { + packet.setBody((jsonObject.toJSONString() + "\r\n").getBytes(IotPacket.CHARSET)); + } catch (UnsupportedEncodingException e) { + e.printStackTrace(); + } + Tio.send(toChannelContext, packet); + } + + + break; + case WEIGHBRIDGE: + String[] splits = data.split(" "); + double weightData1 = Double.parseDouble(splits[0]); + String weightUnit1 = splits[1]; + if (toChannelContext != null && !toChannelContext.isClosed) { + Weighbridge weighbridge = new Weighbridge(); + weighbridge.setWeighbridge(weightData1); + weighbridge.setWeightUnit(WeightUnit.getByName(weightUnit1)); + JSONObject jsonObject = new JSONObject(); + jsonObject.put("type", "weighbridge"); + jsonObject.put("data", weighbridge); + IotPacket packet = new IotPacket(); + try { + packet.setBody((jsonObject.toJSONString() + "\r\n").getBytes(IotPacket.CHARSET)); + } catch (UnsupportedEncodingException e) { + e.printStackTrace(); + } + Tio.send(toChannelContext, packet); + } + break; + case INFRARED: + //String iotCode = (String) channelContext.get("iotCode"); + Integer intIotCode = Integer.parseInt(iotCode); + JSONObject jsonObject = new JSONObject(); + if (intIotCode % 2 == 0) { + JSONObject infraredRight = new JSONObject(); + infraredRight.put("infraredRight", Integer.parseInt(data)); + jsonObject.put("type", "infraredRight"); + jsonObject.put("data", infraredRight); + } else { + JSONObject infraredLeft = new JSONObject(); + infraredLeft.put("infraredLeft", Integer.parseInt(data)); + jsonObject.put("type", "infraredLeft"); + jsonObject.put("data", infraredLeft); + } + if (toChannelContext != null && !toChannelContext.isClosed) { + IotPacket packet = new IotPacket(); + try { + packet.setBody((jsonObject.toJSONString() + "\r\n").getBytes(IotPacket.CHARSET)); + } catch (UnsupportedEncodingException e) { + e.printStackTrace(); + } + Tio.send(toChannelContext, packet); + } + break; + default: + break; + } + + + } + + public static void addIot(String iot, ChannelContext channelContext) { + if (iotToConn.get(iot) != null) { + iotToConn.remove(iot); + iotToConn.put(iot, channelContext); + } else { + iotToConn.put(iot, channelContext); + } + } + + public static void removeIot(ChannelContext channelContext) { + String[] connDeviceCode = (String[]) channelContext.get("connDeviceCode"); + String connType = (String) channelContext.get("connType"); + if (connDeviceCode == null) return; + for (String connDevice : connDeviceCode) { + iotToConn.remove(connType + connDevice); + } + } +} diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/IotDeviceType.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/IotDeviceType.java new file mode 100644 index 0000000..e6caea2 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/IotDeviceType.java @@ -0,0 +1,50 @@ +package com.zt.plat.module.qms.iot.tcpserver; + +/** + * IotDeviceType + *

+ * 更新历史: + *

 版本         更新时间            更新者        更新内容
+ * V1.0 2019年9月16日 王兴荣 Add
+ * Copyright (C) 云南志者竟成科技有限公司 + *

+ * @author 王兴荣 <xingrong_wang@will-way.cn> + * @version V1.0 + * @since 2019年9月16日 + */ +public enum IotDeviceType { + INFRARED("infrared", "红外"), + BALANCE("auncel", "天平"), + THERMOMETER("temp", "温度计"), + PACKING_MACHINE("packing_machine", "自动定量包装机"), + WEIGHBRIDGE("weighbridge", "地磅"), + TRAFFIC_LIGHT("traffic_light", "交通灯"); + + private String type; + + private String desc; + + private IotDeviceType(String type, String desc) { + this.type = type; + this.desc = desc; + } + + public static IotDeviceType getByType(String type) { + IotDeviceType[] values = IotDeviceType.values(); + for (IotDeviceType iotDeviceType : values) { + if (iotDeviceType.type.equalsIgnoreCase(type)) { + return iotDeviceType; + } + } + return null; + } + + public String getType() { + return type; + } + + public String getDesc() { + return desc; + } + +} diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/IotPacket.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/IotPacket.java new file mode 100644 index 0000000..3fdae4e --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/IotPacket.java @@ -0,0 +1,26 @@ +package com.zt.plat.module.qms.iot.tcpserver; + +import tech.zzjc.tio.starter.DefaultPacket; + +/** + * IotPacket + *

+ * 更新历史: + *

 版本         更新时间            更新者        更新内容
+ * V1.0 2019年9月10日 王兴荣 Add
+ * Copyright (C) 云南志者竟成科技有限公司 + *

+ * @author 王兴荣 <xingrong_wang@will-way.cn> + * @version V1.0 + * @since 2019年9月10日 + */ +public class IotPacket extends DefaultPacket { + + private static final long serialVersionUID = 8322462724507348884L; + + public static final String CHARSET = "UTF-8"; + + public static final String PING = "ping"; + + public static final String PONG = "pong"; +} diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/IotServerAioListener.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/IotServerAioListener.java new file mode 100644 index 0000000..ee30a69 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/IotServerAioListener.java @@ -0,0 +1,92 @@ +package com.zt.plat.module.qms.iot.tcpserver; + +import com.zt.plat.module.qms.iot.tcpserver.core.*; +import com.zt.plat.module.qms.iot.tcpserver.core.IotClientSessionContext; +import com.zt.plat.module.qms.iot.tcpserver.core.IotDeviceSessionContext; +import com.zt.plat.module.qms.iot.tcpserver.proxy.ProxyProtocolDecoder; +import lombok.extern.slf4j.Slf4j; +import tech.zzjc.tio.common.starter.annotation.TioServerAioListener; +import tech.zzjc.tio.core.ChannelContext; +import tech.zzjc.tio.core.Tio; +import tech.zzjc.tio.core.intf.Packet; +import tech.zzjc.tio.server.intf.ServerAioListener; + +/** + * IotServerAioListener + *

+ * 更新历史: + *

 版本         更新时间            更新者        更新内容
+ * V1.0 2019年9月11日 王兴荣 Add
+ * Copyright (C) 云南志者竟成科技有限公司 + *

+ * @author 王兴荣 <xingrong_wang@will-way.cn> + * @version V1.0 + * @since 2019年9月11日 + */ +@Slf4j +@TioServerAioListener +public class IotServerAioListener implements ServerAioListener { + +// @Autowired +// private IDeviceMeasurePointService deviceMeasurePointService; + +// @Autowired +// private IMeasurePointService measurePointService; + + @Override + public void onAfterConnected(ChannelContext channelContext, boolean isConnected, boolean isReconnect) throws Exception { + log.info("onAfterConnected channelContext:{}, isConnected:{}, isReconnect:{}", channelContext, isConnected, isReconnect); + //连接后,需要把连接会话对象设置给channelContext + channelContext.set(IotClientSessionContext.DEFAULT_CLIENT_SESSION_CONTEXT_KEY, new IotClientSessionContext()); + channelContext.set(IotDeviceSessionContext.DEFAULT_DEVICE_SESSION_CONTEXT_KEY, new IotDeviceSessionContext()); + //设置为支持代理协议 + ProxyProtocolDecoder.enableProxyProtocol(channelContext); + } + + @Override + public void onAfterDecoded(ChannelContext channelContext, Packet packet, int packetSize) throws Exception { + log.debug("onAfterDecoded"); + } + + @Override + public void onAfterReceivedBytes(ChannelContext channelContext, int receivedBytes) throws Exception { + log.debug("onAfterReceivedBytes"); + } + + @Override + public void onAfterSent(ChannelContext channelContext, Packet packet, boolean isSentSuccess) throws Exception { + log.debug("onAfterSent channelContext:{}, isSentSuccess:{}", channelContext, isSentSuccess); + } + + @Override + public void onAfterHandled(ChannelContext channelContext, Packet packet, long cost) throws Exception { + log.debug("onAfterHandled"); + } + + @Override + public void onBeforeClose(ChannelContext channelContext, Throwable throwable, String remark, boolean isRemove) throws Exception { + + //连接断开,更新数据库连接状态 + IotClientSessionContext iotClientSessionContext = (IotClientSessionContext) channelContext.get(IotClientSessionContext.DEFAULT_CLIENT_SESSION_CONTEXT_KEY); + + //解绑业务ID + Tio.unbindBsId(channelContext); + //解绑群组 + Tio.unbindGroup(channelContext); + //解绑用户 + Tio.unbindUser(channelContext); + //解绑token + Tio.unbindToken(channelContext); + //移除 + IotDataUtils.removeIot(channelContext); + + log.info(channelContext.get("realClientIp") + ":" + channelContext.get("realClientPort") + " onBeforeClose"); + } + + @Override + public boolean onHeartbeatTimeout(ChannelContext channelContext, Long interval, int heartbeatTimeoutCount) { + log.debug("onHeartbeatTimeout"); + return false; + } + +} diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/IotServerMsgHandler.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/IotServerMsgHandler.java new file mode 100644 index 0000000..b056252 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/IotServerMsgHandler.java @@ -0,0 +1,137 @@ +package com.zt.plat.module.qms.iot.tcpserver; + +import com.zt.plat.module.qms.iot.tcpserver.handler.IotClientHandler; +import com.zt.plat.module.qms.iot.tcpserver.handler.IotDeviceHandler; +import com.zt.plat.module.qms.iot.tcpserver.handler.IotHander; +import com.zt.plat.module.qms.iot.tcpserver.handler.IotHeartbeatHandler; +import com.zt.plat.module.qms.iot.tcpserver.proxy.ProxyProtocolDecoder; +import com.zt.plat.module.qms.iot.tcpserver.proxy.ProxyProtocolMessage; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import tech.zzjc.tio.common.starter.annotation.TioServerMsgHandler; +import tech.zzjc.tio.core.ChannelContext; +import tech.zzjc.tio.core.TioConfig; +import tech.zzjc.tio.core.exception.LengthOverflowException; +import tech.zzjc.tio.core.exception.TioDecodeException; +import tech.zzjc.tio.core.intf.Packet; +import tech.zzjc.tio.core.utils.ByteBufferUtils; +import tech.zzjc.tio.server.intf.ServerAioHandler; + +import java.nio.ByteBuffer; +import java.nio.charset.Charset; + +/** + * IotServerMsgHandler + *

+ * 更新历史: + *

 版本         更新时间            更新者        更新内容
+ * V1.0 2019年9月10日 王兴荣 Add
+ * Copyright (C) 云南志者竟成科技有限公司 + *

+ * @author 王兴荣 <xingrong_wang@will-way.cn> + * @version V1.0 + * @since 2019年9月10日 + */ +@Slf4j +@TioServerMsgHandler +public class IotServerMsgHandler implements ServerAioHandler { + + @Autowired + private IotClientHandler iotClientHandler; + + @Autowired + private IotDeviceHandler iotDeviceHandler; + + @Autowired + private IotHeartbeatHandler iotHeartbeatHandler; + + @Override + public Packet decode(ByteBuffer buffer, int limit, int position, int readableLength, ChannelContext channelContext) throws TioDecodeException { + //解析代理协议 + if (ProxyProtocolDecoder.isProxyProtocolEnabled(channelContext)) { + try { + // 标记 + buffer.mark();// 解析 proxy 协议 + ProxyProtocolMessage message = ProxyProtocolDecoder.decodeForTest(buffer, readableLength); + // 半包的情况 + if (message == null) { + return null; + } + // 清除协议 key + ProxyProtocolDecoder.removeProxyProtocol(channelContext); + // 设置客户端代理节点 + String protocol = message.getProtocol(); +// if ("UNKNOWN".equals(protocol)) { +// channelContext.setProxyClientNode(new Node("UNKNOWN", message.getDestinationPort())); +// } else { +// Node realNode = new Node(message.getSourceAddress(), message.getSourcePort()); +// realNode.setProtocol("TCP"); +// channelContext.setClientNode(realNode); +// channelContext.setProxyClientNode(new Node(message.getDestinationAddress(), message.getDestinationPort())); +// } + channelContext.set("realClientIp", message.getSourceAddress()); + channelContext.set("realClientPort", message.getSourcePort()); + channelContext.set("realClientProtocol", protocol); + } catch (TioDecodeException e) { + // 清除协议 key,重置 buffer + ProxyProtocolDecoder.removeProxyProtocol(channelContext); + buffer.reset(); + } + return IgnorePacket.INSTANCE; + } + String line = null; + try { + line = ByteBufferUtils.readLine(buffer, null); + } catch (Exception | LengthOverflowException e) { + throw new TioDecodeException(e); + } + if (line == null) { + return null; + } + //清除左右两边的空格或换行 + line = line.trim(); + log.debug("line = " + line); + IotPacket packet = new IotPacket(); + packet.setBody(line.getBytes(Charset.forName(IotPacket.CHARSET))); + return packet; + } + + @Override + public ByteBuffer encode(Packet packet, TioConfig tioConfig, ChannelContext channelContext) { + IotPacket iotPacket = (IotPacket) packet; + byte[] body = iotPacket.getBody(); + // 消息长度 + int bodyLen = body.length; + // 分配一个新的字节缓冲区 + ByteBuffer buffer = ByteBuffer.allocate(bodyLen); + buffer.order(tioConfig.getByteOrder()); + // 写入消息体 + buffer.put(body); + return buffer; + } + + @Override + public void handler(Packet packet, ChannelContext channelContext) throws Exception { + IotPacket iotPacket = null; + byte[] body = null; + if (packet instanceof IotPacket) { + iotPacket = (IotPacket) packet; + body = iotPacket.getBody(); + } + if (body != null) { + String text = new String(body, IotPacket.CHARSET); + IotHander iotHander = null; + //心跳消息 + if (IotPacket.PING.equalsIgnoreCase(text)) { + iotHander = iotHeartbeatHandler; + } else if (text.startsWith("{") && text.endsWith("}")) { //如果是json格式,为客户端协议 + iotHander = iotClientHandler; + } else { //设备协议 + iotHander = iotDeviceHandler; + } + iotHander.hander(iotPacket, channelContext); + } + return; + } + +} diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/IotUtils.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/IotUtils.java new file mode 100644 index 0000000..0ccb09c --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/IotUtils.java @@ -0,0 +1,71 @@ +package com.zt.plat.module.qms.iot.tcpserver; + +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang.StringUtils; +import tech.zzjc.tio.core.ChannelContext; +import tech.zzjc.tio.core.Tio; + +import java.math.BigInteger; +import java.nio.charset.Charset; + +/** + * IotUtils + *

+ * 更新历史: + *

 版本         更新时间            更新者        更新内容
+ * V1.0 2019年9月27日 王兴荣 Add
+ * Copyright (C) 云南志者竟成科技有限公司 + *

+ * @author 王兴荣 <xingrong_wang@will-way.cn> + * @version V1.0 + * @since 2019年9月27日 + */ +@Slf4j +public class IotUtils { + + /** + * 回复客户端心跳 + * @param channelContext + */ + public static void replyHeartbeat(ChannelContext channelContext) { + IotPacket resppacket = new IotPacket(); + resppacket.setBody((IotPacket.PONG + "\r\n").getBytes(Charset.forName(IotPacket.CHARSET))); + Tio.send(channelContext, resppacket); + log.debug(channelContext.getClientNode().getIp() + ":" + channelContext.getClientNode().getPort() +": 心跳消息。。。。"); + } + + + /** + * hex转byte数组 + * @param hex + * @return + */ + public static byte[] hexToByte(String hex){ + int m = 0, n = 0; + int byteLen = hex.length() / 2; // 每两个字符描述一个字节 + byte[] ret = new byte[byteLen]; + for (int i = 0; i < byteLen; i++) { + m = i * 2 + 1; + n = m + 1; + int intVal = Integer.decode("0x" + hex.substring(i * 2, m) + hex.substring(m, n)); + ret[i] = Byte.valueOf((byte)intVal); + } + return ret; + } + + public static String bytesToHex(byte[] data) { + StringBuilder sb = new StringBuilder(); + for (int n = 0; n < data.length; n++) { + sb.append(StringUtils.leftPad(Integer.toHexString(data[n] & 0xFF), 2, "0")); // 每个字节由两个字符表示,位数不够,高位补0 + } + return sb.toString(); + } + + public static String transDeviceCodeToId(String deviceCode){ + return new BigInteger(deviceCode, Character.MAX_RADIX).toString(); + } + + public static String transDeviceIdToCode(String deviceId){ + return new BigInteger(deviceId).toString(Character.MAX_RADIX); + } +} diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/IotWebSocketMsgHandler.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/IotWebSocketMsgHandler.java new file mode 100644 index 0000000..93c2d10 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/IotWebSocketMsgHandler.java @@ -0,0 +1,152 @@ +package com.zt.plat.module.qms.iot.tcpserver; + +import com.zt.plat.module.qms.core.constant.CommonConstant; +import com.zt.plat.module.qms.iot.tcpserver.core.ChannelContextConstant; +import com.zt.plat.module.qms.iot.tcpserver.core.IotDeviceSessionContext; +import com.zt.plat.module.qms.iot.tcpserver.handler.IotClientHandler; +import com.zt.plat.module.qms.iot.tcpserver.handler.IotDeviceHandler; +import com.zt.plat.module.qms.iot.tcpserver.handler.IotHander; +import com.zt.plat.module.qms.iot.tcpserver.handler.IotHeartbeatHandler; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import tech.zzjc.tio.common.starter.annotation.TioServerMsgHandler; +import tech.zzjc.tio.core.ChannelContext; +import tech.zzjc.tio.core.Tio; +import tech.zzjc.tio.http.common.HttpRequest; +import tech.zzjc.tio.http.common.HttpResponse; +import tech.zzjc.tio.websocket.common.WsRequest; +import tech.zzjc.tio.websocket.server.handler.IWsMsgHandler; + +import java.nio.charset.Charset; +import java.util.Objects; + +/** + * IotWebSocketMsgHandler + *

+ * 更新历史: + *

 版本         更新时间            更新者        更新内容
+ * V1.0 2019年9月18日 王兴荣 Add
+ * Copyright (C) 云南志者竟成科技有限公司 + *

+ * @author 王兴荣 <xingrong_wang@will-way.cn> + * @version V1.0 + * @since 2019年9月18日 + */ +@Slf4j +@TioServerMsgHandler +public class IotWebSocketMsgHandler implements IWsMsgHandler { + + @Autowired + private IotClientHandler iotClientHandler; + + @Autowired + private IotDeviceHandler iotDeviceHandler; + + @Autowired + private IotHeartbeatHandler iotHeartbeatHandler; + + @Override + public HttpResponse handshake(HttpRequest httpRequest, HttpResponse httpResponse, ChannelContext channelContext) throws Exception { + log.info("WebSocket握手"); + return httpResponse; + } + + @Override + public void onAfterHandshaked(HttpRequest httpRequest, HttpResponse httpResponse, ChannelContext channelContext) throws Exception { + log.info("WebSocket握手完毕"); +// Map headers = httpRequest.getHeaders(); +// for (Map.Entry entry : headers.entrySet()) { +// log.info("请求头:" + entry.getKey() + " = " + entry.getValue()); +// } + String realClientIp = null; + String realClientPort = null; + try { + realClientIp = httpRequest.getHeader("x-forwarded-for"); + realClientPort = httpRequest.getHeader("x-client-port"); + if (StringUtils.isBlank(realClientIp) || CommonConstant.UNKNOWN.equalsIgnoreCase(realClientIp)) { + realClientIp = httpRequest.getHeader("X-Real-IP"); + realClientPort = httpRequest.getHeader("X-Real-PORT"); + } + if (StringUtils.isBlank(realClientIp) || CommonConstant.UNKNOWN.equalsIgnoreCase(realClientIp)) { + realClientIp = httpRequest.getHeader("Proxy-Client-IP"); + } + if (StringUtils.isBlank(realClientIp) || CommonConstant.UNKNOWN.equalsIgnoreCase(realClientIp)) { + realClientIp = httpRequest.getHeader("WL-Proxy-Client-IP"); + } + if (StringUtils.isBlank(realClientIp) || CommonConstant.UNKNOWN.equalsIgnoreCase(realClientIp)) { + realClientIp = httpRequest.getHeader("HTTP_CLIENT_IP"); + } + if (StringUtils.isBlank(realClientIp) || CommonConstant.UNKNOWN.equalsIgnoreCase(realClientIp)) { + realClientIp = httpRequest.getHeader("HTTP_X_FORWARDED_FOR"); + } + } catch (Exception e) { + log.error("IPUtils ERROR ", e); + } + log.info("real ip:" + realClientIp); + if (StringUtils.isNotBlank(realClientIp) && !Objects.equals(realClientIp, channelContext.getClientNode().getIp())) { +// Node realNode = new Node(realIp, channelContext.getClientNode().getPort()); +// realNode.setProtocol("WEB SOCKET"); +// channelContext.setClientNode(realNode); +// channelContext.setProxyClientNode(new Node(channelContext.getClientNode().getIp(), channelContext.getClientNode().getPort())); + channelContext.set("realClientIp", realClientIp); + channelContext.set("realClientPort", realClientPort); + channelContext.set("realClientProtocol", "WebSocket"); + } + } + + @Override + public Object onBytes(WsRequest wsRequest, byte[] bytes, ChannelContext channelContext) throws Exception { + return null; + } + + @Override + public Object onClose(WsRequest wsRequest, byte[] bytes, ChannelContext channelContext) throws Exception { + //获取客户端连接信息 + String realClientIp = channelContext.get("realClientIp") == null ? channelContext.getClientNode().getIp() : channelContext.get("realClientIp").toString(); + String realClientPort = channelContext.get("realClientPort") == null ? channelContext.getClientNode().getPort() + "" : channelContext.get("realClientPort").toString(); + String realClient = realClientIp + ":" + realClientPort; + log.info("WebSocket断开{}", realClient); + //当前连接的是什么类型客户端 + String connectType = channelContext.get(ChannelContextConstant.CONNECT_TYPE) == null ? "" : channelContext.get(ChannelContextConstant.CONNECT_TYPE).toString(); + switch (connectType) { + case ChannelContextConstant.CONNECT_CAA_CLIENT: + //判断是否控制设备,如果控制设备则取消设备控制 + String deviceIdCode = channelContext.get(ChannelContextConstant.CONTROL_DEVICE_ID) == null ? "" : channelContext.get(ChannelContextConstant.CONTROL_DEVICE_ID).toString(); + if (StringUtils.isNotBlank(deviceIdCode)) { + ChannelContext deviceChannelContext = Tio.getByBsId(channelContext.getTioConfig(), deviceIdCode); + if (deviceChannelContext != null) { + IotDeviceSessionContext deviceSessionContext = (IotDeviceSessionContext) deviceChannelContext.get(IotDeviceSessionContext.DEFAULT_DEVICE_SESSION_CONTEXT_KEY); + deviceSessionContext.setControlChannelContext(null); + deviceSessionContext.setControlRealName(""); + } + } + + + break; + + default: + break; + } + return null; + } + + @Override + public Object onText(WsRequest wsRequest, String text, ChannelContext channelContext) throws Exception { + //IotProtocol.handle(text, channelContext); + IotHander iotHander = null; + //心跳消息 + if (IotPacket.PING.equalsIgnoreCase(text)) { + iotHander = iotHeartbeatHandler; + } else if (text.startsWith("{") && text.endsWith("}")) { //如果是json格式,为客户端协议 + iotHander = iotClientHandler; + } else { //设备协议 + iotHander = iotDeviceHandler; + } + IotPacket iotPacket = new IotPacket(); + iotPacket.setBody(text.getBytes(Charset.forName(IotPacket.CHARSET))); + iotHander.hander(iotPacket, channelContext); + return null; + } + +} diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/caaclient/IotCaaClientControlDeviceHander.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/caaclient/IotCaaClientControlDeviceHander.java new file mode 100644 index 0000000..2171c64 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/caaclient/IotCaaClientControlDeviceHander.java @@ -0,0 +1,132 @@ +package com.zt.plat.module.qms.iot.tcpserver.caaclient; + +import com.zt.plat.module.qms.iot.tcpserver.IotUtils; +import com.zt.plat.module.qms.iot.tcpserver.core.*; +import com.zt.plat.module.qms.iot.tcpserver.core.ChannelContextConstant; +import com.zt.plat.module.qms.iot.tcpserver.core.ClientType; +import com.zt.plat.module.qms.iot.tcpserver.core.Command; +import com.zt.plat.module.qms.iot.tcpserver.core.IotDeviceSessionForRedisContext; +import com.zt.plat.module.qms.iot.tcpserver.device.RedisSessionComponent; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; +import com.zt.plat.module.qms.iot.tcpserver.IotPacket; +import com.zt.plat.module.qms.iot.tcpserver.caaclient.bean.ControlDevice; +import com.zt.plat.module.qms.iot.tcpserver.handler.IotDataHander; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; +import tech.zzjc.tio.cluster.TioClusterConfig; +import tech.zzjc.tio.cluster.TioClusterVo; +import tech.zzjc.tio.core.ChannelContext; +import tech.zzjc.tio.core.ChannelContextFilter; +import tech.zzjc.tio.core.Tio; +import tech.zzjc.tio.core.TioConfig; + +import java.nio.charset.Charset; + +import static com.zt.plat.module.qms.iot.tcpserver.core.GroupConstant.CAA_ALL_CLIENT; + +/** + * IotCaaClientControlDeviceHander + *

更新历史:

+ *
 版本         更新时间            更新者        更新内容
+ * V1.0      2021-11-22          王兴荣         Add
+ * Copyright (C) 云南志者竟成科技有限公司 + * @author 王兴荣 <xingrong_wang@will-way.cn> + * @version V1.0 + * @since 2021-11-22 + */ +@Slf4j +@Component +public class IotCaaClientControlDeviceHander implements IotDataHander { + + @Autowired public RedisSessionComponent redisSessionComponent; + @Override + public Object hander(String msgId, String data, ChannelContext channelContext) throws Exception { + ControlDevice controlDevice = JSON.parseObject(data, ControlDevice.class); + //获取客户端连接信息 + String realClientIp = channelContext.get("realClientIp") == null ? channelContext.getClientNode().getIp() : channelContext.get("realClientIp").toString(); + String realClientPort = channelContext.get("realClientPort") == null ? channelContext.getClientNode().getPort() + "" : channelContext.get("realClientPort").toString(); + String realClient = realClientIp + ":" + realClientPort; + log.info("{},, APP客户端控制设备 :{}", realClient, controlDevice); + String deviceId = controlDevice.getDeviceId(); + log.info("设备ID::{}", deviceId); + if (StringUtils.isBlank(deviceId)) { + JSONObject json = null; + json = new JSONObject(); + json.put("msgId", msgId); + json.put("cmd", Command.REPLY_CONTROL_DEVICE.getName()); + json.put("clientType", ClientType.CAA_CLIENT.getName()); + controlDevice.setSuccess(false); + controlDevice.setMsg("设备解析为空!"); + json.put("data", controlDevice); + IotPacket iotPacket = new IotPacket(); + iotPacket.setBody((json.toJSONString() + "\r\n").getBytes(Charset.forName(IotPacket.CHARSET))); + Tio.send(channelContext, iotPacket); + return null; + } + String deviceCode = IotUtils.transDeviceIdToCode(deviceId); + ChannelContext deviceChannelContext = Tio.getByBsId(channelContext.getTioConfig(), deviceCode); + IotDeviceSessionForRedisContext deviceContext = redisSessionComponent.getByDeviceId(deviceId); + IotPacket iotPacket = new IotPacket(); + JSONObject json = null; + if (deviceChannelContext != null) { +// IotDeviceSessionContext deviceSessionContext = (IotDeviceSessionContext) deviceChannelContext.get(IotDeviceSessionContext.DEFAULT_DEVICE_SESSION_CONTEXT_KEY); + ChannelContext oldDeviceChannelContext = deviceContext.getControlChannelContext(); + if (controlDevice.getIsControl()) { + //设置控制点的channelContext + deviceContext.setControlChannelContext(channelContext); + deviceContext.setControlRealName(controlDevice.getControlRealName()); + + controlDevice.setMsg("设备被“" + controlDevice.getControlRealName() + "”远程控制!"); + channelContext.set(ChannelContextConstant.CONTROL_DEVICE_ID, deviceCode); + } else { + //设置控制点的channelContext + deviceContext.setControlChannelContext(null); + deviceContext.setControlRealName(""); + controlDevice.setMsg("“" + controlDevice.getControlRealName() + "”取消设备远程控制!"); + channelContext.set(ChannelContextConstant.CONTROL_DEVICE_ID, ""); + } + redisSessionComponent.update(deviceContext); + //获取客户端连接信息 + String deviceRealClientIp = deviceChannelContext.get("realClientIp") == null ? deviceChannelContext.getClientNode().getIp() : deviceChannelContext.get("realClientIp").toString(); + String deviceRealClientPort = deviceChannelContext.get("realClientPort") == null ? deviceChannelContext.getClientNode().getPort() + "" : deviceChannelContext.get("realClientPort").toString(); + String deviceRealClient = deviceRealClientIp + ":" + deviceRealClientPort; + log.info("{}, 设备:{},旧控制:{},新的控制:{}", realClient, deviceRealClient, oldDeviceChannelContext, realClient); + + json = new JSONObject(); + json.put("msgId", msgId); + json.put("cmd", Command.REPLY_CONTROL_DEVICE.getName()); + json.put("clientType", ClientType.CAA_CLIENT.getName()); + controlDevice.setSuccess(true); + json.put("data", controlDevice); + iotPacket.setBody((json.toJSONString() + "\r\n").getBytes(Charset.forName(IotPacket.CHARSET))); + + //todo 发送通知 + TioConfig tioConfig = deviceChannelContext.getTioConfig(); + TioClusterConfig tioClusterConfig = tioConfig.getTioClusterConfig(); + tioClusterConfig.publish(new TioClusterVo(iotPacket)); + Tio.sendToGroup(channelContext.getTioConfig(), CAA_ALL_CLIENT, iotPacket, new ChannelContextFilter() { + @Override + public boolean filter(ChannelContext cc) { + if (channelContext.getId().equals(cc.getId())) { + return false; + } + return true; + }}); + } else { + json = new JSONObject(); + json.put("msgId", msgId); + json.put("cmd", Command.REPLY_CONTROL_DEVICE.getName()); + json.put("clientType", ClientType.CAA_CLIENT.getName()); + controlDevice.setSuccess(false); + controlDevice.setMsg("设备不在线!"); + json.put("data", controlDevice); + iotPacket.setBody((json.toJSONString() + "\r\n").getBytes(Charset.forName(IotPacket.CHARSET))); + Tio.send(channelContext, iotPacket); + } + return null; + } + +} diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/caaclient/IotCaaClientRegisterHander.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/caaclient/IotCaaClientRegisterHander.java new file mode 100644 index 0000000..bb53f5a --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/caaclient/IotCaaClientRegisterHander.java @@ -0,0 +1,55 @@ +package com.zt.plat.module.qms.iot.tcpserver.caaclient; + +import com.alibaba.fastjson.JSON; +import com.zt.plat.module.qms.iot.tcpserver.IotPacket; +import com.zt.plat.module.qms.iot.tcpserver.consoleclient.bean.Register; +import com.zt.plat.module.qms.iot.tcpserver.core.ClientType; +import com.zt.plat.module.qms.iot.tcpserver.core.Command; +import com.zt.plat.module.qms.iot.tcpserver.core.ReplyResult; +import com.zt.plat.module.qms.iot.tcpserver.handler.IotDataHander; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; +import tech.zzjc.tio.core.ChannelContext; +import tech.zzjc.tio.core.Tio; + +import java.nio.charset.Charset; +import java.util.Date; + +import static com.zt.plat.module.qms.iot.tcpserver.core.GroupConstant.CAA_ALL_CLIENT; + +/** + * IotCaaClientRegisterHander + *

更新历史:

+ *
 版本         更新时间            更新者        更新内容
+ * V1.0      2021-10-20          王兴荣         Add
+ * Copyright (C) 云南志者竟成科技有限公司 + * @author 王兴荣 <xingrong_wang@will-way.cn> + * @version V1.0 + * @since 2021-10-20 + */ +@Slf4j +@Component +public class IotCaaClientRegisterHander implements IotDataHander { + + @Override + public Object hander(String msgId, String data, ChannelContext channelContext) throws Exception { + Register register = JSON.parseObject(data, Register.class); + //获取客户端连接信息 + String realClientIp = channelContext.get("realClientIp") == null ? channelContext.getClientNode().getIp() : channelContext.get("realClientIp").toString(); + String realClientPort = channelContext.get("realClientPort") == null ? channelContext.getClientNode().getPort() + "" : channelContext.get("realClientPort").toString(); + String realClient = realClientIp + ":" + realClientPort; + log.info("{},, APP客户端注册租户ID:{},用户ID:{}", realClient, register.getTenantId(), register.getUserId()); + Tio.bindUser(channelContext, register.getUserId()); + Tio.bindToken(channelContext, register.getUserId()); + channelContext.set("regTime", new Date()); + channelContext.set("user-real-name", register.getUserRealName()); + IotPacket resppacket = new IotPacket(); + resppacket.setBody((ReplyResult.success(msgId, ClientType.CAA_CLIENT.getName(), Command.REPLY_REGISTER.getName()) + "\r\n").getBytes(Charset.forName(IotPacket.CHARSET))); + //回复注册成功 + Tio.send(channelContext, resppacket); + //绑定群组 + Tio.bindGroup(channelContext, CAA_ALL_CLIENT); + return null; + } + +} diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/caaclient/bean/ControlDevice.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/caaclient/bean/ControlDevice.java new file mode 100644 index 0000000..8adb3e8 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/caaclient/bean/ControlDevice.java @@ -0,0 +1,36 @@ +package com.zt.plat.module.qms.iot.tcpserver.caaclient.bean; + +import lombok.Data; + +import java.io.Serializable; + +/** + * ControlDevice + *

更新历史:

+ *
 版本         更新时间            更新者        更新内容
+ * V1.0      2021-11-22          王兴荣         Add
+ * Copyright (C) 云南志者竟成科技有限公司 + * @author 王兴荣 <xingrong_wang@will-way.cn> + * @version V1.0 + * @since 2021-11-22 + */ +@Data +public class ControlDevice implements Serializable { + + private static final long serialVersionUID = -8644114517602085199L; + + /** 设备id **/ + private String deviceId; + + /** 控制者姓名 **/ + private String controlRealName; + + /** 是否控制 **/ + private Boolean isControl; + + /** 回复app时使用 **/ + private Boolean success; + + /** 回复app时使用 消息 **/ + private String msg; +} diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/consoleclient/IotConsoleClientCheckControlHander.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/consoleclient/IotConsoleClientCheckControlHander.java new file mode 100644 index 0000000..06f1d80 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/consoleclient/IotConsoleClientCheckControlHander.java @@ -0,0 +1,68 @@ +package com.zt.plat.module.qms.iot.tcpserver.consoleclient; + +import com.zt.plat.module.qms.iot.tcpserver.IotPacket; +import com.zt.plat.module.qms.iot.tcpserver.handler.IotDataHander; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; +import tech.zzjc.tio.core.ChannelContext; + +/** + * IotConsoleClientCheckControlHander + * 检查计量点是否控制 + *

更新历史:

+ *
 版本         更新时间            更新者        更新内容
+ * V1.0      2021-8-12          王兴荣         Add
+ * Copyright (C) 云南志者竟成科技有限公司 + * @author 王兴荣 <xingrong_wang@will-way.cn> + * @version V1.0 + * @since 2021-8-12 + */ +@Slf4j +@Component +public class IotConsoleClientCheckControlHander implements IotDataHander { + +// @Autowired +// private IUserMeasurePointService userMeasurePointService; + + @Override + public Object hander(String msgId, String data, ChannelContext channelContext) throws Exception { + //获取客户端连接信息 + String realClientIp = channelContext.get("realClientIp") == null ? channelContext.getClientNode().getIp() : channelContext.get("realClientIp").toString(); + String realClientPort = channelContext.get("realClientPort") == null ? channelContext.getClientNode().getPort() + "" : channelContext.get("realClientPort").toString(); + String realClient = realClientIp + ":" + realClientPort; + log.info("{},检查控制点由谁控制", realClient); + String userId = channelContext.getToken(); + IotPacket resppacket = null; +// List userMeasurePointList = userMeasurePointService.list(Wrappers.query().lambda().eq(UserMeasurePoint::getUserId, Func.toLong(userId))); +// for (UserMeasurePoint userMeasurePoint : userMeasurePointList) { +// //处理计量点由谁控制 +// ChannelContext measurePointChannelContext = Tio.getByBsId(channelContext.getTioConfig(), userMeasurePoint.getMeasurePointId().toString()); +// if (measurePointChannelContext == null) {//计量点不在线 +// continue; +// } +// IotClientSessionContext measurePointSessionContext = (IotClientSessionContext) measurePointChannelContext.get(IotClientSessionContext.DEFAULT_CLIENT_SESSION_CONTEXT_KEY); +// ChannelContext controlConsoleClientChannelContext = measurePointSessionContext.getControlConsoleClientChannelContext(); +// if (controlConsoleClientChannelContext == null) {//计量点未被控制 +// continue; +// } +// +// //计量点被控制 +// JSONObject json = new JSONObject(); +// json.put("msgId", msgId); +// json.put("cmd", Command.REPLY_CONTROL_MEASURE_POINT.getName()); +// json.put("clientType", ClientType.CONSOLE_CLIENT.getName()); +// ControlMeasurePoint controlMeasurePoint = new ControlMeasurePoint(); +// controlMeasurePoint.setMeasurePointId(userMeasurePoint.getMeasurePointId().toString()); +// controlMeasurePoint.setControlUserName(controlConsoleClientChannelContext.get("user-real-name").toString()); +// controlMeasurePoint.setSuccess(true); +// controlMeasurePoint.setIsControl(true); +// controlMeasurePoint.setMsg("计量点被“" + controlMeasurePoint.getControlUserName() + "”接管控制!"); +// json.put("data", controlMeasurePoint); +// resppacket = new IotPacket(); +// resppacket.setBody((json.toJSONString() + "\r\n").getBytes(Charset.forName(IotPacket.CHARSET))); +// Tio.send(channelContext, resppacket); +// } + return null; + } + +} diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/consoleclient/IotConsoleClientRegisterHander.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/consoleclient/IotConsoleClientRegisterHander.java new file mode 100644 index 0000000..94cc763 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/consoleclient/IotConsoleClientRegisterHander.java @@ -0,0 +1,94 @@ +package com.zt.plat.module.qms.iot.tcpserver.consoleclient; + +import com.alibaba.fastjson.JSON; +import com.zt.plat.module.qms.iot.tcpserver.consoleclient.bean.Register; +import com.zt.plat.module.qms.iot.tcpserver.handler.IotDataHander; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; +import tech.zzjc.tio.core.ChannelContext; +import tech.zzjc.tio.core.Tio; + +/** + * IotConsoleClientRegisterHander + *

更新历史:

+ *
 版本         更新时间            更新者        更新内容
+ * V1.0      2021-7-2          王兴荣         Add
+ * Copyright (C) 云南志者竟成科技有限公司 + * @author 王兴荣 <xingrong_wang@will-way.cn> + * @version V1.0 + * @since 2021-7-2 + */ +@Slf4j +@Component +public class IotConsoleClientRegisterHander implements IotDataHander { + + + @Override + public Object hander(String msgId, String data, ChannelContext channelContext) throws Exception { + //获取客户端连接信息 + String realClientIp = channelContext.get("realClientIp") == null ? channelContext.getClientNode().getIp() : channelContext.get("realClientIp").toString(); + String realClientPort = channelContext.get("realClientPort") == null ? channelContext.getClientNode().getPort() + "" : channelContext.get("realClientPort").toString(); + String realClient = realClientIp + ":" + realClientPort; + Register register = JSON.parseObject(data, Register.class); + log.info("{},, APP客户端注册租户ID:{},用户ID:{}", realClient, register.getTenantId(), register.getUserId()); + Tio.bindUser(channelContext, register.getUserId()); + Tio.bindToken(channelContext, register.getToken()); +// UserTokenContext.setToken(register.getToken()); +// channelContext.set("regTime", new Date()); +// channelContext.set("user-real-name", register.getUserRealName()); +// IotPacket resppacket = new IotPacket(); +// resppacket.setBody((ReplyResult.success(msgId, ClientType.CONSOLE_CLIENT.getName(), Command.REPLY_REGISTER.getName()) + "\r\n").getBytes(Charset.forName(IotPacket.CHARSET))); +// //回复注册成功 +// Tio.send(channelContext, resppacket); +// +// Result> userMeasurePointResult = qmsApi.listByUserId(register.getUserId()); +// if (!userMeasurePointResult.isSuccess()) { +// return null; +// } +// List userMeasurePointList = userMeasurePointResult.getResult(); +// for (QmsBasMeasurePointWithUserAndDevice measurePointWithUserAndDevice : userMeasurePointList) { +// //绑定计量点 +// Tio.bindGroup(channelContext, measurePointWithUserAndDevice.getId()); +// //处理计量点由谁控制 +// ChannelContext measurePointChannelContext = Tio.getByBsId(channelContext.getTioConfig(), measurePointWithUserAndDevice.getId()); +// if (measurePointChannelContext == null) {//计量点不在线 +// continue; +// } +// +// //通知计量点重新上报计量数据 +// JSONObject json = new JSONObject(); +// json.put("msgId", msgId); +// json.put("cmd", Command.MEASURE_POINT_REUPLOAD.getName()); +// json.put("clientType", ClientType.MEASURE_POINT.getName()); +// json.put("data", null); +// resppacket = new IotPacket(); +// resppacket.setBody((json.toJSONString() + "\r\n").getBytes(Charset.forName(IotPacket.CHARSET))); +// Tio.send(measurePointChannelContext, resppacket); +// +// IotClientSessionContext measurePointSessionContext = (IotClientSessionContext) measurePointChannelContext.get(IotClientSessionContext.DEFAULT_CLIENT_SESSION_CONTEXT_KEY); +// ChannelContext controlConsoleClientChannelContext = measurePointSessionContext.getControlConsoleClientChannelContext(); +// if (controlConsoleClientChannelContext == null) {//计量点未被控制 +// continue; +// } +// +// //计量点被控制 +// json = new JSONObject(); +// json.put("msgId", msgId); +// json.put("cmd", Command.REPLY_CONTROL_MEASURE_POINT.getName()); +// json.put("clientType", ClientType.CONSOLE_CLIENT.getName()); +// ControlMeasurePoint controlMeasurePoint = new ControlMeasurePoint(); +// controlMeasurePoint.setMeasurePointId(measurePointWithUserAndDevice.getId()); +// controlMeasurePoint.setControlUserName(controlConsoleClientChannelContext.get("user-real-name").toString()); +// controlMeasurePoint.setSuccess(true); +// controlMeasurePoint.setIsControl(true); +// controlMeasurePoint.setMsg("计量点被“" + controlMeasurePoint.getControlUserName() + "”接管控制!"); +// json.put("data", controlMeasurePoint); +// resppacket = new IotPacket(); +// resppacket.setBody((json.toJSONString() + "\r\n").getBytes(Charset.forName(IotPacket.CHARSET))); +// Tio.send(channelContext, resppacket); +// } + + return null; + } + +} diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/consoleclient/bean/ControlMeasurePoint.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/consoleclient/bean/ControlMeasurePoint.java new file mode 100644 index 0000000..4ef6f21 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/consoleclient/bean/ControlMeasurePoint.java @@ -0,0 +1,36 @@ +package com.zt.plat.module.qms.iot.tcpserver.consoleclient.bean; + +import lombok.Data; + +import java.io.Serializable; + +/** + * ControlMeasurePoint + *

更新历史:

+ *
 版本         更新时间            更新者        更新内容
+ * V1.0      2021-7-22          王兴荣         Add
+ * Copyright (C) 云南志者竟成科技有限公司 + * @author 王兴荣 <xingrong_wang@will-way.cn> + * @version V1.0 + * @since 2021-7-22 + */ +@Data +public class ControlMeasurePoint implements Serializable { + + private static final long serialVersionUID = 9162719990841191554L; + + /** 计量点id **/ + private String measurePointId; + + /** 控制者姓名 **/ + private String controlUserName; + + /** 是否控制 **/ + private Boolean isControl; + + /** 回复app时使用 **/ + private Boolean success; + + /** 回复app时使用 消息 **/ + private String msg; +} diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/consoleclient/bean/MeasureData.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/consoleclient/bean/MeasureData.java new file mode 100644 index 0000000..77bc74d --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/consoleclient/bean/MeasureData.java @@ -0,0 +1,63 @@ +package com.zt.plat.module.qms.iot.tcpserver.consoleclient.bean; + +import lombok.Data; + +import java.io.Serializable; + +/** + * MeasureData + *

更新历史:

+ *
 版本         更新时间            更新者        更新内容
+ * V1.0      2021-7-31          王兴荣         Add
+ * Copyright (C) 云南志者竟成科技有限公司 + * @author 王兴荣 <xingrong_wang@will-way.cn> + * @version V1.0 + * @since 2021-7-31 + */ +@Data +public class MeasureData implements Serializable { + + private static final long serialVersionUID = -3198903054162073974L; + + /** 计量点id **/ + private String measurePointId; + + /** 车号 **/ + private String carNo; + + /** 物料id **/ + private String goodsId; + + /** 物料名称 **/ + private String goodsName; + + /** 发货方ID **/ + private String sellerId; + + /** 发货方名称 **/ + private String sellerName; + + /** 收货方ID **/ + private String buyerId; + + /** 收货方名称 **/ + private String buyerName; + + /** 自编号(样本号/运单号) **/ + private String measureCode; + + /** 重量 **/ + private Double weight; + + /** 扣重 **/ + private Double weightK; + + /** 监磅人(司磅人) **/ + private String supervisor; + + /** 操作人姓名 **/ + private String opRealName; + + /** 备注 **/ + private String remark; +} diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/consoleclient/bean/MeasurePointAutoWork.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/consoleclient/bean/MeasurePointAutoWork.java new file mode 100644 index 0000000..60828bc --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/consoleclient/bean/MeasurePointAutoWork.java @@ -0,0 +1,33 @@ +package com.zt.plat.module.qms.iot.tcpserver.consoleclient.bean; + +import lombok.Data; + +import java.io.Serializable; + +/** + * MeasurePointAutoWork + *

更新历史:

+ *
 版本         更新时间            更新者        更新内容
+ * V1.0      2021-7-28          王兴荣         Add
+ * Copyright (C) 云南志者竟成科技有限公司 + * @author 王兴荣 <xingrong_wang@will-way.cn> + * @version V1.0 + * @since 2021-7-28 + */ +@Data +public class MeasurePointAutoWork implements Serializable { + + private static final long serialVersionUID = 6101960561036835536L; + + /** 计量点id **/ + private String measurePointId; + + /** 计量点是否自动工作 **/ + private Boolean isAutoWork; + + /** 回复app时使用 **/ + private Boolean success; + + /** 回复app时使用 消息 **/ + private String msg; +} diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/consoleclient/bean/Register.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/consoleclient/bean/Register.java new file mode 100644 index 0000000..4767b28 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/consoleclient/bean/Register.java @@ -0,0 +1,33 @@ +package com.zt.plat.module.qms.iot.tcpserver.consoleclient.bean; + +import lombok.Data; + +import java.io.Serializable; + +/** + * Register + *

更新历史:

+ *
 版本         更新时间            更新者        更新内容
+ * V1.0      2021-7-2          王兴荣         Add
+ * Copyright (C) 云南志者竟成科技有限公司 + * @author 王兴荣 <xingrong_wang@will-way.cn> + * @version V1.0 + * @since 2021-7-2 + */ +@Data +public class Register implements Serializable { + + private static final long serialVersionUID = -5968375015563741197L; + + /** 租户Id **/ + private String tenantId; + + /** 用户id **/ + private String userId; + + /** 用户姓名 **/ + private String userRealName; + + /** 令牌 **/ + private String token; +} diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/core/Balance.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/core/Balance.java new file mode 100644 index 0000000..02adbff --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/core/Balance.java @@ -0,0 +1,33 @@ +package com.zt.plat.module.qms.iot.tcpserver.core; + +import lombok.Data; + +import java.io.Serializable; + +/** + * Balance + * 天平 + *

+ * 更新历史: + *

 版本         更新时间            更新者        更新内容
+ * V1.0 2019年9月26日 王兴荣 Add
+ * Copyright (C) 云南志者竟成科技有限公司 + *

+ * @author 王兴荣 <xingrong_wang@will-way.cn> + * @version V1.0 + * @since 2019年9月26日 + */ +@Data +public class Balance implements Serializable { + + private static final long serialVersionUID = 9077648523694145130L; + + /** 设备编号 **/ + private String deviceId; + + /** 天平重量 **/ + private Double weight; + + /** 重量单位 **/ + private WeightUnit weightUnit; +} diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/core/ChannelContextConstant.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/core/ChannelContextConstant.java new file mode 100644 index 0000000..89e201c --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/core/ChannelContextConstant.java @@ -0,0 +1,35 @@ +package com.zt.plat.module.qms.iot.tcpserver.core; + +/** + * ChannelContextConstant + *

更新历史:

+ *
 版本         更新时间            更新者        更新内容
+ * V1.0      2021-11-26          王兴荣         Add
+ * Copyright (C) 云南志者竟成科技有限公司 + * @author 王兴荣 <xingrong_wang@will-way.cn> + * @version V1.0 + * @since 2021-11-26 + */ +public interface ChannelContextConstant { + + /** + * 连接类型 + */ + String CONNECT_TYPE = "CONNECT-TYPE"; + /** + * 连接设备 + */ + String CONNECT_DEVICE = "CONNECT-DEVICE"; + /** + * 连接caaclient + */ + String CONNECT_CAA_CLIENT = "CONNECT-CAA-CLIENT"; + /** + * 连接计量点控制app + */ + String CONNECT_CONSOLE_CLIENT = "CONNECT-CONSOLE-CLIENT"; + /** + * 控制的设备id + */ + String CONTROL_DEVICE_ID = "CONTROL-DEVICE-ID"; +} diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/core/ChannelStatInfo.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/core/ChannelStatInfo.java new file mode 100644 index 0000000..742671f --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/core/ChannelStatInfo.java @@ -0,0 +1,169 @@ +package com.zt.plat.module.qms.iot.tcpserver.core; + +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; +import java.util.concurrent.atomic.AtomicLong; + +/** + * ChannelStatInfo + *

更新历史:

+ *
 版本         更新时间            更新者        更新内容
+ * V1.0      2021-12-1          王兴荣         Add
+ * Copyright (C) 云南志者竟成科技有限公司 + * @author 王兴荣 <xingrong_wang@will-way.cn> + * @version V1.0 + * @since 2021-12-1 + */ +@Data +public class ChannelStatInfo implements Serializable { + + private static final long serialVersionUID = -7066118329627225937L; + + /** + * ID + */ + private String id; + + /** + * 业务id + */ + private String bsId; + + /** + * 客户端IP + */ + private String clientIp; + + /** + * 端口 + */ + private int clientPort; + + /** + * 协议 + */ + private String clientProtocol; + + /** + * 代理ip + */ + private String proxyIp; + + /** + * 代理端口 + */ + private int proxyPort; + + /** + * 代理协议 + */ + private String proxyProtocol; + + /** + * 连接类型 + */ + private String connectType; + + /** + * 解码失败数 + */ + private int decodeFailCount; + + /** + * 用户ID + */ + private String userId; + + /** + * 用户token + */ + private String token; + + /** + * 用户姓名 + */ + private String realName; + + /** 设备Id **/ + private String deviceId; + + /** 设备编码 **/ + private String deviceCode; + + /** 设备类型 **/ + private String deviceType; + + /** 设备名称 **/ + private String deviceName; + + /** 设置控制人名称 **/ + private String controlRealName; + + /** + * 统计开始时间 + */ + private Date gmtCreate; + + /** + * 已接收字节数 + */ + private AtomicLong receivedBytes; + + /** + * 已接收业务包 + */ + private AtomicLong receivedPackets; + + /** + * 已接收TCP包 + */ + private AtomicLong receivedTcps; + + /** + * 平均每个TCP包接收的字节数 + */ + private double bytesPerTcpReceive; + + /** + * 平均每个TCP包接收的业务包 + */ + private double packetsPerTcpReceive; + + /** + * 已处理的字节数 + */ + private AtomicLong handledBytes; + + /** + * 已处理的业务包 + */ + private AtomicLong handledPackets; + + /** + * 已发送的字节数 + */ + private AtomicLong sentBytes; + + /** + * 已发送的业务包 + */ + private AtomicLong sentPackets; + + /** + * 最近一次通信时间 + */ + private Date gmtLatestCommunicate; + + /** + * 注册时间 + */ + private Date regTime; + + /** + * 备注 + */ + private String remarks; + +} diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/core/ClientData.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/core/ClientData.java new file mode 100644 index 0000000..4fcf5e2 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/core/ClientData.java @@ -0,0 +1,28 @@ +package com.zt.plat.module.qms.iot.tcpserver.core; + +import lombok.Data; + +import java.io.Serializable; + +/** + * ClientData + *

+ * 更新历史: + *

 版本         更新时间            更新者        更新内容
+ * V1.0 2019年9月29日 王兴荣 Add
+ * Copyright (C) 云南志者竟成科技有限公司 + *

+ * @author 王兴荣 <xingrong_wang@will-way.cn> + * @version V1.0 + * @param + * @since 2019年9月29日 + */ +@Data +public class ClientData implements Serializable { + + private static final long serialVersionUID = 398895170386348237L; + + private String type; + + private String data; +} diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/core/ClientRegister.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/core/ClientRegister.java new file mode 100644 index 0000000..c89cf61 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/core/ClientRegister.java @@ -0,0 +1,39 @@ +package com.zt.plat.module.qms.iot.tcpserver.core; + +import lombok.Data; + +import java.io.Serializable; + +/** + * ClientRegister + *

+ * 更新历史: + *

 版本         更新时间            更新者        更新内容
+ * V1.0 2019年9月29日 王兴荣 Add
+ * Copyright (C) 云南志者竟成科技有限公司 + *

+ * @author 王兴荣 <xingrong_wang@will-way.cn> + * @version V1.0 + * @since 2019年9月29日 + */ +@Data +public class ClientRegister implements Serializable { + + private static final long serialVersionUID = 7426700020435308050L; + + /** 客户端类型 **/ + private String clientType; + + /** 客户端编号 **/ + private String clientCode; + + /** 连接设备编号数组 **/ + private String[] connDeviceCode; + + /** 连接类型 **/ + private String connType; + + /** 是否随机 **/ + private Boolean random; + +} diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/core/ClientType.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/core/ClientType.java new file mode 100644 index 0000000..b9ef426 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/core/ClientType.java @@ -0,0 +1,54 @@ +package com.zt.plat.module.qms.iot.tcpserver.core; + +/** + * ClientType + * 客户端类型 + *

更新历史:

+ *
 版本         更新时间            更新者        更新内容
+ * V1.0      2021-6-28          王兴荣         Add
+ * Copyright (C) 云南志者竟成科技有限公司 + * @author 王兴荣 <xingrong_wang@will-way.cn> + * @version V1.0 + * @since 2021-6-28 + */ +public enum ClientType { + + MEASURE_POINT("measurePoint", "计量点"), + CONSOLE_CLIENT("consoleClient", "控制中心客户端"), + CAA_CLIENT("caaClient", "化学分析天平客户端"); + + + /** 名称 **/ + private String name; + + /** 描述 **/ + private String desc; + + private ClientType(String name, String desc) { + this.name = name; + this.desc = desc; + } + + public String getName() { + return name; + } + + public String getDesc() { + return desc; + } + + /** + * 根据名称获取类型枚举 + * @param name 名称 + * @return + */ + public static ClientType getByName(String name) { + ClientType[] values = ClientType.values(); + for (ClientType clientType : values) { + if (clientType.getName().equalsIgnoreCase(name)) { + return clientType; + } + } + return null; + } +} diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/core/Command.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/core/Command.java new file mode 100644 index 0000000..eea09c9 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/core/Command.java @@ -0,0 +1,58 @@ +package com.zt.plat.module.qms.iot.tcpserver.core; + +/** + * Command + * 命令 + *

更新历史:

+ *
 版本         更新时间            更新者        更新内容
+ * V1.0      2021-6-28          王兴荣         Add
+ * Copyright (C) 云南志者竟成科技有限公司 + * @author 王兴荣 <xingrong_wang@will-way.cn> + * @version V1.0 + * @since 2021-6-28 + */ +public enum Command { + + REGISTER("register", "注册"), + REPLY_REGISTER("replyRegister", "回复注册"), + DEVICE_STATUS("deviceStatus", "设备状态"), + DEVICE_DATA("deviceData", "设备数据"), + CONTROL_DEVICE("controlDevice", "控制设备"), + REPLY_CONTROL_DEVICE("replyControlDevice", "设备控制"), + LOG_DATA("logData", "日志数据"), + CHECK_CONTROL("checkControl", "检查计量点由谁控制"); + + /** 名称 **/ + private String name; + + /** 描述 **/ + private String desc; + + private Command(String name, String desc) { + this.name = name; + this.desc = desc; + } + + public String getName() { + return name; + } + + public String getDesc() { + return desc; + } + + /** + * 根据名称获取类型枚举 + * @param name 名称 + * @return + */ + public static Command getByName(String name) { + Command[] values = Command.values(); + for (Command command : values) { + if (command.getName().equalsIgnoreCase(name)) { + return command; + } + } + return null; + } +} diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/core/EventConstant.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/core/EventConstant.java new file mode 100644 index 0000000..ebefda8 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/core/EventConstant.java @@ -0,0 +1,40 @@ +package com.zt.plat.module.qms.iot.tcpserver.core; + +/** + * EventConstant + * 事件常量 + *

更新历史:

+ *
 版本         更新时间            更新者        更新内容
+ * V1.0      2021-6-25          王兴荣         Add
+ * Copyright (C) 云南志者竟成科技有限公司 + * @author 王兴荣 <xingrong_wang@will-way.cn> + * @version V1.0 + * @since 2021-6-25 + */ +public interface EventConstant { + + /** + * 计量点 + */ + String EVENT_MEASURE_POINT = "measure-point"; + + /** + * 计量点运行日志 + */ + String EVENT_MEASURE_POINT_RUN_LOGS = "measure-point-run-logs"; + + /** + * 设备注册 + */ + String EVENT_IOT_DEVICE_REGISTER = "iot-device-register"; + + /** + * 温湿计 + */ + String EVENT_HYGROTHERMOGRAPH = "hygrothermograph"; + + /** + * 天平 + */ + String EVENT_BALANCE = "auncel"; +} diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/core/GroupConstant.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/core/GroupConstant.java new file mode 100644 index 0000000..1bbaf3b --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/core/GroupConstant.java @@ -0,0 +1,5 @@ +package com.zt.plat.module.qms.iot.tcpserver.core; + +public class GroupConstant { + public static final String CAA_ALL_CLIENT = "CAA-ALL-CLIENT"; +} diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/core/Infrared.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/core/Infrared.java new file mode 100644 index 0000000..c33bb8e --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/core/Infrared.java @@ -0,0 +1,37 @@ +package com.zt.plat.module.qms.iot.tcpserver.core; + +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +/** + * Infrared + * 红外线 + *

+ * 更新历史: + *

 版本         更新时间            更新者        更新内容
+ * V1.0 2019年9月24日 王兴荣 Add
+ * Copyright (C) 云南志者竟成科技有限公司 + *

+ * @author 王兴荣 <xingrong_wang@will-way.cn> + * @version V1.0 + * @since 2019年9月24日 + */ +@Data +public class Infrared implements Serializable { + + private static final long serialVersionUID = 2725294635998950778L; + + /** 设备编号 **/ + private String deviceId; + + /** 设备状态 0:断开,1:连接 **/ + private Integer status; + + /** 设备断开时间 **/ + private Date disconTime; + + /** 设备连接时间 **/ + private Date connectTime; +} diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/core/IotClientSessionContext.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/core/IotClientSessionContext.java new file mode 100644 index 0000000..0a55bf1 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/core/IotClientSessionContext.java @@ -0,0 +1,59 @@ +package com.zt.plat.module.qms.iot.tcpserver.core; + +import tech.zzjc.tio.core.ChannelContext; + +import java.io.Serializable; + +/** + * IotClientSessionContext + * 客户端SessionContext,用于保存连接的会话数据 + *

更新历史:

+ *
 版本         更新时间            更新者        更新内容
+ * V1.0      2021-6-28          王兴荣         Add
+ * Copyright (C) 云南志者竟成科技有限公司 + * @author 王兴荣 <xingrong_wang@will-way.cn> + * @version V1.0 + * @since 2021-6-28 + */ +public class IotClientSessionContext implements Serializable { + + private static final long serialVersionUID = 8738456547503650108L; + + /** 默认客户端sessioncontext键 **/ + public static final String DEFAULT_CLIENT_SESSION_CONTEXT_KEY = "iot-client-session-context"; + + /** 客户端类型 **/ + private String clientType; + + /** 计量点 **/ + private MeasurePoint measurePoint; + + /** 当前控制计量点的ChannelContext **/ + private ChannelContext controlConsoleClientChannelContext; + + public String getClientType() { + return clientType; + } + + public void setClientType(String clientType) { + this.clientType = clientType; + } + + public MeasurePoint getMeasurePoint() { + return measurePoint; + } + + public void setMeasurePoint(MeasurePoint measurePoint) { + this.measurePoint = measurePoint; + } + + public ChannelContext getControlConsoleClientChannelContext() { + return controlConsoleClientChannelContext; + } + + public void setControlConsoleClientChannelContext(ChannelContext controlConsoleClientChannelContext) { + this.controlConsoleClientChannelContext = controlConsoleClientChannelContext; + } + + +} diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/core/IotDeviceSessionContext.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/core/IotDeviceSessionContext.java new file mode 100644 index 0000000..d02d7cc --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/core/IotDeviceSessionContext.java @@ -0,0 +1,104 @@ +package com.zt.plat.module.qms.iot.tcpserver.core; + +import tech.zzjc.tio.core.ChannelContext; + +import java.io.Serializable; +import java.util.List; + +/** + * IotDeviceSessionContext + * 设备SessionContext,用于保存连接的会话数据 + *

更新历史:

+ *
 版本         更新时间            更新者        更新内容
+ * V1.0      2021-6-28          王兴荣         Add
+ * Copyright (C) 云南志者竟成科技有限公司 + * @author 王兴荣 <xingrong_wang@will-way.cn> + * @version V1.0 + * @since 2021-6-28 + */ +public class IotDeviceSessionContext implements Serializable { + + private static final long serialVersionUID = 9035659677475646771L; + + /** 默认设备sessioncontext键 **/ + public static final String DEFAULT_DEVICE_SESSION_CONTEXT_KEY = "iot-device-session-context"; + + /** 设备Id **/ + private String deviceId; + + /** 设备编码 **/ + private String deviceCode; + + /** 设备类型 **/ + private String deviceType; + + /** 设备名称 **/ + private String deviceName; + + /** 天平/地磅重量数据稳定计算列表 **/ + private List weightValueList; + + /** 设置控制人名称 **/ + private String controlRealName; + + /** 控制的ChannelContext **/ + private ChannelContext controlChannelContext; + + public String getDeviceId() { + return deviceId; + } + + public void setDeviceId(String deviceId) { + this.deviceId = deviceId; + } + + public String getDeviceCode() { + return deviceCode; + } + + public void setDeviceCode(String deviceCode) { + this.deviceCode = deviceCode; + } + + public String getDeviceType() { + return deviceType; + } + + public void setDeviceType(String deviceType) { + this.deviceType = deviceType; + } + + public String getDeviceName() { + return deviceName; + } + + public void setDeviceName(String deviceName) { + this.deviceName = deviceName; + } + + public List getWeightValueList() { + return weightValueList; + } + + public void setWeightValueList(List weightValueList) { + this.weightValueList = weightValueList; + } + + public String getControlRealName() { + return controlRealName; + } + + public void setControlRealName(String controlRealName) { + this.controlRealName = controlRealName; + } + + public ChannelContext getControlChannelContext() { + return controlChannelContext; + } + + public void setControlChannelContext(ChannelContext controlChannelContext) { + this.controlChannelContext = controlChannelContext; + } + + +} diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/core/IotDeviceSessionForRedisContext.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/core/IotDeviceSessionForRedisContext.java new file mode 100644 index 0000000..13acd6d --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/core/IotDeviceSessionForRedisContext.java @@ -0,0 +1,55 @@ +package com.zt.plat.module.qms.iot.tcpserver.core; + +import java.util.Date; + +public class IotDeviceSessionForRedisContext extends IotDeviceSessionContext{ + + private static final long serialVersionUID = 1L; + + private Date regTime; //注册时间 + private Date expireTime; //过期时间 + private String balanceWeightUnit; //天平重量单位 + private Long lastBalanceDataTime; //天平最后数据时间 + + private String tenantId; //租户ID + + public Date getRegTime() { + return regTime; + } + + public void setRegTime(Date regTime) { + this.regTime = regTime; + } + + public Date getExpireTime() { + return expireTime; + } + + public void setExpireTime(Date expireTime) { + this.expireTime = expireTime; + } + + public String getBalanceWeightUnit() { + return balanceWeightUnit; + } + + public void setBalanceWeightUnit(String balanceWeightUnit) { + this.balanceWeightUnit = balanceWeightUnit; + } + + public Long getLastBalanceDataTime() { + return lastBalanceDataTime; + } + + public void setLastBalanceDataTime(Long lastBalanceDataTime) { + this.lastBalanceDataTime = lastBalanceDataTime; + } + + public String getTenantId() { + return tenantId; + } + + public void setTenantId(String tenantId) { + this.tenantId = tenantId; + } +} diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/core/IotProtocol.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/core/IotProtocol.java new file mode 100644 index 0000000..c6a1974 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/core/IotProtocol.java @@ -0,0 +1,96 @@ +package com.zt.plat.module.qms.iot.tcpserver.core; + +import com.zt.plat.module.qms.iot.tcpserver.IotDataUtils; +import com.zt.plat.module.qms.iot.tcpserver.IotDeviceType; +import com.zt.plat.module.qms.iot.tcpserver.IotPacket; +import com.zt.plat.module.qms.iot.tcpserver.IotUtils; +import lombok.extern.slf4j.Slf4j; +import tech.zzjc.tio.core.ChannelContext; +import tech.zzjc.tio.core.Tio; +import tech.zzjc.tio.utils.json.Json; + + +/** + * IotProtocol + *

+ * 更新历史: + *

 版本         更新时间            更新者        更新内容
+ * V1.0 2019年9月25日 王兴荣 Add
+ * Copyright (C) 云南志者竟成科技有限公司 + *

+ * @author 王兴荣 <xingrong_wang@will-way.cn> + * @version V1.0 + * @since 2019年9月25日 + */ +@Slf4j +public class IotProtocol { + + public static void handle(String text, ChannelContext channelContext) throws Exception { + log.debug("服务端接收:" + text); + //心跳消息 + if (IotPacket.PING.equalsIgnoreCase(text)) { + IotUtils.replyHeartbeat(channelContext); + return; + } + //有人串口服务器,连接时发送数据 注册包格式为:reg-iot-设备名称-设备编号 选择hex发送并在末尾添加换行键0A + if (text.startsWith("reg-")) { + //reg-iot-Balance-001 + String[] regs = text.split("-"); + if ("iot".equalsIgnoreCase(regs[1])) { + channelContext.set("iotType", IotDeviceType.getByType(regs[2])); + Tio.bindBsId(channelContext, regs[2] + regs[3]); + } else { + //reg-user-userid + Tio.bindUser(channelContext, regs[2]); + } + channelContext.set("iotCode", regs[3]); + channelContext.set("bsFlat", regs[1]); + Tio.bindGroup(channelContext, regs[1]); + return; + } + // 串口数据 + String data = null; + // 有人串口服务器,注册包内容为数据携带 + if (text.startsWith("iot-")) { + String[] infos = text.split("\\$"); + String reg = infos[0]; + data = infos[infos.length - 1].trim(); + String[] regs = reg.split("-"); + channelContext.set("iotType", IotDeviceType.getByType(regs[1])); + Tio.bindBsId(channelContext, regs[1] + regs[2]); + channelContext.set("iotCode", regs[2]); + channelContext.set("bsFlat", regs[0]); + Tio.bindGroup(channelContext, regs[0]); + } else { + data = text; + } + if (text.startsWith("{") && text.endsWith("}")) { + ClientData clientData = Json.toBean(text, ClientData.class); + switch (clientData.getType()) { + case "register": + ClientRegister clientRegister = Json.toBean(clientData.getData(), ClientRegister.class); + channelContext.set("clientType", clientRegister.getClientType()); + channelContext.set("clientCode", clientRegister.getClientCode()); + channelContext.set("connDeviceCode", clientRegister.getConnDeviceCode()); + channelContext.set("connType", clientRegister.getConnType()); + channelContext.set("random", clientRegister.getRandom()); + String[] connDeviceCode = clientRegister.getConnDeviceCode(); + for (String connDevice : connDeviceCode) { + String connType = clientRegister.getConnType(); + if(connType.equals(IotDeviceType.BALANCE.getType())){ + IotDataUtils.addIot(clientRegister.getConnType() + connDevice, channelContext); + break; + } + } + break; + } + return; + } + String bsFlat = (String) channelContext.get("bsFlat"); + if ("iot".equals(bsFlat)) { + IotDataUtils.hander(channelContext, data); + return; + } + + } +} diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/core/MeasurePoint.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/core/MeasurePoint.java new file mode 100644 index 0000000..c715ee7 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/core/MeasurePoint.java @@ -0,0 +1,29 @@ +package com.zt.plat.module.qms.iot.tcpserver.core; + +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +/** + * MeasurePoint + *

更新历史:

+ *
 版本         更新时间            更新者        更新内容
+ * V1.0      2023-4-17          王兴荣         Add
+ * Copyright (C) 云南志者竟成科技有限公司 + * @author 王兴荣 <xingrong_wang@will-way.cn> + * @version V1.0 + * @since 2023-4-17 + */ +@Data +public class MeasurePoint implements Serializable { + + private static final long serialVersionUID = 3809393624969295520L; + private String id; + private String tenantId; + private String code; + private String name; + private Date lastConnectTime; + private Date lastCloseTime; + private Integer isConnected; +} diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/core/ReplyResult.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/core/ReplyResult.java new file mode 100644 index 0000000..db19029 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/core/ReplyResult.java @@ -0,0 +1,113 @@ +package com.zt.plat.module.qms.iot.tcpserver.core; + +import com.alibaba.fastjson.JSONObject; + +import java.io.Serializable; + +/** + * ReplyResult + * 回复结果 + *

更新历史:

+ *
 版本         更新时间            更新者        更新内容
+ * V1.0      2021-7-1          王兴荣         Add
+ * Copyright (C) 云南志者竟成科技有限公司 + * @author 王兴荣 <xingrong_wang@will-way.cn> + * @version V1.0 + * @since 2021-7-1 + */ +public class ReplyResult implements Serializable { + + private static final long serialVersionUID = 502081586271036395L; + + /** 计量点id **/ + private String measurePointId; + + /** 是否成功 **/ + private Boolean success; + + /** 消息 **/ + private String msg; + + private ReplyResult() { + } + + private ReplyResult(Boolean success, String msg) { + this.success = success; + this.msg = msg; + } + + /** + * 成功 + * @param msgId 消息id + * @param clientType 客户端类型 + * @param cmd 命令 + * @return + */ + public static String success(String msgId, String clientType, String cmd) { + JSONObject object = new JSONObject(); + object.put("msgId", msgId); + object.put("clientType", clientType); + object.put("cmd", cmd); + object.put("data", new ReplyResult(true, null)); + return object.toJSONString(); + } + + /** + * 成功 + * @param msgId 消息id + * @param clientType 客户端类型 + * @param cmd 命令 + * @param msg 消息 + * @return + */ + public static String success(String msgId, String clientType, String cmd, String msg) { + JSONObject object = new JSONObject(); + object.put("msgId", msgId); + object.put("clientType", clientType); + object.put("cmd", cmd); + object.put("data", new ReplyResult(true, msg)); + return object.toJSONString(); + } + + /** + * 失败 + * @param msgId 消息id + * @param clientType 客户端类型 + * @param cmd 命令 + * @param msg 消息 + */ + public static String fail(String msgId, String clientType, String cmd, String msg) { + JSONObject object = new JSONObject(); + object.put("msgId", msgId); + object.put("clientType", clientType); + object.put("cmd", cmd); + object.put("data", new ReplyResult(false, msg)); + return object.toJSONString(); + } + + public String getMeasurePointId() { + return measurePointId; + } + + public void setMeasurePointId(String measurePointId) { + this.measurePointId = measurePointId; + } + + public Boolean getSuccess() { + return success; + } + + public void setSuccess(Boolean success) { + this.success = success; + } + + public String getMsg() { + return msg; + } + + public void setMsg(String msg) { + this.msg = msg; + } + + +} diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/core/TrafficLight.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/core/TrafficLight.java new file mode 100644 index 0000000..aa00a2b --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/core/TrafficLight.java @@ -0,0 +1,30 @@ +package com.zt.plat.module.qms.iot.tcpserver.core; + +import lombok.Data; + +import java.io.Serializable; + +/** + * TrafficLight + * 交通灯 + *

+ * 更新历史: + *

 版本         更新时间            更新者        更新内容
+ * V1.0 2019年9月25日 王兴荣 Add
+ * Copyright (C) 云南志者竟成科技有限公司 + *

+ * @author 王兴荣 <xingrong_wang@will-way.cn> + * @version V1.0 + * @since 2019年9月25日 + */ +@Data +public class TrafficLight implements Serializable { + + private static final long serialVersionUID = 6068609496777904364L; + + /** 设备编号 **/ + private String deviceId; + + /** 交通灯颜色 **/ + private TrafficLightColor trafficLightColor; +} diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/core/TrafficLightColor.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/core/TrafficLightColor.java new file mode 100644 index 0000000..bcafa65 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/core/TrafficLightColor.java @@ -0,0 +1,18 @@ +package com.zt.plat.module.qms.iot.tcpserver.core; + +/** + * TrafficLightColor + * 交通灯颜色 + *

+ * 更新历史: + *

 版本         更新时间            更新者        更新内容
+ * V1.0 2019年9月25日 王兴荣 Add
+ * Copyright (C) 云南志者竟成科技有限公司 + *

+ * @author 王兴荣 <xingrong_wang@will-way.cn> + * @version V1.0 + * @since 2019年9月25日 + */ +public enum TrafficLightColor { + RED,GREEN,YELLOW,CLOSE +} diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/core/VehicleRecognitionCamera.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/core/VehicleRecognitionCamera.java new file mode 100644 index 0000000..eb5978e --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/core/VehicleRecognitionCamera.java @@ -0,0 +1,41 @@ +package com.zt.plat.module.qms.iot.tcpserver.core; + +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +/** + * VehicleRecognitionCamera + * 车辆识别摄像头 + *

+ * 更新历史: + *

 版本         更新时间            更新者        更新内容
+ * V1.0 2019年9月24日 王兴荣 Add
+ * Copyright (C) 云南志者竟成科技有限公司 + *

+ * @author 王兴荣 <xingrong_wang@will-way.cn> + * @version V1.0 + * @since 2019年9月24日 + */ +@Data +public class VehicleRecognitionCamera implements Serializable { + + private static final long serialVersionUID = 220151039553720357L; + + /** 设备编号 **/ + private String deviceId; + + /** 车牌 **/ + private String vehiclePlate; + + /** 车辆图片路径 **/ + private String vehiclePicture; + + /** 车牌图片路径 **/ + private String vehiclePlatePicture; + + /** 车辆识别时间 **/ + private Date vehicleRecognitionTime; + +} diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/core/VehicleWeighing.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/core/VehicleWeighing.java new file mode 100644 index 0000000..a65f93d --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/core/VehicleWeighing.java @@ -0,0 +1,52 @@ +package com.zt.plat.module.qms.iot.tcpserver.core; + +import lombok.Data; + +import java.io.Serializable; + +/** + * VehicleWeighing + * 车辆称重 + *

+ * 更新历史: + *

 版本         更新时间            更新者        更新内容
+ * V1.0 2019年9月24日 王兴荣 Add
+ * Copyright (C) 云南志者竟成科技有限公司 + *

+ * @author 王兴荣 <xingrong_wang@will-way.cn> + * @version V1.0 + * @since 2019年9月24日 + */ +@Data +public class VehicleWeighing implements Serializable { + + private static final long serialVersionUID = 8413535563770567348L; + + /** 设备编号 **/ + private String deviceId; + + /** 左边红外 **/ + private Infrared infraredLeft; + + /** 右边红外 **/ + private Infrared infraredRight; + + /** 左边抓拍摄像头 **/ + private VehicleRecognitionCamera cameraLeft; + + /** 右边抓拍摄像头 **/ + private VehicleRecognitionCamera cameraRight; + + /** 交通灯左边 **/ + private TrafficLight trafficLightLeft; + + /** 交通灯右边 **/ + private TrafficLight trafficLightRight; + + /** 磅秤 **/ + private Weighbridge weighbridge; + + /** 重量是否稳定后传输 **/ + private Boolean isStableTransfer; + +} diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/core/Weighbridge.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/core/Weighbridge.java new file mode 100644 index 0000000..ae7a80c --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/core/Weighbridge.java @@ -0,0 +1,33 @@ +package com.zt.plat.module.qms.iot.tcpserver.core; + +import lombok.Data; + +import java.io.Serializable; + +/** + * Weighbridge + * 磅秤设备 + *

+ * 更新历史: + *

 版本         更新时间            更新者        更新内容
+ * V1.0 2019年9月26日 王兴荣 Add
+ * Copyright (C) 云南志者竟成科技有限公司 + *

+ * @author 王兴荣 <xingrong_wang@will-way.cn> + * @version V1.0 + * @since 2019年9月26日 + */ +@Data +public class Weighbridge implements Serializable { + + private static final long serialVersionUID = 884059728124432632L; + + /** 设备编号 **/ + private String deviceId; + + /** 地磅重量 **/ + private Double weighbridge; + + /** 重量单位 **/ + private WeightUnit weightUnit; +} diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/core/WeightUnit.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/core/WeightUnit.java new file mode 100644 index 0000000..757cf73 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/core/WeightUnit.java @@ -0,0 +1,57 @@ +package com.zt.plat.module.qms.iot.tcpserver.core; + +/** + * WeightUnit + * 重量单位 + *

+ * 更新历史: + *

 版本         更新时间            更新者        更新内容
+ * V1.0 2019年9月24日 王兴荣 Add
+ * Copyright (C) 云南志者竟成科技有限公司 + *

+ * @author 王兴荣 <xingrong_wang@will-way.cn> + * @version V1.0 + * @since 2019年9月24日 + */ +public enum WeightUnit { + + T("t", "吨"), + KG("Kg", "千克"), + G("g", "克"), + MG("mg", "毫克"), + CT("ct", "克拉"); + + /** 单位名称 **/ + private String name; + + /** 描述 **/ + private String desc; + + private WeightUnit(String name, String desc) { + this.name = name; + this.desc = desc; + } + + public String getName() { + return name; + } + + public String getDesc() { + return desc; + } + + /** + * 根据单位名称获取枚举 + * @param name 单位名称:kg、g + * @return + */ + public static WeightUnit getByName(String name) { + WeightUnit[] values = WeightUnit.values(); + for (WeightUnit weightUnit : values) { + if (weightUnit.getName().equalsIgnoreCase(name)) { + return weightUnit; + } + } + return null; + } +} diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/device/BalanceDataCommandLineRunner.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/device/BalanceDataCommandLineRunner.java new file mode 100644 index 0000000..70d1270 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/device/BalanceDataCommandLineRunner.java @@ -0,0 +1,127 @@ +package com.zt.plat.module.qms.iot.tcpserver.device; + +import com.alibaba.fastjson.JSONObject; +import com.zt.plat.module.qms.iot.tcpserver.IotDeviceType; +import com.zt.plat.module.qms.iot.tcpserver.IotPacket; +import com.zt.plat.module.qms.iot.tcpserver.core.ClientType; +import com.zt.plat.module.qms.iot.tcpserver.core.Command; +import com.zt.plat.module.qms.iot.tcpserver.core.IotDeviceSessionContext; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.boot.CommandLineRunner; +import org.springframework.stereotype.Component; +import tech.zzjc.tio.core.ChannelContext; +import tech.zzjc.tio.core.Tio; +import tech.zzjc.tio.starter.TioServerBootstrap; +import tech.zzjc.tio.utils.SystemTimer; +import tech.zzjc.tio.utils.lock.SetWithLock; + +import java.nio.charset.Charset; +import java.util.Set; +import java.util.concurrent.locks.ReentrantReadWriteLock.ReadLock; + +import static com.zt.plat.module.qms.iot.tcpserver.core.GroupConstant.CAA_ALL_CLIENT; + +/** + * BalanceDataCommandLineRunner + *

更新历史:

+ *
 版本         更新时间            更新者        更新内容
+ * V1.0      2021-10-24          王兴荣         Add
+ * Copyright (C) 云南志者竟成科技有限公司 + * @author 王兴荣 <xingrong_wang@will-way.cn> + * @version V1.0 + * @since 2021-10-24 + */ +@Slf4j +@Component +@AllArgsConstructor +public class BalanceDataCommandLineRunner implements CommandLineRunner { + + private final TioServerBootstrap tioServerBootstrap; + + //正确天平数据超时时间6s + private final static long AUNCEL_DATA_TIMEOUT = 6 * 1000L; + + @Override + public void run(String... args) throws Exception { +// System.out.println(args); +// System.out.println(tioServerBootstrap.getServerTioConfig().heartbeatTimeout); + Thread balanceDataCheckThread = new Thread(new Runnable() { + + @Override + public void run() { + //第一次先休息一下 + try { + Thread.sleep(AUNCEL_DATA_TIMEOUT); + } catch (InterruptedException e1) { + log.error(e1.toString(), e1); + } + while (!tioServerBootstrap.getServerTioConfig().isStopped()) { + try { + Thread.sleep(AUNCEL_DATA_TIMEOUT); + } catch (InterruptedException e1) { + log.error(e1.toString(), e1); + } + //long start = SystemTimer.currTime; + SetWithLock setWithLock = tioServerBootstrap.getServerTioConfig().connections; + Set set = null; + long start1 = 0; + int count = 0; + ReadLock readLock = setWithLock.readLock(); + readLock.lock(); + try { + start1 = SystemTimer.currTime; + set = setWithLock.getObj(); + + for (ChannelContext channelContext : set) { + count++; + IotDeviceSessionContext sessionContext = (IotDeviceSessionContext) channelContext.get(IotDeviceSessionContext.DEFAULT_DEVICE_SESSION_CONTEXT_KEY); + if (sessionContext != null && IotDeviceType.BALANCE.getType().equals(sessionContext.getDeviceType())) { + //channelContext.get("lastBalanceDataTime") != null ? channelContext.get("lastBalanceDataTime").toString(); + Object lastBalanceDataTime = channelContext.get("lastBalanceDataTime"); + long compareTime = lastBalanceDataTime == null ? SystemTimer.currTime : Long.parseLong(lastBalanceDataTime.toString()) ; + long currtime = SystemTimer.currTime; + long interval = currtime - compareTime; + if (interval > AUNCEL_DATA_TIMEOUT) { +// sessionContext.setControlRealName(""); +// sessionContext.setControlChannelContext(null); + sessionContext.setWeightValueList(null); + + //发送设备断开消息 + //System.out.println("发送设备断开。。。"); + JSONObject deviceStatusData = new JSONObject(); + deviceStatusData.put("deviceId", sessionContext.getDeviceId()); + deviceStatusData.put("deviceType", IotDeviceType.BALANCE.getType()); + deviceStatusData.put("connected", 0); + + JSONObject json = new JSONObject(); + json.put("cmd", Command.DEVICE_STATUS.getName()); + json.put("clientType", ClientType.CAA_CLIENT.getName()); + json.put("data", deviceStatusData); + IotPacket packet = new IotPacket(); + packet.setBody((json.toJSONString() + "\r\n").getBytes(Charset.forName(IotPacket.CHARSET))); + Tio.sendToGroup(channelContext.getTioConfig(), CAA_ALL_CLIENT, packet); + } + + } + } + } catch (Throwable e) { + log.error("", e); + } finally { + try { + readLock.unlock(); + } catch (Throwable e) { + log.error("", e); + } + } + + } + + } + }); + balanceDataCheckThread.setDaemon(true); + balanceDataCheckThread.setPriority(Thread.MIN_PRIORITY); + balanceDataCheckThread.start(); + } + +} diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/device/RedisSessionComponent.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/device/RedisSessionComponent.java new file mode 100644 index 0000000..823b513 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/device/RedisSessionComponent.java @@ -0,0 +1,51 @@ +package com.zt.plat.module.qms.iot.tcpserver.device; + +import com.zt.plat.module.qms.iot.tcpserver.IotUtils; +import com.zt.plat.module.qms.iot.tcpserver.core.IotDeviceSessionForRedisContext; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.redis.core.RedisTemplate; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.concurrent.TimeUnit; + +@Service +public class RedisSessionComponent { + + @Autowired + public RedisTemplate redisTemplate; + + + public void save(String deviceCode, String deviceType){ + long timeoutSeconds = 60; + String deviceId = IotUtils.transDeviceCodeToId(deviceCode); + IotDeviceSessionForRedisContext context = new IotDeviceSessionForRedisContext(); + context.setDeviceId(deviceId); + context.setDeviceType(deviceType); + context.setDeviceCode(deviceCode); + context.setRegTime(new Date()); + redisTemplate.opsForValue().set(getRedisKey(deviceId), context, timeoutSeconds, TimeUnit.SECONDS); + } + + public IotDeviceSessionForRedisContext getByDeviceCode(String deviceCode){ + String deviceId = IotUtils.transDeviceCodeToId(deviceCode); + return getByDeviceId(deviceId); + } + + public IotDeviceSessionForRedisContext getByDeviceId(String deviceId){ + return (IotDeviceSessionForRedisContext) redisTemplate.opsForValue().get(getRedisKey(deviceId)); + } + + public String getRedisKey(String deviceCode){ + String deviceId = IotUtils.transDeviceCodeToId(deviceCode); + String redisKey = IotDeviceSessionForRedisContext.DEFAULT_DEVICE_SESSION_CONTEXT_KEY + "-" + deviceId; + return redisKey; + } + + public void update(IotDeviceSessionForRedisContext context){ + long timeoutSeconds = 60; + String deviceId = IotUtils.transDeviceCodeToId(context.getDeviceCode()); + context.setRegTime(new Date()); + redisTemplate.opsForValue().set(getRedisKey(deviceId), context, timeoutSeconds, TimeUnit.SECONDS); + } +} diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/device/handler/IotDeviceBalanceHandler.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/device/handler/IotDeviceBalanceHandler.java new file mode 100644 index 0000000..714d047 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/device/handler/IotDeviceBalanceHandler.java @@ -0,0 +1,229 @@ +package com.zt.plat.module.qms.iot.tcpserver.device.handler; + +import com.zt.plat.module.qms.iot.tcpserver.core.IotDeviceSessionForRedisContext; +import com.zt.plat.module.qms.iot.tcpserver.device.RedisSessionComponent; +import com.alibaba.fastjson.JSONObject; +import com.zt.plat.module.qms.iot.tcpserver.IotDeviceType; +import com.zt.plat.module.qms.iot.tcpserver.IotPacket; +import com.zt.plat.module.qms.iot.tcpserver.IotUtils; +import com.zt.plat.module.qms.iot.tcpserver.core.ClientType; +import com.zt.plat.module.qms.iot.tcpserver.core.Command; +import com.zt.plat.module.qms.iot.tcpserver.core.IotDeviceSessionContext; +import com.zt.plat.module.qms.iot.tcpserver.handler.IotDataHander; +import com.zt.plat.module.qms.iot.tcpserver.publisher.BalanceDataPublisher; +import com.fhs.common.spring.SpringContextUtil; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang.math.NumberUtils; +import org.springframework.stereotype.Component; +import tech.zzjc.tio.cluster.TioClusterConfig; +import tech.zzjc.tio.cluster.TioClusterVo; +import tech.zzjc.tio.core.ChannelContext; +import tech.zzjc.tio.core.Tio; +import tech.zzjc.tio.core.TioConfig; +import tech.zzjc.tio.utils.SystemTimer; + +import java.nio.charset.Charset; +import java.nio.charset.StandardCharsets; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + +import static com.zt.plat.module.qms.iot.tcpserver.core.GroupConstant.CAA_ALL_CLIENT; + +/** + * IotDeviceBalanceHandler + * 天平 + *

更新历史:

+ *
 版本         更新时间            更新者        更新内容
+ * V1.0      2021-10-14          王兴荣         Add
+ * Copyright (C) 云南志者竟成科技有限公司 + * @author 王兴荣 <xingrong_wang@will-way.cn> + * @version V1.0 + * @since 2021-10-14 + */ +@Slf4j +@Component +public class IotDeviceBalanceHandler implements IotDataHander { + + //重量稳定个数 + private int weightStableNum = 10; + + @Override + public Object hander(String msgId, String data, ChannelContext channelContext) throws Exception { + //获取客户端连接信息 + String realClientIp = channelContext.get("realClientIp") == null ? channelContext.getClientNode().getIp() : channelContext.get("realClientIp").toString(); + String realClientPort = channelContext.get("realClientPort") == null ? channelContext.getClientNode().getPort() + "" : channelContext.get("realClientPort").toString(); + String realClient = realClientIp + ":" + realClientPort; + //通过sessionContext传入设备ID + IotDeviceSessionContext sessionContext = (IotDeviceSessionContext) channelContext.get(IotDeviceSessionContext.DEFAULT_DEVICE_SESSION_CONTEXT_KEY); + String deviceCode = sessionContext.getDeviceCode(); + String deviceId = IotUtils.transDeviceCodeToId(deviceCode); + RedisSessionComponent redisSessionComponent = (RedisSessionComponent) SpringContextUtil.getBean("redisSessionComponent"); + IotDeviceSessionForRedisContext deviceContext = redisSessionComponent.getByDeviceCode(deviceCode); + String weightData = "0.0"; + String weightUnit = null; + +// if (channelContext.get("TenantId") == null || StringUtils.isBlank(data)) { //设备未注册成功,暂不处理数据 + if (StringUtils.isBlank(data)) { //设备未注册成功,暂不处理数据 + return null; + } + + if ("---- METTLER TOLEDO ----".equals(data) || "METTLER TOLEDO".equals(data) + || "----.---".equals(data) || "---.---".equals(data) + || "S I".equals(data) || "SI".equals(data) || "SI+".equals(data) || "ES".equals(data) + || "EL".equals(data) || data.startsWith("EL") || data.startsWith("I4 A") + || data.startsWith("Stat")) {//天平发送的特殊字符 + return null; + } + + String[] dataArray = analysisData(data, weightUnit); + weightData = dataArray[0]; + weightUnit = dataArray[1]; + if (!NumberUtils.isNumber(weightData)) { + log.error("{},天平接收到的数据不正确!接收到的数据:{} 16进制:{}", realClient, data, IotUtils.bytesToHex(data.getBytes("UTF-8"))); + return null; + } + List weightValueList = deviceContext.getWeightValueList(); + if (weightValueList == null) { + weightValueList = new ArrayList<>(weightStableNum); + deviceContext.setWeightValueList(weightValueList); + + } + if (weightValueList.size() >= weightStableNum) { + weightValueList.remove(0); + } + weightValueList.add(Double.parseDouble(weightData)); + int weightStable = 0; + if (weightValueList.size() == weightStableNum) { + double max = Collections.max(weightValueList); + double min = Collections.min(weightValueList); + double diff = max - min; + //double average = weightValueList.stream().mapToDouble(a -> a.doubleValue()).average().getAsDouble(); + if (diff == 0 && max >= 0 && min >= 0) {//最大减去最小差值为0,并且值需要大于0 + weightStable = 1; + } + } + + if (weightUnit != null) { + deviceContext.setBalanceWeightUnit(weightUnit); + } else { + weightUnit = deviceContext.getBalanceWeightUnit() == null ? "" :deviceContext.getBalanceWeightUnit(); + } + + //设置末次天平正确数据时间 + deviceContext.setLastBalanceDataTime(SystemTimer.currTime); + redisSessionComponent.update(deviceContext); + //租户ID + String tenantId = deviceContext.getTenantId(); + BalanceDataPublisher.publishEvent(Long.parseLong(deviceId), tenantId, weightData, weightUnit); + JSONObject deviceData = new JSONObject(); + deviceData.put("deviceId", deviceId); + deviceData.put("deviceType", IotDeviceType.BALANCE.getType()); + deviceData.put("controlRealName", deviceContext.getControlRealName()); + deviceData.put("weightData", weightData); + deviceData.put("weightUnit", weightUnit); + deviceData.put("weightStable", weightStable); + + //发布数据到客户端 + TioConfig tioConfig = channelContext.getTioConfig(); + JSONObject json = new JSONObject(); + json.put("cmd", Command.DEVICE_DATA.getName()); + json.put("clientType", ClientType.CAA_CLIENT.getName()); + json.put("data", deviceData); + IotPacket packet = new IotPacket(); + packet.setBody((json.toJSONString() + "\r\n").getBytes(Charset.forName(IotPacket.CHARSET))); + Tio.sendToGroup(tioConfig, CAA_ALL_CLIENT, packet); + + //通知天平数据到其他服务实例 + log.info("天平数据:" + realClient + ":" + data); + TioClusterConfig tioClusterConfig = tioConfig.getTioClusterConfig(); + TioClusterVo iotClusterVo = new TioClusterVo(packet); + iotClusterVo.setGroup(CAA_ALL_CLIENT); + tioClusterConfig.publish(iotClusterVo); + + return null; + } + + private String[] analysisData(String data, String weightUnit){ + String weightData = "0.0"; + byte[] nul = {0x00}; + data = data.replace(new String(nul), ""); + data = data.replace(new String(IotUtils.hexToByte("efbfbd"), StandardCharsets.UTF_8), "");//乱码 + if (data.contains("VH")) {//中间特殊字母 + data = data.substring(data.lastIndexOf("VH") + 2); + } + if (data.startsWith("S") || data.startsWith("N") || data.startsWith("G")) { + String[] splits = data.split("\\s+");//按一个或多个空格拆分 + if (splits.length == 5) { + if ("-".equals(splits[2])) { + weightData = splits[2] + splits[3]; + } else { + weightData = splits[3]; + } + weightUnit = splits[4]; + } else if (splits.length == 4) { + if ("M".equals(splits[3])) { + weightData = splits[1]; + weightUnit = splits[2]; + } else { + weightData = splits[2]; + weightUnit = splits[3]; + } + } else if (splits.length == 3) { + if("+".equals(splits[1])) { + weightData = splits[2]; + } else if ("-".equals(splits[1])) { + weightData = splits[1] + splits[2]; + } else if (("S".equals(splits[1]) || "N".equals(splits[1])) && splits[2].length() > 2) { + if (splits[2].endsWith("mg")) { + weightData = splits[2].substring(0, splits[2].length() - 2); + weightUnit = "mg"; + } else if (splits[2].endsWith("g")) { + weightData = splits[2].substring(0, splits[2].length() - 1); + weightUnit = "g"; + } else { + weightData = splits[2]; + } + } else { + weightData = splits[1]; + weightUnit = splits[2]; + } + } else if (splits.length == 2) { + weightData = splits[1]; + } else { + weightData = data; + } + } + else { + data = data.replace("(", "").replace(")", ""); + String[] splits = data.split("\\s+"); + if (splits.length == 3) { + if("+".equals(splits[0])) { + weightData = splits[1]; + } else if ("-".equals(splits[0])) { + weightData = splits[0] + splits[1]; + } else { + weightData = splits[1]; + } + weightUnit = splits[2]; + } else if(splits.length == 2) { + if("+".equals(splits[0])) { + weightData = splits[1]; + } else if ("-".equals(splits[0])) { + weightData = splits[0] + splits[1]; + } else { + weightData = splits[0]; + weightUnit = splits[1]; + } + } else { + weightData = data; + } + } + if (weightData.startsWith("+")) { + weightData = weightData.substring(1); + } + return new String[]{weightData, weightUnit}; + } + +} diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/device/handler/IotDeviceThermometerHandler.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/device/handler/IotDeviceThermometerHandler.java new file mode 100644 index 0000000..fc2536a --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/device/handler/IotDeviceThermometerHandler.java @@ -0,0 +1,71 @@ +package com.zt.plat.module.qms.iot.tcpserver.device.handler; + +import com.alibaba.fastjson.JSONObject; +import com.zt.plat.module.qms.iot.tcpserver.IotDeviceType; +import com.zt.plat.module.qms.iot.tcpserver.IotPacket; +import com.zt.plat.module.qms.iot.tcpserver.core.ClientType; +import com.zt.plat.module.qms.iot.tcpserver.core.Command; +import com.zt.plat.module.qms.iot.tcpserver.core.IotDeviceSessionContext; +import com.zt.plat.module.qms.iot.tcpserver.handler.IotDataHander; +import com.zt.plat.module.qms.iot.tcpserver.publisher.HygrothermographPublisher; +import tech.zzjc.tio.core.ChannelContext; +import tech.zzjc.tio.core.Tio; + +import java.nio.charset.Charset; + +import static com.zt.plat.module.qms.iot.tcpserver.core.GroupConstant.CAA_ALL_CLIENT; + +/** + * IotDeviceThermometerHandler + * 温湿度 + *

更新历史:

+ *
 版本         更新时间            更新者        更新内容
+ * V1.0      2021-10-14          王兴荣         Add
+ * Copyright (C) 云南志者竟成科技有限公司 + * @author 王兴荣 <xingrong_wang@will-way.cn> + * @version V1.0 + * @since 2021-10-14 + */ +public class IotDeviceThermometerHandler implements IotDataHander { + + @Override + public Object hander(String msgId, String data, ChannelContext channelContext) throws Exception { + + if (channelContext.get("TenantId") == null) { //设备未注册成功,暂不处理数据 + return null; + } + + IotDeviceSessionContext sessionContext = (IotDeviceSessionContext) channelContext.get(IotDeviceSessionContext.DEFAULT_DEVICE_SESSION_CONTEXT_KEY); + int temperature = Integer.parseInt(data.substring(6, 10), 16); + int humidity = Integer.parseInt(data.substring(10, 14), 16); + if (temperature > 32767) {//上传数据需除十,正数的范围为16进制0X0000-0X7FFF,负数采用正数的补码方式传输,其范围为16进制0X8000-0XFFFF + temperature = -(65535 - temperature); + } +// double temperature = 0.0d; +// if (0 < t && t <= 1000) { +// temperature = t * 0.1d; +// } else { +// temperature = -(65535 - t) * 0.1d; +// } +// double humidity = h * 0.1d; + String tenantId = channelContext.get("TenantId").toString(); + HygrothermographPublisher.publishEvent(Long.parseLong(sessionContext.getDeviceId()), tenantId, temperature, humidity); +// System.out.println("温度:" + temperature * 0.1 + "°C,湿度:" + humidity * 0.1 + "%"); + JSONObject deviceData = new JSONObject(); + deviceData.put("deviceId", sessionContext.getDeviceId()); + deviceData.put("deviceType", IotDeviceType.THERMOMETER.getType()); + deviceData.put("temperature", temperature); + deviceData.put("humidity", humidity); + + JSONObject json = new JSONObject(); + json.put("cmd", Command.DEVICE_DATA.getName()); + json.put("clientType", ClientType.CAA_CLIENT.getName()); + json.put("data", deviceData); + IotPacket packet = new IotPacket(); + packet.setBody((json.toJSONString() + "\r\n").getBytes(Charset.forName(IotPacket.CHARSET))); + Tio.sendToGroup(channelContext.getTioConfig(), CAA_ALL_CLIENT, packet); + + return null; + } + +} diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/device/handler/IotDeviceWeighbridgeHandler.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/device/handler/IotDeviceWeighbridgeHandler.java new file mode 100644 index 0000000..72033b1 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/device/handler/IotDeviceWeighbridgeHandler.java @@ -0,0 +1,24 @@ +package com.zt.plat.module.qms.iot.tcpserver.device.handler; + +import com.zt.plat.module.qms.iot.tcpserver.handler.IotDataHander; +import tech.zzjc.tio.core.ChannelContext; + +/** + * IotDeviceWeighbridgeHandler + *

更新历史:

+ *
 版本         更新时间            更新者        更新内容
+ * V1.0      2021-6-29          王兴荣         Add
+ * Copyright (C) 云南志者竟成科技有限公司 + * @author 王兴荣 <xingrong_wang@will-way.cn> + * @version V1.0 + * @since 2021-6-29 + */ +public class IotDeviceWeighbridgeHandler implements IotDataHander { + + @Override + public Object hander(String msgId, String data, ChannelContext channelContext) throws Exception { + + return null; + } + +} diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/event/BalanceDataEvent.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/event/BalanceDataEvent.java new file mode 100644 index 0000000..c03c2b3 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/event/BalanceDataEvent.java @@ -0,0 +1,23 @@ +package com.zt.plat.module.qms.iot.tcpserver.event; + +import org.springframework.context.ApplicationEvent; + +/** + * BalanceDataEvent + *

更新历史:

+ *
 版本         更新时间            更新者        更新内容
+ * V1.0      2021-10-18          王兴荣         Add
+ * Copyright (C) 云南志者竟成科技有限公司 + * @author 王兴荣 <xingrong_wang@will-way.cn> + * @version V1.0 + * @since 2021-10-18 + */ +public class BalanceDataEvent extends ApplicationEvent { + + private static final long serialVersionUID = -1762952341801790338L; + + public BalanceDataEvent(Object source) { + super(source); + } + +} diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/event/HygrothermographEvent.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/event/HygrothermographEvent.java new file mode 100644 index 0000000..24a3bf3 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/event/HygrothermographEvent.java @@ -0,0 +1,23 @@ +package com.zt.plat.module.qms.iot.tcpserver.event; + +import org.springframework.context.ApplicationEvent; + +/** + * HygrothermographEvent + *

更新历史:

+ *
 版本         更新时间            更新者        更新内容
+ * V1.0      2021-10-18          王兴荣         Add
+ * Copyright (C) 云南志者竟成科技有限公司 + * @author 王兴荣 <xingrong_wang@will-way.cn> + * @version V1.0 + * @since 2021-10-18 + */ +public class HygrothermographEvent extends ApplicationEvent { + + private static final long serialVersionUID = -1762952341801790338L; + + public HygrothermographEvent(Object source) { + super(source); + } + +} diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/event/IotDeviceRegisterEvent.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/event/IotDeviceRegisterEvent.java new file mode 100644 index 0000000..0dc3592 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/event/IotDeviceRegisterEvent.java @@ -0,0 +1,24 @@ +package com.zt.plat.module.qms.iot.tcpserver.event; + +import org.springframework.context.ApplicationEvent; + +/** + * IotDeviceRegisterEvent + * 设备注册事件 + *

更新历史:

+ *
 版本         更新时间            更新者        更新内容
+ * V1.0      2021-10-17          王兴荣         Add
+ * Copyright (C) 云南志者竟成科技有限公司 + * @author 王兴荣 <xingrong_wang@will-way.cn> + * @version V1.0 + * @since 2021-10-17 + */ +public class IotDeviceRegisterEvent extends ApplicationEvent { + + private static final long serialVersionUID = -1762952341801790338L; + + public IotDeviceRegisterEvent(Object source) { + super(source); + } + +} diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/event/MeasurePointEvent.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/event/MeasurePointEvent.java new file mode 100644 index 0000000..85224e9 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/event/MeasurePointEvent.java @@ -0,0 +1,24 @@ +package com.zt.plat.module.qms.iot.tcpserver.event; + +import org.springframework.context.ApplicationEvent; + +/** + * MeasurePointEvent + * 计量点事件 + *

更新历史:

+ *
 版本         更新时间            更新者        更新内容
+ * V1.0      2021-6-25          王兴荣         Add
+ * Copyright (C) 云南志者竟成科技有限公司 + * @author 王兴荣 <xingrong_wang@will-way.cn> + * @version V1.0 + * @since 2021-6-25 + */ +public class MeasurePointEvent extends ApplicationEvent { + + private static final long serialVersionUID = 7441527691946951411L; + + public MeasurePointEvent(Object source) { + super(source); + } + +} diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/event/MeasurePointRunLogsEvent.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/event/MeasurePointRunLogsEvent.java new file mode 100644 index 0000000..0b7435e --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/event/MeasurePointRunLogsEvent.java @@ -0,0 +1,24 @@ +package com.zt.plat.module.qms.iot.tcpserver.event; + +import org.springframework.context.ApplicationEvent; + +/** + * MeasurePointRunLogsEvent + * 计量点运行日志事件 + *

更新历史:

+ *
 版本         更新时间            更新者        更新内容
+ * V1.0      2021-8-4          王兴荣         Add
+ * Copyright (C) 云南志者竟成科技有限公司 + * @author 王兴荣 <xingrong_wang@will-way.cn> + * @version V1.0 + * @since 2021-8-4 + */ +public class MeasurePointRunLogsEvent extends ApplicationEvent { + + private static final long serialVersionUID = 4480335483883616240L; + + public MeasurePointRunLogsEvent(Object source) { + super(source); + } + +} diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/handler/IotClientHandler.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/handler/IotClientHandler.java new file mode 100644 index 0000000..c6d0786 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/handler/IotClientHandler.java @@ -0,0 +1,96 @@ +package com.zt.plat.module.qms.iot.tcpserver.handler; + +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; +import com.zt.plat.module.qms.iot.tcpserver.IotPacket; +import com.zt.plat.module.qms.iot.tcpserver.caaclient.IotCaaClientControlDeviceHander; +import com.zt.plat.module.qms.iot.tcpserver.caaclient.IotCaaClientRegisterHander; +import com.zt.plat.module.qms.iot.tcpserver.consoleclient.*; +import com.zt.plat.module.qms.iot.tcpserver.consoleclient.IotConsoleClientCheckControlHander; +import com.zt.plat.module.qms.iot.tcpserver.consoleclient.IotConsoleClientRegisterHander; +import com.zt.plat.module.qms.iot.tcpserver.core.ChannelContextConstant; +import com.zt.plat.module.qms.iot.tcpserver.core.Command; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; +import tech.zzjc.tio.core.ChannelContext; + +/** + * IotClientHandler + *

更新历史:

+ *
 版本         更新时间            更新者        更新内容
+ * V1.0      2021-6-28          王兴荣         Add
+ * Copyright (C) 云南志者竟成科技有限公司 + * @author 王兴荣 <xingrong_wang@will-way.cn> + * @version V1.0 + * @since 2021-6-28 + */ +@Slf4j +@Component +public class IotClientHandler implements IotHander { + + + + @Autowired + private IotConsoleClientRegisterHander iotConsoleClientRegisterHander; + + @Autowired + private IotConsoleClientCheckControlHander iotConsoleClientCheckControlHander; + + @Autowired + private IotCaaClientRegisterHander iotCaaClientRegisterHander; + + @Autowired + private IotCaaClientControlDeviceHander iotCaaClientControlDeviceHander; + + public IotClientHandler() { + } + + @Override + public Object hander(IotPacket iotPacket, ChannelContext channelContext) throws Exception { + //获取客户端连接信息 + String realClientIp = channelContext.get("realClientIp") == null ? channelContext.getClientNode().getIp() : channelContext.get("realClientIp").toString(); + String realClientPort = channelContext.get("realClientPort") == null ? channelContext.getClientNode().getPort() + "" : channelContext.get("realClientPort").toString(); + String realClient = realClientIp + ":" + realClientPort; + String text = new String(iotPacket.getBody(), IotPacket.CHARSET); + JSONObject jsonObject = JSON.parseObject(text); + String msgId = jsonObject.getString("msgId"); + String clientType = jsonObject.getString("clientType"); + String cmd = jsonObject.getString("cmd"); + Command command = Command.getByName(cmd); + IotDataHander iotDataHander = null; + if ("consoleClient".equals(clientType)) { + channelContext.set(ChannelContextConstant.CONNECT_TYPE, ChannelContextConstant.CONNECT_CONSOLE_CLIENT); + switch (command) { + case REGISTER: + iotDataHander = iotConsoleClientRegisterHander; + break; + + case CHECK_CONTROL: + iotDataHander = iotConsoleClientCheckControlHander; + break; + default: + break; + } + } else if ("caaClient".equals(clientType)) { + channelContext.set(ChannelContextConstant.CONNECT_TYPE, ChannelContextConstant.CONNECT_CAA_CLIENT); + switch (command) { + case REGISTER: + iotDataHander = iotCaaClientRegisterHander; + break; + case CONTROL_DEVICE: + iotDataHander = iotCaaClientControlDeviceHander; + break; + default: + break; + } + } + if (iotDataHander == null) { + log.error("{}, 找不到处理类, 客户端消息ID:{},客户端类型:{},命令:{}", realClient, msgId, clientType, cmd); + return null; + } + iotDataHander.hander(msgId, jsonObject.getString("data"), channelContext); + return null; + } + +} diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/handler/IotDataHander.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/handler/IotDataHander.java new file mode 100644 index 0000000..9085196 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/handler/IotDataHander.java @@ -0,0 +1,19 @@ +package com.zt.plat.module.qms.iot.tcpserver.handler; + +import tech.zzjc.tio.core.ChannelContext; + +/** + * IotDataHander + *

更新历史:

+ *
 版本         更新时间            更新者        更新内容
+ * V1.0      2021-6-28          王兴荣         Add
+ * Copyright (C) 云南志者竟成科技有限公司 + * @author 王兴荣 <xingrong_wang@will-way.cn> + * @version V1.0 + * @since 2021-6-28 + */ +public interface IotDataHander { + + public Object hander(String msgId, String data, ChannelContext channelContext) throws Exception; +} + diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/handler/IotDeviceHandler.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/handler/IotDeviceHandler.java new file mode 100644 index 0000000..09c45b9 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/handler/IotDeviceHandler.java @@ -0,0 +1,151 @@ +package com.zt.plat.module.qms.iot.tcpserver.handler; + +import com.zt.plat.module.qms.iot.tcpserver.IotDeviceType; +import com.zt.plat.module.qms.iot.tcpserver.IotPacket; +import com.zt.plat.module.qms.iot.tcpserver.core.ChannelContextConstant; +import com.zt.plat.module.qms.iot.tcpserver.core.IotDeviceSessionContext; +import com.zt.plat.module.qms.iot.tcpserver.core.IotDeviceSessionForRedisContext; +import com.zt.plat.module.qms.iot.tcpserver.device.RedisSessionComponent; +import com.zt.plat.module.qms.iot.tcpserver.device.handler.IotDeviceBalanceHandler; +import com.zt.plat.module.qms.iot.tcpserver.device.handler.IotDeviceThermometerHandler; +import com.zt.plat.module.qms.iot.tcpserver.device.handler.IotDeviceWeighbridgeHandler; +import com.zt.plat.module.qms.iot.tcpserver.publisher.IotDeviceRegisterPublisher; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; +import org.springframework.util.ObjectUtils; +import tech.zzjc.tio.core.ChannelContext; +import tech.zzjc.tio.core.Tio; + +import java.util.Date; +import java.util.HashMap; +import java.util.Map; + +/** + * IotDeviceHandler + *

更新历史:

+ *
 版本         更新时间            更新者        更新内容
+ * V1.0      2021-6-28          王兴荣         Add
+ * Copyright (C) 云南志者竟成科技有限公司 + * @author 王兴荣 <xingrong_wang@will-way.cn> + * @version V1.0 + * @since 2021-6-28 + */ +@Slf4j +@Component +public class IotDeviceHandler implements IotHander { + + private static Map handlerMap = new HashMap<>(); + + @Autowired public RedisSessionComponent redisSessionComponent; + + + static { + handlerMap.put(IotDeviceType.WEIGHBRIDGE.getType(), new IotDeviceWeighbridgeHandler()); + handlerMap.put(IotDeviceType.BALANCE.getType(), new IotDeviceBalanceHandler()); + handlerMap.put(IotDeviceType.THERMOMETER.getType(), new IotDeviceThermometerHandler()); + } + + @Override + public Object hander(IotPacket iotPacket, ChannelContext channelContext) throws Exception { + channelContext.set(ChannelContextConstant.CONNECT_TYPE, ChannelContextConstant.CONNECT_DEVICE); + //获取客户端连接信息 + String realClientIp = channelContext.get("realClientIp") == null ? channelContext.getClientNode().getIp() : channelContext.get("realClientIp").toString(); + String realClientPort = channelContext.get("realClientPort") == null ? channelContext.getClientNode().getPort() + "" : channelContext.get("realClientPort").toString(); + String realClient = realClientIp + ":" + realClientPort + ", bsId=" + channelContext.getBsId(); + String text = new String(iotPacket.getBody(), IotPacket.CHARSET); + String[] infos = text.split("\\$"); + String reginfo = infos[0]; + String[] regs = reginfo.split("-"); + String deviceType = null; //设备类型 + String deviceCode = null; //设备编码 + String deviceData = null; //设备数据 + boolean regFlag = false; + String errMsg = "{}, 传入参数错误,无注册信息,断开连接!传入参数:{}"; + //设备注册信息 + if ((reginfo.startsWith("reg-iot-") || reginfo.startsWith("r-i-") ) && regs.length == 4) { + deviceType = regs[2]; + deviceCode = regs[3]; + regFlag = true; + }else if(reginfo.startsWith("iot-") && regs.length == 3){ + deviceType = regs[1]; + deviceCode = regs[2]; + deviceData = infos[1]; + }else{ + //无注册信息,断开连接 + log.error(errMsg, realClient, text); + Tio.close(channelContext, "无注册信息,断开连接!"); + return null; + } + if(ObjectUtils.isEmpty(deviceCode)){ + log.error(errMsg, realClient, text); + Tio.close(channelContext, "无注册信息,断开连接!"); + return null; + } + if(regFlag){ + regDevice(channelContext, deviceCode, deviceType); + return null; + } + IotDeviceSessionForRedisContext deviceContext = redisSessionComponent.getByDeviceCode(deviceCode); + if(deviceContext == null){ + regDevice(channelContext, deviceCode, deviceType); + }else{ + //更新过期时间 + redisSessionComponent.save(deviceCode, deviceType); + } + //在sessionContext记录设备id + IotDeviceSessionContext sessionContext = (IotDeviceSessionContext) channelContext.get(IotDeviceSessionContext.DEFAULT_DEVICE_SESSION_CONTEXT_KEY); + sessionContext.setDeviceCode(deviceCode); +// if (reginfo.startsWith("iot-") && regs.length == 3) {//设备数据携带注册 +// deviceType = regs[1]; +// deviceCode = regs[2]; +// deviceData = infos[1]; +// //判断是否注册过 +// if (StringUtils.isBlank(sessionContext.getDeviceId())) { +// sessionContext.setDeviceId(new BigInteger(deviceCode, Character.MAX_RADIX).toString()); +// sessionContext.setDeviceType(deviceType); +// sessionContext.setDeviceCode(deviceCode); +// saveRegisterInfoToRedis(deviceCode, deviceType); +// channelContext.set("regTime", new Date()); +// +// //绑定业务id +// Tio.bindBsId(channelContext, deviceCode); +// +// //设备注册事件 +// IotDeviceRegisterPublisher.publishEvent(deviceCode, deviceType); +// } +// } else { +// deviceType = sessionContext.getDeviceType(); +// deviceCode = sessionContext.getDeviceCode(); +// deviceData = text; +// if (Tio.getByBsId(channelContext.getTioConfig(), deviceCode) == null) { +// log.info("{}, 数据传输过程中。未绑定业务id消失,重新绑定!", realClient); +// //绑定业务id +// Tio.bindBsId(channelContext, deviceCode); +// } +// } + IotDataHander iotDataHander = handlerMap.get(deviceType); + if (iotDataHander == null) { + log.error("{}, 找不到处理类,设备类型:{}", realClient, deviceType); + return null; + } + iotDataHander.hander(null, deviceData.trim(), channelContext); + return null; + } + + + + + + public void regDevice(ChannelContext channelContext, String deviceCode, String deviceType){ + redisSessionComponent.save(deviceCode, deviceType); + channelContext.set("regTime", new Date()); + //绑定业务id + Tio.bindBsId(channelContext, deviceCode); + //设备注册事件 + IotDeviceRegisterPublisher.publishEvent(deviceCode, deviceType); + } + + + +} diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/handler/IotHander.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/handler/IotHander.java new file mode 100644 index 0000000..2476e84 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/handler/IotHander.java @@ -0,0 +1,27 @@ +package com.zt.plat.module.qms.iot.tcpserver.handler; + +import com.zt.plat.module.qms.iot.tcpserver.IotPacket; +import tech.zzjc.tio.core.ChannelContext; + +/** + * IotHander + *

+ * 更新历史: + *

 版本         更新时间            更新者        更新内容
+ * V1.0 2019年9月16日 王兴荣 Add
+ * Copyright (C) 云南志者竟成科技有限公司 + *

+ * @author 王兴荣 <xingrong_wang@will-way.cn> + * @version V1.0 + * @since 2019年9月16日 + */ +public interface IotHander { + + /** + * 处理 + * @param iotPacket + * @param channelContext + * @return + */ + public Object hander(IotPacket iotPacket, ChannelContext channelContext) throws Exception; +} diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/handler/IotHeartbeatHandler.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/handler/IotHeartbeatHandler.java new file mode 100644 index 0000000..bae6a2c --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/handler/IotHeartbeatHandler.java @@ -0,0 +1,36 @@ +package com.zt.plat.module.qms.iot.tcpserver.handler; + +import com.zt.plat.module.qms.iot.tcpserver.IotPacket; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; +import tech.zzjc.tio.core.ChannelContext; +import tech.zzjc.tio.core.Tio; + +import java.nio.charset.Charset; + +/** + * IotHeartbeatHandler + *

+ * 更新历史: + *

 版本         更新时间            更新者        更新内容
+ * V1.0 2019年9月27日 王兴荣 Add
+ * Copyright (C) 云南志者竟成科技有限公司 + *

+ * @author 王兴荣 <xingrong_wang@will-way.cn> + * @version V1.0 + * @since 2019年9月27日 + */ +@Slf4j +@Component +public class IotHeartbeatHandler implements IotHander { + + @Override + public Object hander(IotPacket iotPacket, ChannelContext channelContext) throws Exception { + IotPacket resppacket = new IotPacket(); + resppacket.setBody((IotPacket.PONG + "\r\n").getBytes(Charset.forName(IotPacket.CHARSET))); + Tio.send(channelContext, resppacket); + log.debug(channelContext.getClientNode().getIp() + ":" + channelContext.getClientNode().getPort() +": 心跳消息。。。。"); + return null; + } + +} diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/inf/DecoderFunction.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/inf/DecoderFunction.java new file mode 100644 index 0000000..4a1c10f --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/inf/DecoderFunction.java @@ -0,0 +1,34 @@ +package com.zt.plat.module.qms.iot.tcpserver.inf; + +import tech.zzjc.tio.core.ChannelContext; +import tech.zzjc.tio.core.exception.TioDecodeException; +import tech.zzjc.tio.core.intf.Packet; + +import java.nio.ByteBuffer; + +/** + * DecoderFunction + *

+ * 更新历史: + *

 版本         更新时间            更新者        更新内容
+ * V1.0 2024年9月10日 wxr Add
+ * Copyright (C) 云南志者竟成科技有限公司 + *

+ * @author 王兴荣 + * @version V1.0 + * @since 2024年9月10日 + */ +@FunctionalInterface +public interface DecoderFunction { + + /** + * 解码函数 + * + * @param buffer ByteBuffer + * @param readableLength readableLength + * @param context ChannelContext + * @return ProxyProtocolMessage + * @throws TioDecodeException TioDecodeException + */ + Packet apply(ChannelContext context, ByteBuffer buffer, int readableLength) throws TioDecodeException; +} diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/listener/BalanceDataListener.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/listener/BalanceDataListener.java new file mode 100644 index 0000000..dbb57e3 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/listener/BalanceDataListener.java @@ -0,0 +1,46 @@ +package com.zt.plat.module.qms.iot.tcpserver.listener; + +import com.zt.plat.module.qms.iot.tcpserver.core.EventConstant; +import com.zt.plat.module.qms.iot.tcpserver.event.BalanceDataEvent; +import com.zt.plat.module.qms.iot.tcpserver.pojo.BalanceData; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.context.event.EventListener; +import org.springframework.core.annotation.Order; +import org.springframework.scheduling.annotation.Async; +import org.springframework.stereotype.Component; + +import java.util.Map; + +/** + * BalanceDataListener + *

更新历史:

+ *
 版本         更新时间            更新者        更新内容
+ * V1.0      2021-10-18          王兴荣         Add
+ * Copyright (C) 云南志者竟成科技有限公司 + * @author 王兴荣 <xingrong_wang@will-way.cn> + * @version V1.0 + * @since 2021-10-18 + */ +@Slf4j +@Component +@AllArgsConstructor +public class BalanceDataListener { + +// private final ITimeSeriesDataService timeSeriesDataService; + + @Async + @Order + @EventListener(BalanceDataEvent.class) + @SuppressWarnings("unchecked") + public void saveHygrothermograph(BalanceDataEvent event) { + try { + Map source = (Map) event.getSource(); + BalanceData balanceData = (BalanceData) source.get(EventConstant.EVENT_BALANCE); +// timeSeriesDataService.saveBalanceData(balanceData); + } catch (Exception e) { + log.error("保存天平数据出错!", e); + } + + } +} diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/listener/HygrothermographListener.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/listener/HygrothermographListener.java new file mode 100644 index 0000000..6a882ee --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/listener/HygrothermographListener.java @@ -0,0 +1,46 @@ +package com.zt.plat.module.qms.iot.tcpserver.listener; + +import com.zt.plat.module.qms.iot.tcpserver.core.EventConstant; +import com.zt.plat.module.qms.iot.tcpserver.event.HygrothermographEvent; +import com.zt.plat.module.qms.iot.tcpserver.pojo.Hygrothermograph; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.context.event.EventListener; +import org.springframework.core.annotation.Order; +import org.springframework.scheduling.annotation.Async; +import org.springframework.stereotype.Component; + +import java.util.Map; + +/** + * HygrothermographListener + *

更新历史:

+ *
 版本         更新时间            更新者        更新内容
+ * V1.0      2021-10-18          王兴荣         Add
+ * Copyright (C) 云南志者竟成科技有限公司 + * @author 王兴荣 <xingrong_wang@will-way.cn> + * @version V1.0 + * @since 2021-10-18 + */ +@Slf4j +@Component +@AllArgsConstructor +public class HygrothermographListener { + +// private final ITimeSeriesDataService timeSeriesDataService; + + @Async + @Order + @EventListener(HygrothermographEvent.class) + @SuppressWarnings("unchecked") + public void saveHygrothermograph(HygrothermographEvent event) { + try { + Map source = (Map) event.getSource(); + Hygrothermograph hygrothermograph = (Hygrothermograph) source.get(EventConstant.EVENT_HYGROTHERMOGRAPH); +// timeSeriesDataService.saveHygrothermograph(hygrothermograph); + } catch (Exception e) { + log.error("保存温湿度数据出错!", e); + } + + } +} diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/listener/IotDeviceRegisterListener.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/listener/IotDeviceRegisterListener.java new file mode 100644 index 0000000..d862e1c --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/listener/IotDeviceRegisterListener.java @@ -0,0 +1,94 @@ +package com.zt.plat.module.qms.iot.tcpserver.listener; + +import com.zt.plat.framework.tenant.core.context.TenantContextHolder; +import com.zt.plat.module.qms.iot.tcpserver.IotPacket; +import com.zt.plat.module.qms.iot.tcpserver.core.EventConstant; +import com.zt.plat.module.qms.iot.tcpserver.core.IotDeviceSessionForRedisContext; +import com.zt.plat.module.qms.iot.tcpserver.device.RedisSessionComponent; +import com.zt.plat.module.qms.iot.tcpserver.event.IotDeviceRegisterEvent; +import com.zt.plat.module.qms.resource.device.dal.dataobject.DeviceInfomationDO; +import com.zt.plat.module.qms.resource.device.service.DeviceInfomationService; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.context.event.EventListener; +import org.springframework.core.annotation.Order; +import org.springframework.scheduling.annotation.Async; +import org.springframework.stereotype.Component; +import tech.zzjc.tio.core.Tio; +import tech.zzjc.tio.starter.TioServerBootstrap; + +import java.time.LocalDateTime; +import java.util.Map; +import java.util.concurrent.Executors; +import java.util.concurrent.ScheduledExecutorService; +import java.util.concurrent.TimeUnit; + +/** + * IotDeviceRegisterListener + *

更新历史:

+ *
 版本         更新时间            更新者        更新内容
+ * V1.0      2021-10-17          王兴荣         Add
+ * Copyright (C) 云南志者竟成科技有限公司 + * @author 王兴荣 <xingrong_wang@will-way.cn> + * @version V1.0 + * @since 2021-10-17 + */ +@Component +@AllArgsConstructor +@Slf4j +public class IotDeviceRegisterListener { + +// private final IDeviceLaboratoryService deviceLaboratoryService; + private final DeviceInfomationService deviceInfomationService; + private final RedisSessionComponent redisSessionComponent; + + private final TioServerBootstrap tioServerBootstrap; + + /** TH11S-B 温湿度查询 **/ + private static final byte[] TEMP_QUERY_TH11S_B = {(byte)0x01, (byte)0x03, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x02, (byte)0xC4, (byte)0x0B}; + + @Async + @Order + @EventListener(IotDeviceRegisterEvent.class) + @SuppressWarnings("unchecked") + public void iotDeviceRegister(IotDeviceRegisterEvent event) { + Map source = (Map) event.getSource(); + DeviceInfomationDO deviceInfo = (DeviceInfomationDO) source.get(EventConstant.EVENT_IOT_DEVICE_REGISTER); + Long deviceId = deviceInfo.getId(); + final String bsId = Long.toString(deviceId, Character.MAX_RADIX); + if("temp".equals(deviceInfo.getCollectDeviceType())) { + ScheduledExecutorService scheduledExecutorService = Executors.newScheduledThreadPool(5); + scheduledExecutorService.scheduleAtFixedRate(new Runnable() { + + @Override + public void run() { + IotPacket iotPacket = new IotPacket(); + iotPacket.setBody(TEMP_QUERY_TH11S_B); + Tio.sendToBsId(tioServerBootstrap.getServerTioConfig(), bsId, iotPacket); + } + }, 1, 1, TimeUnit.SECONDS); + } + TenantContextHolder.setIgnore(true); + try{ + deviceInfo = deviceInfomationService.getDeviceInfomation(deviceId); +// ChannelContext channelContext = Tio.getByBsId(tioServerBootstrap.getServerTioConfig(), bsId); +// channelContext.set("TenantId", deviceInfo.getTenantId()); +// IotDeviceSessionContext sessionContext = (IotDeviceSessionContext) channelContext.get(IotDeviceSessionContext.DEFAULT_DEVICE_SESSION_CONTEXT_KEY); +// sessionContext.setDeviceName(deviceInfo.getDeviceCode()); + IotDeviceSessionForRedisContext context = redisSessionComponent.getByDeviceCode(bsId); + context.setDeviceName(deviceInfo.getProductName()); + context.setTenantId(deviceInfo.getTenantId().toString()); + redisSessionComponent.update(context); + deviceInfo.setIsConnect("1"); + deviceInfo.setLastConnectTime(LocalDateTime.now()); + deviceInfomationService.updateDeviceInfomation(deviceInfo); + }catch (Exception e){ + e.printStackTrace(); + log.error("设备注册异常:{}", e.getMessage()); + }finally { + TenantContextHolder.clear(); + } + + + } +} diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/pojo/BalanceData.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/pojo/BalanceData.java new file mode 100644 index 0000000..5c7e69a --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/pojo/BalanceData.java @@ -0,0 +1,37 @@ +package com.zt.plat.module.qms.iot.tcpserver.pojo; + +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +/** + * BalanceData + *

更新历史:

+ *
 版本         更新时间            更新者        更新内容
+ * V1.0      2021-10-18          王兴荣         Add
+ * Copyright (C) 云南志者竟成科技有限公司 + * @author 王兴荣 <xingrong_wang@will-way.cn> + * @version V1.0 + * @since 2021-10-18 + */ +@Data +public class BalanceData implements Serializable { + + private static final long serialVersionUID = 8957095553623616896L; + + /** 设备id **/ + private Long devid; + + /** 租户id **/ + private String tenantId; + + /** 时间戳 **/ + private Date tstamp; + + /** 重量数据 **/ + private String weight; + + /** 重量单位 **/ + private String weightUnit; +} diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/pojo/Hygrothermograph.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/pojo/Hygrothermograph.java new file mode 100644 index 0000000..f3a7554 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/pojo/Hygrothermograph.java @@ -0,0 +1,54 @@ +package com.zt.plat.module.qms.iot.tcpserver.pojo; + +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +/** + * Hygrothermograph + * 温湿计 + *

更新历史:

+ *
 版本         更新时间            更新者        更新内容
+ * V1.0      2021-10-18          王兴荣         Add
+ * Copyright (C) 云南志者竟成科技有限公司 + * @author 王兴荣 <xingrong_wang@will-way.cn> + * @version V1.0 + * @since 2021-10-18 + */ +@Data +public class Hygrothermograph implements Serializable { + + private static final long serialVersionUID = -4745301459981384644L; + + /** 设备id **/ + private Long devid; + + /** 租户id **/ + private String tenantId; + + /** 时间戳 **/ + private Date tstamp; + + /** 温度,需要乘0.1 **/ + private Integer temperature; + + /** 湿度,需要乘0.1 **/ + private Integer humidity; + + /** + * 获取温度 + * @return + */ + public Double getDoubleTemperature() { + return this.temperature * 0.1d; + } + + /** + * 获取湿度 + * @return + */ + public Double getDoubleHumidity() { + return this.humidity * 0.1d; + } +} diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/pojo/MeasurePointDeviceData.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/pojo/MeasurePointDeviceData.java new file mode 100644 index 0000000..ecae638 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/pojo/MeasurePointDeviceData.java @@ -0,0 +1,44 @@ +package com.zt.plat.module.qms.iot.tcpserver.pojo; + +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +/** + * MeasurePointDeviceData + * 计量点设备数据 + *

更新历史:

+ *
 版本         更新时间            更新者        更新内容
+ * V1.0      2021-10-18          王兴荣         Add
+ * Copyright (C) 云南志者竟成科技有限公司 + * @author 王兴荣 <xingrong_wang@will-way.cn> + * @version V1.0 + * @since 2021-10-18 + */ +@Data +public class MeasurePointDeviceData implements Serializable { + + private static final long serialVersionUID = 6960810616021935707L; + + /** 计量点Id **/ + private String measurePointId; + + /** 计量点编号 **/ + private String measurePointCode; + + /** 租户id **/ + private String tenantId; + + /** 时间戳 **/ + private Date tstamp; + + /** 磅秤重量 **/ + private Integer weight; + + /** 左红外 **/ + private Integer infraredLeft; + + /** 右红外 **/ + private Integer infraredRight; +} diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/pojo/MeasurePointRunLogs.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/pojo/MeasurePointRunLogs.java new file mode 100644 index 0000000..5ac7dfa --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/pojo/MeasurePointRunLogs.java @@ -0,0 +1,36 @@ +package com.zt.plat.module.qms.iot.tcpserver.pojo; + +import lombok.Data; + +import java.io.Serializable; + +/** + * MeasurePointRunLogs + *

更新历史:

+ *
 版本         更新时间            更新者        更新内容
+ * V1.0      2021-8-4          王兴荣         Add
+ * Copyright (C) 云南志者竟成科技有限公司 + * @author 王兴荣 <xingrong_wang@will-way.cn> + * @version V1.0 + * @since 2021-8-4 + */ +@Data +public class MeasurePointRunLogs implements Serializable { + + private static final long serialVersionUID = 6510122594323162290L; + + /** 计量点Id **/ + private String measurePointId; + + /** 计量点编号 **/ + private String measurePointCode; + + /** 租户id **/ + private String tenantId; + + /** 时间 **/ + private String time; + + /** 内容 **/ + private String content; +} diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/pojo/PinusDbMeasurePointRunLogs.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/pojo/PinusDbMeasurePointRunLogs.java new file mode 100644 index 0000000..7ddde79 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/pojo/PinusDbMeasurePointRunLogs.java @@ -0,0 +1,28 @@ +package com.zt.plat.module.qms.iot.tcpserver.pojo; + +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +/** + * PinusDbMeasurePointRunLogs + *

更新历史:

+ *
 版本         更新时间            更新者        更新内容
+ * V1.0      2021-8-10          王兴荣         Add
+ * Copyright (C) 云南志者竟成科技有限公司 + * @author 王兴荣 <xingrong_wang@will-way.cn> + * @version V1.0 + * @since 2021-8-10 + */ +@Data +public class PinusDbMeasurePointRunLogs implements Serializable { + + private static final long serialVersionUID = 3004507731172306335L; + + private Long devid; + + private Date tstamp; + + private String log; +} diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/proxy/ProxyProtocolDecoder.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/proxy/ProxyProtocolDecoder.java new file mode 100644 index 0000000..3891820 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/proxy/ProxyProtocolDecoder.java @@ -0,0 +1,233 @@ +package com.zt.plat.module.qms.iot.tcpserver.proxy; + +import com.zt.plat.module.qms.iot.tcpserver.IgnorePacket; +import com.zt.plat.module.qms.iot.tcpserver.inf.DecoderFunction; +import com.zt.plat.module.qms.iot.tcpserver.utils.ByteBufferUtil; +import tech.zzjc.tio.core.ChannelContext; +import tech.zzjc.tio.core.Node; +import tech.zzjc.tio.core.exception.TioDecodeException; +import tech.zzjc.tio.core.intf.Packet; + +import java.nio.ByteBuffer; +import java.nio.charset.StandardCharsets; + +/** + * ProxyProtocolDecoder + * 开启 nginx 代理协议时需要开启,转发代理 ip 信息 + * + *

+ * proxy_protocol on; + *

+ *

+ * 更新历史: + *

 版本         更新时间            更新者        更新内容
+ * V1.0 2024年9月10日 wxr Add
+ * Copyright (C) 云南志者竟成科技有限公司 + *

+ * @author 王兴荣 + * @version V1.0 + * @since 2024年9月10日 + */ +public class ProxyProtocolDecoder { + /** + * 最小头 “PROXY ” 用来判定是否 v1 的协议 + */ + private static final int V1_MIN_HEAD_LENGTH = 6; + /** + * Maximum possible length of a v1 proxy message header per spec + */ + private static final int V1_MAX_LENGTH = 108; + /** + * 开启 proxy_protocol 的 key + */ + private static final String PROXY_PROTOCOL_KEY = "proxy_protocol_key"; + /** + * PROXY UNKNOWN\r\n + */ + private static final String UNKNOWN = "UNKNOWN"; + + private ProxyProtocolDecoder() { + } + + /** + * 开始 proxy message + * + * @param context ChannelContext + */ + public static void enableProxyProtocol(ChannelContext context) { + context.set(PROXY_PROTOCOL_KEY, (byte) 1); + } + + /** + * 去掉 proxy message + * + * @param context ChannelContext + */ + public static void removeProxyProtocol(ChannelContext context) { + context.remove(PROXY_PROTOCOL_KEY); + } + + /** + * 判断是否开启 proxy message + * + * @param context ChannelContext + * @return 是否开启 + */ + public static boolean isProxyProtocolEnabled(ChannelContext context) { + Object obj = context.get(PROXY_PROTOCOL_KEY); + if (obj == null) { + return false; + } + return true; + } + + /** + * 解码,如果开启了 proxy message + * + * @param context ChannelContext + * @param buffer ByteBuffer + * @param readableLength readableLength + * @param next 下一个解码器 + * @return ProxyProtocolMessage + * @throws TioDecodeException TioDecodeException + */ + public static Packet decodeIfEnable(ChannelContext context, ByteBuffer buffer, int readableLength, + DecoderFunction next) throws TioDecodeException { + if (isProxyProtocolEnabled(context)) { + return decode(context, buffer, readableLength, next); + } else { + return next.apply(context, buffer, readableLength); + } + } + + /** + * 解码 proxy message + * + * @param context ChannelContext + * @param buffer ByteBuffer + * @param readableLength readableLength + * @param next 下一个解码器 + * @return ProxyProtocolMessage + * @throws TioDecodeException TioDecodeException + */ + public static Packet decode(ChannelContext context, ByteBuffer buffer, int readableLength, DecoderFunction next) throws TioDecodeException { + // 如果小于最小长度,尝试解析下一个 + if (readableLength < V1_MIN_HEAD_LENGTH) { + return next.apply(context, buffer, readableLength); + } + // 标记 + buffer.mark(); + // PROXY TCP4 192.168.0.1 192.168.0.11 56324 443\r\n + String proxyPrefix = ByteBufferUtil.readString(buffer, V1_MIN_HEAD_LENGTH, StandardCharsets.US_ASCII); + // 非 PROXY 协议,直接返回 + if (!"PROXY ".equals(proxyPrefix)) { + // 清除协议 key,重置 buffer + context.remove(PROXY_PROTOCOL_KEY); + buffer.reset(); + return next.apply(context, buffer, readableLength); + } + // 解析 proxy 协议 + ProxyProtocolMessage message = decodeMessage(buffer, readableLength); + // 半包的情况 + if (message == null) { + return null; + } + // 清除协议 key + context.remove(PROXY_PROTOCOL_KEY); + // 设置客户端代理节点 + String protocol = message.getProtocol(); + if (UNKNOWN.equals(protocol)) { + context.setProxyClientNode(new Node(UNKNOWN, message.getDestinationPort())); + } else { + context.setClientNode(new Node(message.getSourceAddress(), message.getSourcePort())); + context.setProxyClientNode(new Node(message.getDestinationAddress(), message.getDestinationPort())); + } + if (buffer.hasRemaining()) { + return next.apply(context, buffer, readableLength); + } else { + return IgnorePacket.INSTANCE; + } + } + + /** + * 解码 proxy message + * + * @param buffer ByteBuffer + * @param readableLength readableLength + * @return ProxyProtocolMessage + * @throws TioDecodeException TioDecodeException + */ + public static ProxyProtocolMessage decodeForTest(ByteBuffer buffer, int readableLength) throws TioDecodeException { + // PROXY TCP4 192.168.0.1 192.168.0.11 56324 443\r\n + String proxyPrefix = ByteBufferUtil.readString(buffer, V1_MIN_HEAD_LENGTH, StandardCharsets.US_ASCII); + // 非 PROXY 协议,直接返回 + if (!"PROXY ".equals(proxyPrefix)) { + throw new TioDecodeException("unknown identifier: " + proxyPrefix); + } + return decodeMessage(buffer, readableLength); + } + + /** + * 解码 proxy message + * + * @param buffer ByteBuffer + * @param readableLength readableLength + * @return ProxyProtocolMessage + * @throws TioDecodeException TioDecodeException + */ + public static ProxyProtocolMessage decodeMessage(ByteBuffer buffer, int readableLength) throws TioDecodeException { + int endOfLine = findEndOfLine(buffer); + // 判断超长的情况,有可能是半包,多次进入 + if (endOfLine > V1_MAX_LENGTH || (readableLength > V1_MAX_LENGTH && endOfLine == -1)) { + throw new TioDecodeException("Error v1 proxy message, readableLength: " + readableLength); + } + // 有可能半包,所以返回 null + if (endOfLine == -1) { + return null; + } + // PROXY TCP4 192.168.0.1 192.168.0.11 56324 443\r\n 去除前缀 PROXY + // TCP4 192.168.0.1 192.168.0.11 56324 443\r\n + String header = ByteBufferUtil.readString(buffer, endOfLine - V1_MIN_HEAD_LENGTH, StandardCharsets.US_ASCII); + // 跳过 \r\n + ByteBufferUtil.skipBytes(buffer, 2); + String[] parts = header.split(" "); + int numParts = parts.length; + if (numParts < 1) { + throw new TioDecodeException("invalid header: PROXY " + header + " (expected: 'PROXY' and proxied message values)"); + } + String proxyProtocol = parts[0]; + if (!"TCP4".equals(proxyProtocol) && !"TCP6".equals(proxyProtocol) && !UNKNOWN.equals(proxyProtocol)) { + throw new TioDecodeException("unsupported v1 proxy message: " + proxyProtocol); + } + if (UNKNOWN.equals(proxyProtocol)) { + return unknownMsg(); + } + if (numParts != 5) { + throw new TioDecodeException("invalid TCP4/6 header: PROXY " + header + " (expected: 6 parts)"); + } + return new ProxyProtocolMessage(proxyProtocol, parts[1], parts[2], parts[3], parts[4]); + } + + /** + * Proxy message message for 'UNKNOWN' proxied protocols. Per spec, when the proxied message is + * 'UNKNOWN' we must discard all other header values. + */ + private static ProxyProtocolMessage unknownMsg() { + return new ProxyProtocolMessage(UNKNOWN, null, null, 0, 0); + } + + /** + * Returns the index in the buffer of the end of line found. + * Returns -1 if no end of line was found in the buffer. + */ + private static int findEndOfLine(final ByteBuffer buffer) { + final int n = buffer.limit(); + for (int i = buffer.position(); i < n; i++) { + final byte b = buffer.get(i); + if (b == '\r' && i < n - 1 && buffer.get(i + 1) == '\n') { + return i; // \r\n + } + } + return -1; // Not found. + } +} diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/proxy/ProxyProtocolMessage.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/proxy/ProxyProtocolMessage.java new file mode 100644 index 0000000..b7795ff --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/proxy/ProxyProtocolMessage.java @@ -0,0 +1,109 @@ +package com.zt.plat.module.qms.iot.tcpserver.proxy; + +/** + * ProxyProtocolMessage + * 代理协议 + *

+ * 更新历史: + *

 版本         更新时间            更新者        更新内容
+ * V1.0 2024年9月10日 wxr Add
+ * Copyright (C) 云南志者竟成科技有限公司 + *

+ * @author 王兴荣 + * @version V1.0 + * @since 2024年9月10日 + */ +public class ProxyProtocolMessage { + + /** + * 代理的协议,ipv4/6 + */ + private final String protocol; + /** + * 源地址 + */ + private final String sourceAddress; + /** + * 目标地址 + */ + private final String destinationAddress; + /** + * 源端口 + */ + private final int sourcePort; + /** + * 目标端口 + */ + private final int destinationPort; + + public ProxyProtocolMessage(String protocol, + String sourceAddress, + String destinationAddress, + String sourcePort, + String destinationPort) { + this(protocol, sourceAddress, destinationAddress, portStringToInt(sourcePort), portStringToInt(destinationPort)); + } + + public ProxyProtocolMessage(String protocol, + String sourceAddress, + String destinationAddress, + int sourcePort, + int destinationPort) { + this.protocol = protocol; + this.sourceAddress = sourceAddress; + this.destinationAddress = destinationAddress; + this.sourcePort = sourcePort; + this.destinationPort = destinationPort; + } + + public String getProtocol() { + return protocol; + } + + public String getSourceAddress() { + return sourceAddress; + } + + public String getDestinationAddress() { + return destinationAddress; + } + + public int getSourcePort() { + return sourcePort; + } + + public int getDestinationPort() { + return destinationPort; + } + + /** + * Convert port to integer + * + * @param value the port + * @return port as an integer + * @throws IllegalArgumentException if port is not a valid integer + */ + private static int portStringToInt(String value) { + int port; + try { + port = Integer.parseInt(value); + } catch (NumberFormatException e) { + throw new IllegalArgumentException("invalid port: " + value, e); + } + if (port <= 0 || port > 65535) { + throw new IllegalArgumentException("invalid port: " + value + " (expected: 1 ~ 65535)"); + } + return port; + } + + @Override + public String toString() { + return "ProxyProtocolMessage{" + + "message='" + protocol + '\'' + + ", sourceAddress='" + sourceAddress + '\'' + + ", destinationAddress='" + destinationAddress + '\'' + + ", sourcePort=" + sourcePort + + ", destinationPort=" + destinationPort + + '}'; + } +} diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/publisher/BalanceDataPublisher.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/publisher/BalanceDataPublisher.java new file mode 100644 index 0000000..ece0c3e --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/publisher/BalanceDataPublisher.java @@ -0,0 +1,42 @@ +package com.zt.plat.module.qms.iot.tcpserver.publisher; + +import cn.hutool.extra.spring.SpringUtil; +import com.zt.plat.module.qms.iot.tcpserver.core.EventConstant; +import com.zt.plat.module.qms.iot.tcpserver.event.BalanceDataEvent; +import com.zt.plat.module.qms.iot.tcpserver.pojo.BalanceData; + +import java.util.Date; +import java.util.HashMap; +import java.util.Map; + +/** + * BalanceDataPublisher + *

更新历史:

+ *
 版本         更新时间            更新者        更新内容
+ * V1.0      2021-10-18          王兴荣         Add
+ * Copyright (C) 云南志者竟成科技有限公司 + * @author 王兴荣 <xingrong_wang@will-way.cn> + * @version V1.0 + * @since 2021-10-18 + */ +public class BalanceDataPublisher { + + /** + * 发布事件 + * @param deviceId 设备id + * @param tenantId 租户id + * @param weight 重量 + * @param weightUnit 重量单位 + */ + public static void publishEvent(Long deviceId, String tenantId, String weight, String weightUnit) { + BalanceData balanceData = new BalanceData(); + balanceData.setDevid(deviceId); + balanceData.setTenantId(tenantId); + balanceData.setTstamp(new Date()); + balanceData.setWeight(weight); + balanceData.setWeightUnit(weightUnit); + Map event = new HashMap<>(16); + event.put(EventConstant.EVENT_BALANCE, balanceData); + SpringUtil.publishEvent(new BalanceDataEvent(event)); + } +} diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/publisher/HygrothermographPublisher.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/publisher/HygrothermographPublisher.java new file mode 100644 index 0000000..a873886 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/publisher/HygrothermographPublisher.java @@ -0,0 +1,42 @@ +package com.zt.plat.module.qms.iot.tcpserver.publisher; + +import cn.hutool.extra.spring.SpringUtil; +import com.zt.plat.module.qms.iot.tcpserver.core.EventConstant; +import com.zt.plat.module.qms.iot.tcpserver.event.HygrothermographEvent; +import com.zt.plat.module.qms.iot.tcpserver.pojo.Hygrothermograph; + +import java.util.Date; +import java.util.HashMap; +import java.util.Map; + +/** + * HygrothermographPublisher + *

更新历史:

+ *
 版本         更新时间            更新者        更新内容
+ * V1.0      2021-10-18          王兴荣         Add
+ * Copyright (C) 云南志者竟成科技有限公司 + * @author 王兴荣 <xingrong_wang@will-way.cn> + * @version V1.0 + * @since 2021-10-18 + */ +public class HygrothermographPublisher { + + /** + * 发布事件 + * @param deviceId 设备id + * @param tenantId 租户id + * @param temperature 温度 + * @param humidity 湿度 + */ + public static void publishEvent(Long deviceId, String tenantId, Integer temperature, Integer humidity) { + Hygrothermograph hygrothermograph = new Hygrothermograph(); + hygrothermograph.setDevid(deviceId); + hygrothermograph.setTenantId(tenantId); + hygrothermograph.setTstamp(new Date()); + hygrothermograph.setTemperature(temperature); + hygrothermograph.setHumidity(humidity); + Map event = new HashMap<>(16); + event.put(EventConstant.EVENT_HYGROTHERMOGRAPH, hygrothermograph); + SpringUtil.publishEvent(new HygrothermographEvent(event)); + } +} diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/publisher/IotDeviceRegisterPublisher.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/publisher/IotDeviceRegisterPublisher.java new file mode 100644 index 0000000..d7ea0f7 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/publisher/IotDeviceRegisterPublisher.java @@ -0,0 +1,32 @@ +package com.zt.plat.module.qms.iot.tcpserver.publisher; + +import cn.hutool.extra.spring.SpringUtil; +import com.zt.plat.module.qms.iot.tcpserver.core.EventConstant; +import com.zt.plat.module.qms.iot.tcpserver.event.IotDeviceRegisterEvent; +import com.zt.plat.module.qms.resource.device.dal.dataobject.DeviceInfomationDO; + +import java.math.BigInteger; +import java.util.HashMap; +import java.util.Map; + +/** + * IotDeviceRegisterPublisher + *

更新历史:

+ *
 版本         更新时间            更新者        更新内容
+ * V1.0      2021-10-17          王兴荣         Add
+ * Copyright (C) 云南志者竟成科技有限公司 + * @author 王兴荣 <xingrong_wang@will-way.cn> + * @version V1.0 + * @since 2021-10-17 + */ +public class IotDeviceRegisterPublisher { + + public static void publishEvent(String deviceCode, String deviceType) { + DeviceInfomationDO deviceInfo = new DeviceInfomationDO(); + deviceInfo.setId(new BigInteger(deviceCode, Character.MAX_RADIX).longValue()); + deviceInfo.setCollectDeviceType(deviceType); + Map event = new HashMap<>(16); + event.put(EventConstant.EVENT_IOT_DEVICE_REGISTER, deviceInfo); + SpringUtil.publishEvent(new IotDeviceRegisterEvent(event)); + } +} diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/publisher/MeasurePointDeviceDataPublisher.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/publisher/MeasurePointDeviceDataPublisher.java new file mode 100644 index 0000000..c87b4f3 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/publisher/MeasurePointDeviceDataPublisher.java @@ -0,0 +1,15 @@ +package com.zt.plat.module.qms.iot.tcpserver.publisher; + +/** + * MeasurePointDeviceDataPublisher + *

更新历史:

+ *
 版本         更新时间            更新者        更新内容
+ * V1.0      2021-10-18          王兴荣         Add
+ * Copyright (C) 云南志者竟成科技有限公司 + * @author 王兴荣 <xingrong_wang@will-way.cn> + * @version V1.0 + * @since 2021-10-18 + */ +public class MeasurePointDeviceDataPublisher { + +} diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/publisher/MeasurePointPublisher.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/publisher/MeasurePointPublisher.java new file mode 100644 index 0000000..a01cda8 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/publisher/MeasurePointPublisher.java @@ -0,0 +1,31 @@ +package com.zt.plat.module.qms.iot.tcpserver.publisher; + +import cn.hutool.extra.spring.SpringUtil; +import com.zt.plat.module.qms.iot.tcpserver.core.EventConstant; +import com.zt.plat.module.qms.iot.tcpserver.core.MeasurePoint; +import com.zt.plat.module.qms.iot.tcpserver.event.MeasurePointEvent; + +import java.util.HashMap; +import java.util.Map; + +/** + * MeasurePointPublisher + * 计量点事件发送 + *

更新历史:

+ *
 版本         更新时间            更新者        更新内容
+ * V1.0      2021-6-25          王兴荣         Add
+ * Copyright (C) 云南志者竟成科技有限公司 + * @author 王兴荣 <xingrong_wang@will-way.cn> + * @version V1.0 + * @since 2021-6-25 + */ +public class MeasurePointPublisher { + + public static void publishEvent() { + MeasurePoint measurePoint = new MeasurePoint(); + + Map event = new HashMap<>(16); + event.put(EventConstant.EVENT_MEASURE_POINT, measurePoint); + SpringUtil.publishEvent(new MeasurePointEvent(event)); + } +} diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/publisher/MeasurePointRunLogsPublisher.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/publisher/MeasurePointRunLogsPublisher.java new file mode 100644 index 0000000..2b130a8 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/publisher/MeasurePointRunLogsPublisher.java @@ -0,0 +1,43 @@ +package com.zt.plat.module.qms.iot.tcpserver.publisher; + +import cn.hutool.extra.spring.SpringUtil; +import com.zt.plat.module.qms.iot.tcpserver.core.EventConstant; +import com.zt.plat.module.qms.iot.tcpserver.event.MeasurePointRunLogsEvent; +import com.zt.plat.module.qms.iot.tcpserver.pojo.MeasurePointRunLogs; + +import java.util.HashMap; +import java.util.Map; + +/** + * MeasurePointRunLogsPublisher + * 计量点运行日志 + *

更新历史:

+ *
 版本         更新时间            更新者        更新内容
+ * V1.0      2021-8-4          王兴荣         Add
+ * Copyright (C) 云南志者竟成科技有限公司 + * @author 王兴荣 <xingrong_wang@will-way.cn> + * @version V1.0 + * @since 2021-8-4 + */ +public class MeasurePointRunLogsPublisher { + + /** + * 发布计量点运行日志事件 + * @param measurePointId 计量点Id + * @param measurePointCode 计量点编号 + * @param tenantId 租户id + * @param time C# utc long时间 + * @param content 日志内容 + */ + public static void publishEvent(String measurePointId, String measurePointCode, String tenantId, String utcTime, String content) { + MeasurePointRunLogs measurePointRunLogs = new MeasurePointRunLogs(); + measurePointRunLogs.setMeasurePointId(measurePointId); + measurePointRunLogs.setMeasurePointCode(measurePointCode); + measurePointRunLogs.setTenantId(tenantId); + measurePointRunLogs.setTime(utcTime); + measurePointRunLogs.setContent(content); + Map event = new HashMap<>(16); + event.put(EventConstant.EVENT_MEASURE_POINT_RUN_LOGS, measurePointRunLogs); + SpringUtil.publishEvent(new MeasurePointRunLogsEvent(event)); + } +} diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/utils/ByteBufferUtil.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/utils/ByteBufferUtil.java new file mode 100644 index 0000000..e349ff5 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/utils/ByteBufferUtil.java @@ -0,0 +1,1107 @@ +package com.zt.plat.module.qms.iot.tcpserver.utils; + +import java.nio.ByteBuffer; +import java.nio.ByteOrder; +import java.nio.charset.Charset; +import java.nio.charset.StandardCharsets; +import java.util.Arrays; + +/** + * ByteBufferUtil + *

+ * 更新历史: + *

 版本         更新时间            更新者        更新内容
+ * V1.0 2024年9月10日 wxr Add
+ * Copyright (C) 云南志者竟成科技有限公司 + *

+ * @author 王兴荣 + * @version V1.0 + * @since 2024年9月10日 + */ +public class ByteBufferUtil { + + private ByteBufferUtil() { + } + + /** + * 空 byte 数组 + */ + public static final byte[] EMPTY_BYTES = new byte[0]; + + /** + * read byte + * + * @param buffer ByteBuffer + * @return byte + */ + public static byte readByte(ByteBuffer buffer) { + return buffer.get(); + } + + /** + * read unsigned byte,1个字节无符号 + * + * @param buffer ByteBuffer + * @return short + */ + public static short readUnsignedByte(ByteBuffer buffer) { + return (short) (buffer.get() & 0xFF); + } + + /** + * 读取 byte 数组 + * + * @param buffer ByteBuffer + * @param length 长度 + * @return byte array + */ + public static byte[] readBytes(ByteBuffer buffer, int length) { + byte[] data = new byte[length]; + buffer.get(data, 0, length); + return data; + } + + /** + * 读取 short + * + * @param buffer ByteBuffer + * @return short + */ + public static short readShort(ByteBuffer buffer) { + return buffer.getShort(); + } + + /** + * 读取 short,小端 + * + * @param buffer ByteBuffer + * @return short + */ + public static short readShortLE(ByteBuffer buffer) { + byte[] value = new byte[2]; + buffer.get(value, 0, 2); + short ret = value[0]; + ret |= (short) ((value[1] & 0xff) << 8); + return ret; + } + + /** + * 读取 short,大端 + * + * @param buffer ByteBuffer + * @return short + */ + public static short readShortBE(ByteBuffer buffer) { + byte[] value = new byte[2]; + buffer.get(value, 0, 2); + short ret = (short) ((value[0]) << 8); + ret |= (short) (value[1] & 0xff); + return ret; + } + + /** + * read unsigned short,2个字节无符号 + * + * @param buffer ByteBuffer + * @return int + */ + public static int readUnsignedShort(ByteBuffer buffer) { + ByteOrder order = buffer.order(); + if (ByteOrder.BIG_ENDIAN == order) { + return readUnsignedShortBE(buffer); + } else { + return readUnsignedShortLE(buffer); + } + } + + /** + * read unsigned short,2个字节无符号 + * + * @param buffer ByteBuffer + * @return int + */ + public static int readUnsignedShortLE(ByteBuffer buffer) { + byte[] value = new byte[2]; + buffer.get(value, 0, 2); + int ret = value[0] & 0xff; + ret |= (value[1] & 0xff) << 8; + return ret; + } + + /** + * read unsigned short,2个字节无符号,大端在前 + * + * @param buffer ByteBuffer + * @return int + */ + public static int readUnsignedShortBE(ByteBuffer buffer) { + byte[] value = new byte[2]; + buffer.get(value, 0, 2); + int ret = (value[0] & 0xff) << 8; + ret |= value[1] & 0xff; + return ret; + } + + /** + * 读取3个字节有符号 + * + * @param buffer ByteBuffer + * @return int + */ + public static int readMedium(ByteBuffer buffer) { + ByteOrder order = buffer.order(); + if (ByteOrder.BIG_ENDIAN == order) { + return readMediumBE(buffer); + } else { + return readMediumLE(buffer); + } + } + + /** + * 读取3个字节有符号,小端在前 + * + * @param buffer ByteBuffer + * @return int + */ + public static int readMediumLE(ByteBuffer buffer) { + int ret = readUnsignedMediumLE(buffer); + // 如果最高位为1,则表示是负数 + if ((ret & 0x800000) != 0) { + // 将最高位之上的位全部设置为1,以保持有符号性质 + ret |= 0xff000000; + } + return ret; + } + + /** + * 读取3个字节有符号,大端在前 + * + * @param buffer ByteBuffer + * @return int + */ + public static int readMediumBE(ByteBuffer buffer) { + int ret = readUnsignedMediumBE(buffer); + // 如果最高位为1,则表示是负数 + if ((ret & 0x800000) != 0) { + // 将最高位之上的位全部设置为1,以保持有符号性质 + ret |= 0xff000000; + } + return ret; + } + + /** + * read unsigned 3个字节无符号 + * + * @param buffer ByteBuffer + * @return int + */ + public static int readUnsignedMedium(ByteBuffer buffer) { + ByteOrder order = buffer.order(); + if (ByteOrder.BIG_ENDIAN == order) { + return readUnsignedMediumBE(buffer); + } else { + return readUnsignedMediumLE(buffer); + } + } + + /** + * read unsigned 3个字节无符号,小端在前 + * + * @param buffer ByteBuffer + * @return int + */ + public static int readUnsignedMediumLE(ByteBuffer buffer) { + byte[] value = new byte[3]; + buffer.get(value, 0, 3); + int ret = value[0] & 0xff; + ret |= (value[1] & 0xff) << 8; + ret |= (value[2] & 0xff) << 16; + return ret; + } + + /** + * read unsigned 3个字节无符号,大端在前 + * + * @param buffer ByteBuffer + * @return int + */ + public static int readUnsignedMediumBE(ByteBuffer buffer) { + byte[] value = new byte[3]; + buffer.get(value, 0, 3); + int ret = (value[0] & 0xff) << 16; + ret |= (value[1] & 0xff) << 8; + ret |= value[2] & 0xff; + return ret; + } + + /** + * read int, 4个字节 + * + * @param buffer ByteBuffer + * @return int + */ + public static int readInt(ByteBuffer buffer) { + return buffer.getInt(); + } + + /** + * read int, 4个字节,小端 + * + * @param buffer ByteBuffer + * @return int + */ + public static int readIntLE(ByteBuffer buffer) { + byte[] value = new byte[4]; + buffer.get(value, 0, 4); + int ret = value[0] & 0xff; + ret |= (value[1] & 0xff) << 8; + ret |= (value[2] & 0xff) << 16; + ret |= value[3] << 24; + return ret; + } + + /** + * read int, 4个字节,大端在前 + * + * @param buffer ByteBuffer + * @return int + */ + public static int readIntBE(ByteBuffer buffer) { + byte[] value = new byte[4]; + buffer.get(value, 0, 4); + int ret = value[0] << 24; + ret |= (value[1] & 0xff) << 16; + ret |= (value[2] & 0xff) << 8; + ret |= value[3] & 0xff; + return ret; + } + + /** + * read unsigned int, 4个字节无符号 + * + * @param buffer ByteBuffer + * @return long + */ + public static long readUnsignedInt(ByteBuffer buffer) { + ByteOrder order = buffer.order(); + if (ByteOrder.BIG_ENDIAN == order) { + return readUnsignedIntBE(buffer); + } else { + return readUnsignedIntLE(buffer); + } + } + + /** + * read unsigned int, 4个字节无符号 + * + * @param buffer ByteBuffer + * @return long + */ + public static long readUnsignedIntLE(ByteBuffer buffer) { + byte[] value = new byte[4]; + buffer.get(value, 0, 4); + long ret = value[0] & 0xff; + ret |= (value[1] & 0xff) << 8; + ret |= (value[2] & 0xff) << 16; + ret |= (long) (value[3] & 0xff) << 24; + return ret; + } + + /** + * read unsigned int, 4个字节无符号,大端在前 + * + * @param buffer ByteBuffer + * @return long + */ + public static long readUnsignedIntBE(ByteBuffer buffer) { + byte[] value = new byte[4]; + buffer.get(value, 0, 4); + long ret = (long) (value[0] & 0xff) << 24; + ret |= (value[1] & 0xff) << 16; + ret |= (value[2] & 0xff) << 8; + ret |= value[3] & 0xff; + return ret; + } + + /** + * read n 个字节无符号,大端在前 + * + * @param buffer ByteBuffer + * @param n n 个字符 + * @return int + */ + public static long readUnsignedNByteBE(ByteBuffer buffer, int n) { + byte[] value = new byte[n]; + buffer.get(value, 0, n); + long ret = 0; + for (int i = 0; i < n; i++) { + ret |= (long) (value[i] & 0xff) << (8 * (n - i - 1)); + } + return ret; + } + + /** + * read n 个字节无符号,小端在前 + * + * @param buffer ByteBuffer + * @param n n 个字符 + * @return long + */ + public static long readUnsignedNByteLE(ByteBuffer buffer, int n) { + byte[] value = new byte[n]; + buffer.get(value, 0, n); + long ret = 0; + for (int i = 0; i < n; i++) { + ret |= (long) (value[i] & 0xff) << (8 * i); + } + return ret; + } + + /** + * read float, 4个字节,小端 + * + * @param buffer ByteBuffer + * @return float + */ + public static float readFloat(ByteBuffer buffer) { + return buffer.getFloat(); + } + + /** + * read float, 4个字节,小端 + * + * @param buffer ByteBuffer + * @return float + */ + public static float readFloatLE(ByteBuffer buffer) { + return Float.intBitsToFloat(readIntLE(buffer)); + } + + /** + * read float, 4个字节,大端 + * + * @param buffer ByteBuffer + * @return float + */ + public static float readFloatBE(ByteBuffer buffer) { + return Float.intBitsToFloat(readIntBE(buffer)); + } + + /** + * read long, 8个字节 + * + * @param buffer ByteBuffer + * @return long + */ + public static long readLong(ByteBuffer buffer) { + return buffer.getLong(); + } + + /** + * read long, 8个字节,无符号 + * + * @param buffer ByteBuffer + * @return long + */ + public static long readLongLE(ByteBuffer buffer) { + byte[] value = new byte[8]; + buffer.get(value, 0, 8); + long ret = value[0] & 0xff; + ret |= (value[1] & 0xff) << 8; + ret |= (value[2] & 0xff) << 16; + ret |= (long) (value[3] & 0xff) << 24; + ret |= (long) (value[4] & 0xff) << 32; + ret |= (long) (value[5] & 0xff) << 40; + ret |= (long) (value[6] & 0xff) << 48; + ret |= (long) value[7] << 56; + return ret; + } + + /** + * read long, 8个字节,无符号,大端在前 + * + * @param buffer ByteBuffer + * @return long + */ + public static long readLongBE(ByteBuffer buffer) { + byte[] value = new byte[8]; + buffer.get(value, 0, 8); + long ret = (long) value[0] << 56; + ret |= (long) (value[1] & 0xff) << 48; + ret |= (long) (value[2] & 0xff) << 40; + ret |= (long) (value[3] & 0xff) << 32; + ret |= (long) (value[4] & 0xff) << 24; + ret |= (value[5] & 0xff) << 16; + ret |= (value[6] & 0xff) << 8; + ret |= value[7] & 0xff; + return ret; + } + + /** + * read long, 8个字节,无符号 + * + * @param buffer ByteBuffer + * @return long + */ + public static long readUnsignedLong(ByteBuffer buffer) { + ByteOrder order = buffer.order(); + if (ByteOrder.BIG_ENDIAN == order) { + return readUnsignedLongBE(buffer); + } else { + return readUnsignedLongLE(buffer); + } + } + + /** + * read long, 8个字节,无符号 + * + * @param buffer ByteBuffer + * @return long + */ + public static long readUnsignedLongLE(ByteBuffer buffer) { + byte[] value = new byte[8]; + buffer.get(value, 0, 8); + long ret = value[0] & 0xff; + ret |= (value[1] & 0xff) << 8; + ret |= (value[2] & 0xff) << 16; + ret |= (long) (value[3] & 0xff) << 24; + ret |= (long) (value[4] & 0xff) << 32; + ret |= (long) (value[5] & 0xff) << 40; + ret |= (long) (value[6] & 0xff) << 48; + ret |= (long) (value[7] & 0xff) << 56; + return ret; + } + + /** + * read long, 8个字节,无符号,大端在前 + * + * @param buffer ByteBuffer + * @return long + */ + public static long readUnsignedLongBE(ByteBuffer buffer) { + byte[] value = new byte[8]; + buffer.get(value, 0, 8); + long ret = (long) (value[0] & 0xff) << 56; + ret |= (long) (value[1] & 0xff) << 48; + ret |= (long) (value[2] & 0xff) << 40; + ret |= (long) (value[3] & 0xff) << 32; + ret |= (long) (value[4] & 0xff) << 24; + ret |= (value[5] & 0xff) << 16; + ret |= (value[6] & 0xff) << 8; + ret |= value[7] & 0xff; + return ret; + } + + /** + * read double, 8个字节 + * + * @param buffer ByteBuffer + * @return double + */ + public static double readDouble(ByteBuffer buffer) { + return buffer.getDouble(); + } + + /** + * read double, 8个字节,小端在前 + * + * @param buffer ByteBuffer + * @return double + */ + public static double readDoubleLE(ByteBuffer buffer) { + return Double.longBitsToDouble(readLongLE(buffer)); + } + + /** + * read double, 8个字节,大端在前 + * + * @param buffer ByteBuffer + * @return double + */ + public static double readDoubleBE(ByteBuffer buffer) { + return Double.longBitsToDouble(readLongBE(buffer)); + } + + /** + * 写出 1 个字节的无符号 byte + * + * @param buffer ByteBuffer + * @param s 数据 + */ + public static void writeByte(ByteBuffer buffer, short s) { + buffer.put((byte) s); + } + + /** + * 写出 2 个字节的 short,小端模式 + * + * @param buffer ByteBuffer + * @param s 数据 + */ + public static void writeShortLE(ByteBuffer buffer, int s) { + byte[] value = new byte[2]; + value[0] = (byte) s; + value[1] = (byte) (s >> 8); + buffer.put(value, 0, 2); + } + + /** + * 写出 2 个字节的 short,大端模式 + * + * @param buffer ByteBuffer + * @param s 数据 + */ + public static void writeShortBE(ByteBuffer buffer, int s) { + byte[] value = new byte[2]; + value[0] = (byte) (s >> 8); + value[1] = (byte) s; + buffer.put(value, 0, 2); + } + + /** + * 写出 3 个字节的无符号 + * + * @param buffer ByteBuffer + * @param i 数据 + */ + public static void writeMediumLE(ByteBuffer buffer, int i) { + byte[] value = new byte[3]; + value[0] = (byte) (i); + value[1] = (byte) (i >>> 8); + value[2] = (byte) (i >>> 16); + buffer.put(value, 0, 3); + } + + /** + * 写出 3 个字节的无符号,大端模式 + * + * @param buffer ByteBuffer + * @param i 数据 + */ + public static void writeMediumBE(ByteBuffer buffer, int i) { + byte[] value = new byte[3]; + value[0] = (byte) (i >>> 16); + value[1] = (byte) (i >>> 8); + value[2] = (byte) (i); + buffer.put(value, 0, 3); + } + + /** + * 写出 4 个字节的 int,小端模式 + * + * @param buffer ByteBuffer + * @param i 数据 + */ + public static void writeIntLE(ByteBuffer buffer, long i) { + byte[] value = new byte[4]; + value[0] = (byte) i; + value[1] = (byte) (i >> 8); + value[2] = (byte) (i >> 16); + value[3] = (byte) (i >> 24); + buffer.put(value, 0, 4); + } + + /** + * 写出 4 个字节的 int,大端模式 + * + * @param buffer ByteBuffer + * @param i 数据 + */ + public static void writeIntBE(ByteBuffer buffer, long i) { + byte[] value = new byte[4]; + value[0] = (byte) (i >> 24); + value[1] = (byte) (i >> 16); + value[2] = (byte) (i >> 8); + value[3] = (byte) i; + buffer.put(value, 0, 4); + } + + /** + * 写出 4 个字节的 float + * + * @param buffer ByteBuffer + * @param value 数据 + */ + public static void writeFloat(ByteBuffer buffer, float value) { + buffer.putFloat(value); + } + + /** + * 写出 4 个字节的 float,小端模式 + * + * @param buffer ByteBuffer + * @param value 数据 + */ + public static void writeFloatLE(ByteBuffer buffer, float value) { + writeIntLE(buffer, Float.floatToRawIntBits(value)); + } + + /** + * 写出 4 个字节的 float,大端模式 + * + * @param buffer ByteBuffer + * @param value 数据 + */ + public static void writeFloatBE(ByteBuffer buffer, float value) { + writeIntBE(buffer, Float.floatToRawIntBits(value)); + } + + /** + * 写出 8 个字节的 long,小端模式 + * + * @param buffer ByteBuffer + * @param l 数据 + */ + public static void writeLongLE(ByteBuffer buffer, long l) { + byte[] value = new byte[8]; + value[0] = (byte) l; + value[1] = (byte) (l >> 8); + value[2] = (byte) (l >> 16); + value[3] = (byte) (l >> 24); + value[4] = (byte) (l >> 32); + value[5] = (byte) (l >> 40); + value[6] = (byte) (l >> 48); + value[7] = (byte) (l >> 56); + buffer.put(value, 0, 8); + } + + /** + * 写出 8 个字节的 long,大端模式 + * + * @param buffer ByteBuffer + * @param l 数据 + */ + public static void writeLongBE(ByteBuffer buffer, long l) { + byte[] value = new byte[8]; + value[0] = (byte) (l >> 56); + value[1] = (byte) (l >> 48); + value[2] = (byte) (l >> 40); + value[3] = (byte) (l >> 32); + value[4] = (byte) (l >> 24); + value[5] = (byte) (l >> 16); + value[6] = (byte) (l >> 8); + value[7] = (byte) l; + buffer.put(value, 0, 8); + } + + /** + * 写出 8 个字节的 value + * + * @param buffer ByteBuffer + * @param value 数据 + */ + public static void writeDouble(ByteBuffer buffer, double value) { + buffer.putDouble(value); + } + + /** + * 写出 8 个字节的 value,小端模式 + * + * @param buffer ByteBuffer + * @param value 数据 + */ + public static void writeDoubleLE(ByteBuffer buffer, double value) { + writeLongLE(buffer, Double.doubleToRawLongBits(value)); + } + + /** + * 写出 8 个字节的 value,大端模式 + * + * @param buffer ByteBuffer + * @param value 数据 + */ + public static void writeDoubleBE(ByteBuffer buffer, double value) { + writeLongBE(buffer, Double.doubleToRawLongBits(value)); + } + + /** + * skip bytes + * + * @param buffer ByteBuffer + * @param skip skip bytes + * @return ByteBuffer + */ + public static ByteBuffer skipBytes(ByteBuffer buffer, int skip) { + buffer.position(buffer.position() + skip); + return buffer; + } + + /** + * 组合两个 bytebuffer,把可读部分的组合成一个新的 bytebuffer + * + * @param byteBuffer1 ByteBuffer + * @param byteBuffer2 ByteBuffer + * @return ByteBuffer + */ + public static ByteBuffer composite(ByteBuffer byteBuffer1, ByteBuffer byteBuffer2) { + int capacity = byteBuffer1.remaining() + byteBuffer2.remaining(); + ByteBuffer ret = ByteBuffer.allocate(capacity); + ret.put(byteBuffer1); + ret.put(byteBuffer2); + ret.position(0); + ret.limit(ret.capacity()); + return ret; + } + + /** + * ByteBuffer clone + * + * @param original ByteBuffer + * @return ByteBuffer + */ + public static ByteBuffer clone(ByteBuffer original) { + ByteBuffer clone = ByteBuffer.allocate(original.capacity()); + // copy from the beginning + original.rewind(); + clone.put(original); + original.rewind(); + clone.flip(); + return clone; + } + + /** + * @param src ByteBuffer + * @param srcStartIndex srcStartIndex + * @param dest ByteBuffer + * @param destStartIndex destStartIndex + * @param length length + */ + public static void copy(ByteBuffer src, int srcStartIndex, ByteBuffer dest, int destStartIndex, int length) { + System.arraycopy(src.array(), srcStartIndex, dest.array(), destStartIndex, length); + } + + /** + * @param src 本方法不会改变position等指针变量 + * @param startIndex 从0开始 + * @param endIndex endIndex + * @return ByteBuffer + */ + public static ByteBuffer copy(ByteBuffer src, int startIndex, int endIndex) { + int size = endIndex - startIndex; + int initPosition = src.position(); + int initLimit = src.limit(); + + src.position(startIndex); + src.limit(endIndex); + ByteBuffer ret = ByteBuffer.allocate(size); + ret.put(src); + ret.flip(); + + src.position(initPosition); + src.limit(initLimit); + return ret; + } + + /** + * @param src 本方法不会改变position等指针变量 + * @return ByteBuffer + */ + public static ByteBuffer copy(ByteBuffer src) { + int startIndex = src.position(); + int endIndex = src.limit(); + return copy(src, startIndex, endIndex); + } + + /** + * @param src ByteBuffer + * @param unitSize 每个单元的大小 + * @return 如果不需要拆分,则返回null + */ + public static ByteBuffer[] split(ByteBuffer src, int unitSize) { + int limit = src.limit(); + if (unitSize >= limit) { + return null; + } + int size = (int) (Math.ceil((double) src.limit() / (double) unitSize)); + ByteBuffer[] ret = new ByteBuffer[size]; + int srcIndex = 0; + for (int i = 0; i < size; i++) { + int bufferSize = unitSize; + if (i == size - 1) { + bufferSize = src.limit() % unitSize; + } + byte[] dest = new byte[bufferSize]; + System.arraycopy(src.array(), srcIndex, dest, 0, dest.length); + srcIndex = srcIndex + bufferSize; + + ret[i] = ByteBuffer.wrap(dest); + ret[i].position(0); + ret[i].limit(ret[i].capacity()); + } + return ret; + } + + /** + * @param buffer ByteBuffer + * @return index + */ + public static int lineEnd(ByteBuffer buffer) { + return lineEnd(buffer, Integer.MAX_VALUE); + } + + /** + * @param buffer ByteBuffer + * @param maxLength maxLength + * @return index + */ + public static int lineEnd(ByteBuffer buffer, int maxLength) { + int initPosition = buffer.position(); + int endPosition = indexOf(buffer, '\n', maxLength); + if ((endPosition - initPosition > 0) && (buffer.get(endPosition - 1) == '\r')) { + return endPosition - 1; + } + return endPosition; + } + + /** + * @param buffer position会被移动 + * @param theChar 结束 + * @param maxLength maxLength + * @return index + */ + public static int indexOf(ByteBuffer buffer, char theChar, int maxLength) { + int count = 0; + boolean needJudgeLengthOverflow = buffer.remaining() > maxLength; + while (buffer.hasRemaining()) { + if (buffer.get() == theChar) { + return buffer.position() - 1; + } + if (needJudgeLengthOverflow) { + count++; + if (count > maxLength) { + throw new IndexOutOfBoundsException("maxlength is " + maxLength); + } + } + } + return -1; + } + + /** + * 读取一行 + * + * @param buffer ByteBuffer + * @param charset Charset + * @return String + */ + public static String readLine(ByteBuffer buffer, Charset charset) { + return readLine(buffer, charset, Integer.MAX_VALUE); + } + + /** + * @param buffer ByteBuffer + * @param charset Charset + * @param maxLength maxLength + * @return String + */ + public static String readLine(ByteBuffer buffer, Charset charset, int maxLength) { + int startPosition = buffer.position(); + int endPosition = lineEnd(buffer, maxLength); + if (endPosition == -1) { + return null; + } + int nowPosition = buffer.position(); + if (endPosition > startPosition) { + byte[] bs = new byte[endPosition - startPosition]; + buffer.position(startPosition); + buffer.get(bs); + buffer.position(nowPosition); + if (charset == null) { + return new String(bs); + } else { + return new String(bs, charset); + } + } else if (endPosition == startPosition) { + return ""; + } + return null; + } + + /** + * 读取字符串 + * + * @param buffer ByteBuffer + * @param count count + * @return String + */ + public static String readString(ByteBuffer buffer, int count) { + return readString(buffer, count, StandardCharsets.UTF_8); + } + + /** + * 读取字符串 + * + * @param buffer ByteBuffer + * @param count count + * @param charset Charset + * @return String + */ + public static String readString(ByteBuffer buffer, int count, Charset charset) { + byte[] bytes = new byte[count]; + buffer.get(bytes); + return new String(bytes, charset); + } + + /** + * @param buffer ByteBuffer + * @param charset Charset + * @param endChar endChar + * @param maxLength maxLength + * @return String + */ + public static String readString(ByteBuffer buffer, Charset charset, char endChar, int maxLength) { + int startPosition = buffer.position(); + int endPosition = indexOf(buffer, endChar, maxLength); + if (endPosition == -1) { + return null; + } + int nowPosition = buffer.position(); + if (endPosition > startPosition) { + byte[] bs = new byte[endPosition - startPosition]; + buffer.position(startPosition); + buffer.get(bs); + buffer.position(nowPosition); + if (charset == null) { + return new String(bs); + } else { + return new String(bs, charset); + } + } else if (endPosition == startPosition) { + return ""; + } + return null; + } + + /** + * 转成 string,读取 ByteBuffer 所有数据 + * + * @param buffer ByteBuffer + * @return 字符串 + */ + public static String toString(ByteBuffer buffer) { + return toString(buffer, StandardCharsets.UTF_8); + } + + /** + * 转成 string,读取 ByteBuffer 所有数据 + * + * @param buffer ByteBuffer + * @param charset Charset + * @return 字符串 + */ + public static String toString(ByteBuffer buffer, Charset charset) { + return new String(buffer.array(), charset); + } + + /** + * 转成 string + * + * @param buffer ByteBuffer + * @return 字符串 + */ + public static String toString(byte[] buffer) { + return toString(buffer, StandardCharsets.UTF_8); + } + + /** + * 转成 string + * + * @param buffer ByteBuffer + * @param charset Charset + * @return 字符串 + */ + public static String toString(byte[] buffer, Charset charset) { + return new String(buffer, charset); + } + + /** + * 以16进制 打印 ByteBuffer + * + * @param byteBuffer ByteBuffer + * @return hex String + */ + public static String hexDump(ByteBuffer byteBuffer) { + byte[] data = Arrays.copyOf(byteBuffer.array(), byteBuffer.remaining()); + return toHexString(data); + } + + /** + * 以16进制 打印字节数组 + * + * @param bytes byte[] + * @return hex String + */ + public static String toHexString(final byte[] bytes) { + final StringBuilder buffer = new StringBuilder(bytes.length); + buffer.append("\r\n\t\t 0 1 2 3 4 5 6 7 8 9 a b c d e f\r\n"); + int startIndex = 0; + int column = 0; + for (int i = 0; i < bytes.length; i++) { + column = i % 16; + switch (column) { + case 0: + startIndex = i; + buffer.append(fixHexString(Integer.toHexString(i))).append(": "); + buffer.append(HexUtils.encode(bytes[i])); + buffer.append(' '); + break; + case 15: + buffer.append(HexUtils.encode(bytes[i])); + buffer.append(" ; "); + buffer.append(filterString(bytes, startIndex, column + 1)); + buffer.append("\r\n"); + break; + default: + buffer.append(HexUtils.encode(bytes[i])); + buffer.append(' '); + } + } + if (column != 15) { + for (int i = 0; i < 15 - column; i++) { + buffer.append(" "); + } + buffer.append("; ").append(filterString(bytes, startIndex, column + 1)); + buffer.append("\r\n"); + } + + return buffer.toString(); + } + + /** + * 过滤掉字节数组中0x0 - 0x1F的控制字符,生成字符串 + * + * @param bytes byte[] + * @param offset int + * @param count int + * @return String + */ + private static String filterString(final byte[] bytes, final int offset, final int count) { + final byte[] buffer = new byte[count]; + System.arraycopy(bytes, offset, buffer, 0, count); + for (int i = 0; i < count; i++) { + if (buffer[i] >= 0x0 && buffer[i] <= 0x1F) { + buffer[i] = 0x2e; + } + } + return new String(buffer); + } + + /** + * 将hexStr格式化成length长度16进制数,并在后边加上h + * + * @param hexStr String + * @return String + */ + private static String fixHexString(final String hexStr) { + if (hexStr == null || hexStr.isEmpty()) { + return "00000000h"; + } else { + final StringBuilder buf = new StringBuilder(8); + final int strLen = hexStr.length(); + for (int i = 0; i < 8 - strLen; i++) { + buf.append('0'); + } + buf.append(hexStr).append('h'); + return buf.toString(); + } + } +} diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/utils/HexUtils.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/utils/HexUtils.java new file mode 100644 index 0000000..21f871d --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/iot/tcpserver/utils/HexUtils.java @@ -0,0 +1,289 @@ +package com.zt.plat.module.qms.iot.tcpserver.utils; + +import tech.zzjc.tio.utils.hutool.StrUtil; + +import java.nio.charset.Charset; +import java.nio.charset.StandardCharsets; + +/** + * HexUtils + *

+ * 更新历史: + *

 版本         更新时间            更新者        更新内容
+ * V1.0 2024年9月10日 wxr Add
+ * Copyright (C) 云南志者竟成科技有限公司 + *

+ * @author 王兴荣 + * @version V1.0 + * @since 2024年9月10日 + */ +public class HexUtils { + public static final Charset DEFAULT_CHARSET = StandardCharsets.UTF_8; + private static final byte[] DIGITS_LOWER = new byte[]{'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'}; + private static final byte[] DIGITS_UPPER = new byte[]{'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'}; + private static final int OFFSET_BASIS = (int) 2166136261L; + private static final int PRIME = 16777619; + + /** + * FNV1算法 + * + * @param src src + * @return int + */ + public static int hashFNV1(byte[] src) { + return hashFNV1(src, 0, src.length); + } + + /** + * FNV1算法 + * + * @param src src + * @param start start + * @param len len + * @return int + */ + public static int hashFNV1(byte[] src, int start, int len) { + int hash = OFFSET_BASIS; + int end = start + len; + for (int i = start; i < end; i++) { + hash = (hash ^ src[i]) * PRIME; + } + return hash; + } + + /** + * encode Hex + * + * @param data data to hex + * @return hex bytes + */ + public static byte[] encode(byte[] data) { + return encode(data, true); + } + + /** + * encode Hex + * + * @param data data to hex + * @param toLowerCase 是否小写 + * @return hex bytes + */ + public static byte[] encode(byte[] data, boolean toLowerCase) { + return encode(data, toLowerCase ? DIGITS_LOWER : DIGITS_UPPER); + } + + /** + * encode Hex + * + * @param data byte to Hex + * @return bytes as a hex string + */ + public static String encode(byte data) { + byte[] out = new byte[2]; + out[0] = DIGITS_LOWER[(0xF0 & data) >>> 4]; + out[1] = DIGITS_LOWER[0xF & data]; + return new String(out); + } + + /** + * encode Hex + * + * @param data Data to Hex + * @return bytes as a hex string + */ + private static byte[] encode(byte[] data, byte[] digits) { + int len = data.length; + byte[] out = new byte[len << 1]; + for (int i = 0, j = 0; i < len; i++) { + out[j++] = digits[(0xF0 & data[i]) >>> 4]; + out[j++] = digits[0xF & data[i]]; + } + return out; + } + + /** + * encode Hex + * + * @param data Data to Hex + * @param toLowerCase 是否小写 + * @return bytes as a hex string + */ + public static String encodeToString(byte[] data, boolean toLowerCase) { + return new String(encode(data, toLowerCase), DEFAULT_CHARSET); + } + + /** + * encode Hex + * + * @param data Data to Hex + * @return bytes as a hex string + */ + public static String encodeToString(byte[] data) { + return encodeToString(data, DEFAULT_CHARSET); + } + + /** + * encode Hex + * + * @param data Data to Hex + * @param charset Charset + * @return bytes as a hex string + */ + public static String encodeToString(byte[] data, Charset charset) { + return new String(encode(data), charset); + } + + /** + * encode Hex + * + * @param data Data to Hex + * @return bytes as a hex string + */ + public static String encodeToString(String data) { + if (StrUtil.isBlank(data)) { + return null; + } + return encodeToString(data.getBytes(DEFAULT_CHARSET)); + } + + /** + * encode Hex + * + * @param data Data to Hex + * @param charset Charset + * @return bytes as a hex string + */ + public static String encodeToString(String data, Charset charset) { + return encodeToString(data, charset, charset); + } + + /** + * encode Hex + * + * @param data Data to Hex + * @param dataCharset Charset + * @param toCharset Charset + * @return bytes as a hex string + */ + public static String encodeToString(String data, Charset dataCharset, Charset toCharset) { + if (StrUtil.isBlank(data)) { + return null; + } + return encodeToString(data.getBytes(dataCharset), toCharset); + } + + /** + * decode Hex + * + * @param data Hex data + * @return decode hex to bytes + */ + public static byte[] decode(String data) { + return decode(data, DEFAULT_CHARSET); + } + + /** + * decode Hex + * + * @param data Hex data + * @param charset Charset + * @return decode hex to bytes + */ + public static byte[] decode(String data, Charset charset) { + if (StrUtil.isBlank(data)) { + return null; + } + return decode(data.getBytes(charset)); + } + + /** + * decodeToString Hex + * + * @param data Data to Hex + * @return bytes as a hex string + */ + public static String decodeToString(byte[] data) { + return decodeToString(data, DEFAULT_CHARSET); + } + + /** + * decodeToString Hex + * + * @param data Data to Hex + * @param charset Charset + * @return bytes as a hex string + */ + public static String decodeToString(byte[] data, Charset charset) { + byte[] decodeBytes = decode(data); + return new String(decodeBytes, charset); + } + + /** + * decodeToString Hex + * + * @param data Data to Hex + * @return bytes as a hex string + */ + public static String decodeToString(String data) { + if (StrUtil.isBlank(data)) { + return null; + } + return decodeToString(data.getBytes(DEFAULT_CHARSET)); + } + + /** + * decodeToString Hex + * + * @param data Data to Hex + * @param charset Charset + * @return bytes as a hex string + */ + public static String decodeToString(String data, Charset charset) { + return decodeToString(data, charset, charset); + } + + /** + * decodeToString Hex + * + * @param data Data to Hex + * @param dataCharset Charset + * @param toCharset Charset + * @return bytes as a hex string + */ + public static String decodeToString(String data, Charset dataCharset, Charset toCharset) { + if (StrUtil.isBlank(data)) { + return null; + } + return decodeToString(data.getBytes(dataCharset), toCharset); + } + + /** + * decode Hex + * + * @param data Hex data + * @return decode hex to bytes + */ + public static byte[] decode(byte[] data) { + int len = data.length; + if ((len & 0x01) != 0) { + throw new IllegalArgumentException("hexBinary needs to be even-length: " + len); + } + byte[] out = new byte[len >> 1]; + for (int i = 0, j = 0; j < len; i++) { + int f = toDigit(data[j], j) << 4; + j++; + f |= toDigit(data[j], j); + j++; + out[i] = (byte) (f & 0xFF); + } + return out; + } + + private static int toDigit(byte b, int index) { + int digit = Character.digit(b, 16); + if (digit == -1) { + throw new IllegalArgumentException("Illegal hexadecimal byte " + b + " at index " + index); + } + return digit; + } +} diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/manage/deleteme b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/manage/deleteme new file mode 100644 index 0000000..e69de29 diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/office/deleteme b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/office/deleteme new file mode 100644 index 0000000..e69de29 diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/controller/admin/DeviceInfomationController.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/controller/admin/DeviceInfomationController.java new file mode 100644 index 0000000..a87a47a --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/controller/admin/DeviceInfomationController.java @@ -0,0 +1,124 @@ +package com.zt.plat.module.qms.resource.device.controller.admin; + +import com.zt.plat.framework.apilog.core.annotation.ApiAccessLog; +import com.zt.plat.framework.business.annotation.FileUploadController; +import com.zt.plat.framework.business.controller.AbstractFileUploadController; +import com.zt.plat.framework.business.interceptor.BusinessControllerMarker; +import com.zt.plat.framework.common.pojo.CommonResult; +import com.zt.plat.framework.common.pojo.PageParam; +import com.zt.plat.framework.common.pojo.PageResult; +import com.zt.plat.framework.common.pojo.vo.BatchDeleteReqVO; +import com.zt.plat.framework.common.util.object.BeanUtils; +import com.zt.plat.framework.excel.core.util.ExcelUtils; +import com.zt.plat.module.qms.core.constant.DataTypeConstant; +import com.zt.plat.module.qms.resource.device.controller.vo.DeviceInfomationPageReqVO; +import com.zt.plat.module.qms.resource.device.controller.vo.DeviceInfomationRespVO; +import com.zt.plat.module.qms.resource.device.controller.vo.DeviceInfomationSaveReqVO; +import com.zt.plat.module.qms.resource.device.dal.dataobject.DeviceInfomationDO; +import com.zt.plat.module.qms.resource.device.dal.dataobject.DeviceProductDO; +import com.zt.plat.module.qms.resource.device.service.DeviceInfomationService; +import com.zt.plat.module.qms.resource.device.service.DeviceProductService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.annotation.Resource; +import jakarta.servlet.http.HttpServletResponse; +import jakarta.validation.Valid; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.io.IOException; +import java.util.List; + +import static com.zt.plat.framework.apilog.core.enums.OperateTypeEnum.EXPORT; +import static com.zt.plat.framework.common.pojo.CommonResult.success; + +@Tag(name = "管理后台 - 设备-设备信息") +@RestController +@RequestMapping("/qms/resource/device-infomation") +@Validated +@FileUploadController(source = "resource.deviceinfomation") +public class DeviceInfomationController extends AbstractFileUploadController implements BusinessControllerMarker{ + + static { + FileUploadController annotation = DeviceInfomationController.class.getAnnotation(FileUploadController.class); + if (annotation != null) { + setFileUploadInfo(annotation); + } + } + + @Resource private DeviceInfomationService deviceInfomationService; + @Resource private DeviceProductService deviceProductService; + + @PostMapping("/create") + @Operation(summary = "创建设备-设备信息") + @PreAuthorize("@ss.hasPermission('resource:device-infomation:create')") + public CommonResult createDeviceInfomation(@Valid @RequestBody DeviceInfomationSaveReqVO createReqVO) { + return success(deviceInfomationService.createDeviceInfomation(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新设备-设备信息") + @PreAuthorize("@ss.hasPermission('resource:device-infomation:update')") + public CommonResult updateDeviceInfomation(@Valid @RequestBody DeviceInfomationSaveReqVO updateReqVO) { + deviceInfomationService.updateDeviceInfomation(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除设备-设备信息") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('resource:device-infomation:delete')") + public CommonResult deleteDeviceInfomation(@RequestParam("id") Long id) { + deviceInfomationService.deleteDeviceInfomation(id); + return success(true); + } + + @DeleteMapping("/delete-list") + @Parameter(name = "ids", description = "编号", required = true) + @Operation(summary = "批量删除设备-设备信息") + @PreAuthorize("@ss.hasPermission('resource:device-infomation:delete')") + public CommonResult deleteDeviceInfomationList(@RequestBody BatchDeleteReqVO req) { + deviceInfomationService.deleteDeviceInfomationListByIds(req.getIds()); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得设备-设备信息") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('resource:device-infomation:query')") + public CommonResult getDeviceInfomation(@RequestParam("id") Long id) { + DeviceInfomationDO deviceInfomation = deviceInfomationService.getDeviceInfomation(id); + return success(BeanUtils.toBean(deviceInfomation, DeviceInfomationRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得设备-设备信息分页") + @PreAuthorize("@ss.hasPermission('resource:device-infomation:query')") + public CommonResult> getDeviceInfomationPage(@Valid DeviceInfomationPageReqVO pageReqVO) { + Long productId = pageReqVO.getProductId(); + if(productId != null){ + List productDOList = deviceProductService.listByIdPath(productId, DataTypeConstant.DATA_TYPE_DATA); + List productIds = productDOList.stream().map(DeviceProductDO::getId).toList(); + pageReqVO.setProductIds(productIds); + pageReqVO.setProductId(null); + } + PageResult pageResult = deviceInfomationService.getDeviceInfomationPage(pageReqVO); + return success(BeanUtils.toBean(pageResult, DeviceInfomationRespVO.class)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出设备-设备信息 Excel") + @PreAuthorize("@ss.hasPermission('resource:device-infomation:export')") + @ApiAccessLog(operateType = EXPORT) + public void exportDeviceInfomationExcel(@Valid DeviceInfomationPageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = deviceInfomationService.getDeviceInfomationPage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "设备-设备信息.xls", "数据", DeviceInfomationRespVO.class, + BeanUtils.toBean(list, DeviceInfomationRespVO.class)); + } + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/controller/admin/DeviceProductController.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/controller/admin/DeviceProductController.java new file mode 100644 index 0000000..1a28046 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/controller/admin/DeviceProductController.java @@ -0,0 +1,142 @@ +package com.zt.plat.module.qms.resource.device.controller.admin; + +import com.zt.plat.framework.apilog.core.annotation.ApiAccessLog; +import com.zt.plat.framework.business.annotation.FileUploadController; +import com.zt.plat.framework.business.controller.AbstractFileUploadController; +import com.zt.plat.framework.business.interceptor.BusinessControllerMarker; +import com.zt.plat.framework.common.pojo.CommonResult; +import com.zt.plat.framework.common.pojo.PageParam; +import com.zt.plat.framework.common.pojo.PageResult; +import com.zt.plat.framework.common.pojo.vo.BatchDeleteReqVO; +import com.zt.plat.framework.common.util.object.BeanUtils; +import com.zt.plat.framework.excel.core.util.ExcelUtils; +import com.zt.plat.module.qms.core.constant.DataTypeConstant; +import com.zt.plat.module.qms.resource.device.controller.vo.DeviceProductPageReqVO; +import com.zt.plat.module.qms.resource.device.controller.vo.DeviceProductRespVO; +import com.zt.plat.module.qms.resource.device.controller.vo.DeviceProductSaveReqVO; +import com.zt.plat.module.qms.resource.device.dal.dataobject.DeviceProductDO; +import com.zt.plat.module.qms.resource.device.controller.vo.*; +import com.zt.plat.module.qms.resource.device.service.DeviceProductService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.annotation.Resource; +import jakarta.servlet.http.HttpServletResponse; +import jakarta.validation.Valid; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.io.IOException; +import java.util.List; + +import static com.zt.plat.framework.apilog.core.enums.OperateTypeEnum.EXPORT; +import static com.zt.plat.framework.common.pojo.CommonResult.success; + +@Tag(name = "管理后台 - 设备-设备大类") +@RestController +@RequestMapping("/qms/resource/device-product") +@Validated +@FileUploadController(source = "resource.deviceproduct") +public class DeviceProductController extends AbstractFileUploadController implements BusinessControllerMarker{ + + static { + FileUploadController annotation = DeviceProductController.class.getAnnotation(FileUploadController.class); + if (annotation != null) { + setFileUploadInfo(annotation); + } + } + + @Resource + private DeviceProductService deviceProductService; + + @PostMapping("/saveData") + @Operation(summary = "保存数据") + public CommonResult saveData(@Valid @RequestBody DeviceProductSaveReqVO createReqVO) { + return deviceProductService.saveData(createReqVO); + } + + @PostMapping("/saveClassify") + @Operation(summary = "保存分类") + public CommonResult saveClassify(@Valid @RequestBody DeviceProductSaveReqVO createReqVO) { + return deviceProductService.saveCategory(createReqVO); + } + + @GetMapping("/getTreeData") + @Operation(summary = "查询分类树") + public CommonResult> getTreeData() { + List list = deviceProductService.getTreeData(DataTypeConstant.DATA_TYPE_CATEGORY); + return success(BeanUtils.toBean(list, DeviceProductRespVO.class)); + } + + @GetMapping("/getProductTreeData") + @Operation(summary = "获取分类和产品树") + public CommonResult> getProductTreeData() { + List list = deviceProductService.getTreeData(""); + return success(BeanUtils.toBean(list, DeviceProductRespVO.class)); + } + + @PostMapping("/create") + @Operation(summary = "创建设备-设备大类") + @PreAuthorize("@ss.hasPermission('resource:device-product:create')") + public CommonResult createDeviceProduct(@Valid @RequestBody DeviceProductSaveReqVO createReqVO) { + return success(deviceProductService.createDeviceProduct(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新设备-设备大类") + @PreAuthorize("@ss.hasPermission('resource:device-product:update')") + public CommonResult updateDeviceProduct(@Valid @RequestBody DeviceProductSaveReqVO updateReqVO) { + deviceProductService.updateDeviceProduct(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除设备-设备大类") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('resource:device-product:delete')") + public CommonResult deleteDeviceProduct(@RequestParam("id") Long id) { + deviceProductService.deleteDeviceProduct(id); + return success(true); + } + + @DeleteMapping("/delete-list") + @Parameter(name = "ids", description = "编号", required = true) + @Operation(summary = "批量删除设备-设备大类") + @PreAuthorize("@ss.hasPermission('resource:device-product:delete')") + public CommonResult deleteDeviceProductList(@RequestBody BatchDeleteReqVO req) { + deviceProductService.deleteDeviceProductListByIds(req.getIds()); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得设备-设备大类") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('resource:device-product:query')") + public CommonResult getDeviceProduct(@RequestParam("id") Long id) { + DeviceProductDO deviceProduct = deviceProductService.getDeviceProduct(id); + return success(BeanUtils.toBean(deviceProduct, DeviceProductRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得设备-设备大类分页") + @PreAuthorize("@ss.hasPermission('resource:device-product:query')") + public CommonResult> getDeviceProductPage(@Valid DeviceProductPageReqVO pageReqVO) { + PageResult pageResult = deviceProductService.getDeviceProductPage(pageReqVO); + return success(BeanUtils.toBean(pageResult, DeviceProductRespVO.class)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出设备-设备大类 Excel") + @PreAuthorize("@ss.hasPermission('resource:device-product:export')") + @ApiAccessLog(operateType = EXPORT) + public void exportDeviceProductExcel(@Valid DeviceProductPageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = deviceProductService.getDeviceProductPage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "设备-设备大类.xls", "数据", DeviceProductRespVO.class, + BeanUtils.toBean(list, DeviceProductRespVO.class)); + } + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/controller/vo/DeviceInfomationPageReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/controller/vo/DeviceInfomationPageReqVO.java new file mode 100644 index 0000000..341ebc7 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/controller/vo/DeviceInfomationPageReqVO.java @@ -0,0 +1,138 @@ +package com.zt.plat.module.qms.resource.device.controller.vo; + +import com.zt.plat.framework.common.pojo.PageParam; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.math.BigDecimal; +import java.time.LocalDateTime; +import java.util.List; + +import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 设备-设备信息分页 Request VO") +@Data +public class DeviceInfomationPageReqVO extends PageParam { + + @Schema(description = "设备大类id", example = "32101") + private Long productId; + + @Schema(description = "设备名称", example = "张三") + private String productName; + + @Schema(description = "别名") + private String alias; + + @Schema(description = "设备状态", example = "2") + private String deviceStatus; + + @Schema(description = "维修状态") + private String repairFlag; + + @Schema(description = "降级状态") + private String demoteFlag; + + @Schema(description = "报废状态") + private String scrapFlag; + + @Schema(description = "停用状态") + private String disableFlag; + + @Schema(description = "验收状态") + private String acceptanceFlag; + + @Schema(description = "外借状态") + private String lendFlag; + + @Schema(description = "使用中状态") + private String inUseFlag; + + @Schema(description = "等级分类") + private String gradeCategory; + + @Schema(description = "数量") + private String deviceNumber; + + @Schema(description = "管理编号") + private String deviceCode; + + @Schema(description = "资产编号") + private String assetCode; + + @Schema(description = "出厂编号") + private String factoryCode; + + @Schema(description = "存放位置") + private String position; + + @Schema(description = "购入价格", example = "25826") + private BigDecimal purchasePrice; + + @Schema(description = "采购时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] purchaseDate; + + @Schema(description = "生产时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] productiveDate; + + @Schema(description = "安装日期") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] deployDate; + + @Schema(description = "安装工程师") + private String deployEngineer; + + @Schema(description = "安装位置") + private String deployLocation; + + @Schema(description = "验收人员id", example = "26830") + private String acceptanceUserId; + + @Schema(description = "验收人员", example = "李四") + private String acceptanceUserName; + + @Schema(description = "负责人ID", example = "1902") + private String managerUserId; + + @Schema(description = "负责人", example = "芋艿") + private String managerUserName; + + @Schema(description = "自定义表单数据") + private String customFormData; + + @Schema(description = "设备图片") + private String photo; + + @Schema(description = "技术指标") + private String deviceParameter; + + @Schema(description = "状态(显示)") + private String stateShow; + + @Schema(description = "状态栈") + private String stateStack; + + @Schema(description = "所属部门") + private String systemDepartmentCode; + + @Schema(description = "备注") + private String remark; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "是否连接") + private String isConnect; + + @Schema(description = "上次连接时间") + private LocalDateTime[] lastConnectTime; + + @Schema(description = "数据采集设备类型") + private String collectDeviceType; + //===================扩展属性============== + @Schema(description = "大类ids") + List productIds; +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/controller/vo/DeviceInfomationRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/controller/vo/DeviceInfomationRespVO.java new file mode 100644 index 0000000..44ea0d7 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/controller/vo/DeviceInfomationRespVO.java @@ -0,0 +1,171 @@ +package com.zt.plat.module.qms.resource.device.controller.vo; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + +@Schema(description = "管理后台 - 设备-设备信息 Response VO") +@Data +@ExcelIgnoreUnannotated +public class DeviceInfomationRespVO { + + @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "32125") + @ExcelProperty("主键") + private Long id; + + @Schema(description = "设备大类id", example = "32101") + @ExcelProperty("设备大类id") + private Long productId; + + @Schema(description = "设备名称", example = "张三") + @ExcelProperty("设备名称") + private String productName; + + @Schema(description = "别名") + @ExcelProperty("别名") + private String alias; + + @Schema(description = "设备状态", example = "2") + @ExcelProperty("设备状态") + private String deviceStatus; + + @Schema(description = "维修状态") + @ExcelProperty("维修状态") + private String repairFlag; + + @Schema(description = "降级状态") + @ExcelProperty("降级状态") + private String demoteFlag; + + @Schema(description = "报废状态") + @ExcelProperty("报废状态") + private String scrapFlag; + + @Schema(description = "停用状态") + @ExcelProperty("停用状态") + private String disableFlag; + + @Schema(description = "验收状态") + @ExcelProperty("验收状态") + private String acceptanceFlag; + + @Schema(description = "外借状态") + @ExcelProperty("外借状态") + private String lendFlag; + + @Schema(description = "使用中状态") + @ExcelProperty("使用中状态") + private String inUseFlag; + + @Schema(description = "等级分类") + @ExcelProperty("等级分类") + private String gradeCategory; + + @Schema(description = "数量") + @ExcelProperty("数量") + private String deviceNumber; + + @Schema(description = "管理编号") + @ExcelProperty("管理编号") + private String deviceCode; + + @Schema(description = "资产编号") + @ExcelProperty("资产编号") + private String assetCode; + + @Schema(description = "出厂编号") + @ExcelProperty("出厂编号") + private String factoryCode; + + @Schema(description = "存放位置") + @ExcelProperty("存放位置") + private String position; + + @Schema(description = "购入价格", example = "25826") + @ExcelProperty("购入价格") + private BigDecimal purchasePrice; + + @Schema(description = "采购时间") + @ExcelProperty("采购时间") + private LocalDateTime purchaseDate; + + @Schema(description = "生产时间") + @ExcelProperty("生产时间") + private LocalDateTime productiveDate; + + @Schema(description = "安装日期") + @ExcelProperty("安装日期") + private LocalDateTime deployDate; + + @Schema(description = "安装工程师") + @ExcelProperty("安装工程师") + private String deployEngineer; + + @Schema(description = "安装位置") + @ExcelProperty("安装位置") + private String deployLocation; + + @Schema(description = "验收人员id", example = "26830") + @ExcelProperty("验收人员id") + private String acceptanceUserId; + + @Schema(description = "验收人员", example = "李四") + @ExcelProperty("验收人员") + private String acceptanceUserName; + + @Schema(description = "负责人ID", example = "1902") + @ExcelProperty("负责人ID") + private String managerUserId; + + @Schema(description = "负责人", example = "芋艿") + @ExcelProperty("负责人") + private String managerUserName; + + @Schema(description = "自定义表单数据") + @ExcelProperty("自定义表单数据") + private String customFormData; + + @Schema(description = "设备图片") + @ExcelProperty("设备图片") + private String photo; + + @Schema(description = "技术指标") + @ExcelProperty("技术指标") + private String deviceParameter; + + @Schema(description = "状态(显示)") + @ExcelProperty("状态(显示)") + private String stateShow; + + @Schema(description = "状态栈") + @ExcelProperty("状态栈") + private String stateStack; + + @Schema(description = "所属部门") + @ExcelProperty("所属部门") + private String systemDepartmentCode; + + @Schema(description = "备注") + @ExcelProperty("备注") + private String remark; + + @Schema(description = "创建时间") + @ExcelProperty("创建时间") + private LocalDateTime createTime; + + @Schema(description = "是否连接") + @ExcelProperty("是否连接") + private String isConnect; + + @Schema(description = "上次连接时间") + @ExcelProperty("上次连接时间") + private LocalDateTime lastConnectTime; + + @Schema(description = "数据采集设备类型") + @ExcelProperty("数据采集设备类型") + private String collectDeviceType; +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/controller/vo/DeviceInfomationSaveReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/controller/vo/DeviceInfomationSaveReqVO.java new file mode 100644 index 0000000..0b72082 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/controller/vo/DeviceInfomationSaveReqVO.java @@ -0,0 +1,128 @@ +package com.zt.plat.module.qms.resource.device.controller.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.math.BigDecimal; +import java.time.LocalDateTime; +import java.util.Date; + +@Schema(description = "管理后台 - 设备-设备信息新增/修改 Request VO") +@Data +public class DeviceInfomationSaveReqVO { + + @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "32125") + private Long id; + + @Schema(description = "设备大类id", example = "32101") + private Long productId; + + @Schema(description = "设备名称", example = "张三") + private String productName; + + @Schema(description = "别名") + private String alias; + + @Schema(description = "设备状态", example = "2") + private String deviceStatus; + + @Schema(description = "维修状态") + private String repairFlag; + + @Schema(description = "降级状态") + private String demoteFlag; + + @Schema(description = "报废状态") + private String scrapFlag; + + @Schema(description = "停用状态") + private String disableFlag; + + @Schema(description = "验收状态") + private String acceptanceFlag; + + @Schema(description = "外借状态") + private String lendFlag; + + @Schema(description = "使用中状态") + private String inUseFlag; + + @Schema(description = "等级分类") + private String gradeCategory; + + @Schema(description = "数量") + private String deviceNumber; + + @Schema(description = "管理编号") + private String deviceCode; + + @Schema(description = "资产编号") + private String assetCode; + + @Schema(description = "出厂编号") + private String factoryCode; + + @Schema(description = "存放位置") + private String position; + + @Schema(description = "购入价格", example = "25826") + private BigDecimal purchasePrice; + + @Schema(description = "采购时间") + private LocalDateTime purchaseDate; + + @Schema(description = "生产时间") + private LocalDateTime productiveDate; + + @Schema(description = "安装日期") + private LocalDateTime deployDate; + + @Schema(description = "安装工程师") + private String deployEngineer; + + @Schema(description = "安装位置") + private String deployLocation; + + @Schema(description = "验收人员id", example = "26830") + private String acceptanceUserId; + + @Schema(description = "验收人员", example = "李四") + private String acceptanceUserName; + + @Schema(description = "负责人ID", example = "1902") + private String managerUserId; + + @Schema(description = "负责人", example = "芋艿") + private String managerUserName; + + @Schema(description = "自定义表单数据") + private String customFormData; + + @Schema(description = "设备图片") + private String photo; + + @Schema(description = "技术指标") + private String deviceParameter; + + @Schema(description = "状态(显示)") + private String stateShow; + + @Schema(description = "状态栈") + private String stateStack; + + @Schema(description = "所属部门") + private String systemDepartmentCode; + + @Schema(description = "备注") + private String remark; + + @Schema(description = "是否连接") + private String isConnect; + + @Schema(description = "上次连接时间") + private LocalDateTime lastConnectTime; + + @Schema(description = "数据采集设备类型") + private String collectDeviceType; + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/controller/vo/DeviceProductPageReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/controller/vo/DeviceProductPageReqVO.java new file mode 100644 index 0000000..2ba24b1 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/controller/vo/DeviceProductPageReqVO.java @@ -0,0 +1,82 @@ +package com.zt.plat.module.qms.resource.device.controller.vo; + +import com.zt.plat.framework.common.pojo.PageParam; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.time.LocalDateTime; + +import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 设备-设备大类分页 Request VO") +@Data +public class DeviceProductPageReqVO extends PageParam { + + @Schema(description = "父ID", example = "5458") + private Long parentId; + + @Schema(description = "id路径") + private String idPath; + + @Schema(description = "节点类型,分类|大类", example = "1") + private String nodeType; + + @Schema(description = "是否叶子节点") + private String leafFlag; + + @Schema(description = "名称", example = "王五") + private String name; + + @Schema(description = "其他配置") + private String customConfig; + + @Schema(description = "自定义表单") + private String customForm; + + @Schema(description = "扩展数据值") + private String customData; + + @Schema(description = "标签") + private String tag; + + @Schema(description = "标签模板") + private String labelTemplateKey; + + @Schema(description = "型号") + private String modelNo; + + @Schema(description = "规格") + private String specification; + + @Schema(description = "技术指标") + private String parameter; + + @Schema(description = "设备用途") + private String deviceUse; + + @Schema(description = "制造国家") + private String manufacturerNation; + + @Schema(description = "制造商") + private String manufacturer; + + @Schema(description = "排序码") + private Integer sortNo; + + @Schema(description = "禁用标识") + private String cancelFlag; + + @Schema(description = "所属部门") + private String systemDepartmentCode; + + @Schema(description = "备注") + private String remark; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "数据采集设备类型") + private String collectDeviceType; +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/controller/vo/DeviceProductRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/controller/vo/DeviceProductRespVO.java new file mode 100644 index 0000000..1b8baec --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/controller/vo/DeviceProductRespVO.java @@ -0,0 +1,106 @@ +package com.zt.plat.module.qms.resource.device.controller.vo; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.time.LocalDateTime; + +@Schema(description = "管理后台 - 设备-设备大类 Response VO") +@Data +@ExcelIgnoreUnannotated +public class DeviceProductRespVO { + + @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "2648") + @ExcelProperty("主键") + private Long id; + + @Schema(description = "父ID", example = "5458") + @ExcelProperty("父ID") + private Long parentId; + + @Schema(description = "id路径") + @ExcelProperty("id路径") + private String idPath; + + @Schema(description = "节点类型,分类|大类", example = "1") + @ExcelProperty("节点类型,分类|大类") + private String nodeType; + + @Schema(description = "是否叶子节点") + @ExcelProperty("是否叶子节点") + private String leafFlag; + + @Schema(description = "名称", example = "王五") + @ExcelProperty("名称") + private String name; + + @Schema(description = "其他配置") + @ExcelProperty("其他配置") + private String customConfig; + + @Schema(description = "自定义表单") + @ExcelProperty("自定义表单") + private String customForm; + + @Schema(description = "扩展数据值") + @ExcelProperty("扩展数据值") + private String customData; + + @Schema(description = "标签") + @ExcelProperty("标签") + private String tag; + + @Schema(description = "标签模板") + @ExcelProperty("标签模板") + private String labelTemplateKey; + + @Schema(description = "型号") + @ExcelProperty("型号") + private String modelNo; + + @Schema(description = "规格") + @ExcelProperty("规格") + private String specification; + + @Schema(description = "技术指标") + @ExcelProperty("技术指标") + private String parameter; + + @Schema(description = "设备用途") + @ExcelProperty("设备用途") + private String deviceUse; + + @Schema(description = "制造国家") + @ExcelProperty("制造国家") + private String manufacturerNation; + + @Schema(description = "制造商") + @ExcelProperty("制造商") + private String manufacturer; + + @Schema(description = "排序码") + @ExcelProperty("排序码") + private Integer sortNo; + + @Schema(description = "禁用标识") + @ExcelProperty("禁用标识") + private String cancelFlag; + + @Schema(description = "所属部门") + @ExcelProperty("所属部门") + private String systemDepartmentCode; + + @Schema(description = "备注") + @ExcelProperty("备注") + private String remark; + + @Schema(description = "创建时间") + @ExcelProperty("创建时间") + private LocalDateTime createTime; + + @Schema(description = "数据采集设备类型") + @ExcelProperty("数据采集设备类型") + private String collectDeviceType; +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/controller/vo/DeviceProductSaveReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/controller/vo/DeviceProductSaveReqVO.java new file mode 100644 index 0000000..98562a2 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/controller/vo/DeviceProductSaveReqVO.java @@ -0,0 +1,75 @@ +package com.zt.plat.module.qms.resource.device.controller.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Schema(description = "管理后台 - 设备-设备大类新增/修改 Request VO") +@Data +public class DeviceProductSaveReqVO { + + @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "2648") + private Long id; + + @Schema(description = "父ID", example = "5458") + private Long parentId; + + @Schema(description = "id路径") + private String idPath; + + @Schema(description = "节点类型,分类|大类", example = "1") + private String nodeType; + + @Schema(description = "是否叶子节点") + private String leafFlag; + + @Schema(description = "名称", example = "王五") + private String name; + + @Schema(description = "其他配置") + private String customConfig; + + @Schema(description = "自定义表单") + private String customForm; + + @Schema(description = "扩展数据值") + private String customData; + + @Schema(description = "标签") + private String tag; + + @Schema(description = "标签模板") + private String labelTemplateKey; + + @Schema(description = "型号") + private String modelNo; + + @Schema(description = "规格") + private String specification; + + @Schema(description = "技术指标") + private String parameter; + + @Schema(description = "设备用途") + private String deviceUse; + + @Schema(description = "制造国家") + private String manufacturerNation; + + @Schema(description = "制造商") + private String manufacturer; + + @Schema(description = "排序码") + private Integer sortNo; + + @Schema(description = "禁用标识") + private String cancelFlag; + + @Schema(description = "所属部门") + private String systemDepartmentCode; + + @Schema(description = "备注") + private String remark; + + @Schema(description = "数据采集设备类型") + private String collectDeviceType; +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/dal/dataobject/DeviceInfomationDO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/dal/dataobject/DeviceInfomationDO.java new file mode 100644 index 0000000..8c5895c --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/dal/dataobject/DeviceInfomationDO.java @@ -0,0 +1,218 @@ +package com.zt.plat.module.qms.resource.device.dal.dataobject; + +import com.zt.plat.framework.mybatis.core.dataobject.BusinessBaseDO; +import com.baomidou.mybatisplus.annotation.*; +import lombok.*; + +import java.math.BigDecimal; +import java.time.LocalDateTime; +import java.util.Date; + +/** +* 设备-设备信息 DO +* +* @author 后台管理 +*/ +@TableName("t_dev_inf") +@KeySequence("t_dev_inf_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +/** +* 支持业务基类继承:isBusiness=true 时继承 BusinessBaseDO,否则继承 BaseDO +*/ +public class DeviceInfomationDO extends BusinessBaseDO { + + + + /** + * 主键 + */ + @TableId(type = IdType.ASSIGN_ID) + private Long id; + /** + * 设备大类id + */ + @TableField("PDT_ID") + private Long productId; + /** + * 设备名称 + */ + @TableField("PDT_NAME") + private String productName; + /** + * 别名 + */ + @TableField("ALS") + private String alias; + /** + * 设备状态 + */ + @TableField("DEV_STS") + private String deviceStatus; + /** + * 维修状态 + */ + @TableField("RPR_FLG") + private String repairFlag; + /** + * 降级状态 + */ + @TableField("DMOT_FLG") + private String demoteFlag; + /** + * 报废状态 + */ + @TableField("SCR_FLG") + private String scrapFlag; + /** + * 停用状态 + */ + @TableField("DSBL_FLG") + private String disableFlag; + /** + * 验收状态 + */ + @TableField("ACPT_FLG") + private String acceptanceFlag; + /** + * 外借状态 + */ + @TableField("LND_FLG") + private String lendFlag; + /** + * 使用中状态 + */ + @TableField("IN_USE_FLG") + private String inUseFlag; + /** + * 等级分类 + */ + @TableField("GRD_CTGR") + private String gradeCategory; + /** + * 数量 + */ + @TableField("DEV_NUM") + private String deviceNumber; + /** + * 管理编号 + */ + @TableField("DEV_CD") + private String deviceCode; + /** + * 资产编号 + */ + @TableField("AST_CD") + private String assetCode; + /** + * 出厂编号 + */ + @TableField("FACT_CD") + private String factoryCode; + /** + * 存放位置 + */ + @TableField("POS") + private String position; + /** + * 购入价格 + */ + @TableField("PRCH_PRC") + private BigDecimal purchasePrice; + /** + * 采购时间 + */ + @TableField("PRCH_DT") + private LocalDateTime purchaseDate; + /** + * 生产时间 + */ + @TableField("PDTV_DT") + private LocalDateTime productiveDate; + /** + * 安装日期 + */ + @TableField("DPLY_DT") + private LocalDateTime deployDate; + /** + * 安装工程师 + */ + @TableField("DPLY_ENGR") + private String deployEngineer; + /** + * 安装位置 + */ + @TableField("DPLY_LOC") + private String deployLocation; + /** + * 验收人员id + */ + @TableField("ACPT_USER_ID") + private String acceptanceUserId; + /** + * 验收人员 + */ + @TableField("ACPT_USER_NAME") + private String acceptanceUserName; + /** + * 负责人ID + */ + @TableField("MNGR_USER_ID") + private String managerUserId; + /** + * 负责人 + */ + @TableField("MNGR_USER_NAME") + private String managerUserName; + /** + * 自定义表单数据 + */ + @TableField("CST_FORM_DAT") + private String customFormData; + /** + * 设备图片 + */ + @TableField("PHTO") + private String photo; + /** + * 技术指标 + */ + @TableField("DEV_PRM") + private String deviceParameter; + /** + * 状态(显示) + */ + @TableField("STA_SHW") + private String stateShow; + /** + * 状态栈 + */ + @TableField("STA_STK") + private String stateStack; + /** + * 所属部门 + */ + @TableField("SYS_DEPT_CD") + private String systemDepartmentCode; + /** + * 备注 + */ + @TableField("RMK") + private String remark; + + @TableField("IS_CONN") + private String isConnect; + + @TableField("LST_CONN_TM") + private LocalDateTime lastConnectTime; + + @TableField("COLT_DEV_TP") + private String collectDeviceType; + + + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/dal/dataobject/DeviceProductDO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/dal/dataobject/DeviceProductDO.java new file mode 100644 index 0000000..b88f063 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/dal/dataobject/DeviceProductDO.java @@ -0,0 +1,136 @@ +package com.zt.plat.module.qms.resource.device.dal.dataobject; + +import com.zt.plat.framework.mybatis.core.dataobject.BusinessBaseDO; +import com.baomidou.mybatisplus.annotation.*; +import lombok.*; +/** +* 设备-设备大类 DO +* +* @author 后台管理 +*/ +@TableName("t_dev_pdt") +@KeySequence("t_dev_pdt_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +/** +* 支持业务基类继承:isBusiness=true 时继承 BusinessBaseDO,否则继承 BaseDO +*/ +public class DeviceProductDO extends BusinessBaseDO { + + + + /** + * 主键 + */ + @TableId(type = IdType.ASSIGN_ID) + private Long id; + /** + * 父ID + */ + @TableField("PRN_ID") + private Long parentId; + /** + * id路径 + */ + @TableField("ID_PATH") + private String idPath; + /** + * 节点类型,分类|大类 + */ + @TableField("NDE_TP") + private String nodeType; + /** + * 是否叶子节点 + */ + @TableField("LEAF_FLG") + private String leafFlag; + /** + * 名称 + */ + @TableField("NAME") + private String name; + /** + * 其他配置 + */ + @TableField("CST_CFG") + private String customConfig; + /** + * 自定义表单 + */ + @TableField("CST_FORM") + private String customForm; + /** + * 扩展数据值 + */ + @TableField("CST_DAT") + private String customData; + /** + * 标签 + */ + @TableField("TAG") + private String tag; + /** + * 标签模板 + */ + @TableField("LBL_TMPL_KY") + private String labelTemplateKey; + /** + * 型号 + */ + @TableField("MDL_NO") + private String modelNo; + /** + * 规格 + */ + @TableField("SPEC") + private String specification; + /** + * 技术指标 + */ + @TableField("PRM") + private String parameter; + /** + * 设备用途 + */ + @TableField("DEV_USE") + private String deviceUse; + /** + * 制造国家 + */ + @TableField("MFR_NTN") + private String manufacturerNation; + /** + * 制造商 + */ + @TableField("MFR") + private String manufacturer; + /** + * 排序码 + */ + @TableField("SRT_NO") + private Integer sortNo; + /** + * 禁用标识 + */ + @TableField("CNL_FLG") + private String cancelFlag; + /** + * 所属部门 + */ + @TableField("SYS_DEPT_CD") + private String systemDepartmentCode; + /** + * 备注 + */ + @TableField("RMK") + private String remark; + + @TableField("COLT_DEV_TP") + private String collectDeviceType; + + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/dal/mapper/DeviceInfomationMapper.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/dal/mapper/DeviceInfomationMapper.java new file mode 100644 index 0000000..b67c198 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/dal/mapper/DeviceInfomationMapper.java @@ -0,0 +1,59 @@ +package com.zt.plat.module.qms.resource.device.dal.mapper; + +import com.zt.plat.framework.common.pojo.PageResult; +import com.zt.plat.framework.mybatis.core.mapper.BaseMapperX; +import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX; +import com.zt.plat.module.qms.resource.device.controller.vo.DeviceInfomationPageReqVO; +import com.zt.plat.module.qms.resource.device.dal.dataobject.DeviceInfomationDO; +import org.apache.ibatis.annotations.Mapper; + +/** + * 设备-设备信息 Mapper + * + * @author 后台管理 + */ +@Mapper +public interface DeviceInfomationMapper extends BaseMapperX { + + default PageResult selectPage(DeviceInfomationPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(DeviceInfomationDO::getProductId, reqVO.getProductId()) + .inIfPresent(DeviceInfomationDO::getProductId, reqVO.getProductIds()) + .likeIfPresent(DeviceInfomationDO::getProductName, reqVO.getProductName()) + .eqIfPresent(DeviceInfomationDO::getAlias, reqVO.getAlias()) + .eqIfPresent(DeviceInfomationDO::getDeviceStatus, reqVO.getDeviceStatus()) + .eqIfPresent(DeviceInfomationDO::getRepairFlag, reqVO.getRepairFlag()) + .eqIfPresent(DeviceInfomationDO::getDemoteFlag, reqVO.getDemoteFlag()) + .eqIfPresent(DeviceInfomationDO::getScrapFlag, reqVO.getScrapFlag()) + .eqIfPresent(DeviceInfomationDO::getDisableFlag, reqVO.getDisableFlag()) + .eqIfPresent(DeviceInfomationDO::getAcceptanceFlag, reqVO.getAcceptanceFlag()) + .eqIfPresent(DeviceInfomationDO::getLendFlag, reqVO.getLendFlag()) + .eqIfPresent(DeviceInfomationDO::getInUseFlag, reqVO.getInUseFlag()) + .eqIfPresent(DeviceInfomationDO::getGradeCategory, reqVO.getGradeCategory()) + .eqIfPresent(DeviceInfomationDO::getDeviceNumber, reqVO.getDeviceNumber()) + .eqIfPresent(DeviceInfomationDO::getDeviceCode, reqVO.getDeviceCode()) + .eqIfPresent(DeviceInfomationDO::getAssetCode, reqVO.getAssetCode()) + .eqIfPresent(DeviceInfomationDO::getFactoryCode, reqVO.getFactoryCode()) + .eqIfPresent(DeviceInfomationDO::getPosition, reqVO.getPosition()) + .eqIfPresent(DeviceInfomationDO::getPurchasePrice, reqVO.getPurchasePrice()) + .betweenIfPresent(DeviceInfomationDO::getPurchaseDate, reqVO.getPurchaseDate()) + .betweenIfPresent(DeviceInfomationDO::getProductiveDate, reqVO.getProductiveDate()) + .betweenIfPresent(DeviceInfomationDO::getDeployDate, reqVO.getDeployDate()) + .eqIfPresent(DeviceInfomationDO::getDeployEngineer, reqVO.getDeployEngineer()) + .eqIfPresent(DeviceInfomationDO::getDeployLocation, reqVO.getDeployLocation()) + .eqIfPresent(DeviceInfomationDO::getAcceptanceUserId, reqVO.getAcceptanceUserId()) + .likeIfPresent(DeviceInfomationDO::getAcceptanceUserName, reqVO.getAcceptanceUserName()) + .eqIfPresent(DeviceInfomationDO::getManagerUserId, reqVO.getManagerUserId()) + .likeIfPresent(DeviceInfomationDO::getManagerUserName, reqVO.getManagerUserName()) + .eqIfPresent(DeviceInfomationDO::getCustomFormData, reqVO.getCustomFormData()) + .eqIfPresent(DeviceInfomationDO::getPhoto, reqVO.getPhoto()) + .eqIfPresent(DeviceInfomationDO::getDeviceParameter, reqVO.getDeviceParameter()) + .eqIfPresent(DeviceInfomationDO::getStateShow, reqVO.getStateShow()) + .eqIfPresent(DeviceInfomationDO::getStateStack, reqVO.getStateStack()) + .eqIfPresent(DeviceInfomationDO::getSystemDepartmentCode, reqVO.getSystemDepartmentCode()) + .eqIfPresent(DeviceInfomationDO::getRemark, reqVO.getRemark()) + .betweenIfPresent(DeviceInfomationDO::getCreateTime, reqVO.getCreateTime()) + .orderByDesc(DeviceInfomationDO::getId)); + } + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/dal/mapper/DeviceProductMapper.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/dal/mapper/DeviceProductMapper.java new file mode 100644 index 0000000..fd64a7c --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/dal/mapper/DeviceProductMapper.java @@ -0,0 +1,45 @@ +package com.zt.plat.module.qms.resource.device.dal.mapper; + +import com.zt.plat.framework.common.pojo.PageResult; +import com.zt.plat.framework.mybatis.core.mapper.BaseMapperX; +import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX; +import com.zt.plat.module.qms.resource.device.controller.vo.*; +import com.zt.plat.module.qms.resource.device.controller.vo.DeviceProductPageReqVO; +import com.zt.plat.module.qms.resource.device.dal.dataobject.DeviceProductDO; +import org.apache.ibatis.annotations.Mapper; + +/** + * 设备-设备大类 Mapper + * + * @author 后台管理 + */ +@Mapper +public interface DeviceProductMapper extends BaseMapperX { + + default PageResult selectPage(DeviceProductPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(DeviceProductDO::getParentId, reqVO.getParentId()) + .likeIfPresent(DeviceProductDO::getIdPath, reqVO.getIdPath()) + .eqIfPresent(DeviceProductDO::getNodeType, reqVO.getNodeType()) + .eqIfPresent(DeviceProductDO::getLeafFlag, reqVO.getLeafFlag()) + .likeIfPresent(DeviceProductDO::getName, reqVO.getName()) + .eqIfPresent(DeviceProductDO::getCustomConfig, reqVO.getCustomConfig()) + .eqIfPresent(DeviceProductDO::getCustomForm, reqVO.getCustomForm()) + .eqIfPresent(DeviceProductDO::getCustomData, reqVO.getCustomData()) + .eqIfPresent(DeviceProductDO::getTag, reqVO.getTag()) + .eqIfPresent(DeviceProductDO::getLabelTemplateKey, reqVO.getLabelTemplateKey()) + .eqIfPresent(DeviceProductDO::getModelNo, reqVO.getModelNo()) + .eqIfPresent(DeviceProductDO::getSpecification, reqVO.getSpecification()) + .eqIfPresent(DeviceProductDO::getParameter, reqVO.getParameter()) + .eqIfPresent(DeviceProductDO::getDeviceUse, reqVO.getDeviceUse()) + .eqIfPresent(DeviceProductDO::getManufacturerNation, reqVO.getManufacturerNation()) + .eqIfPresent(DeviceProductDO::getManufacturer, reqVO.getManufacturer()) + .eqIfPresent(DeviceProductDO::getSortNo, reqVO.getSortNo()) + .eqIfPresent(DeviceProductDO::getCancelFlag, reqVO.getCancelFlag()) + .eqIfPresent(DeviceProductDO::getSystemDepartmentCode, reqVO.getSystemDepartmentCode()) + .eqIfPresent(DeviceProductDO::getRemark, reqVO.getRemark()) + .betweenIfPresent(DeviceProductDO::getCreateTime, reqVO.getCreateTime()) + .orderByDesc(DeviceProductDO::getId)); + } + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/service/DeviceInfomationService.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/service/DeviceInfomationService.java new file mode 100644 index 0000000..5adbbf7 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/service/DeviceInfomationService.java @@ -0,0 +1,65 @@ +package com.zt.plat.module.qms.resource.device.service; + +import com.zt.plat.framework.common.pojo.PageResult; +import com.zt.plat.module.qms.resource.device.controller.vo.DeviceInfomationPageReqVO; +import com.zt.plat.module.qms.resource.device.controller.vo.DeviceInfomationRespVO; +import com.zt.plat.module.qms.resource.device.controller.vo.DeviceInfomationSaveReqVO; +import com.zt.plat.module.qms.resource.device.dal.dataobject.DeviceInfomationDO; +import jakarta.validation.Valid; + +import java.util.List; + +/** + * 设备-设备信息 Service 接口 + * + * @author 后台管理 + */ +public interface DeviceInfomationService { + + /** + * 创建设备-设备信息 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + DeviceInfomationRespVO createDeviceInfomation(@Valid DeviceInfomationSaveReqVO createReqVO); + + /** + * 更新设备-设备信息 + * + * @param updateReqVO 更新信息 + */ + void updateDeviceInfomation(@Valid DeviceInfomationSaveReqVO updateReqVO); + void updateDeviceInfomation(DeviceInfomationDO entity); + + /** + * 删除设备-设备信息 + * + * @param id 编号 + */ + void deleteDeviceInfomation(Long id); + + /** + * 批量删除设备-设备信息 + * + * @param ids 编号 + */ + void deleteDeviceInfomationListByIds(List ids); + + /** + * 获得设备-设备信息 + * + * @param id 编号 + * @return 设备-设备信息 + */ + DeviceInfomationDO getDeviceInfomation(Long id); + + /** + * 获得设备-设备信息分页 + * + * @param pageReqVO 分页查询 + * @return 设备-设备信息分页 + */ + PageResult getDeviceInfomationPage(DeviceInfomationPageReqVO pageReqVO); + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/service/DeviceInfomationServiceImpl.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/service/DeviceInfomationServiceImpl.java new file mode 100644 index 0000000..eb8da8e --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/service/DeviceInfomationServiceImpl.java @@ -0,0 +1,95 @@ +package com.zt.plat.module.qms.resource.device.service; + +import cn.hutool.core.collection.CollUtil; +import com.zt.plat.framework.common.pojo.PageResult; +import com.zt.plat.framework.common.util.object.BeanUtils; +import com.zt.plat.module.qms.resource.device.controller.vo.DeviceInfomationPageReqVO; +import com.zt.plat.module.qms.resource.device.controller.vo.DeviceInfomationRespVO; +import com.zt.plat.module.qms.resource.device.controller.vo.DeviceInfomationSaveReqVO; +import com.zt.plat.module.qms.resource.device.dal.dataobject.DeviceInfomationDO; +import com.zt.plat.module.qms.resource.device.dal.mapper.DeviceInfomationMapper; +import jakarta.annotation.Resource; +import org.springframework.stereotype.Service; +import org.springframework.validation.annotation.Validated; + +import java.util.List; + +import static com.zt.plat.framework.common.exception.util.ServiceExceptionUtil.exception; +import static com.zt.plat.module.qms.enums.ErrorCodeConstants.DEVICE_INFOMATION_NOT_EXISTS; + + +/** + * 设备-设备信息 Service 实现类 + * + * @author 后台管理 + */ +@Service +@Validated +public class DeviceInfomationServiceImpl implements DeviceInfomationService { + + @Resource + private DeviceInfomationMapper deviceInfomationMapper; + + @Override + public DeviceInfomationRespVO createDeviceInfomation(DeviceInfomationSaveReqVO createReqVO) { + // 插入 + DeviceInfomationDO deviceInfomation = BeanUtils.toBean(createReqVO, DeviceInfomationDO.class); + deviceInfomationMapper.insert(deviceInfomation); + // 返回 + return BeanUtils.toBean(deviceInfomation, DeviceInfomationRespVO.class); + } + + @Override + public void updateDeviceInfomation(DeviceInfomationSaveReqVO updateReqVO) { + // 校验存在 + validateDeviceInfomationExists(updateReqVO.getId()); + // 更新 + DeviceInfomationDO updateObj = BeanUtils.toBean(updateReqVO, DeviceInfomationDO.class); + deviceInfomationMapper.updateById(updateObj); + } + + @Override + public void updateDeviceInfomation(DeviceInfomationDO entity) { + deviceInfomationMapper.updateById(entity); + } + + @Override + public void deleteDeviceInfomation(Long id) { + // 校验存在 + validateDeviceInfomationExists(id); + // 删除 + deviceInfomationMapper.deleteById(id); + } + + @Override + public void deleteDeviceInfomationListByIds(List ids) { + // 校验存在 + validateDeviceInfomationExists(ids); + // 删除 + deviceInfomationMapper.deleteByIds(ids); + } + + private void validateDeviceInfomationExists(List ids) { + List list = deviceInfomationMapper.selectByIds(ids); + if (CollUtil.isEmpty(list) || list.size() != ids.size()) { + throw exception(DEVICE_INFOMATION_NOT_EXISTS); + } + } + + private void validateDeviceInfomationExists(Long id) { + if (deviceInfomationMapper.selectById(id) == null) { + throw exception(DEVICE_INFOMATION_NOT_EXISTS); + } + } + + @Override + public DeviceInfomationDO getDeviceInfomation(Long id) { + return deviceInfomationMapper.selectById(id); + } + + @Override + public PageResult getDeviceInfomationPage(DeviceInfomationPageReqVO pageReqVO) { + return deviceInfomationMapper.selectPage(pageReqVO); + } + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/service/DeviceProductService.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/service/DeviceProductService.java new file mode 100644 index 0000000..6f716b5 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/service/DeviceProductService.java @@ -0,0 +1,79 @@ +package com.zt.plat.module.qms.resource.device.service; + +import com.zt.plat.framework.common.pojo.CommonResult; +import com.zt.plat.framework.common.pojo.PageResult; +import com.zt.plat.module.qms.resource.device.controller.vo.DeviceProductPageReqVO; +import com.zt.plat.module.qms.resource.device.controller.vo.DeviceProductRespVO; +import com.zt.plat.module.qms.resource.device.controller.vo.DeviceProductSaveReqVO; +import com.zt.plat.module.qms.resource.device.dal.dataobject.DeviceProductDO; +import jakarta.validation.Valid; + +import java.util.List; + +/** + * 设备-设备大类 Service 接口 + * + * @author 后台管理 + */ +public interface DeviceProductService { + + //保存分类 + CommonResult saveCategory(@Valid DeviceProductSaveReqVO createReqVO); + + //保存数据 + CommonResult saveData(@Valid DeviceProductSaveReqVO createReqVO); + + /*获取分类树数据*/ + List getTreeData(String nodeType); + + List listByIdPath(Long id, String nodeType); + List listByParId(Long parId, String nodeType); + + CommonResult updateAllIdPath(Long parentId, Integer level); + + /** + * 创建设备-设备大类 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + DeviceProductRespVO createDeviceProduct(@Valid DeviceProductSaveReqVO createReqVO); + + /** + * 更新设备-设备大类 + * + * @param updateReqVO 更新信息 + */ + void updateDeviceProduct(@Valid DeviceProductSaveReqVO updateReqVO); + + /** + * 删除设备-设备大类 + * + * @param id 编号 + */ + void deleteDeviceProduct(Long id); + + /** + * 批量删除设备-设备大类 + * + * @param ids 编号 + */ + void deleteDeviceProductListByIds(List ids); + + /** + * 获得设备-设备大类 + * + * @param id 编号 + * @return 设备-设备大类 + */ + DeviceProductDO getDeviceProduct(Long id); + + /** + * 获得设备-设备大类分页 + * + * @param pageReqVO 分页查询 + * @return 设备-设备大类分页 + */ + PageResult getDeviceProductPage(DeviceProductPageReqVO pageReqVO); + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/service/DeviceProductServiceImpl.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/service/DeviceProductServiceImpl.java new file mode 100644 index 0000000..01d5dbe --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/service/DeviceProductServiceImpl.java @@ -0,0 +1,217 @@ +package com.zt.plat.module.qms.resource.device.service; + +import cn.hutool.core.collection.CollUtil; +import com.zt.plat.framework.common.exception.ServiceException; +import com.zt.plat.framework.common.pojo.CommonResult; +import com.zt.plat.framework.common.pojo.PageResult; +import com.zt.plat.framework.common.util.object.BeanUtils; +import com.zt.plat.module.qms.core.constant.DataTypeConstant; +import com.zt.plat.module.qms.enums.ErrorCodeConstants; +import com.zt.plat.module.qms.resource.device.controller.vo.*; +import com.zt.plat.module.qms.resource.device.controller.vo.DeviceProductPageReqVO; +import com.zt.plat.module.qms.resource.device.controller.vo.DeviceProductRespVO; +import com.zt.plat.module.qms.resource.device.controller.vo.DeviceProductSaveReqVO; +import com.zt.plat.module.qms.resource.device.dal.dataobject.DeviceProductDO; +import com.zt.plat.module.qms.resource.device.dal.mapper.DeviceProductMapper; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import jakarta.annotation.Resource; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.ObjectUtils; +import org.springframework.validation.annotation.Validated; + +import java.util.List; + +import static com.zt.plat.framework.common.exception.util.ServiceExceptionUtil.exception; +import static com.zt.plat.module.qms.enums.ErrorCodeConstants.*; + +/** + * 设备-设备大类 Service 实现类 + * + * @author 后台管理 + */ +@Service +@Validated +public class DeviceProductServiceImpl implements DeviceProductService { + + private int id_path_update_level_limit = 7; + + @Resource + private DeviceProductMapper deviceProductMapper; + + @Override + @Transactional(rollbackFor = Exception.class) + public CommonResult saveCategory(DeviceProductSaveReqVO entity) { + if(entity.getParentId() == null || entity.getParentId() == 0L) + entity.setParentId(0L); + Long parentId = entity.getParentId(); + List checkList = listByParId(parentId, DataTypeConstant.DATA_TYPE_CATEGORY); + boolean duplicate = false; + DeviceProductDO duplicateEntity = checkList.stream().filter(e->e.getName().equals(entity.getName())).findFirst().orElse(null); + if(duplicateEntity != null && !duplicateEntity.getId().equals(entity.getId())) + duplicate = true; + if(duplicate) + throw exception(ErrorCodeConstants.DICTIONARY_BUSINESS_CLASSIFY_DUPLICATE); + entity.setNodeType(DataTypeConstant.DATA_TYPE_CATEGORY); + Long id = entity.getId(); + DeviceProductDO dic = BeanUtils.toBean(entity, DeviceProductDO.class); + if(ObjectUtils.isEmpty(id)){ + deviceProductMapper.insert(dic); + id = dic.getId(); + } + DeviceProductDO backData = this.getDeviceProduct(id); + Long parentId_ = backData.getParentId(); + //检查parId,避免父节点设置为本节点的后代节点 + if(parentId_.equals(id)) + throw new ServiceException(ErrorCodeConstants.DATA_COLLECTION_CLASSIFY_PARENT_ERROR); + String idPath = getIdPath(dic); + int curIdIndex = idPath.indexOf("/" + id.toString() + "/"); + int parIdIndex = idPath.indexOf("/" + parentId.toString() + "/"); + if(curIdIndex <= parIdIndex) + throw new ServiceException(ErrorCodeConstants.DATA_COLLECTION_CLASSIFY_PARENT_ERROR); + dic.setIdPath(idPath); + + //更新后代节点路径 + updateAllIdPath(id, 1); + deviceProductMapper.updateById(dic); + return CommonResult.success(BeanUtils.toBean(dic, DeviceProductRespVO.class)); + } + + @Override + public CommonResult saveData(DeviceProductSaveReqVO createReqVO) { + Long id = createReqVO.getId(); + DeviceProductDO entity = BeanUtils.toBean(createReqVO, DeviceProductDO.class); + entity.setNodeType(DataTypeConstant.DATA_TYPE_DATA); + Long parentId = createReqVO.getParentId(); + if(id == null){ + deviceProductMapper.insert(entity); + }else{ + deviceProductMapper.updateById(entity); + } + if(parentId != null && parentId != 0L){ + DeviceProductDO parEntity = this.getDeviceProduct(parentId); + String parPath = parEntity.getIdPath(); + entity.setIdPath(parPath + "/" + entity.getId() + "/"); + deviceProductMapper.updateById(entity); + } + DeviceProductRespVO vo = BeanUtils.toBean(entity, DeviceProductRespVO.class); + return CommonResult.success( vo); + } + + @Override + public List listByIdPath(Long id, String nodeType) { + LambdaQueryWrapper query = new LambdaQueryWrapper<>(); + query.like(DeviceProductDO::getIdPath, id); + if(!ObjectUtils.isEmpty(nodeType)) + query.eq(DeviceProductDO::getNodeType, nodeType); + query.orderByAsc(DeviceProductDO::getSortNo); + return deviceProductMapper.selectList(query); + } + + @Override + public List listByParId(Long parId, String nodeType) { + LambdaQueryWrapper query = new LambdaQueryWrapper<>(); + query.eq(DeviceProductDO::getParentId, parId); + if(!ObjectUtils.isEmpty(nodeType)) + query.eq(DeviceProductDO::getNodeType, nodeType); + query.orderByAsc(DeviceProductDO::getSortNo); + return deviceProductMapper.selectList(query); + } + + @Override + public CommonResult updateAllIdPath(Long parentId, Integer level) { + if(level > id_path_update_level_limit) + return CommonResult.success("更新完成(超出层数限制:"+id_path_update_level_limit+")"); + List list = listByParId(parentId, ""); + DeviceProductDO parEntity = this.getDeviceProduct(parentId); + if(list.isEmpty()) + return CommonResult.success(""); + String parIdPath = "/0/"; + if(parEntity != null) + parIdPath = parEntity.getIdPath(); + for(DeviceProductDO entity : list){ + entity.setIdPath(parIdPath + "/" + entity.getId() + "/"); + deviceProductMapper.updateById( entity); + updateAllIdPath(entity.getId(),level+1); + } + return CommonResult.success(""); + } + + @Override + public List getTreeData(String nodeType) { + LambdaQueryWrapper query = new LambdaQueryWrapper<>(); + if(!ObjectUtils.isEmpty(nodeType)) + query.eq(DeviceProductDO::getNodeType, nodeType); + query.orderByAsc(DeviceProductDO::getSortNo); + return deviceProductMapper.selectList(query); + } + + @Override + public DeviceProductRespVO createDeviceProduct(DeviceProductSaveReqVO createReqVO) { + // 插入 + DeviceProductDO deviceProduct = BeanUtils.toBean(createReqVO, DeviceProductDO.class); + deviceProductMapper.insert(deviceProduct); + // 返回 + return BeanUtils.toBean(deviceProduct, DeviceProductRespVO.class); + } + + @Override + public void updateDeviceProduct(DeviceProductSaveReqVO updateReqVO) { + // 校验存在 + validateDeviceProductExists(updateReqVO.getId()); + // 更新 + DeviceProductDO updateObj = BeanUtils.toBean(updateReqVO, DeviceProductDO.class); + deviceProductMapper.updateById(updateObj); + } + + @Override + public void deleteDeviceProduct(Long id) { + // 校验存在 + validateDeviceProductExists(id); + // 删除 + deviceProductMapper.deleteById(id); + } + + @Override + public void deleteDeviceProductListByIds(List ids) { + // 校验存在 + validateDeviceProductExists(ids); + // 删除 + deviceProductMapper.deleteByIds(ids); + } + + private void validateDeviceProductExists(List ids) { + List list = deviceProductMapper.selectByIds(ids); + if (CollUtil.isEmpty(list) || list.size() != ids.size()) { + throw exception(DEVICE_PRODUCT_NOT_EXISTS); + } + } + + private void validateDeviceProductExists(Long id) { + if (deviceProductMapper.selectById(id) == null) { + throw exception(DEVICE_PRODUCT_NOT_EXISTS); + } + } + + @Override + public DeviceProductDO getDeviceProduct(Long id) { + return deviceProductMapper.selectById(id); + } + + @Override + public PageResult getDeviceProductPage(DeviceProductPageReqVO pageReqVO) { + return deviceProductMapper.selectPage(pageReqVO); + } + + private String getIdPath(DeviceProductDO entity){ + String parIdPath = ""; + if(ObjectUtils.isEmpty(entity.getParentId()) || 0L == entity.getParentId()) + parIdPath = "/0/"; + DeviceProductDO parEntity = this.getDeviceProduct(entity.getParentId()); + if(parEntity != null){ + parIdPath = parEntity.getIdPath(); + } + return parIdPath + entity.getId() + "/"; + } + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/controller/admin/MaterialInfomationController.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/controller/admin/MaterialInfomationController.java new file mode 100644 index 0000000..39e61b6 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/controller/admin/MaterialInfomationController.java @@ -0,0 +1,127 @@ +package com.zt.plat.module.qms.resource.material.controller.admin; + +import com.zt.plat.framework.apilog.core.annotation.ApiAccessLog; +import com.zt.plat.framework.business.annotation.FileUploadController; +import com.zt.plat.framework.business.controller.AbstractFileUploadController; +import com.zt.plat.framework.business.interceptor.BusinessControllerMarker; +import com.zt.plat.framework.common.pojo.CommonResult; +import com.zt.plat.framework.common.pojo.PageParam; +import com.zt.plat.framework.common.pojo.PageResult; +import com.zt.plat.framework.common.pojo.vo.BatchDeleteReqVO; +import com.zt.plat.framework.common.util.object.BeanUtils; +import com.zt.plat.framework.excel.core.util.ExcelUtils; +import com.zt.plat.module.qms.core.constant.DataTypeConstant; +import com.zt.plat.module.qms.resource.material.controller.vo.*; +import com.zt.plat.module.qms.resource.material.controller.vo.MaterialInfomationPageReqVO; +import com.zt.plat.module.qms.resource.material.controller.vo.MaterialInfomationRespVO; +import com.zt.plat.module.qms.resource.material.controller.vo.MaterialInfomationSaveReqVO; +import com.zt.plat.module.qms.resource.material.dal.dataobject.MaterialInfomationDO; +import com.zt.plat.module.qms.resource.material.dal.dataobject.MaterialProductDO; +import com.zt.plat.module.qms.resource.material.service.MaterialInfomationService; +import com.zt.plat.module.qms.resource.material.service.MaterialProductService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.annotation.Resource; +import jakarta.servlet.http.HttpServletResponse; +import jakarta.validation.Valid; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.io.IOException; +import java.util.List; + +import static com.zt.plat.framework.apilog.core.enums.OperateTypeEnum.EXPORT; +import static com.zt.plat.framework.common.pojo.CommonResult.success; + +@Tag(name = "管理后台 - 物料实例") +@RestController +@RequestMapping("/qms/resource/material-infomation") +@Validated +@FileUploadController(source = "resource.materialinfomation") +public class MaterialInfomationController extends AbstractFileUploadController implements BusinessControllerMarker{ + + static { + FileUploadController annotation = MaterialInfomationController.class.getAnnotation(FileUploadController.class); + if (annotation != null) { + setFileUploadInfo(annotation); + } + } + + @Resource private MaterialInfomationService materialInfomationService; + @Resource private MaterialProductService materialProductService; + + @PostMapping("/create") + @Operation(summary = "创建物料实例") + @PreAuthorize("@ss.hasPermission('resource:material-infomation:create')") + public CommonResult createMaterialInfomation(@Valid @RequestBody MaterialInfomationSaveReqVO createReqVO) { + return success(materialInfomationService.createMaterialInfomation(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新物料实例") + @PreAuthorize("@ss.hasPermission('resource:material-infomation:update')") + public CommonResult updateMaterialInfomation(@Valid @RequestBody MaterialInfomationSaveReqVO updateReqVO) { + materialInfomationService.updateMaterialInfomation(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除物料实例") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('resource:material-infomation:delete')") + public CommonResult deleteMaterialInfomation(@RequestParam("id") Long id) { + materialInfomationService.deleteMaterialInfomation(id); + return success(true); + } + + @DeleteMapping("/delete-list") + @Parameter(name = "ids", description = "编号", required = true) + @Operation(summary = "批量删除物料实例") + @PreAuthorize("@ss.hasPermission('resource:material-infomation:delete')") + public CommonResult deleteMaterialInfomationList(@RequestBody BatchDeleteReqVO req) { + materialInfomationService.deleteMaterialInfomationListByIds(req.getIds()); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得物料实例") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('resource:material-infomation:query')") + public CommonResult getMaterialInfomation(@RequestParam("id") Long id) { + MaterialInfomationDO materialInfomation = materialInfomationService.getMaterialInfomation(id); + return success(BeanUtils.toBean(materialInfomation, MaterialInfomationRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得物料实例分页") + @PreAuthorize("@ss.hasPermission('resource:material-infomation:query')") + public CommonResult> getMaterialInfomationPage(@Valid MaterialInfomationPageReqVO pageReqVO) { + + Long productId = pageReqVO.getProductId(); + if(productId != null){ + List productDOList = materialProductService.listByIdPath(productId, DataTypeConstant.DATA_TYPE_DATA); + List productIds = productDOList.stream().map(MaterialProductDO::getId).toList(); + pageReqVO.setProductIds(productIds); + pageReqVO.setProductId(null); + } + + PageResult pageResult = materialInfomationService.getMaterialInfomationPage(pageReqVO); + return success(BeanUtils.toBean(pageResult, MaterialInfomationRespVO.class)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出物料实例 Excel") + @PreAuthorize("@ss.hasPermission('resource:material-infomation:export')") + @ApiAccessLog(operateType = EXPORT) + public void exportMaterialInfomationExcel(@Valid MaterialInfomationPageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = materialInfomationService.getMaterialInfomationPage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "物料实例.xls", "数据", MaterialInfomationRespVO.class, + BeanUtils.toBean(list, MaterialInfomationRespVO.class)); + } + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/controller/admin/MaterialProductController.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/controller/admin/MaterialProductController.java new file mode 100644 index 0000000..13bcbab --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/controller/admin/MaterialProductController.java @@ -0,0 +1,142 @@ +package com.zt.plat.module.qms.resource.material.controller.admin; + +import com.zt.plat.framework.apilog.core.annotation.ApiAccessLog; +import com.zt.plat.framework.business.annotation.FileUploadController; +import com.zt.plat.framework.business.controller.AbstractFileUploadController; +import com.zt.plat.framework.business.interceptor.BusinessControllerMarker; +import com.zt.plat.framework.common.pojo.CommonResult; +import com.zt.plat.framework.common.pojo.PageParam; +import com.zt.plat.framework.common.pojo.PageResult; +import com.zt.plat.framework.common.pojo.vo.BatchDeleteReqVO; +import com.zt.plat.framework.common.util.object.BeanUtils; +import com.zt.plat.framework.excel.core.util.ExcelUtils; +import com.zt.plat.module.qms.core.constant.DataTypeConstant; +import com.zt.plat.module.qms.resource.material.controller.vo.*; +import com.zt.plat.module.qms.resource.material.controller.vo.MaterialProductPageReqVO; +import com.zt.plat.module.qms.resource.material.controller.vo.MaterialProductRespVO; +import com.zt.plat.module.qms.resource.material.controller.vo.MaterialProductSaveReqVO; +import com.zt.plat.module.qms.resource.material.dal.dataobject.MaterialProductDO; +import com.zt.plat.module.qms.resource.material.service.MaterialProductService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.annotation.Resource; +import jakarta.servlet.http.HttpServletResponse; +import jakarta.validation.Valid; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.io.IOException; +import java.util.List; + +import static com.zt.plat.framework.apilog.core.enums.OperateTypeEnum.EXPORT; +import static com.zt.plat.framework.common.pojo.CommonResult.success; + +@Tag(name = "管理后台 - 物料大类") +@RestController +@RequestMapping("/qms/resource/material-product") +@Validated +@FileUploadController(source = "resource.materialproduct") +public class MaterialProductController extends AbstractFileUploadController implements BusinessControllerMarker{ + + static { + FileUploadController annotation = MaterialProductController.class.getAnnotation(FileUploadController.class); + if (annotation != null) { + setFileUploadInfo(annotation); + } + } + + @Resource + private MaterialProductService materialProductService; + + @PostMapping("/saveData") + @Operation(summary = "保存数据") + public CommonResult saveData(@Valid @RequestBody MaterialProductSaveReqVO createReqVO) { + return materialProductService.saveData(createReqVO); + } + + @PostMapping("/saveClassify") + @Operation(summary = "保存分类") + public CommonResult saveClassify(@Valid @RequestBody MaterialProductSaveReqVO createReqVO) { + return materialProductService.saveCategory(createReqVO); + } + + @GetMapping("/getTreeData") + @Operation(summary = "查询分类树") + public CommonResult> getTreeData() { + List list = materialProductService.getTreeData(DataTypeConstant.DATA_TYPE_CATEGORY); + return success(BeanUtils.toBean(list, MaterialProductRespVO.class)); + } + + @GetMapping("/getProductTreeData") + @Operation(summary = "获取分类和产品树") + public CommonResult> getProductTreeData() { + List list = materialProductService.getTreeData(""); + return success(BeanUtils.toBean(list, MaterialProductRespVO.class)); + } + + @PostMapping("/create") + @Operation(summary = "创建物料大类") + @PreAuthorize("@ss.hasPermission('resource:material-product:create')") + public CommonResult createMaterialProduct(@Valid @RequestBody MaterialProductSaveReqVO createReqVO) { + return success(materialProductService.createMaterialProduct(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新物料大类") + @PreAuthorize("@ss.hasPermission('resource:material-product:update')") + public CommonResult updateMaterialProduct(@Valid @RequestBody MaterialProductSaveReqVO updateReqVO) { + materialProductService.updateMaterialProduct(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除物料大类") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('resource:material-product:delete')") + public CommonResult deleteMaterialProduct(@RequestParam("id") Long id) { + materialProductService.deleteMaterialProduct(id); + return success(true); + } + + @DeleteMapping("/delete-list") + @Parameter(name = "ids", description = "编号", required = true) + @Operation(summary = "批量删除物料大类") + @PreAuthorize("@ss.hasPermission('resource:material-product:delete')") + public CommonResult deleteMaterialProductList(@RequestBody BatchDeleteReqVO req) { + materialProductService.deleteMaterialProductListByIds(req.getIds()); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得物料大类") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('resource:material-product:query')") + public CommonResult getMaterialProduct(@RequestParam("id") Long id) { + MaterialProductDO materialProduct = materialProductService.getMaterialProduct(id); + return success(BeanUtils.toBean(materialProduct, MaterialProductRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得物料大类分页") + @PreAuthorize("@ss.hasPermission('resource:material-product:query')") + public CommonResult> getMaterialProductPage(@Valid MaterialProductPageReqVO pageReqVO) { + PageResult pageResult = materialProductService.getMaterialProductPage(pageReqVO); + return success(BeanUtils.toBean(pageResult, MaterialProductRespVO.class)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出物料大类 Excel") + @PreAuthorize("@ss.hasPermission('resource:material-product:export')") + @ApiAccessLog(operateType = EXPORT) + public void exportMaterialProductExcel(@Valid MaterialProductPageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = materialProductService.getMaterialProductPage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "物料大类.xls", "数据", MaterialProductRespVO.class, + BeanUtils.toBean(list, MaterialProductRespVO.class)); + } + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/controller/vo/MaterialInfomationPageReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/controller/vo/MaterialInfomationPageReqVO.java new file mode 100644 index 0000000..5ed177c --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/controller/vo/MaterialInfomationPageReqVO.java @@ -0,0 +1,82 @@ +package com.zt.plat.module.qms.resource.material.controller.vo; + +import com.zt.plat.framework.common.pojo.PageParam; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.time.LocalDateTime; +import java.util.List; + +import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 物料实例分页 Request VO") +@Data +public class MaterialInfomationPageReqVO extends PageParam { + + @Schema(description = "物料大类id", example = "23383") + private Long productId; + + @Schema(description = "批次id", example = "30468") + private Long batchId; + + @Schema(description = "存放位置", example = "10632") + private String locationId; + + @Schema(description = "编码") + private String code; + + @Schema(description = "技术参数") + private String parameter; + + @Schema(description = "负责人id", example = "10411") + private Long managerUserId; + + @Schema(description = "负责人", example = "张三") + private String managerUserName; + + @Schema(description = "上架状态,0-未上架;1-已上架,默认0", example = "2") + private String publishStatus; + + @Schema(description = "领用状态", example = "1") + private String usageStatus; + + @Schema(description = "开封状态", example = "1") + private String openStatus; + + @Schema(description = "开封人", example = "李四") + private String openUserName; + + @Schema(description = "开封人id", example = "3244") + private Long openUserId; + + @Schema(description = "开封日期") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] openDate; + + @Schema(description = "到期日期") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] expirationDate; + + @Schema(description = "过期状态") + private String expirationFlag; + + @Schema(description = "剩余量") + private String remainingVolume; + + @Schema(description = "所属部门") + private String systemDepartmentCode; + + @Schema(description = "备注") + private String remark; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + //===================扩展属性============== + @Schema(description = "大类ids") + List productIds; + + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/controller/vo/MaterialInfomationRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/controller/vo/MaterialInfomationRespVO.java new file mode 100644 index 0000000..44f73a6 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/controller/vo/MaterialInfomationRespVO.java @@ -0,0 +1,100 @@ +package com.zt.plat.module.qms.resource.material.controller.vo; + +import com.zt.plat.module.qms.core.aspect.annotation.Dict; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.time.LocalDateTime; + +@Schema(description = "管理后台 - 物料实例 Response VO") +@Data +@ExcelIgnoreUnannotated +public class MaterialInfomationRespVO { + + @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "25067") + @ExcelProperty("主键") + private Long id; + + @Schema(description = "物料大类id", example = "23383") + @ExcelProperty("物料大类id") + private Long productId; + + @Schema(description = "批次id", example = "30468") + @ExcelProperty("批次id") + private Long batchId; + + @Schema(description = "存放位置", example = "10632") + @ExcelProperty("存放位置") + private String locationId; + + @Schema(description = "编码") + @ExcelProperty("编码") + private String code; + + @Schema(description = "技术参数") + @ExcelProperty("技术参数") + private String parameter; + + @Schema(description = "负责人id", example = "10411") + @ExcelProperty("负责人id") + private Long managerUserId; + + @Schema(description = "负责人", example = "张三") + @ExcelProperty("负责人") + private String managerUserName; + + @Schema(description = "上架状态,0-未上架;1-已上架,默认0", example = "2") + @ExcelProperty("上架状态,0-未上架;1-已上架,默认0") + @Dict(dicCode = "yes_or_no") + private String publishStatus; + + @Schema(description = "领用状态", example = "1") + @ExcelProperty("领用状态") + @Dict(dicCode = "yes_or_no") + private String usageStatus; + + @Schema(description = "开封状态", example = "1") + @ExcelProperty("开封状态") + @Dict(dicCode = "yes_or_no") + private String openStatus; + + @Schema(description = "开封人", example = "李四") + @ExcelProperty("开封人") + private String openUserName; + + @Schema(description = "开封人id", example = "3244") + @ExcelProperty("开封人id") + private Long openUserId; + + @Schema(description = "开封日期") + @ExcelProperty("开封日期") + private LocalDateTime openDate; + + @Schema(description = "到期日期") + @ExcelProperty("到期日期") + private LocalDateTime expirationDate; + + @Schema(description = "过期状态") + @ExcelProperty("过期状态") + @Dict(dicCode = "yes_or_no") + private String expirationFlag; + + @Schema(description = "剩余量") + @ExcelProperty("剩余量") + private String remainingVolume; + + @Schema(description = "所属部门") + @ExcelProperty("所属部门") + private String systemDepartmentCode; + + @Schema(description = "备注") + @ExcelProperty("备注") + private String remark; + + @Schema(description = "创建时间") + @ExcelProperty("创建时间") + private LocalDateTime createTime; + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/controller/vo/MaterialInfomationSaveReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/controller/vo/MaterialInfomationSaveReqVO.java new file mode 100644 index 0000000..f2966db --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/controller/vo/MaterialInfomationSaveReqVO.java @@ -0,0 +1,69 @@ +package com.zt.plat.module.qms.resource.material.controller.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.time.LocalDateTime; + +@Schema(description = "管理后台 - 物料实例新增/修改 Request VO") +@Data +public class MaterialInfomationSaveReqVO { + + @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "25067") + private Long id; + + @Schema(description = "物料大类id", example = "23383") + private Long productId; + + @Schema(description = "批次id", example = "30468") + private Long batchId; + + @Schema(description = "存放位置", example = "10632") + private String locationId; + + @Schema(description = "编码") + private String code; + + @Schema(description = "技术参数") + private String parameter; + + @Schema(description = "负责人id", example = "10411") + private Long managerUserId; + + @Schema(description = "负责人", example = "张三") + private String managerUserName; + + @Schema(description = "上架状态,0-未上架;1-已上架,默认0", example = "2") + private String publishStatus; + + @Schema(description = "领用状态", example = "1") + private String usageStatus; + + @Schema(description = "开封状态", example = "1") + private String openStatus; + + @Schema(description = "开封人", example = "李四") + private String openUserName; + + @Schema(description = "开封人id", example = "3244") + private Long openUserId; + + @Schema(description = "开封日期") + private LocalDateTime openDate; + + @Schema(description = "到期日期") + private LocalDateTime expirationDate; + + @Schema(description = "过期状态") + private String expirationFlag; + + @Schema(description = "剩余量") + private String remainingVolume; + + @Schema(description = "所属部门") + private String systemDepartmentCode; + + @Schema(description = "备注") + private String remark; + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/controller/vo/MaterialProductPageReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/controller/vo/MaterialProductPageReqVO.java new file mode 100644 index 0000000..4a901a3 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/controller/vo/MaterialProductPageReqVO.java @@ -0,0 +1,98 @@ +package com.zt.plat.module.qms.resource.material.controller.vo; + +import com.zt.plat.framework.common.pojo.PageParam; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.time.LocalDateTime; + +import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 物料大类分页 Request VO") +@Data +public class MaterialProductPageReqVO extends PageParam { + + @Schema(description = "父id", example = "6098") + private Long parentId; + + @Schema(description = "id路径") + private String idPath; + + @Schema(description = "节点类型,分类|产品", example = "2") + private String nodeType; + + @Schema(description = "名称", example = "张三") + private String name; + + @Schema(description = "其他配置") + private String customConfig; + + @Schema(description = "自定义表单") + private String customForm; + + @Schema(description = "扩展数据") + private String customData; + + @Schema(description = "标签") + private String tag; + + @Schema(description = "标签模板") + private String labelTemplateKey; + + @Schema(description = "型号") + private String modelNo; + + @Schema(description = "规格") + private String specification; + + @Schema(description = "技术参数") + private String parameter; + + @Schema(description = "制造商") + private String manufacturer; + + @Schema(description = "单位") + private String unit; + + @Schema(description = "允许按量领取") + private String enablePartial; + + @Schema(description = "保质期(天)") + private Integer due; + + @Schema(description = "开封后保质期是否变化") + private String openDueFlag; + + @Schema(description = "开封后保质期(天)") + private Integer openDueAfter; + + @Schema(description = "是否危险品") + private String hazardous; + + @Schema(description = "是否标准溶液") + private String standardSolutionFlag; + + @Schema(description = "是否标准物质") + private String standardMaterialFlag; + + @Schema(description = "复标周期,单位:天。小于等于0-不复标") + private Integer reviewDue; + + @Schema(description = "排序号") + private Integer sortNo; + + @Schema(description = "禁用") + private String cancelFlag; + + @Schema(description = "所属部门") + private String systemDepartmentCode; + + @Schema(description = "备注") + private String remark; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/controller/vo/MaterialProductRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/controller/vo/MaterialProductRespVO.java new file mode 100644 index 0000000..dc51e5e --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/controller/vo/MaterialProductRespVO.java @@ -0,0 +1,133 @@ +package com.zt.plat.module.qms.resource.material.controller.vo; + +import com.zt.plat.module.qms.core.aspect.annotation.Dict; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.time.LocalDateTime; + +@Schema(description = "管理后台 - 物料大类 Response VO") +@Data +@ExcelIgnoreUnannotated +public class MaterialProductRespVO { + + @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "32133") + @ExcelProperty("主键") + private Long id; + + @Schema(description = "父id", example = "6098") + @ExcelProperty("父id") + private Long parentId; + + @Schema(description = "id路径") + @ExcelProperty("id路径") + private String idPath; + + @Schema(description = "节点类型,分类|产品", example = "2") + @ExcelProperty("节点类型,分类|产品") + private String nodeType; + + @Schema(description = "名称", example = "张三") + @ExcelProperty("名称") + private String name; + + @Schema(description = "其他配置") + @ExcelProperty("其他配置") + private String customConfig; + + @Schema(description = "自定义表单") + @ExcelProperty("自定义表单") + private String customForm; + + @Schema(description = "扩展数据") + @ExcelProperty("扩展数据") + private String customData; + + @Schema(description = "标签") + @ExcelProperty("标签") + private String tag; + + @Schema(description = "标签模板") + @ExcelProperty("标签模板") + private String labelTemplateKey; + + @Schema(description = "型号") + @ExcelProperty("型号") + private String modelNo; + + @Schema(description = "规格") + @ExcelProperty("规格") + private String specification; + + @Schema(description = "技术参数") + @ExcelProperty("技术参数") + private String parameter; + + @Schema(description = "制造商") + @ExcelProperty("制造商") + private String manufacturer; + + @Schema(description = "单位") + @ExcelProperty("单位") + private String unit; + + @Schema(description = "允许按量领取") + @ExcelProperty("允许按量领取") + @Dict(dicCode = "yes_or_no") + private String enablePartial; + + @Schema(description = "保质期(天)") + @ExcelProperty("保质期(天)") + private Integer due; + + @Schema(description = "开封后保质期是否变化") + @ExcelProperty("开封后保质期是否变化") + @Dict(dicCode = "yes_or_no") + private String openDueFlag; + + @Schema(description = "开封后保质期(天)") + @ExcelProperty("开封后保质期(天)") + private Integer openDueAfter; + + @Schema(description = "是否危险品") + @ExcelProperty("是否危险品") + @Dict(dicCode = "yes_or_no") + private String hazardous; + + @Schema(description = "是否标准溶液") + @ExcelProperty("是否标准溶液") + @Dict(dicCode = "yes_or_no") + private String standardSolutionFlag; + + @Schema(description = "是否标准物质") + @ExcelProperty("是否标准物质") + @Dict(dicCode = "yes_or_no") + private String standardMaterialFlag; + + @Schema(description = "复标周期,单位:天。小于等于0-不复标") + @ExcelProperty("复标周期") + private Integer reviewDue; + + @Schema(description = "排序号") + @ExcelProperty("排序号") + private Integer sortNo; + + @Schema(description = "禁用") + @ExcelProperty("禁用") + private String cancelFlag; + + @Schema(description = "所属部门") + @ExcelProperty("所属部门") + private String systemDepartmentCode; + + @Schema(description = "备注") + @ExcelProperty("备注") + private String remark; + + @Schema(description = "创建时间") + @ExcelProperty("创建时间") + private LocalDateTime createTime; + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/controller/vo/MaterialProductSaveReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/controller/vo/MaterialProductSaveReqVO.java new file mode 100644 index 0000000..12b9244 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/controller/vo/MaterialProductSaveReqVO.java @@ -0,0 +1,91 @@ +package com.zt.plat.module.qms.resource.material.controller.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Schema(description = "管理后台 - 物料大类新增/修改 Request VO") +@Data +public class MaterialProductSaveReqVO { + + @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "32133") + private Long id; + + @Schema(description = "父id", example = "6098") + private Long parentId; + + @Schema(description = "id路径") + private String idPath; + + @Schema(description = "节点类型,分类|产品", example = "2") + private String nodeType; + + @Schema(description = "名称", example = "张三") + private String name; + + @Schema(description = "其他配置") + private String customConfig; + + @Schema(description = "自定义表单") + private String customForm; + + @Schema(description = "扩展数据") + private String customData; + + @Schema(description = "标签") + private String tag; + + @Schema(description = "标签模板") + private String labelTemplateKey; + + @Schema(description = "型号") + private String modelNo; + + @Schema(description = "规格") + private String specification; + + @Schema(description = "技术参数") + private String parameter; + + @Schema(description = "制造商") + private String manufacturer; + + @Schema(description = "单位") + private String unit; + + @Schema(description = "允许按量领取") + private String enablePartial; + + @Schema(description = "保质期(天)") + private Integer due; + + @Schema(description = "开封后保质期是否变化") + private Integer openDueFlag; + + @Schema(description = "开封后保质期(天)") + private Integer openDueAfter; + + @Schema(description = "是否危险品") + private String hazardous; + + @Schema(description = "是否标准溶液") + private String standardSolutionFlag; + + @Schema(description = "是否标准物质") + private String standardMaterialFlag; + + @Schema(description = "复标周期,单位:天。小于等于0-不复标") + private Integer reviewDue; + + @Schema(description = "排序号") + private Integer sortNo; + + @Schema(description = "禁用") + private String cancelFlag; + + @Schema(description = "所属部门") + private String systemDepartmentCode; + + @Schema(description = "备注") + private String remark; + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/dal/dataobject/MaterialInfomationDO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/dal/dataobject/MaterialInfomationDO.java new file mode 100644 index 0000000..279150a --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/dal/dataobject/MaterialInfomationDO.java @@ -0,0 +1,124 @@ +package com.zt.plat.module.qms.resource.material.dal.dataobject; + +import com.zt.plat.framework.mybatis.core.dataobject.BusinessBaseDO; +import com.baomidou.mybatisplus.annotation.*; +import lombok.*; + +import java.time.LocalDateTime; +/** +* 物料实例 DO +* +* @author 后台管理 +*/ +@TableName("t_mtrl_inf") +@KeySequence("t_mtrl_inf_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +/** +* 支持业务基类继承:isBusiness=true 时继承 BusinessBaseDO,否则继承 BaseDO +*/ +public class MaterialInfomationDO extends BusinessBaseDO { + + + + /** + * 主键 + */ + @TableId(type = IdType.ASSIGN_ID) + private Long id; + /** + * 物料大类id + */ + @TableField("PDT_ID") + private Long productId; + /** + * 批次id + */ + @TableField("BAT_ID") + private Long batchId; + /** + * 存放位置 + */ + @TableField("LOC_ID") + private String locationId; + /** + * 编码 + */ + @TableField("CD") + private String code; + /** + * 技术参数 + */ + @TableField("PRM") + private String parameter; + /** + * 负责人id + */ + @TableField("MNGR_USER_ID") + private Long managerUserId; + /** + * 负责人 + */ + @TableField("MNGR_USER_NAME") + private String managerUserName; + /** + * 上架状态,0-未上架;1-已上架,默认0 + */ + @TableField("PUB_STS") + private String publishStatus; + /** + * 领用状态 + */ + @TableField("USG_STS") + private String usageStatus; + /** + * 开封状态 + */ + @TableField("OPN_STS") + private String openStatus; + /** + * 开封人 + */ + @TableField("OPN_USER_NAME") + private String openUserName; + /** + * 开封人id + */ + @TableField("OPN_USER_ID") + private Long openUserId; + /** + * 开封日期 + */ + @TableField("OPN_DT") + private LocalDateTime openDate; + /** + * 到期日期 + */ + @TableField("EXPR_DT") + private LocalDateTime expirationDate; + /** + * 过期状态 + */ + @TableField("EXPR_FLG") + private String expirationFlag; + /** + * 剩余量 + */ + @TableField("RMNG_VOL") + private String remainingVolume; + /** + * 所属部门 + */ + @TableField("SYS_DEPT_CD") + private String systemDepartmentCode; + /** + * 备注 + */ + @TableField("RMK") + private String remark; + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/dal/dataobject/MaterialProductDO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/dal/dataobject/MaterialProductDO.java new file mode 100644 index 0000000..cb76421 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/dal/dataobject/MaterialProductDO.java @@ -0,0 +1,162 @@ +package com.zt.plat.module.qms.resource.material.dal.dataobject; + +import com.zt.plat.framework.mybatis.core.dataobject.BusinessBaseDO; +import com.baomidou.mybatisplus.annotation.*; +import lombok.*; +/** +* 物料大类 DO +* +* @author 后台管理 +*/ +@TableName("t_mtrl_pdt") +@KeySequence("t_mtrl_pdt_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +/** +* 支持业务基类继承:isBusiness=true 时继承 BusinessBaseDO,否则继承 BaseDO +*/ +public class MaterialProductDO extends BusinessBaseDO { + + + + /** + * 主键 + */ + @TableId(type = IdType.ASSIGN_ID) + private Long id; + /** + * 父id + */ + @TableField("PRN_ID") + private Long parentId; + /** + * id路径 + */ + @TableField("ID_PATH") + private String idPath; + /** + * 节点类型,分类|产品 + */ + @TableField("NDE_TP") + private String nodeType; + /** + * 名称 + */ + @TableField("NAME") + private String name; + /** + * 其他配置 + */ + @TableField("CST_CFG") + private String customConfig; + /** + * 自定义表单 + */ + @TableField("CST_FORM") + private String customForm; + /** + * 扩展数据 + */ + @TableField("CST_DAT") + private String customData; + /** + * 标签 + */ + @TableField("TAG") + private String tag; + /** + * 标签模板 + */ + @TableField("LBL_TMPL_KY") + private String labelTemplateKey; + /** + * 型号 + */ + @TableField("MDL_NO") + private String modelNo; + /** + * 规格 + */ + @TableField("SPEC") + private String specification; + /** + * 技术参数 + */ + @TableField("PRM") + private String parameter; + /** + * 制造商 + */ + @TableField("MFR") + private String manufacturer; + /** + * 单位 + */ + @TableField("UNT") + private String unit; + /** + * 允许按量领取,1-领用时输入量,按量领取;0-领用时不能输入量,整个领走 + */ + @TableField("ENB_PRTL") + private String enablePartial; + /** + * 保质期(天) + */ + @TableField("DUE") + private Integer due; + /** + * 开封后保质期是否变化 + */ + @TableField("OPN_DUE_FLG") + private String openDueFlag; + /** + * 开封后保质期(天) + */ + @TableField("OPN_DUE_AFT") + private Integer openDueAfter; + /** + * 是否危险品 + */ + @TableField("HZRD") + private String hazardous; + /** + * 是否标准溶液 + */ + @TableField("STD_SOL_FLG") + private String standardSolutionFlag; + /** + * 是否标准物质 + */ + @TableField("STD_MTRL_FLG") + private String standardMaterialFlag; + /** + * 复标周期,单位:天。小于等于0-不复标 + */ + @TableField("RVW_DUE") + private Integer reviewDue; + /** + * 排序号 + */ + @TableField("SRT_NO") + private Integer sortNo; + /** + * 禁用 + */ + @TableField("CNL_FLG") + private String cancelFlag; + /** + * 所属部门 + */ + @TableField("SYS_DEPT_CD") + private String systemDepartmentCode; + /** + * 备注 + */ + @TableField("RMK") + private String remark; + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/dal/mapper/MaterialInfomationMapper.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/dal/mapper/MaterialInfomationMapper.java new file mode 100644 index 0000000..5549d3c --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/dal/mapper/MaterialInfomationMapper.java @@ -0,0 +1,44 @@ +package com.zt.plat.module.qms.resource.material.dal.mapper; + +import com.zt.plat.framework.common.pojo.PageResult; +import com.zt.plat.framework.mybatis.core.mapper.BaseMapperX; +import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX; +import com.zt.plat.module.qms.resource.material.controller.vo.*; +import com.zt.plat.module.qms.resource.material.controller.vo.MaterialInfomationPageReqVO; +import com.zt.plat.module.qms.resource.material.dal.dataobject.MaterialInfomationDO; +import org.apache.ibatis.annotations.Mapper; + +/** + * 物料实例 Mapper + * + * @author 后台管理 + */ +@Mapper +public interface MaterialInfomationMapper extends BaseMapperX { + + default PageResult selectPage(MaterialInfomationPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(MaterialInfomationDO::getProductId, reqVO.getProductId()) + .inIfPresent(MaterialInfomationDO::getProductId, reqVO.getProductIds()) + .eqIfPresent(MaterialInfomationDO::getBatchId, reqVO.getBatchId()) + .eqIfPresent(MaterialInfomationDO::getLocationId, reqVO.getLocationId()) + .eqIfPresent(MaterialInfomationDO::getCode, reqVO.getCode()) + .eqIfPresent(MaterialInfomationDO::getParameter, reqVO.getParameter()) + .eqIfPresent(MaterialInfomationDO::getManagerUserId, reqVO.getManagerUserId()) + .likeIfPresent(MaterialInfomationDO::getManagerUserName, reqVO.getManagerUserName()) + .eqIfPresent(MaterialInfomationDO::getPublishStatus, reqVO.getPublishStatus()) + .eqIfPresent(MaterialInfomationDO::getUsageStatus, reqVO.getUsageStatus()) + .eqIfPresent(MaterialInfomationDO::getOpenStatus, reqVO.getOpenStatus()) + .likeIfPresent(MaterialInfomationDO::getOpenUserName, reqVO.getOpenUserName()) + .eqIfPresent(MaterialInfomationDO::getOpenUserId, reqVO.getOpenUserId()) + .betweenIfPresent(MaterialInfomationDO::getOpenDate, reqVO.getOpenDate()) + .betweenIfPresent(MaterialInfomationDO::getExpirationDate, reqVO.getExpirationDate()) + .eqIfPresent(MaterialInfomationDO::getExpirationFlag, reqVO.getExpirationFlag()) + .eqIfPresent(MaterialInfomationDO::getRemainingVolume, reqVO.getRemainingVolume()) + .eqIfPresent(MaterialInfomationDO::getSystemDepartmentCode, reqVO.getSystemDepartmentCode()) + .eqIfPresent(MaterialInfomationDO::getRemark, reqVO.getRemark()) + .betweenIfPresent(MaterialInfomationDO::getCreateTime, reqVO.getCreateTime()) + .orderByDesc(MaterialInfomationDO::getId)); + } + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/dal/mapper/MaterialProductMapper.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/dal/mapper/MaterialProductMapper.java new file mode 100644 index 0000000..e4bea35 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/dal/mapper/MaterialProductMapper.java @@ -0,0 +1,51 @@ +package com.zt.plat.module.qms.resource.material.dal.mapper; + +import com.zt.plat.framework.common.pojo.PageResult; +import com.zt.plat.framework.mybatis.core.mapper.BaseMapperX; +import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX; +import com.zt.plat.module.qms.resource.material.controller.vo.*; +import com.zt.plat.module.qms.resource.material.controller.vo.MaterialProductPageReqVO; +import com.zt.plat.module.qms.resource.material.dal.dataobject.MaterialProductDO; +import org.apache.ibatis.annotations.Mapper; + +/** + * 物料大类 Mapper + * + * @author 后台管理 + */ +@Mapper +public interface MaterialProductMapper extends BaseMapperX { + + default PageResult selectPage(MaterialProductPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(MaterialProductDO::getParentId, reqVO.getParentId()) + .likeIfPresent(MaterialProductDO::getIdPath, reqVO.getIdPath()) + .eqIfPresent(MaterialProductDO::getNodeType, reqVO.getNodeType()) + .likeIfPresent(MaterialProductDO::getName, reqVO.getName()) + .eqIfPresent(MaterialProductDO::getCustomConfig, reqVO.getCustomConfig()) + .eqIfPresent(MaterialProductDO::getCustomForm, reqVO.getCustomForm()) + .eqIfPresent(MaterialProductDO::getCustomData, reqVO.getCustomData()) + .eqIfPresent(MaterialProductDO::getTag, reqVO.getTag()) + .eqIfPresent(MaterialProductDO::getLabelTemplateKey, reqVO.getLabelTemplateKey()) + .eqIfPresent(MaterialProductDO::getModelNo, reqVO.getModelNo()) + .eqIfPresent(MaterialProductDO::getSpecification, reqVO.getSpecification()) + .eqIfPresent(MaterialProductDO::getParameter, reqVO.getParameter()) + .eqIfPresent(MaterialProductDO::getManufacturer, reqVO.getManufacturer()) + .eqIfPresent(MaterialProductDO::getUnit, reqVO.getUnit()) + .eqIfPresent(MaterialProductDO::getEnablePartial, reqVO.getEnablePartial()) + .eqIfPresent(MaterialProductDO::getDue, reqVO.getDue()) + .eqIfPresent(MaterialProductDO::getOpenDueFlag, reqVO.getOpenDueFlag()) + .eqIfPresent(MaterialProductDO::getOpenDueAfter, reqVO.getOpenDueAfter()) + .eqIfPresent(MaterialProductDO::getHazardous, reqVO.getHazardous()) + .eqIfPresent(MaterialProductDO::getStandardSolutionFlag, reqVO.getStandardSolutionFlag()) + .eqIfPresent(MaterialProductDO::getStandardMaterialFlag, reqVO.getStandardMaterialFlag()) + .eqIfPresent(MaterialProductDO::getReviewDue, reqVO.getReviewDue()) + .eqIfPresent(MaterialProductDO::getSortNo, reqVO.getSortNo()) + .eqIfPresent(MaterialProductDO::getCancelFlag, reqVO.getCancelFlag()) + .eqIfPresent(MaterialProductDO::getSystemDepartmentCode, reqVO.getSystemDepartmentCode()) + .eqIfPresent(MaterialProductDO::getRemark, reqVO.getRemark()) + .betweenIfPresent(MaterialProductDO::getCreateTime, reqVO.getCreateTime()) + .orderByDesc(MaterialProductDO::getId)); + } + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/service/MaterialInfomationService.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/service/MaterialInfomationService.java new file mode 100644 index 0000000..b507cba --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/service/MaterialInfomationService.java @@ -0,0 +1,65 @@ +package com.zt.plat.module.qms.resource.material.service; + +import com.zt.plat.framework.common.pojo.PageResult; +import com.zt.plat.module.qms.resource.material.controller.vo.*; +import com.zt.plat.module.qms.resource.material.controller.vo.MaterialInfomationPageReqVO; +import com.zt.plat.module.qms.resource.material.controller.vo.MaterialInfomationRespVO; +import com.zt.plat.module.qms.resource.material.controller.vo.MaterialInfomationSaveReqVO; +import com.zt.plat.module.qms.resource.material.dal.dataobject.MaterialInfomationDO; +import jakarta.validation.Valid; + +import java.util.List; + +/** + * 物料实例 Service 接口 + * + * @author 后台管理 + */ +public interface MaterialInfomationService { + + /** + * 创建物料实例 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + MaterialInfomationRespVO createMaterialInfomation(@Valid MaterialInfomationSaveReqVO createReqVO); + + /** + * 更新物料实例 + * + * @param updateReqVO 更新信息 + */ + void updateMaterialInfomation(@Valid MaterialInfomationSaveReqVO updateReqVO); + + /** + * 删除物料实例 + * + * @param id 编号 + */ + void deleteMaterialInfomation(Long id); + + /** + * 批量删除物料实例 + * + * @param ids 编号 + */ + void deleteMaterialInfomationListByIds(List ids); + + /** + * 获得物料实例 + * + * @param id 编号 + * @return 物料实例 + */ + MaterialInfomationDO getMaterialInfomation(Long id); + + /** + * 获得物料实例分页 + * + * @param pageReqVO 分页查询 + * @return 物料实例分页 + */ + PageResult getMaterialInfomationPage(MaterialInfomationPageReqVO pageReqVO); + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/service/MaterialInfomationServiceImpl.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/service/MaterialInfomationServiceImpl.java new file mode 100644 index 0000000..4c76626 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/service/MaterialInfomationServiceImpl.java @@ -0,0 +1,90 @@ +package com.zt.plat.module.qms.resource.material.service; + +import cn.hutool.core.collection.CollUtil; +import com.zt.plat.framework.common.pojo.PageResult; +import com.zt.plat.framework.common.util.object.BeanUtils; +import com.zt.plat.module.qms.resource.material.controller.vo.*; +import com.zt.plat.module.qms.resource.material.controller.vo.MaterialInfomationPageReqVO; +import com.zt.plat.module.qms.resource.material.controller.vo.MaterialInfomationRespVO; +import com.zt.plat.module.qms.resource.material.controller.vo.MaterialInfomationSaveReqVO; +import com.zt.plat.module.qms.resource.material.dal.dataobject.MaterialInfomationDO; +import com.zt.plat.module.qms.resource.material.dal.mapper.MaterialInfomationMapper; +import jakarta.annotation.Resource; +import org.springframework.stereotype.Service; +import org.springframework.validation.annotation.Validated; + +import java.util.List; + +import static com.zt.plat.framework.common.exception.util.ServiceExceptionUtil.exception; +import static com.zt.plat.module.qms.enums.ErrorCodeConstants.*; + +/** + * 物料实例 Service 实现类 + * + * @author 后台管理 + */ +@Service +@Validated +public class MaterialInfomationServiceImpl implements MaterialInfomationService { + + @Resource + private MaterialInfomationMapper materialInfomationMapper; + + @Override + public MaterialInfomationRespVO createMaterialInfomation(MaterialInfomationSaveReqVO createReqVO) { + // 插入 + MaterialInfomationDO materialInfomation = BeanUtils.toBean(createReqVO, MaterialInfomationDO.class); + materialInfomationMapper.insert(materialInfomation); + // 返回 + return BeanUtils.toBean(materialInfomation, MaterialInfomationRespVO.class); + } + + @Override + public void updateMaterialInfomation(MaterialInfomationSaveReqVO updateReqVO) { + // 校验存在 + validateMaterialInfomationExists(updateReqVO.getId()); + // 更新 + MaterialInfomationDO updateObj = BeanUtils.toBean(updateReqVO, MaterialInfomationDO.class); + materialInfomationMapper.updateById(updateObj); + } + + @Override + public void deleteMaterialInfomation(Long id) { + // 校验存在 + validateMaterialInfomationExists(id); + // 删除 + materialInfomationMapper.deleteById(id); + } + + @Override + public void deleteMaterialInfomationListByIds(List ids) { + // 校验存在 + validateMaterialInfomationExists(ids); + // 删除 + materialInfomationMapper.deleteByIds(ids); + } + + private void validateMaterialInfomationExists(List ids) { + List list = materialInfomationMapper.selectByIds(ids); + if (CollUtil.isEmpty(list) || list.size() != ids.size()) { + throw exception(MATERIAL_INFOMATION_NOT_EXISTS); + } + } + + private void validateMaterialInfomationExists(Long id) { + if (materialInfomationMapper.selectById(id) == null) { + throw exception(MATERIAL_INFOMATION_NOT_EXISTS); + } + } + + @Override + public MaterialInfomationDO getMaterialInfomation(Long id) { + return materialInfomationMapper.selectById(id); + } + + @Override + public PageResult getMaterialInfomationPage(MaterialInfomationPageReqVO pageReqVO) { + return materialInfomationMapper.selectPage(pageReqVO); + } + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/service/MaterialProductService.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/service/MaterialProductService.java new file mode 100644 index 0000000..5e56951 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/service/MaterialProductService.java @@ -0,0 +1,79 @@ +package com.zt.plat.module.qms.resource.material.service; + +import com.zt.plat.framework.common.pojo.CommonResult; +import com.zt.plat.framework.common.pojo.PageResult; +import com.zt.plat.module.qms.resource.material.controller.vo.*; +import com.zt.plat.module.qms.resource.material.controller.vo.MaterialProductPageReqVO; +import com.zt.plat.module.qms.resource.material.controller.vo.MaterialProductRespVO; +import com.zt.plat.module.qms.resource.material.controller.vo.MaterialProductSaveReqVO; +import com.zt.plat.module.qms.resource.material.dal.dataobject.MaterialProductDO; +import jakarta.validation.Valid; + +import java.util.List; + +/** + * 物料大类 Service 接口 + * + * @author 后台管理 + */ +public interface MaterialProductService { + + //保存分类 + CommonResult saveCategory(@Valid MaterialProductSaveReqVO createReqVO); + + //保存数据 + CommonResult saveData(@Valid MaterialProductSaveReqVO createReqVO); + + /*获取分类树数据*/ + List getTreeData(String nodeType); + + List listByParId(Long parId, String nodeType); + List listByIdPath(Long id, String nodeType); + + CommonResult updateAllIdPath(Long parentId, Integer level); + /** + * 创建物料大类 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + MaterialProductRespVO createMaterialProduct(@Valid MaterialProductSaveReqVO createReqVO); + + /** + * 更新物料大类 + * + * @param updateReqVO 更新信息 + */ + void updateMaterialProduct(@Valid MaterialProductSaveReqVO updateReqVO); + + /** + * 删除物料大类 + * + * @param id 编号 + */ + void deleteMaterialProduct(Long id); + + /** + * 批量删除物料大类 + * + * @param ids 编号 + */ + void deleteMaterialProductListByIds(List ids); + + /** + * 获得物料大类 + * + * @param id 编号 + * @return 物料大类 + */ + MaterialProductDO getMaterialProduct(Long id); + + /** + * 获得物料大类分页 + * + * @param pageReqVO 分页查询 + * @return 物料大类分页 + */ + PageResult getMaterialProductPage(MaterialProductPageReqVO pageReqVO); + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/service/MaterialProductServiceImpl.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/service/MaterialProductServiceImpl.java new file mode 100644 index 0000000..2f156a0 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/material/service/MaterialProductServiceImpl.java @@ -0,0 +1,215 @@ +package com.zt.plat.module.qms.resource.material.service; + +import cn.hutool.core.collection.CollUtil; +import com.zt.plat.framework.common.exception.ServiceException; +import com.zt.plat.framework.common.pojo.CommonResult; +import com.zt.plat.framework.common.pojo.PageResult; +import com.zt.plat.framework.common.util.object.BeanUtils; +import com.zt.plat.module.qms.core.constant.DataTypeConstant; +import com.zt.plat.module.qms.enums.ErrorCodeConstants; +import com.zt.plat.module.qms.resource.material.controller.vo.*; +import com.zt.plat.module.qms.resource.material.controller.vo.MaterialProductPageReqVO; +import com.zt.plat.module.qms.resource.material.controller.vo.MaterialProductRespVO; +import com.zt.plat.module.qms.resource.material.controller.vo.MaterialProductSaveReqVO; +import com.zt.plat.module.qms.resource.material.dal.dataobject.MaterialProductDO; +import com.zt.plat.module.qms.resource.material.dal.mapper.MaterialProductMapper; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import jakarta.annotation.Resource; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.ObjectUtils; +import org.springframework.validation.annotation.Validated; + +import java.util.List; + +import static com.zt.plat.framework.common.exception.util.ServiceExceptionUtil.exception; +import static com.zt.plat.module.qms.enums.ErrorCodeConstants.*; + +/** + * 物料大类 Service 实现类 + * + * @author 后台管理 + */ +@Service +@Validated +public class MaterialProductServiceImpl implements MaterialProductService { + private int id_path_update_level_limit = 7; + + @Resource + private MaterialProductMapper materialProductMapper; + + @Override + @Transactional(rollbackFor = Exception.class) + public CommonResult saveCategory(MaterialProductSaveReqVO entity) { + if(entity.getParentId() == null || entity.getParentId() == 0L) + entity.setParentId(0L); + Long parentId = entity.getParentId(); + List checkList = listByParId(parentId, DataTypeConstant.DATA_TYPE_CATEGORY); + boolean duplicate = false; + MaterialProductDO duplicateEntity = checkList.stream().filter(e->e.getName().equals(entity.getName())).findFirst().orElse(null); + if(duplicateEntity != null && !duplicateEntity.getId().equals(entity.getId())) + duplicate = true; + if(duplicate) + throw exception(ErrorCodeConstants.DICTIONARY_BUSINESS_CLASSIFY_DUPLICATE); + entity.setNodeType(DataTypeConstant.DATA_TYPE_CATEGORY); + Long id = entity.getId(); + MaterialProductDO dic = BeanUtils.toBean(entity, MaterialProductDO.class); + if(ObjectUtils.isEmpty(id)){ + materialProductMapper.insert(dic); + id = dic.getId(); + } + MaterialProductDO backData = this.getMaterialProduct(id); + Long parentId_ = backData.getParentId(); + //检查parId,避免父节点设置为本节点的后代节点 + if(parentId_.equals(id)) + throw new ServiceException(ErrorCodeConstants.DATA_COLLECTION_CLASSIFY_PARENT_ERROR); + String idPath = getIdPath(dic); + int curIdIndex = idPath.indexOf("/" + id.toString() + "/"); + int parIdIndex = idPath.indexOf("/" + parentId.toString() + "/"); + if(curIdIndex <= parIdIndex) + throw new ServiceException(ErrorCodeConstants.DATA_COLLECTION_CLASSIFY_PARENT_ERROR); + dic.setIdPath(idPath); + + //更新后代节点路径 + updateAllIdPath(id, 1); + materialProductMapper.updateById(dic); + return CommonResult.success(BeanUtils.toBean(dic, MaterialProductRespVO.class)); + } + + @Override + public CommonResult saveData(MaterialProductSaveReqVO createReqVO) { + Long id = createReqVO.getId(); + MaterialProductDO entity = BeanUtils.toBean(createReqVO, MaterialProductDO.class); + entity.setNodeType(DataTypeConstant.DATA_TYPE_DATA); + Long parentId = createReqVO.getParentId(); + if(id == null){ + materialProductMapper.insert(entity); + }else{ + materialProductMapper.updateById(entity); + } + if(parentId != null && parentId != 0L){ + MaterialProductDO parEntity = this.getMaterialProduct(parentId); + String parPath = parEntity.getIdPath(); + entity.setIdPath(parPath + "/" + entity.getId() + "/"); + materialProductMapper.updateById(entity); + } + MaterialProductRespVO vo = BeanUtils.toBean(entity, MaterialProductRespVO.class); + return CommonResult.success( vo); + } + + @Override + public List listByParId(Long parId, String nodeType) { + LambdaQueryWrapper query = new LambdaQueryWrapper<>(); + query.eq(MaterialProductDO::getParentId, parId); + if(!ObjectUtils.isEmpty(nodeType)) + query.eq(MaterialProductDO::getNodeType, nodeType); + query.orderByAsc(MaterialProductDO::getSortNo); + return materialProductMapper.selectList(query); + } + + @Override + public List listByIdPath(Long id, String nodeType) { + LambdaQueryWrapper query = new LambdaQueryWrapper<>(); + query.like(MaterialProductDO::getIdPath, id); + if(!ObjectUtils.isEmpty(nodeType)) + query.eq(MaterialProductDO::getNodeType, nodeType); + query.orderByAsc(MaterialProductDO::getSortNo); + return materialProductMapper.selectList(query); + } + + @Override + public CommonResult updateAllIdPath(Long parentId, Integer level) { + if(level > id_path_update_level_limit) + return CommonResult.success("更新完成(超出层数限制:"+id_path_update_level_limit+")"); + List list = listByParId(parentId, ""); + MaterialProductDO parEntity = this.getMaterialProduct(parentId); + if(list.isEmpty()) + return CommonResult.success(""); + String parIdPath = "/0/"; + if(parEntity != null) + parIdPath = parEntity.getIdPath(); + for(MaterialProductDO entity : list){ + entity.setIdPath(parIdPath + "/" + entity.getId() + "/"); + materialProductMapper.updateById( entity); + updateAllIdPath(entity.getId(),level+1); + } + return CommonResult.success(""); + } + + @Override + public List getTreeData(String nodeType) { + LambdaQueryWrapper query = new LambdaQueryWrapper<>(); + if(!ObjectUtils.isEmpty(nodeType)) + query.eq(MaterialProductDO::getNodeType, nodeType); + query.orderByAsc(MaterialProductDO::getSortNo); + return materialProductMapper.selectList(query); + } + + @Override + public MaterialProductRespVO createMaterialProduct(MaterialProductSaveReqVO createReqVO) { + // 插入 + MaterialProductDO materialProduct = BeanUtils.toBean(createReqVO, MaterialProductDO.class); + materialProductMapper.insert(materialProduct); + // 返回 + return BeanUtils.toBean(materialProduct, MaterialProductRespVO.class); + } + + @Override + public void updateMaterialProduct(MaterialProductSaveReqVO updateReqVO) { + // 校验存在 + validateMaterialProductExists(updateReqVO.getId()); + // 更新 + MaterialProductDO updateObj = BeanUtils.toBean(updateReqVO, MaterialProductDO.class); + materialProductMapper.updateById(updateObj); + } + + @Override + public void deleteMaterialProduct(Long id) { + // 校验存在 + validateMaterialProductExists(id); + // 删除 + materialProductMapper.deleteById(id); + } + + @Override + public void deleteMaterialProductListByIds(List ids) { + // 校验存在 + validateMaterialProductExists(ids); + // 删除 + materialProductMapper.deleteByIds(ids); + } + + private void validateMaterialProductExists(List ids) { + List list = materialProductMapper.selectByIds(ids); + if (CollUtil.isEmpty(list) || list.size() != ids.size()) { + throw exception(MATERIAL_PRODUCT_NOT_EXISTS); + } + } + + private void validateMaterialProductExists(Long id) { + if (materialProductMapper.selectById(id) == null) { + throw exception(MATERIAL_PRODUCT_NOT_EXISTS); + } + } + + @Override + public MaterialProductDO getMaterialProduct(Long id) { + return materialProductMapper.selectById(id); + } + + @Override + public PageResult getMaterialProductPage(MaterialProductPageReqVO pageReqVO) { + return materialProductMapper.selectPage(pageReqVO); + } + + private String getIdPath(MaterialProductDO entity){ + String parIdPath = ""; + if(ObjectUtils.isEmpty(entity.getParentId()) || 0L == entity.getParentId()) + parIdPath = "/0/"; + MaterialProductDO parEntity = this.getMaterialProduct(entity.getParentId()); + if(parEntity != null){ + parIdPath = parEntity.getIdPath(); + } + return parIdPath + entity.getId() + "/"; + } +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessAssayParameterDataMapper.xml b/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms1/business/bus/dal/mapper/BusinessAssayParameterDataMapper.xml similarity index 100% rename from zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessAssayParameterDataMapper.xml rename to zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms1/business/bus/dal/mapper/BusinessAssayParameterDataMapper.xml diff --git a/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessAssayProjectDataMapper.xml b/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms1/business/bus/dal/mapper/BusinessAssayProjectDataMapper.xml similarity index 100% rename from zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessAssayProjectDataMapper.xml rename to zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms1/business/bus/dal/mapper/BusinessAssayProjectDataMapper.xml diff --git a/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessAssayTaskDataMapper.xml b/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms1/business/bus/dal/mapper/BusinessAssayTaskDataMapper.xml similarity index 100% rename from zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessAssayTaskDataMapper.xml rename to zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms1/business/bus/dal/mapper/BusinessAssayTaskDataMapper.xml diff --git a/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessAssayTaskMapper.xml b/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms1/business/bus/dal/mapper/BusinessAssayTaskMapper.xml similarity index 100% rename from zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessAssayTaskMapper.xml rename to zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms1/business/bus/dal/mapper/BusinessAssayTaskMapper.xml diff --git a/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessBaseSampleMapper.xml b/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms1/business/bus/dal/mapper/BusinessBaseSampleMapper.xml similarity index 100% rename from zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessBaseSampleMapper.xml rename to zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms1/business/bus/dal/mapper/BusinessBaseSampleMapper.xml diff --git a/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessSampleEntrustDetailMapper.xml b/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms1/business/bus/dal/mapper/BusinessSampleEntrustDetailMapper.xml similarity index 100% rename from zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessSampleEntrustDetailMapper.xml rename to zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms1/business/bus/dal/mapper/BusinessSampleEntrustDetailMapper.xml diff --git a/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessSampleEntrustProjectMapper.xml b/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms1/business/bus/dal/mapper/BusinessSampleEntrustProjectMapper.xml similarity index 100% rename from zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessSampleEntrustProjectMapper.xml rename to zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms1/business/bus/dal/mapper/BusinessSampleEntrustProjectMapper.xml diff --git a/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessSampleHandoverDetailMapper.xml b/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms1/business/bus/dal/mapper/BusinessSampleHandoverDetailMapper.xml similarity index 100% rename from zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessSampleHandoverDetailMapper.xml rename to zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms1/business/bus/dal/mapper/BusinessSampleHandoverDetailMapper.xml diff --git a/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessSampleHandoverMapper.xml b/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms1/business/bus/dal/mapper/BusinessSampleHandoverMapper.xml similarity index 100% rename from zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessSampleHandoverMapper.xml rename to zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms1/business/bus/dal/mapper/BusinessSampleHandoverMapper.xml diff --git a/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessSubSampleAssessmentMapper.xml b/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms1/business/bus/dal/mapper/BusinessSubSampleAssessmentMapper.xml similarity index 100% rename from zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessSubSampleAssessmentMapper.xml rename to zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms1/business/bus/dal/mapper/BusinessSubSampleAssessmentMapper.xml diff --git a/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessSubSampleMapper.xml b/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms1/business/bus/dal/mapper/BusinessSubSampleMapper.xml similarity index 100% rename from zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessSubSampleMapper.xml rename to zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms1/business/bus/dal/mapper/BusinessSubSampleMapper.xml diff --git a/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/business/config/dal/mapper/BaseSampleMapper.xml b/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms1/business/config/dal/mapper/BaseSampleMapper.xml similarity index 100% rename from zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/business/config/dal/mapper/BaseSampleMapper.xml rename to zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms1/business/config/dal/mapper/BaseSampleMapper.xml diff --git a/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/business/config/dal/mapper/ConfigAssayMethodMapper.xml b/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms1/business/config/dal/mapper/ConfigAssayMethodMapper.xml similarity index 100% rename from zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/business/config/dal/mapper/ConfigAssayMethodMapper.xml rename to zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms1/business/config/dal/mapper/ConfigAssayMethodMapper.xml diff --git a/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/business/config/dal/mapper/ConfigAssayMethodProjectMapper.xml b/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms1/business/config/dal/mapper/ConfigAssayMethodProjectMapper.xml similarity index 100% rename from zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/business/config/dal/mapper/ConfigAssayMethodProjectMapper.xml rename to zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms1/business/config/dal/mapper/ConfigAssayMethodProjectMapper.xml diff --git a/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/business/config/dal/mapper/ConfigAssayMethodProjectParameterMapper.xml b/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms1/business/config/dal/mapper/ConfigAssayMethodProjectParameterMapper.xml similarity index 100% rename from zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/business/config/dal/mapper/ConfigAssayMethodProjectParameterMapper.xml rename to zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms1/business/config/dal/mapper/ConfigAssayMethodProjectParameterMapper.xml diff --git a/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/business/config/dal/mapper/ConfigBaseSampleMapper.xml b/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms1/business/config/dal/mapper/ConfigBaseSampleMapper.xml similarity index 100% rename from zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/business/config/dal/mapper/ConfigBaseSampleMapper.xml rename to zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms1/business/config/dal/mapper/ConfigBaseSampleMapper.xml diff --git a/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/business/config/dal/mapper/ConfigDocumentTypeMapper.xml b/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms1/business/config/dal/mapper/ConfigDocumentTypeMapper.xml similarity index 100% rename from zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/business/config/dal/mapper/ConfigDocumentTypeMapper.xml rename to zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms1/business/config/dal/mapper/ConfigDocumentTypeMapper.xml diff --git a/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/business/config/dal/mapper/ConfigEntrustSourceMapper.xml b/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms1/business/config/dal/mapper/ConfigEntrustSourceMapper.xml similarity index 100% rename from zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/business/config/dal/mapper/ConfigEntrustSourceMapper.xml rename to zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms1/business/config/dal/mapper/ConfigEntrustSourceMapper.xml diff --git a/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/business/config/dal/mapper/ConfigProjectMapper.xml b/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms1/business/config/dal/mapper/ConfigProjectMapper.xml similarity index 100% rename from zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/business/config/dal/mapper/ConfigProjectMapper.xml rename to zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms1/business/config/dal/mapper/ConfigProjectMapper.xml diff --git a/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/business/config/dal/mapper/ConfigReportFieldMapper.xml b/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms1/business/config/dal/mapper/ConfigReportFieldMapper.xml similarity index 100% rename from zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/business/config/dal/mapper/ConfigReportFieldMapper.xml rename to zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms1/business/config/dal/mapper/ConfigReportFieldMapper.xml diff --git a/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/business/config/dal/mapper/ConfigReportTemplateMapper.xml b/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms1/business/config/dal/mapper/ConfigReportTemplateMapper.xml similarity index 100% rename from zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/business/config/dal/mapper/ConfigReportTemplateMapper.xml rename to zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms1/business/config/dal/mapper/ConfigReportTemplateMapper.xml diff --git a/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/business/config/dal/mapper/ConfigReportTypeMapper.xml b/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms1/business/config/dal/mapper/ConfigReportTypeMapper.xml similarity index 100% rename from zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/business/config/dal/mapper/ConfigReportTypeMapper.xml rename to zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms1/business/config/dal/mapper/ConfigReportTypeMapper.xml diff --git a/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/business/config/dal/mapper/ConfigSampleFlowMapper.xml b/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms1/business/config/dal/mapper/ConfigSampleFlowMapper.xml similarity index 100% rename from zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/business/config/dal/mapper/ConfigSampleFlowMapper.xml rename to zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms1/business/config/dal/mapper/ConfigSampleFlowMapper.xml diff --git a/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/business/config/dal/mapper/ConfigSampleHandoverMapper.xml b/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms1/business/config/dal/mapper/ConfigSampleHandoverMapper.xml similarity index 100% rename from zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/business/config/dal/mapper/ConfigSampleHandoverMapper.xml rename to zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms1/business/config/dal/mapper/ConfigSampleHandoverMapper.xml diff --git a/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/business/config/dal/mapper/ConfigSampleReportMapper.xml b/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms1/business/config/dal/mapper/ConfigSampleReportMapper.xml similarity index 100% rename from zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/business/config/dal/mapper/ConfigSampleReportMapper.xml rename to zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms1/business/config/dal/mapper/ConfigSampleReportMapper.xml diff --git a/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/business/config/dal/mapper/ConfigSimpleFlowCodeMapper.xml b/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms1/business/config/dal/mapper/ConfigSimpleFlowCodeMapper.xml similarity index 100% rename from zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/business/config/dal/mapper/ConfigSimpleFlowCodeMapper.xml rename to zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms1/business/config/dal/mapper/ConfigSimpleFlowCodeMapper.xml diff --git a/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/business/config/dal/mapper/ConfigSimpleFlowRuleMapper.xml b/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms1/business/config/dal/mapper/ConfigSimpleFlowRuleMapper.xml similarity index 100% rename from zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/business/config/dal/mapper/ConfigSimpleFlowRuleMapper.xml rename to zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms1/business/config/dal/mapper/ConfigSimpleFlowRuleMapper.xml diff --git a/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/business/config/dal/mapper/ConfigStandardSampleProjectMapper.xml b/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms1/business/config/dal/mapper/ConfigStandardSampleProjectMapper.xml similarity index 100% rename from zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/business/config/dal/mapper/ConfigStandardSampleProjectMapper.xml rename to zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms1/business/config/dal/mapper/ConfigStandardSampleProjectMapper.xml diff --git a/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/business/config/dal/mapper/ConfigStandardSampleTypeMapper.xml b/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms1/business/config/dal/mapper/ConfigStandardSampleTypeMapper.xml similarity index 100% rename from zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/business/config/dal/mapper/ConfigStandardSampleTypeMapper.xml rename to zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms1/business/config/dal/mapper/ConfigStandardSampleTypeMapper.xml diff --git a/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/business/config/dal/mapper/ConfigSubSampleMapper.xml b/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms1/business/config/dal/mapper/ConfigSubSampleMapper.xml similarity index 100% rename from zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/business/config/dal/mapper/ConfigSubSampleMapper.xml rename to zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms1/business/config/dal/mapper/ConfigSubSampleMapper.xml diff --git a/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/business/config/dal/mapper/ConfigSubSampleMethodMapper.xml b/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms1/business/config/dal/mapper/ConfigSubSampleMethodMapper.xml similarity index 100% rename from zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/business/config/dal/mapper/ConfigSubSampleMethodMapper.xml rename to zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms1/business/config/dal/mapper/ConfigSubSampleMethodMapper.xml diff --git a/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/business/config/dal/mapper/ConfigSubSampleParentMapper.xml b/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms1/business/config/dal/mapper/ConfigSubSampleParentMapper.xml similarity index 100% rename from zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/business/config/dal/mapper/ConfigSubSampleParentMapper.xml rename to zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms1/business/config/dal/mapper/ConfigSubSampleParentMapper.xml diff --git a/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/business/config/dal/mapper/ConfigWarehouseLocationInfomationMapper.xml b/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms1/business/config/dal/mapper/ConfigWarehouseLocationInfomationMapper.xml similarity index 100% rename from zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/business/config/dal/mapper/ConfigWarehouseLocationInfomationMapper.xml rename to zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms1/business/config/dal/mapper/ConfigWarehouseLocationInfomationMapper.xml diff --git a/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/business/config/dal/mapper/MaterialAssayStandardDetailMapper.xml b/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms1/business/config/dal/mapper/MaterialAssayStandardDetailMapper.xml similarity index 100% rename from zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/business/config/dal/mapper/MaterialAssayStandardDetailMapper.xml rename to zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms1/business/config/dal/mapper/MaterialAssayStandardDetailMapper.xml diff --git a/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/business/config/dal/mapper/MaterialAssayStandardMapper.xml b/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms1/business/config/dal/mapper/MaterialAssayStandardMapper.xml similarity index 100% rename from zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/business/config/dal/mapper/MaterialAssayStandardMapper.xml rename to zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms1/business/config/dal/mapper/MaterialAssayStandardMapper.xml diff --git a/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/business/config/dal/mapper/MaterialAssayStandardMethodMapper.xml b/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms1/business/config/dal/mapper/MaterialAssayStandardMethodMapper.xml similarity index 100% rename from zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/business/config/dal/mapper/MaterialAssayStandardMethodMapper.xml rename to zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms1/business/config/dal/mapper/MaterialAssayStandardMethodMapper.xml diff --git a/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/business/dic/dal/mapper/DictionaryParameterMapper.xml b/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms1/business/dic/dal/mapper/DictionaryParameterMapper.xml similarity index 100% rename from zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/business/dic/dal/mapper/DictionaryParameterMapper.xml rename to zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms1/business/dic/dal/mapper/DictionaryParameterMapper.xml diff --git a/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/business/dic/dal/mapper/DictionaryProjectMapper.xml b/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms1/business/dic/dal/mapper/DictionaryProjectMapper.xml similarity index 100% rename from zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/business/dic/dal/mapper/DictionaryProjectMapper.xml rename to zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms1/business/dic/dal/mapper/DictionaryProjectMapper.xml diff --git a/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/business/dic/dal/mapper/DictionarySampleFlowNodeMapper.xml b/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms1/business/dic/dal/mapper/DictionarySampleFlowNodeMapper.xml similarity index 100% rename from zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/business/dic/dal/mapper/DictionarySampleFlowNodeMapper.xml rename to zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms1/business/dic/dal/mapper/DictionarySampleFlowNodeMapper.xml diff --git a/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/business/dic/dal/mapper/DictionarySampleTypeMapper.xml b/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms1/business/dic/dal/mapper/DictionarySampleTypeMapper.xml similarity index 100% rename from zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/business/dic/dal/mapper/DictionarySampleTypeMapper.xml rename to zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms1/business/dic/dal/mapper/DictionarySampleTypeMapper.xml