From 983bdb5b89932b38d08a11ad1eed6ea89d1597e1 Mon Sep 17 00:00:00 2001 From: kongzy <kongzy> Date: 星期一, 29 一月 2024 10:07:31 +0800 Subject: [PATCH] 更新 --- assess-admin/src/main/resources/application-dev.yml | 2 assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssConclusionServiceImpl.java | 86 assess-admin/src/main/resources/application-pro.yml | 82 assess-system/src/main/java/com/gkhy/assess/system/domain/vo/ProjectStaticVO.java | 31 assess-system/src/main/java/com/gkhy/assess/system/service/AssRecitificationService.java | 50 assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/AssContractController.java | 56 assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/AssProjectController.java | 104 assess-system/src/main/java/com/gkhy/assess/system/domain/AssEstimateTask.java | 89 assess-system/src/main/java/com/gkhy/assess/system/domain/SysDictType.java | 16 assess-system/src/main/java/com/gkhy/assess/system/service/AssFaceRecognitionService.java | 67 assess-common/src/main/java/com/gkhy/assess/common/domain/vo/LoginBody.java | 2 assess-admin/src/main/resources/db/migration/V20231130002_risk_estimate.sql | 2 assess-admin/pom.xml | 31 assess-system/src/main/java/com/gkhy/assess/system/domain/AssConclusion.java | 69 assess-system/src/main/java/com/gkhy/assess/system/service/SysAgencyService.java | 7 assess-system/src/main/java/com/gkhy/assess/system/service/AssContractService.java | 45 assess-system/src/main/java/com/gkhy/assess/system/service/impl/SysCommonServiceImpl.java | 63 assess-system/src/main/java/com/gkhy/assess/system/service/AssConclusionService.java | 45 assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/AssRecitificationController.java | 59 assess-system/src/test/java/com/gkhy/system/MybatisPlusGenerator.java | 8 assess-admin/src/main/resources/db/migration/V20231205003_accessory_file.sql | 6 assess-admin/src/main/resources/db/migration/V20231123006_notice.sql | 4 assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssEstimateScheduleServiceImpl.java | 71 assess-system/src/main/resources/mapper/SysRegionMapper.xml | 0 assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssRiskEstimateServiceImpl.java | 89 assess-system/src/main/java/com/gkhy/assess/system/mapper/SysDictTypeMapper.java | 3 assess-system/src/main/java/com/gkhy/assess/system/domain/AssContract.java | 80 assess-system/src/main/java/com/gkhy/assess/system/domain/SysAgency.java | 30 assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/AssEstimatePlanController.java | 56 assess-system/src/main/java/com/gkhy/assess/system/mapper/AssContractMapper.java | 40 assess-system/src/main/java/com/gkhy/assess/system/service/impl/SysDictTypeServiceImpl.java | 22 assess-framework/src/main/java/com/gkhy/assess/framework/aop/DataDesensitizationAspect.java | 47 assess-system/src/main/java/com/gkhy/assess/system/domain/vo/PersonProjectVO.java | 22 assess-system/src/main/java/com/gkhy/assess/system/mapper/AssAccessoryFileMapper.java | 43 assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/AssAccessoryFileController.java | 61 assess-admin/src/main/resources/db/migration/V20231124002_attach.sql | 1 assess-system/src/main/java/com/gkhy/assess/system/domain/SysUserFace.java | 86 assess-system/src/main/java/com/gkhy/assess/system/mapper/AssProjectMaterialMapper.java | 39 assess-system/src/main/java/com/gkhy/assess/system/service/AssEstimatePlanService.java | 44 assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/ExpertClassifyController.java | 4 assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssProjectMaterialServiceImpl.java | 91 assess-system/src/main/java/com/gkhy/assess/system/service/AssProjectService.java | 130 assess-system/src/main/java/com/gkhy/assess/system/mapper/AssFaceRecordMapper.java | 27 assess-admin/src/main/resources/db/migration/V20231204004_plan_person.sql | 15 assess-system/src/main/java/com/gkhy/assess/system/domain/AssProjectMaterial.java | 72 assess-system/src/main/java/com/gkhy/assess/system/mapper/SysAttachMapper.java | 8 assess-admin/src/main/java/com/gkhy/assess/admin/controller/app/AppProjectController.java | 58 assess-system/src/main/java/com/gkhy/assess/system/mapper/AssEstimateTaskMapper.java | 39 assess-admin/src/main/resources/db/migration/V20231205002_investigation.sql | 2 assess-admin/src/main/resources/db/migration/V20231123007_law.sql | 4 assess-system/src/main/java/com/gkhy/assess/system/domain/AssProject.java | 192 + assess-system/src/main/java/com/gkhy/assess/system/domain/AssInvestigation.java | 108 assess-system/src/main/java/com/gkhy/assess/system/service/impl/SysAttachServiceImpl.java | 5 assess-system/src/main/java/com/gkhy/assess/system/mapper/SysAgencyMapper.java | 6 assess-framework/src/main/java/com/gkhy/assess/framework/shiro/ShiroConfig.java | 6 pom.xml | 1 assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/ExpertInfoController.java | 27 assess-admin/src/main/resources/db/migration/V20231123002_dict_type.sql | 6 assess-system/src/main/java/com/gkhy/assess/system/enums/ReportProgressEnum.java | 141 assess-admin/src/main/java/com/gkhy/assess/admin/controller/app/AppUserController.java | 44 assess-system/src/main/java/com/gkhy/assess/system/domain/SysDictData.java | 18 assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssWorkNotificationServiceImpl.java | 71 assess-system/src/main/java/com/gkhy/assess/system/domain/AssFilingApply.java | 62 assess-admin/src/main/resources/db/migration/V20231130001_project.sql | 11 assess-common/src/main/java/com/gkhy/assess/common/annotation/DataDesensitizationType.java | 19 assess-system/src/main/java/com/gkhy/assess/system/service/AssAccessoryFileService.java | 57 assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/SysLawController.java | 6 assess-system/src/main/java/com/gkhy/assess/system/service/impl/SysExpertClassifyServiceImpl.java | 6 assess-system/src/main/java/com/gkhy/assess/system/domain/AssFaceRecord.java | 95 assess-system/src/main/resources/mapper/AssFilingApplyMapper.xml | 37 assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/AssEstimateTaskController.java | 57 assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssAccessoryFileServiceImpl.java | 93 assess-admin/src/main/resources/db/migration/V20231205004_face_record.sql | 7 assess-system/src/main/java/com/gkhy/assess/system/mapper/AssWorkNotificationMapper.java | 38 assess-admin/src/main/resources/db/migration/V20231206002_project_material.sql | 5 assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssConfirmFinalServiceImpl.java | 36 assess-system/src/main/resources/mapper/SysDictTypeMapper.xml | 14 assess-common/src/main/java/com/gkhy/assess/common/config/MybatisPlusConfig.java | 1 assess-system/src/main/java/com/gkhy/assess/system/domain/AssEstimatePlan.java | 92 assess-system/src/main/java/com/gkhy/assess/system/service/AssWorkNotificationService.java | 44 assess-admin/src/main/resources/db/migration/V20231127001_expert_classify.sql | 28 assess-system/src/main/java/com/gkhy/assess/system/domain/AssDevice.java | 73 assess-admin/src/main/java/com/gkhy/assess/admin/controller/app/AppFaceRecordController.java | 60 assess-common/src/main/java/com/gkhy/assess/common/domain/BaseEntity.java | 14 assess-system/src/main/java/com/gkhy/assess/system/domain/vo/UploadObjectVO.java | 3 assess-system/src/main/resources/mapper/AssAccessoryFileMapper.xml | 18 assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssFilingApplyServiceImpl.java | 66 assess-system/src/main/java/com/gkhy/assess/system/service/AssProjectMaterialService.java | 46 assess-system/src/main/java/com/gkhy/assess/system/mapper/AssConclusionMapper.java | 40 assess-system/src/main/java/com/gkhy/assess/system/mapper/AssProcessAuditMapper.java | 38 assess-system/src/main/java/com/gkhy/assess/system/service/AssInvestigationService.java | 50 assess-admin/src/main/java/com/gkhy/assess/admin/controller/app/AppUserFaceController.java | 39 assess-system/src/main/resources/mapper/SysExpertClassifyMapper.xml | 0 assess-system/src/main/java/com/gkhy/assess/system/service/SysUserFaceService.java | 29 assess-system/src/main/java/com/gkhy/assess/system/domain/SysConfig.java | 11 assess-admin/src/main/resources/db/migration/V20231205001_work_notification.sql | 1 assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/AssFaceRecognitionController.java | 76 assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssPlanPersonServiceImpl.java | 105 assess-admin/src/main/java/com/gkhy/assess/admin/controller/app/AppPlanPersonController.java | 39 assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/AssConfirmFinalController.java | 44 assess-system/src/main/java/com/gkhy/assess/system/service/impl/SysLawServiceImpl.java | 11 assess-system/src/main/java/com/gkhy/assess/system/domain/AssAudit.java | 159 assess-system/src/main/resources/mapper/AssDeviceMapper.xml | 42 assess-system/src/main/java/com/gkhy/assess/system/mapper/AssFilingApplyMapper.java | 25 assess-system/src/main/resources/mapper/AssRiskEstimateMapper.xml | 59 assess-system/src/main/java/com/gkhy/assess/system/enums/PlayRoleEnum.java | 47 assess-admin/src/main/resources/db/migration/V20231206001_process_audit.sql | 3 assess-admin/src/test/java/com/gkhy/admin/RegionTest.java | 4 assess-system/src/main/resources/mapper/AssEstimateScheduleMapper.xml | 17 assess-common/src/main/java/com/gkhy/assess/common/api/ResultCode.java | 2 assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssFaceRecognitionServiceImpl.java | 131 assess-admin/src/main/resources/db/migration/V20240105002_change_dict_data.sql | 43 assess-system/src/main/java/com/gkhy/assess/system/enums/AccessoryFileTypeEnum.java | 41 assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/front/AgencyController.java | 2 assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssEstimatePlanServiceImpl.java | 108 assess-system/src/main/resources/mapper/AssEstimateTaskMapper.xml | 48 assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/AssConclusionController.java | 56 assess-system/src/main/java/com/gkhy/assess/system/domain/AssWorkNotification.java | 78 assess-system/src/main/resources/mapper/AssAuditMapper.xml | 71 assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssDeviceServiceImpl.java | 105 assess-system/src/main/java/com/gkhy/assess/system/service/AssAuditService.java | 43 assess-system/src/main/java/com/gkhy/assess/system/service/AssProcessAuditService.java | 43 assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssAuditServiceImpl.java | 106 assess-common/src/main/java/com/gkhy/assess/common/utils/JwtTokenUtil.java | 56 assess-system/src/main/resources/mapper/AssContractMapper.xml | 42 assess-common/src/main/java/com/gkhy/assess/common/config/BaseRedisConfig.java | 24 assess-framework/src/main/java/com/gkhy/assess/framework/shiro/service/SysLoginService.java | 21 assess-admin/src/main/java/com/gkhy/assess/admin/controller/app/AppFaceRecognitionController.java | 58 assess-framework/src/main/java/com/gkhy/assess/framework/aop/LogAspect.java | 5 assess-admin/src/main/resources/db/migration/V20240109001_add_delflag.sql | 11 assess-system/src/main/java/com/gkhy/assess/system/domain/AssRecitification.java | 82 assess-system/src/main/resources/mapper/AssFaceRecognitionMapper.xml | 68 assess-framework/src/main/java/com/gkhy/assess/framework/config/ApplicationConfig.java | 6 assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/AssFaceRecordController.java | 60 assess-system/src/main/java/com/gkhy/assess/system/mapper/SysUserFaceMapper.java | 23 assess-system/src/main/java/com/gkhy/assess/system/mapper/AssEstimateScheduleMapper.java | 33 assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssInvestigationServiceImpl.java | 125 assess-system/src/main/resources/mapper/AssPlanPersonMapper.xml | 75 assess-system/src/main/resources/mapper/AssProjectMapper.xml | 235 + assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssFaceRecordServiceImpl.java | 87 assess-system/src/main/java/com/gkhy/assess/system/mapper/AssAuditMapper.java | 42 assess-admin/src/main/resources/db/migration/V20231208003_filing_apply.sql | 17 assess-system/src/main/java/com/gkhy/assess/system/domain/AssPlanPerson.java | 104 assess-system/src/main/java/com/gkhy/assess/system/service/impl/SysExpertInfoServiceImpl.java | 39 assess-system/src/main/java/com/gkhy/assess/system/mapper/SysUserMapper.java | 12 assess-common/src/main/java/com/gkhy/assess/common/annotation/DataDesensitization.java | 13 assess-system/src/main/resources/mapper/AssEstimatePlanMapper.xml | 50 assess-framework/src/main/java/com/gkhy/assess/framework/exception/GlobalExceptionHandler.java | 3 assess-system/src/main/java/com/gkhy/assess/system/mapper/AssRiskEstimateMapper.java | 48 assess-admin/src/main/resources/db/migration/V20231204001_device.sql | 27 assess-system/src/main/java/com/gkhy/assess/system/service/SysAttachService.java | 9 assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssContractServiceImpl.java | 75 assess-system/src/main/java/com/gkhy/assess/system/service/impl/SysUserFaceServiceImpl.java | 50 assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/SysUserController.java | 13 assess-common/src/main/java/com/gkhy/assess/common/domain/vo/AccountVO.java | 8 assess-admin/src/main/resources/db/migration/V20240109002_user_face.sql | 17 assess-system/src/main/java/com/gkhy/assess/system/service/AssConfirmFinalService.java | 21 assess-system/src/main/resources/mapper/AssRecitificationMapper.xml | 41 assess-admin/src/main/java/com/gkhy/assess/admin/controller/app/AppLoginController.java | 43 assess-system/src/main/java/com/gkhy/assess/system/service/SysCommonService.java | 8 assess-admin/src/main/resources/db/migration/V20231123004_config.sql | 2 assess-system/src/main/java/com/gkhy/assess/system/domain/SysLaw.java | 26 assess-system/src/main/java/com/gkhy/assess/system/mapper/SysExpertInfoMapper.java | 7 assess-system/src/main/resources/mapper/AssWorkNotificationMapper.xml | 41 assess-admin/src/main/resources/db/migration/V20231130003_contract.sql | 5 assess-system/src/main/java/com/gkhy/assess/system/service/impl/SysAgencyServiceImpl.java | 9 assess-admin/src/main/resources/db/migration/V20231124001_region.sql | 2 assess-system/src/main/java/com/gkhy/assess/system/domain/SysUser.java | 46 assess-system/src/main/java/com/gkhy/assess/system/domain/AssAccessoryFile.java | 75 assess-admin/src/main/resources/db/migration/V20240105001_change_user.sql | 5 assess-framework/src/main/java/com/gkhy/assess/framework/shiro/filter/JwtFilter.java | 3 assess-system/src/main/java/com/gkhy/assess/system/service/impl/SysUserServiceImpl.java | 272 assess-system/src/main/java/com/gkhy/assess/system/mapper/AssInvestigationMapper.java | 41 assess-system/src/main/resources/mapper/SysConfigMapper.xml | 0 assess-system/src/main/java/com/gkhy/assess/system/service/impl/SysDictDataServiceImpl.java | 32 assess-system/src/main/java/com/gkhy/assess/system/domain/SysExpertClassify.java | 15 assess-system/src/main/resources/mapper/SysNoticeMapper.xml | 3 assess-admin/src/main/resources/db/migration/V20231205005_audit.sql | 3 assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssRecitificationServiceImpl.java | 69 assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/SysRegionController.java | 8 assess-admin/src/main/resources/db/migration/V20231208002_face_recognition.sql | 19 assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssProjectServiceImpl.java | 249 + assess-system/src/main/java/com/gkhy/assess/system/service/AssFilingApplyService.java | 53 assess-system/src/main/resources/mapper/AssConclusionMapper.xml | 39 assess-system/src/main/java/com/gkhy/assess/system/mapper/AssEstimatePlanMapper.java | 39 assess-admin/src/main/resources/db/migration/V20231123001_add_user.sql | 10 assess-system/src/main/java/com/gkhy/assess/system/service/AssEstimateScheduleService.java | 39 assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/AssReviewRecordController.java | 45 assess-system/src/main/java/com/gkhy/assess/system/domain/AssFaceRecognition.java | 83 assess-system/src/main/java/com/gkhy/assess/system/service/AssRiskEstimateService.java | 45 assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/AssRiskEstimateController.java | 57 assess-admin/src/main/resources/db/migration/V20231204003_estimate_schedule.sql | 2 assess-system/src/main/java/com/gkhy/assess/system/domain/AssEstimateSchedule.java | 80 assess-system/src/main/resources/mapper/AssInvestigationMapper.xml | 41 assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/SysNoticeController.java | 4 assess-common/src/main/java/com/gkhy/assess/common/enums/SensitiveTypeEnum.java | 10 assess-system/src/main/resources/mapper/AssProjectMaterialMapper.xml | 50 assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssProcessAuditServiceImpl.java | 101 assess-system/src/main/resources/mapper/SysAgencyMapper.xml | 13 assess-admin/src/main/resources/db/migration/V20240125001_change_region.sql | 2 assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/AssEstimateScheduleController.java | 50 assess-system/src/main/java/com/gkhy/assess/system/service/AssFaceRecordService.java | 46 assess-admin/src/main/java/com/gkhy/assess/admin/controller/app/AppDictTypeController.java | 30 assess-system/src/main/resources/mapper/SysUserFaceMapper.xml | 8 assess-admin/src/main/resources/db/migration/V20231123005_agency.sql | 6 assess-system/src/main/java/com/gkhy/assess/system/enums/ProgressPhaseEnum.java | 51 assess-system/src/main/resources/mapper/SysExpertInfoMapper.xml | 24 assess-system/src/main/java/com/gkhy/assess/system/domain/SysNotice.java | 21 assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/AssProjectMaterialController.java | 54 assess-system/src/main/resources/mapper/SysAttachMapper.xml | 19 assess-system/src/main/java/com/gkhy/assess/system/mapper/AssFaceRecognitionMapper.java | 47 assess-system/src/main/java/com/gkhy/assess/system/service/AssDeviceService.java | 66 assess-system/src/main/java/com/gkhy/assess/system/domain/SysRegion.java | 19 assess-admin/src/main/java/com/gkhy/assess/admin/GkhyAdminApplication.java | 1 assess-system/src/main/java/com/gkhy/assess/system/service/SysUserService.java | 14 assess-framework/src/main/java/com/gkhy/assess/framework/config/FilterConfig.java | 39 assess-system/src/main/java/com/gkhy/assess/system/mapper/AssRecitificationMapper.java | 28 assess-system/src/main/java/com/gkhy/assess/system/domain/AssRiskEstimate.java | 144 assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssEstimateTaskServiceImpl.java | 96 assess-admin/src/main/resources/application.yml | 4 assess-admin/src/main/resources/db/migration/V20231127002_expert_info.sql | 44 assess-admin/src/main/resources/db/migration/V20231130004_estimate_task.sql | 1 assess-common/src/main/java/com/gkhy/assess/common/domain/TableSupport.java | 2 assess-system/src/main/java/com/gkhy/assess/system/service/SysExpertInfoService.java | 14 assess-framework/src/main/java/com/gkhy/assess/framework/config/MyWebMvcConfig.java | 4 assess-system/src/main/java/com/gkhy/assess/system/domain/SysAttach.java | 2 assess-system/src/main/java/com/gkhy/assess/system/service/impl/SysRegionServiceImpl.java | 3 assess-admin/src/main/java/com/gkhy/assess/admin/controller/app/AppAccessoryFileController.java | 61 assess-system/src/main/java/com/gkhy/assess/system/mapper/AssDeviceMapper.java | 40 assess-common/src/main/java/com/gkhy/assess/common/enums/RequestSourceEnum.java | 29 assess-system/src/main/java/com/gkhy/assess/system/service/AssReviewRecordService.java | 11 assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/AssFilingApplyController.java | 56 assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssReviewRecordServiceImpl.java | 24 assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/AssPlanPersonController.java | 69 assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/SysDictDataController.java | 5 assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/AssDeviceController.java | 56 assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/SysDictTypeController.java | 9 assess-system/src/main/java/com/gkhy/assess/system/service/AssEstimateTaskService.java | 43 assess-system/src/main/java/com/gkhy/assess/system/domain/AssProcessAudit.java | 184 assess-system/src/main/java/com/gkhy/assess/system/service/AssPlanPersonService.java | 66 assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/AssInvestigationController.java | 66 assess-admin/src/main/resources/db/migration/V20231204002_estimate_plan.sql | 2 assess-system/src/main/resources/mapper/SysLawMapper.xml | 3 assess-admin/src/main/resources/db/migration/V20231205006_conclusion.sql | 3 assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/SysAgencyController.java | 5 assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/AssAuditController.java | 62 assess-system/src/main/java/com/gkhy/assess/system/mapper/AssProjectMapper.java | 82 assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/AssWorkNotificationController.java | 55 assess-common/src/main/java/com/gkhy/assess/common/utils/DesenseUtil.java | 78 assess-system/src/main/resources/mapper/AssProcessAuditMapper.xml | 80 assess-system/src/main/resources/mapper/SysUserMapper.xml | 57 assess-admin/src/main/resources/db/migration/V20231123003_dict_data.sql | 16 assess-system/src/main/java/com/gkhy/assess/system/domain/vo/ProjectMaterialVO.java | 53 assess-system/src/main/resources/mapper/SysDictDataMapper.xml | 7 assess-admin/src/main/java/com/gkhy/assess/admin/controller/app/AppInvestigationController.java | 55 assess-system/src/main/java/com/gkhy/assess/system/mapper/AssPlanPersonMapper.java | 47 assess-system/src/main/java/com/gkhy/assess/system/domain/SysExpertInfo.java | 95 /dev/null | 38 assess-system/src/main/resources/mapper/AssFaceRecordMapper.xml | 53 assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/SysLoginController.java | 2 assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/AssProcessAuditController.java | 60 assess-system/src/main/java/com/gkhy/assess/system/service/impl/SysNoticeServiceImpl.java | 7 assess-admin/src/main/resources/db/migration/V20231208001_recitification.sql | 20 263 files changed, 10,656 insertions(+), 513 deletions(-) diff --git a/assess-admin/pom.xml b/assess-admin/pom.xml index 3ac6c4b..e69bc5d 100644 --- a/assess-admin/pom.xml +++ b/assess-admin/pom.xml @@ -24,4 +24,35 @@ </dependency> </dependencies> + + <build> + <plugins> + <plugin> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-maven-plugin</artifactId> + <version>2.5.15</version> + <configuration> + <fork>true</fork> <!-- 如果没有该配置,devtools不会生效 --> + </configuration> + <executions> + <execution> + <goals> + <goal>repackage</goal> + </goals> + </execution> + </executions> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-war-plugin</artifactId> + <version>3.1.0</version> + <configuration> + <failOnMissingWebXml>false</failOnMissingWebXml> + <warName>${project.artifactId}</warName> + </configuration> + </plugin> + </plugins> + <finalName>${project.artifactId}</finalName> + </build> + </project> \ No newline at end of file diff --git a/assess-admin/src/main/java/com/gkhy/assess/admin/GkhyAdminApplication.java b/assess-admin/src/main/java/com/gkhy/assess/admin/GkhyAdminApplication.java index b901f3e..17339e9 100644 --- a/assess-admin/src/main/java/com/gkhy/assess/admin/GkhyAdminApplication.java +++ b/assess-admin/src/main/java/com/gkhy/assess/admin/GkhyAdminApplication.java @@ -8,7 +8,6 @@ @SpringBootApplication(exclude = {DataSourceAutoConfiguration.class}) @ComponentScan("com.gkhy.assess") -//@MapperScan("com.gkhy.**.mapper") public class GkhyAdminApplication { public static void main(String[] args) { diff --git a/assess-admin/src/main/java/com/gkhy/assess/admin/controller/app/AppAccessoryFileController.java b/assess-admin/src/main/java/com/gkhy/assess/admin/controller/app/AppAccessoryFileController.java new file mode 100644 index 0000000..7d836a1 --- /dev/null +++ b/assess-admin/src/main/java/com/gkhy/assess/admin/controller/app/AppAccessoryFileController.java @@ -0,0 +1,61 @@ +package com.gkhy.assess.admin.controller.app; + + +import com.gkhy.assess.common.annotation.RepeatSubmit; +import com.gkhy.assess.common.api.CommonResult; +import com.gkhy.assess.system.service.AssAccessoryFileService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.validation.constraints.NotNull; + +/** + * <p> + * 评估文件上传记录表 前端控制器 + * </p> + * + * @author kzy + * @since 2023-12-12 10:46:54 + */ +@Api(tags = "APP评估文件上传 前端控制器") +@RestController +@RequestMapping("/app/manage/accessory-file") +public class AppAccessoryFileController { + @Autowired + private AssAccessoryFileService assAccessoryFileService; + + @RepeatSubmit + @ApiOperation(value = "评估文件上传(图片/文件)") + @PostMapping("/uploadFile") + @ApiImplicitParams({ + @ApiImplicitParam(paramType = "body", name = "projectId", dataType = "long", required = true, value = "项目id"), + @ApiImplicitParam(paramType = "body", name = "moduleType", dataType = "int", required = true, value = "上传模块code:1主要装置前的合影照片,2现场勘验照片,3企业陪同人员图片,4现场勘验视频,5现场勘验记录附件,6评审记录附件,7评价结论,8过程控制记录文档附件,9项目归档材料,10报备申请附件,11项目整改情况附件") + }) + public CommonResult uploadFile(@RequestParam @NotNull Long projectId,@RequestParam @NotNull Integer moduleType, @RequestParam MultipartFile file){ + return CommonResult.success(assAccessoryFileService.uploadFile(projectId,moduleType,file)); + } + + @ApiOperation(value = "根据项目id获取评估文件") + @GetMapping("/getAccessoryFileByProjectId") + @ApiImplicitParams({ + @ApiImplicitParam(paramType = "query", name = "projectId", dataType = "long", required = true, value = "项目id"), + @ApiImplicitParam(paramType = "query", name = "moduleType", dataType = "int", required = true, value = "上传模块code") + }) + public CommonResult getAccessoryFileByProjectId(Long projectId,Integer moduleType){ + return CommonResult.success(assAccessoryFileService.getAccessoryFileByProjectId(projectId,moduleType)); + } + + + @RepeatSubmit + @ApiOperation(value = "删除评估文件") + @DeleteMapping("/remove/{accessoryFileId}") + public CommonResult deleteAccessoryFile(@PathVariable(value = "accessoryFileId")Long accessoryFileId){ + return CommonResult.success(assAccessoryFileService.deleteById(accessoryFileId)); + } + +} diff --git a/assess-admin/src/main/java/com/gkhy/assess/admin/controller/app/AppDictTypeController.java b/assess-admin/src/main/java/com/gkhy/assess/admin/controller/app/AppDictTypeController.java new file mode 100644 index 0000000..eb58ebe --- /dev/null +++ b/assess-admin/src/main/java/com/gkhy/assess/admin/controller/app/AppDictTypeController.java @@ -0,0 +1,30 @@ +package com.gkhy.assess.admin.controller.app; + +import com.gkhy.assess.common.annotation.RepeatSubmit; +import com.gkhy.assess.common.api.CommonResult; +import com.gkhy.assess.system.domain.SysDictType; +import com.gkhy.assess.system.service.SysDictTypeService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +@Api(tags = "APP数据字典类型前端控制器") +@RestController +@RequestMapping("/app/system/dictType") +public class AppDictTypeController { + @Autowired + private SysDictTypeService dictTypeService; + + @ApiOperation(value = "根据类型获取字典数据") + @ApiImplicitParams({ + @ApiImplicitParam(paramType = "query", name = "dictType", dataType = "int", required = true, value = "类型") + }) + @GetMapping("/getDictDataByType") + public CommonResult getDictDataByType(@RequestParam(required = true)String dictType){ + return CommonResult.success(dictTypeService.getDictDataByType(dictType)); + } +} diff --git a/assess-admin/src/main/java/com/gkhy/assess/admin/controller/app/AppFaceRecognitionController.java b/assess-admin/src/main/java/com/gkhy/assess/admin/controller/app/AppFaceRecognitionController.java new file mode 100644 index 0000000..d22a505 --- /dev/null +++ b/assess-admin/src/main/java/com/gkhy/assess/admin/controller/app/AppFaceRecognitionController.java @@ -0,0 +1,58 @@ +package com.gkhy.assess.admin.controller.app; + + +import com.gkhy.assess.common.annotation.RepeatSubmit; +import com.gkhy.assess.common.api.CommonResult; +import com.gkhy.assess.common.enums.RequestSourceEnum; +import com.gkhy.assess.system.domain.AssFaceRecognition; +import com.gkhy.assess.system.service.AssFaceRecognitionService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +/** + * <p> + * 签字确认表 前端控制器 + * </p> + * + * @author kzy + * @since 2023-12-12 10:46:54 + */ +@Api(tags = "APP签字确认 前端控制器") +@RestController +@RequestMapping("/app/manage/face-recognition") +public class AppFaceRecognitionController { + + @Autowired + private AssFaceRecognitionService faceRecognitionService; + + @RepeatSubmit + @ApiOperation(value = "新增签字确认") + @PostMapping("/add") + public CommonResult addContract(@Validated @ModelAttribute AssFaceRecognition faceRecognition){ + return CommonResult.success(faceRecognitionService.addFaceRecognition(faceRecognition)); + } + +// @RepeatSubmit +// @ApiOperation(value = "编辑签字确认") +// @PutMapping("/edit") +// public CommonResult editContract(@Validated @RequestBody AssFaceRecognition faceRecognition){ +// return CommonResult.success(faceRecognitionService.editFaceRecognition(faceRecognition)); +// } + + + @ApiOperation(value = "根据成员id获取签字确认") + @GetMapping("/getRecognitionByPersonId") + @ApiImplicitParams({ + @ApiImplicitParam(paramType = "body", name = "projectId", dataType = "long", required = true, value = "项目id"), + @ApiImplicitParam(paramType = "body", name = "personId", dataType = "long", required = true, value = "成员id") + }) + public CommonResult getRecognitionByPersonId( Long projectId,Long personId){ + return CommonResult.success(faceRecognitionService.getRecognitionByPersonId(projectId,personId)); + } + +} diff --git a/assess-admin/src/main/java/com/gkhy/assess/admin/controller/app/AppFaceRecordController.java b/assess-admin/src/main/java/com/gkhy/assess/admin/controller/app/AppFaceRecordController.java new file mode 100644 index 0000000..3e25cc9 --- /dev/null +++ b/assess-admin/src/main/java/com/gkhy/assess/admin/controller/app/AppFaceRecordController.java @@ -0,0 +1,60 @@ +package com.gkhy.assess.admin.controller.app; + + +import com.gkhy.assess.common.annotation.RepeatSubmit; +import com.gkhy.assess.common.api.CommonResult; +import com.gkhy.assess.system.domain.AssFaceRecord; +import com.gkhy.assess.system.service.AssFaceRecordService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +/** + * <p> + * 现场勘验人员人脸识别记录表 前端控制器 + * </p> + * + * @author kzy + * @since 2023-12-12 10:46:54 + */ +@Api(tags = "APP人脸识别记录 前端控制器") +@RestController +@RequestMapping("/app/manage/face-record") +public class AppFaceRecordController { + + @Autowired + private AssFaceRecordService faceRecordService; + +// @ApiOperation(value = "根据项目id获取人脸识别记录列表") +// @GetMapping("/getFaceByProjectId") +// @ApiImplicitParams({ +// @ApiImplicitParam(paramType = "body", name = "projectId", dataType = "long", required = true, value = "项目id"), +// @ApiImplicitParam(paramType = "body", name = "scene", dataType = "int", required = true, value = "是否是现场勘验人脸识别记录,0否,1是,默认0") +// }) +// public CommonResult getFaceByProjectId(Long projectId,@RequestParam(defaultValue = "0",required = false) Integer scene){ +// return CommonResult.success(faceRecordService.faceRecordList(projectId,scene)); +// } + + @RepeatSubmit + @ApiOperation(value = "新增人脸识别记录") + @PostMapping("/add") + public CommonResult addDevice(@Validated @ModelAttribute AssFaceRecord faceRecord){ + return CommonResult.success(faceRecordService.addFaceRecord(faceRecord)); + } + +// @RepeatSubmit +// @ApiOperation(value = "编辑人脸识别记录") +// @PutMapping("/edit") +// public CommonResult editDevice(@Validated @RequestBody AssFaceRecord faceRecord){ +// return CommonResult.success(faceRecordService.editFaceRecord(faceRecord)); +// } + +// @RepeatSubmit +// @ApiOperation(value = "删除人脸识别记录") +// @DeleteMapping("/remove/{faceId}") +// public CommonResult deleteDevice(@PathVariable(value = "faceId")Long faceId){ +// return CommonResult.success(faceRecordService.deleteById(faceId)); +// } +} diff --git a/assess-admin/src/main/java/com/gkhy/assess/admin/controller/app/AppInvestigationController.java b/assess-admin/src/main/java/com/gkhy/assess/admin/controller/app/AppInvestigationController.java new file mode 100644 index 0000000..996883e --- /dev/null +++ b/assess-admin/src/main/java/com/gkhy/assess/admin/controller/app/AppInvestigationController.java @@ -0,0 +1,55 @@ +package com.gkhy.assess.admin.controller.app; + + +import com.gkhy.assess.common.annotation.RepeatSubmit; +import com.gkhy.assess.common.api.CommonResult; +import com.gkhy.assess.common.enums.ApproveStatusEnum; +import com.gkhy.assess.common.enums.RequestSourceEnum; +import com.gkhy.assess.system.domain.AssInvestigation; +import com.gkhy.assess.system.service.AssInvestigationService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +/** + * <p> + * 现场勘验记录表 前端控制器 + * </p> + * + * @author kzy + * @since 2023-12-12 10:46:54 + */ +@Api(tags = "APP现场勘验记录 前端控制器") +@RestController +@RequestMapping("/app/manage/investigation") +public class AppInvestigationController { + + @Autowired + private AssInvestigationService investigationService; + + @ApiOperation(value = "根据项目id获取现场勘验记录表详情") + @GetMapping("/getInvestigationByProjectId") + public CommonResult getInvestigationByProjectId( Long projectId){ + return CommonResult.success(investigationService.getInvestigationByProjectId(projectId)); + } + + @RepeatSubmit + @ApiOperation(value = "创建现场勘验记录表") + @PostMapping("/add") + public CommonResult addInvestigation(@Validated @RequestBody AssInvestigation investigation){ + //app端只能保存数据,不能改变项目流程状态 + investigation.setState(ApproveStatusEnum.TEMPORARY.getCode()); + return CommonResult.success(investigationService.addInvestigation(investigation, RequestSourceEnum.APP.getCode())); + } + + @RepeatSubmit + @ApiOperation(value = "编辑现场勘验记录表") + @PutMapping("/edit") + public CommonResult editInvestigation(@Validated @RequestBody AssInvestigation investigation){ + return CommonResult.success(investigationService.editInvestigation(investigation)); + } + + +} diff --git a/assess-admin/src/main/java/com/gkhy/assess/admin/controller/app/AppLoginController.java b/assess-admin/src/main/java/com/gkhy/assess/admin/controller/app/AppLoginController.java new file mode 100644 index 0000000..6e2e360 --- /dev/null +++ b/assess-admin/src/main/java/com/gkhy/assess/admin/controller/app/AppLoginController.java @@ -0,0 +1,43 @@ +package com.gkhy.assess.admin.controller.app; + + +import com.gkhy.assess.common.api.CommonResult; +import com.gkhy.assess.common.domain.vo.LoginBody; +import com.gkhy.assess.system.service.SysUserService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +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; + +/** + * <p> + * 用户表 前端控制器 + * </p> + * + * @author kzy + * @since 2023-10-17 14:26:29 + */ +@Api(tags = "APP用户登录前端控制器") +@RestController +@RequestMapping("/app/system/account") +public class AppLoginController { + @Autowired + private SysUserService sysUserService; + + @ApiOperation(value = "用户登录") + @PostMapping("/login") + public CommonResult login(@RequestBody LoginBody loginBody){ + return CommonResult.success(sysUserService.appLogin(loginBody)); + } + + @ApiOperation(value = "用户退出") + @PostMapping("/logout") + public CommonResult logout(){ + sysUserService.logout(); + return CommonResult.success(); + } + +} diff --git a/assess-admin/src/main/java/com/gkhy/assess/admin/controller/app/AppPlanPersonController.java b/assess-admin/src/main/java/com/gkhy/assess/admin/controller/app/AppPlanPersonController.java new file mode 100644 index 0000000..f8fb1ff --- /dev/null +++ b/assess-admin/src/main/java/com/gkhy/assess/admin/controller/app/AppPlanPersonController.java @@ -0,0 +1,39 @@ +package com.gkhy.assess.admin.controller.app; + + +import com.gkhy.assess.common.api.CommonResult; +import com.gkhy.assess.system.domain.AssPlanPerson; +import com.gkhy.assess.system.service.AssPlanPersonService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +/** + * <p> + * 评价项目组成员表 前端控制器 + * </p> + * + * @author kzy + * @since 2023-12-12 10:46:54 + */ +@Api(tags = "APP项目组成员 前端控制器") +@RestController +@RequestMapping("/app/manage/plan-person") +public class AppPlanPersonController { + + @Autowired + private AssPlanPersonService planPersonService; + + @ApiOperation(value = "根据成员id获取项目组成员详细信息") + @GetMapping("/getPlanPersonByPersonId") + @ApiImplicitParams({ + @ApiImplicitParam(paramType = "body", name = "projectId", dataType = "long", required = true, value = "项目id"), + @ApiImplicitParam(paramType = "body", name = "personId", dataType = "long", required = true, value = "项目成员id") + }) + public CommonResult<AssPlanPerson> getPlanPersonByProjectId( Long personId,Long projectId){ + return CommonResult.success(planPersonService.getPlanPersonByPersonId(personId,projectId)); + } +} diff --git a/assess-admin/src/main/java/com/gkhy/assess/admin/controller/app/AppProjectController.java b/assess-admin/src/main/java/com/gkhy/assess/admin/controller/app/AppProjectController.java new file mode 100644 index 0000000..e1898d0 --- /dev/null +++ b/assess-admin/src/main/java/com/gkhy/assess/admin/controller/app/AppProjectController.java @@ -0,0 +1,58 @@ +package com.gkhy.assess.admin.controller.app; + + +import com.gkhy.assess.common.api.CommonResult; +import com.gkhy.assess.system.service.AssProjectService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +/** + * <p> + * 现场勘验人员人脸识别记录表 前端控制器 + * </p> + * + * @author kzy + * @since 2023-12-12 10:46:54 + */ +@Api(tags = "APP项目 前端控制器") +@RestController +@RequestMapping("/app/manage/project") +public class AppProjectController { + + @Autowired + private AssProjectService projectService; + + @ApiOperation(value = "根据项目成员id获取项目列表") + @GetMapping("/memberProjects") + @ApiImplicitParams({ + @ApiImplicitParam(paramType = "query", name = "pageNum", dataType = "int", required = true, value = "当前页,默认1"), + @ApiImplicitParam(paramType = "query", name = "pageSize", dataType = "int", required = true, value = "每页数量,默认10"), + @ApiImplicitParam(paramType = "query", name = "personId", dataType = "long", required = true, value = "项目id"), + @ApiImplicitParam(paramType = "query", name = "finish", dataType = "int", required = false, value = "是否完结:0否,1是") + }) + public CommonResult memberProjects(@RequestParam(required = true) Long personId,@RequestParam(required = false)Integer finish){ + return CommonResult.success(projectService.memberProjects(personId,finish)); + } + + @ApiOperation(value = "根据项目组长id获取项目列表") + @GetMapping("/leaderProjects") + @ApiImplicitParams({ + @ApiImplicitParam(paramType = "query", name = "pageNum", dataType = "int", required = true, value = "当前页,默认1"), + @ApiImplicitParam(paramType = "query", name = "pageSize", dataType = "int", required = true, value = "每页数量,默认10"), + @ApiImplicitParam(paramType = "query", name = "personId", dataType = "long", required = true, value = "项目id") + }) + public CommonResult leaderProjects(@RequestParam(required = true) Long personId){ + return CommonResult.success(projectService.leaderProjects(personId)); + } + + @ApiOperation(value = "根据id获取项目详情") + @GetMapping("/detail/{projectId}") + public CommonResult projectDetail(@PathVariable(value = "projectId") Long projectId){ + return CommonResult.success(projectService.getProjectById(projectId)); + } + +} diff --git a/assess-admin/src/main/java/com/gkhy/assess/admin/controller/app/AppUserController.java b/assess-admin/src/main/java/com/gkhy/assess/admin/controller/app/AppUserController.java new file mode 100644 index 0000000..2fc187c --- /dev/null +++ b/assess-admin/src/main/java/com/gkhy/assess/admin/controller/app/AppUserController.java @@ -0,0 +1,44 @@ +package com.gkhy.assess.admin.controller.app; + +import com.gkhy.assess.common.annotation.RepeatSubmit; +import com.gkhy.assess.common.api.CommonResult; +import com.gkhy.assess.common.validate.AgencyGroup; +import com.gkhy.assess.common.validate.ExpertGroup; +import com.gkhy.assess.common.validate.MonitorGroup; +import com.gkhy.assess.system.domain.SysUser; +import com.gkhy.assess.system.service.SysUserService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import org.apache.shiro.authz.annotation.Logical; +import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +@Api(tags = "APP用户前端控制器") +@RestController +@RequestMapping("/app/system/user") +public class AppUserController { + @Autowired + private SysUserService sysUserService; + + @ApiOperation(value = "根据id获取用户详情") + @ApiImplicitParams({ + @ApiImplicitParam(paramType = "query", name = "userId", dataType = "int", required = true, value = "用户id") + }) + @GetMapping("/getUserById") + public CommonResult getUserById(@RequestParam(required = true) Long userId){ + return CommonResult.success(sysUserService.getUserInfoById(userId)); + } + + + @RepeatSubmit + @ApiOperation(value = "用户修改密码") + @PutMapping("/resetUserPwd") + public CommonResult resetUserPwd(@RequestBody SysUser user) + { + return CommonResult.success(sysUserService.resetUserPwd(user)); + } +} diff --git a/assess-admin/src/main/java/com/gkhy/assess/admin/controller/app/AppUserFaceController.java b/assess-admin/src/main/java/com/gkhy/assess/admin/controller/app/AppUserFaceController.java new file mode 100644 index 0000000..b869bb7 --- /dev/null +++ b/assess-admin/src/main/java/com/gkhy/assess/admin/controller/app/AppUserFaceController.java @@ -0,0 +1,39 @@ +package com.gkhy.assess.admin.controller.app; + +import com.gkhy.assess.common.annotation.RepeatSubmit; +import com.gkhy.assess.common.api.CommonResult; +import com.gkhy.assess.system.domain.SysUserFace; +import com.gkhy.assess.system.service.SysUserFaceService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.ModelAttribute; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@Api(tags = "APP人脸数据控制器") +@RestController +@RequestMapping("/app/system/user-face") +public class AppUserFaceController { + @Autowired + private SysUserFaceService userFaceService; + + + @RepeatSubmit + @ApiOperation(value = "新增人脸数据") + @PostMapping("/add") + public CommonResult addUserFace(@Validated @ModelAttribute SysUserFace userFace){ + return CommonResult.success(userFaceService.addUserFace(userFace)); + } + + + @RepeatSubmit + @ApiOperation(value = "根据用户id获取人脸数据") + @PostMapping("/getFaceByUserId") + public CommonResult getUserFace(Long userId){ + return CommonResult.success(userFaceService.getFaceByUserId(userId)); + } + +} diff --git a/assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/AssAccessoryFileController.java b/assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/AssAccessoryFileController.java new file mode 100644 index 0000000..be5100b --- /dev/null +++ b/assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/AssAccessoryFileController.java @@ -0,0 +1,61 @@ +package com.gkhy.assess.admin.controller.web; + + +import com.gkhy.assess.common.annotation.RepeatSubmit; +import com.gkhy.assess.common.api.CommonResult; +import com.gkhy.assess.system.service.AssAccessoryFileService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.validation.constraints.NotNull; + +/** + * <p> + * 评估文件上传记录表 前端控制器 + * </p> + * + * @author kzy + * @since 2023-12-12 10:46:54 + */ +@Api(tags = "评估文件上传前端控制器") +@RestController +@RequestMapping("/manage/accessory-file") +public class AssAccessoryFileController { + @Autowired + private AssAccessoryFileService assAccessoryFileService; + + @RepeatSubmit + @ApiOperation(value = "评估文件上传(图片/文件)") + @PostMapping("/uploadFile") + @ApiImplicitParams({ + @ApiImplicitParam(paramType = "body", name = "projectId", dataType = "long", required = true, value = "项目id"), + @ApiImplicitParam(paramType = "body", name = "moduleType", dataType = "int", required = true, value = "上传模块code:1主要装置前的合影照片,2现场勘验照片,3企业陪同人员图片,4现场勘验视频,5编制现场安全检查表,6评审记录附件,7评价结论,8过程控制记录文档附件,9项目归档材料,10报备申请附件,11项目整改情况附件") + }) + public CommonResult uploadFile(@RequestParam @NotNull Long projectId,@RequestParam @NotNull Integer moduleType, @RequestParam MultipartFile file){ + return CommonResult.success(assAccessoryFileService.uploadFile(projectId,moduleType,file)); + } + + @ApiOperation(value = "根据项目id获取评估文件") + @GetMapping("/getAccessoryFileByProjectId") + @ApiImplicitParams({ + @ApiImplicitParam(paramType = "query", name = "projectId", dataType = "long", required = true, value = "项目id"), + @ApiImplicitParam(paramType = "query", name = "moduleType", dataType = "int", required = true, value = "上传模块code") + }) + public CommonResult getAccessoryFileByProjectId(Long projectId,Integer moduleType){ + return CommonResult.success(assAccessoryFileService.getAccessoryFileByProjectId(projectId,moduleType)); + } + + + @RepeatSubmit + @ApiOperation(value = "删除评估文件") + @DeleteMapping("/remove/{accessoryFileId}") + public CommonResult deleteAccessoryFile(@PathVariable(value = "accessoryFileId")Long accessoryFileId){ + return CommonResult.success(assAccessoryFileService.deleteById(accessoryFileId)); + } + +} diff --git a/assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/AssAuditController.java b/assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/AssAuditController.java new file mode 100644 index 0000000..17034d2 --- /dev/null +++ b/assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/AssAuditController.java @@ -0,0 +1,62 @@ +package com.gkhy.assess.admin.controller.web; + + +import com.gkhy.assess.common.annotation.RepeatSubmit; +import com.gkhy.assess.common.api.CommonResult; +import com.gkhy.assess.system.domain.AssAudit; +import com.gkhy.assess.system.service.AssAuditService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +/** + * <p> + * 审核表 前端控制器 + * </p> + * + * @author kzy + * @since 2023-12-12 10:46:54 + */ +@Api(tags = "内部审核-技术审核前端控制器") +@RestController +@RequestMapping("/manage/ass-audit") +public class AssAuditController { + + @Autowired + private AssAuditService auditService; + + @ApiOperation(value = "根据id获取审核详情") + @GetMapping("/detail/{auditId}") + public CommonResult auditDetail(@PathVariable(value = "auditId") Long auditId){ + return CommonResult.success(auditService.getAuditById(auditId)); + } + + @ApiOperation(value = "根据项目id获取审核详情") + @GetMapping("/getAuditByProjectId") + @ApiImplicitParams({ + @ApiImplicitParam(paramType = "body", name = "projectId", dataType = "long", required = true, value = "项目id"), + @ApiImplicitParam(paramType = "body", name = "auditType", dataType = "int", required = true, value = "审核类型:1内部审核 2技术审核") + }) + public CommonResult getAuditByProjectId(Long projectId,Integer auditType){ + return CommonResult.success(auditService.getAuditByProjectId(projectId,auditType)); + } + + @RepeatSubmit + @ApiOperation(value = "创建审核") + @PostMapping("/add") + public CommonResult addRiskEstimate(@Validated @RequestBody AssAudit audit){ + return CommonResult.success(auditService.addAudit(audit)); + } + + @RepeatSubmit + @ApiOperation(value = "编辑审核") + @PutMapping("/edit") + public CommonResult editRiskEstimate(@Validated @RequestBody AssAudit audit){ + return CommonResult.success(auditService.editAudit(audit)); + } + +} diff --git a/assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/AssConclusionController.java b/assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/AssConclusionController.java new file mode 100644 index 0000000..221b643 --- /dev/null +++ b/assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/AssConclusionController.java @@ -0,0 +1,56 @@ +package com.gkhy.assess.admin.controller.web; + + +import com.gkhy.assess.common.annotation.RepeatSubmit; +import com.gkhy.assess.common.api.CommonResult; +import com.gkhy.assess.system.domain.AssConclusion; +import com.gkhy.assess.system.service.AssConclusionService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +/** + * <p> + * 项目结论表 前端控制器 + * </p> + * + * @author kzy + * @since 2023-12-12 10:46:54 + */ +@Api(tags = "评价结论表 前端控制器") +@RestController +@RequestMapping("/manage/conclusion") +public class AssConclusionController { + @Autowired + private AssConclusionService conclusionService; + + @ApiOperation(value = "根据id获取评价结论详情") + @GetMapping("/detail/{conclusionId}") + public CommonResult conclusionDetail(@PathVariable(value = "conclusionId") Long conclusionId){ + return CommonResult.success(conclusionService.getConclusionById(conclusionId)); + } + + @ApiOperation(value = "根据项目id获取评价结论详情") + @GetMapping("/getConclusionByProjectId") + public CommonResult getConclusionByProjectId( Long projectId){ + return CommonResult.success(conclusionService.getConclusionByProjectId(projectId)); + } + + @RepeatSubmit + @ApiOperation(value = "创建评价结论") + @PostMapping("/add") + public CommonResult addConclusion(@Validated @RequestBody AssConclusion conclusion){ + return CommonResult.success(conclusionService.addConclusion(conclusion)); + } + + @RepeatSubmit + @ApiOperation(value = "编辑评价结论") + @PutMapping("/edit") + public CommonResult editConclusion(@Validated @RequestBody AssConclusion conclusion){ + return CommonResult.success(conclusionService.editConclusion(conclusion)); + } + + +} diff --git a/assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/AssConfirmFinalController.java b/assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/AssConfirmFinalController.java new file mode 100644 index 0000000..d7a59c5 --- /dev/null +++ b/assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/AssConfirmFinalController.java @@ -0,0 +1,44 @@ +package com.gkhy.assess.admin.controller.web; + + +import com.gkhy.assess.common.annotation.RepeatSubmit; +import com.gkhy.assess.common.api.CommonResult; +import com.gkhy.assess.system.service.AssConfirmFinalService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +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 java.util.Map; + +/** + * <p> + * 确认完结 前端控制器 + * </p> + * + * @author kzy + * @since 2024-1-4 10:46:54 + */ +@Api(tags = "确认完结 前端控制器") +@RestController +@RequestMapping("/manage/confirm") +public class AssConfirmFinalController { + @Autowired + private AssConfirmFinalService confirmFinalService; + + @RepeatSubmit + @ApiOperation(value = "确认完结") + @PostMapping("/doConfirm") + @ApiImplicitParams({ + @ApiImplicitParam(paramType = "body", name = "projectId", dataType = "long", required = true, value = "项目id"), + }) + public CommonResult doConfirm(@RequestBody Map map){ + confirmFinalService.doConfirmFinal(map); + return CommonResult.success(); + } +} diff --git a/assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/AssContractController.java b/assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/AssContractController.java new file mode 100644 index 0000000..bdfd259 --- /dev/null +++ b/assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/AssContractController.java @@ -0,0 +1,56 @@ +package com.gkhy.assess.admin.controller.web; + + +import com.gkhy.assess.common.annotation.RepeatSubmit; +import com.gkhy.assess.common.api.CommonResult; +import com.gkhy.assess.system.domain.AssContract; +import com.gkhy.assess.system.service.AssContractService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +/** + * <p> + * 合同管理表 前端控制器 + * </p> + * + * @author kzy + * @since 2023-12-12 10:46:54 + */ +@Api(tags = "合同管理前端控制器") +@RestController +@RequestMapping("/manage/contract") +public class AssContractController { + @Autowired + private AssContractService contractService; + + @ApiOperation(value = "根据id获取合同详情") + @GetMapping("/detail/{contractId}") + public CommonResult contractDetail(@PathVariable(value = "contractId") Long contractId){ + return CommonResult.success(contractService.getContractById(contractId)); + } + + @ApiOperation(value = "根据项目id获取合同详情") + @GetMapping("/getContractByProjectId") + public CommonResult getContractByProjectId( Long projectId){ + return CommonResult.success(contractService.getContractByProjectId(projectId)); + } + + @RepeatSubmit + @ApiOperation(value = "创建合同") + @PostMapping("/add") + public CommonResult addContract(@Validated @RequestBody AssContract contract){ + return CommonResult.success(contractService.addContract(contract)); + } + + @RepeatSubmit + @ApiOperation(value = "编辑合同") + @PutMapping("/edit") + public CommonResult editContract(@Validated @RequestBody AssContract contract){ + return CommonResult.success(contractService.editContract(contract)); + } + + +} diff --git a/assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/AssDeviceController.java b/assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/AssDeviceController.java new file mode 100644 index 0000000..e4dfe3b --- /dev/null +++ b/assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/AssDeviceController.java @@ -0,0 +1,56 @@ +package com.gkhy.assess.admin.controller.web; + + +import com.gkhy.assess.common.annotation.RepeatSubmit; +import com.gkhy.assess.common.api.CommonResult; +import com.gkhy.assess.system.domain.AssDevice; +import com.gkhy.assess.system.service.AssDeviceService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +/** + * <p> + * 设备表 前端控制器 + * </p> + * + * @author kzy + * @since 2023-12-12 10:46:54 + */ +@Api(tags = "设备 前端控制器") +@RestController +@RequestMapping("/manage/device") +public class AssDeviceController { + + @Autowired + private AssDeviceService deviceService; + + @ApiOperation(value = "根据项目id获取设备列表") + @GetMapping("/getDeviceByProjectId") + public CommonResult getDeviceByProjectId(Long projectId){ + return CommonResult.success(deviceService.getByProjectId(projectId)); + } + + @RepeatSubmit + @ApiOperation(value = "新增设备") + @PostMapping("/add") + public CommonResult addDevice(@Validated @RequestBody AssDevice device){ + return CommonResult.success(deviceService.addDevice(device)); + } + + @RepeatSubmit + @ApiOperation(value = "编辑设备") + @PutMapping("/edit") + public CommonResult editDevice(@Validated @RequestBody AssDevice device){ + return CommonResult.success(deviceService.editDevice(device)); + } + + @RepeatSubmit + @ApiOperation(value = "删除设备") + @DeleteMapping("/remove/{deviceId}") + public CommonResult deleteDevice(@PathVariable(value = "deviceId")Long deviceId){ + return CommonResult.success(deviceService.deleteById(deviceId)); + } +} diff --git a/assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/AssEstimatePlanController.java b/assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/AssEstimatePlanController.java new file mode 100644 index 0000000..c9452b9 --- /dev/null +++ b/assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/AssEstimatePlanController.java @@ -0,0 +1,56 @@ +package com.gkhy.assess.admin.controller.web; + + +import com.gkhy.assess.common.annotation.RepeatSubmit; +import com.gkhy.assess.common.api.CommonResult; +import com.gkhy.assess.system.domain.AssEstimatePlan; +import com.gkhy.assess.system.service.AssEstimatePlanService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +/** + * <p> + * 评价项目计划表 前端控制器 + * </p> + * + * @author kzy + * @since 2023-12-12 10:46:54 + */ +@Api(tags = "评价项目计划 前端控制器") +@RestController +@RequestMapping("/manage/estimate-plan") +public class AssEstimatePlanController { + @Autowired + private AssEstimatePlanService estimatePlanService; + + @ApiOperation(value = "根据id获取评价计划详情") + @GetMapping("/detail/{planId}") + public CommonResult planDetail(@PathVariable(value = "planId") Long planId){ + return CommonResult.success(estimatePlanService.getEstimatePlanById(planId)); + } + + @ApiOperation(value = "根据项目id获取评价计划详情") + @GetMapping("/getPlanByProjectId") + public CommonResult getPlanByProjectId( Long projectId){ + return CommonResult.success(estimatePlanService.getEstimatePlanByProjectId(projectId)); + } + + @RepeatSubmit + @ApiOperation(value = "创建评价计划") + @PostMapping("/add") + public CommonResult addPlan(@Validated @RequestBody AssEstimatePlan estimatePlan){ + return CommonResult.success(estimatePlanService.addEstimatePlan(estimatePlan)); + } + + @RepeatSubmit + @ApiOperation(value = "编辑评价计划") + @PutMapping("/edit") + public CommonResult editPlan(@Validated @RequestBody AssEstimatePlan estimatePlan){ + return CommonResult.success(estimatePlanService.editEstimatePlan(estimatePlan)); + } + + +} diff --git a/assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/AssEstimateScheduleController.java b/assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/AssEstimateScheduleController.java new file mode 100644 index 0000000..5188808 --- /dev/null +++ b/assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/AssEstimateScheduleController.java @@ -0,0 +1,50 @@ +package com.gkhy.assess.admin.controller.web; + + +import com.gkhy.assess.common.annotation.RepeatSubmit; +import com.gkhy.assess.common.api.CommonResult; +import com.gkhy.assess.system.domain.AssEstimateSchedule; +import com.gkhy.assess.system.service.AssEstimateScheduleService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +/** + * <p> + * 评价日程安排表 前端控制器 + * </p> + * + * @author kzy + * @since 2023-12-12 10:46:54 + */ +@Api(tags = "评价日程安排 前端控制器") +@RestController +@RequestMapping("/manage/estimate-schedule") +public class AssEstimateScheduleController { + + @Autowired + private AssEstimateScheduleService estimateScheduleService; + + @ApiOperation(value = "根据项目id获取评价日程安排") + @GetMapping("/getScheduleByProjectId") + public CommonResult getScheduleByProjectId(Long projectId){ + return CommonResult.success(estimateScheduleService.getByProjectId(projectId)); + } + +// @RepeatSubmit +// @ApiOperation(value = "新增评价日程安排") +// @PostMapping("/add") +// public CommonResult addSchedule(@Validated @RequestBody AssEstimateSchedule estimateSchedule){ +// return CommonResult.success(estimateScheduleService.addSchedule(estimateSchedule)); +// } + + @RepeatSubmit + @ApiOperation(value = "编辑评价日程安排") + @PutMapping("/edit") + public CommonResult editSchedule(@Validated @RequestBody AssEstimateSchedule estimateSchedule){ + return CommonResult.success(estimateScheduleService.editSchedule(estimateSchedule)); + } + +} diff --git a/assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/AssEstimateTaskController.java b/assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/AssEstimateTaskController.java new file mode 100644 index 0000000..b3231cd --- /dev/null +++ b/assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/AssEstimateTaskController.java @@ -0,0 +1,57 @@ +package com.gkhy.assess.admin.controller.web; + + +import com.gkhy.assess.common.annotation.RepeatSubmit; +import com.gkhy.assess.common.api.CommonResult; +import com.gkhy.assess.system.domain.AssEstimateTask; +import com.gkhy.assess.system.service.AssEstimateTaskService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +/** + * <p> + * xi表 前端控制器 + * </p> + * + * @author kzy + * @since 2023-12-12 10:46:54 + */ +@Api(tags = "评价任务通知 前端控制器") +@RestController +@RequestMapping("/manage/estimate-task") +public class AssEstimateTaskController { + + @Autowired + private AssEstimateTaskService estimateTaskService; + + @ApiOperation(value = "根据id获取评价任务通知详情") + @GetMapping("/detail/{taskId}") + public CommonResult taskDetail(@PathVariable(value = "taskId") Long taskId){ + return CommonResult.success(estimateTaskService.getEstimateTaskById(taskId)); + } + + @ApiOperation(value = "根据项目id获取评价任务通知") + @GetMapping("/getTaskByProjectId") + public CommonResult getTaskByProjectId( Long projectId){ + return CommonResult.success(estimateTaskService.getEstimateTaskByProjectId(projectId)); + } + + @RepeatSubmit + @ApiOperation(value = "创建评价任务通知") + @PostMapping("/add") + public CommonResult addTask(@Validated @RequestBody AssEstimateTask estimateTask){ + return CommonResult.success(estimateTaskService.addEstimateTask(estimateTask)); + } + + @RepeatSubmit + @ApiOperation(value = "编辑评价任务通知") + @PutMapping("/edit") + public CommonResult editTask(@Validated @RequestBody AssEstimateTask estimateTask){ + return CommonResult.success(estimateTaskService.editEstimateTask(estimateTask)); + } + + +} diff --git a/assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/AssFaceRecognitionController.java b/assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/AssFaceRecognitionController.java new file mode 100644 index 0000000..3c1e389 --- /dev/null +++ b/assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/AssFaceRecognitionController.java @@ -0,0 +1,76 @@ +package com.gkhy.assess.admin.controller.web; + + +import com.gkhy.assess.common.annotation.RepeatSubmit; +import com.gkhy.assess.common.api.CommonResult; +import com.gkhy.assess.system.service.AssFaceRecognitionService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.Map; + +/** + * <p> + * 签字确认表 前端控制器 + * </p> + * + * @author kzy + * @since 2023-12-12 10:46:54 + */ +@Api(tags = "签字确认 前端控制器") +@RestController +@RequestMapping("/manage/face-recognition") +public class AssFaceRecognitionController { + @Autowired + private AssFaceRecognitionService faceRecognitionService; + + @ApiOperation(value = "根据项目id获取签字确认列表") + @GetMapping("/getRecognitionByProjectId") + public CommonResult getRecognitionByProjectId( Long projectId){ + return CommonResult.success(faceRecognitionService.getFaceRecognitionByProjectId(projectId)); + } + + @RepeatSubmit + @ApiOperation(value = "签字确认项目状态流转") + @PostMapping("/doProcess") + @ApiImplicitParams({ + @ApiImplicitParam(paramType = "body", name = "projectId", dataType = "long", required = true, value = "项目id"), + }) + public CommonResult doProcess(@RequestBody Map map){ + faceRecognitionService.doFaceRecognition(map); + return CommonResult.success(); + } +// +// @RepeatSubmit +// @ApiOperation(value = "编辑签字确认") +// @PutMapping("/edit") +// public CommonResult editContract(@Validated @RequestBody AssFaceRecognition faceRecognition){ +// return CommonResult.success(faceRecognitionService.editFaceRecognition(faceRecognition)); +// } + + + @ApiOperation(value = "根据成员id获取签字确认") + @GetMapping("/getRecognitionByPersonId") + @ApiImplicitParams({ + @ApiImplicitParam(paramType = "body", name = "projectId", dataType = "long", required = true, value = "项目id"), + @ApiImplicitParam(paramType = "body", name = "personId", dataType = "long", required = true, value = "成员id") + }) + public CommonResult getRecognitionByPersonId( Long projectId,Long personId){ + return CommonResult.success(faceRecognitionService.getRecognitionByPersonId(projectId,personId)); + } + + + @ApiOperation(value = "根据项目id校验所有人是否签字确认") + @PostMapping("/checkAllFaceRecongnition") + @ApiImplicitParams({ + @ApiImplicitParam(paramType = "body", name = "projectId", dataType = "long", required = true, value = "项目id") + }) + public CommonResult checkAllFaceRecongnition(@RequestBody Long projectId){ + return CommonResult.success(faceRecognitionService.checkAllFaceRecongnition(projectId)); + } + +} diff --git a/assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/AssFaceRecordController.java b/assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/AssFaceRecordController.java new file mode 100644 index 0000000..1e05715 --- /dev/null +++ b/assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/AssFaceRecordController.java @@ -0,0 +1,60 @@ +package com.gkhy.assess.admin.controller.web; + + +import com.gkhy.assess.common.annotation.RepeatSubmit; +import com.gkhy.assess.common.api.CommonResult; +import com.gkhy.assess.system.service.AssFaceRecordService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +/** + * <p> + * 现场勘验人员人脸识别记录表 前端控制器 + * </p> + * + * @author kzy + * @since 2023-12-12 10:46:54 + */ +@Api(tags = "人脸识别 前端控制器") +@RestController +@RequestMapping("/manage/face-record") +public class AssFaceRecordController { + + @Autowired + private AssFaceRecordService faceRecordService; + + @ApiOperation(value = "根据项目id获取人脸识别记录列表") + @GetMapping("/getFaceByProjectId") + @ApiImplicitParams({ + @ApiImplicitParam(paramType = "body", name = "projectId", dataType = "long", required = true, value = "项目id"), + @ApiImplicitParam(paramType = "body", name = "scene", dataType = "int", required = true, value = "是否是现场勘验人脸识别记录,0否,1是,默认1") + }) + public CommonResult getFaceByProjectId(Long projectId,@RequestParam(defaultValue = "1",required = false) Integer scene){ + return CommonResult.success(faceRecordService.faceRecordList(projectId,scene)); + } + +// @RepeatSubmit +// @ApiOperation(value = "新增人脸识别记录") +// @PostMapping("/add") +// public CommonResult addDevice(@Validated @RequestBody AssFaceRecord faceRecord){ +// return CommonResult.success(faceRecordService.addFaceRecord(faceRecord)); +// } +// +// @RepeatSubmit +// @ApiOperation(value = "编辑人脸识别记录") +// @PutMapping("/edit") +// public CommonResult editDevice(@Validated @RequestBody AssFaceRecord faceRecord){ +// return CommonResult.success(faceRecordService.editFaceRecord(faceRecord)); +// } + + @RepeatSubmit + @ApiOperation(value = "删除人脸识别记录") + @DeleteMapping("/remove/{faceId}") + public CommonResult deleteDevice(@PathVariable(value = "faceId")Long faceId){ + return CommonResult.success(faceRecordService.deleteById(faceId)); + } +} diff --git a/assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/AssFilingApplyController.java b/assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/AssFilingApplyController.java new file mode 100644 index 0000000..5c04160 --- /dev/null +++ b/assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/AssFilingApplyController.java @@ -0,0 +1,56 @@ +package com.gkhy.assess.admin.controller.web; + + +import com.gkhy.assess.common.annotation.RepeatSubmit; +import com.gkhy.assess.common.api.CommonResult; +import com.gkhy.assess.system.domain.AssFilingApply; +import com.gkhy.assess.system.service.AssFilingApplyService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +/** + * <p> + * 报备申请表 前端控制器 + * </p> + * + * @author kzy + * @since 2023-12-12 10:46:54 + */ +@Api(tags = "报备申请 前端控制器") +@RestController +@RequestMapping("/manage/filing-apply") +public class AssFilingApplyController { + + @Autowired + private AssFilingApplyService filingApplyService; + + @ApiOperation(value = "根据项目id获取报备申请列表") + @GetMapping("/getApplyByProjectId") + public CommonResult getApplyByProjectId(Long projectId){ + return CommonResult.success(filingApplyService.getFilingApplyByProjectId(projectId)); + } + + @RepeatSubmit + @ApiOperation(value = "新增报备申请") + @PostMapping("/add") + public CommonResult addApply(@Validated @RequestBody AssFilingApply filingApply){ + return CommonResult.success(filingApplyService.addFilingApply(filingApply)); + } + + @RepeatSubmit + @ApiOperation(value = "编辑报备申请") + @PutMapping("/edit") + public CommonResult editApply(@Validated @RequestBody AssFilingApply filingApply){ + return CommonResult.success(filingApplyService.editFilingApply(filingApply)); + } + + @RepeatSubmit + @ApiOperation(value = "删除报备申请") + @DeleteMapping("/remove/{applyId}") + public CommonResult deleteApply(@PathVariable(value = "applyId")Long applyId){ + return CommonResult.success(filingApplyService.deleteById(applyId)); + } +} diff --git a/assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/AssInvestigationController.java b/assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/AssInvestigationController.java new file mode 100644 index 0000000..8fadb5b --- /dev/null +++ b/assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/AssInvestigationController.java @@ -0,0 +1,66 @@ +package com.gkhy.assess.admin.controller.web; + + +import com.gkhy.assess.common.annotation.RepeatSubmit; +import com.gkhy.assess.common.api.CommonResult; +import com.gkhy.assess.common.enums.RequestSourceEnum; +import com.gkhy.assess.system.domain.AssInvestigation; +import com.gkhy.assess.system.service.AssInvestigationService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +/** + * <p> + * 现场勘验记录表 前端控制器 + * </p> + * + * @author kzy + * @since 2023-12-12 10:46:54 + */ +@Api(tags = "现场勘验记录 前端控制器") +@RestController +@RequestMapping("/manage/investigation") +public class AssInvestigationController { + + @Autowired + private AssInvestigationService investigationService; + + @ApiOperation(value = "根据id获取现场勘验记录表详情") + @GetMapping("/detail/{investigationId}") + public CommonResult investigationDetail(@PathVariable(value = "investigationId") Long investigationId){ + return CommonResult.success(investigationService.getInvestigationByProjectId(investigationId)); + } + + @ApiOperation(value = "根据项目id获取现场勘验记录表详情") + @GetMapping("/getInvestigationByProjectId") + public CommonResult getInvestigationByProjectId( Long projectId){ + return CommonResult.success(investigationService.getInvestigationByProjectId(projectId)); + } + + @RepeatSubmit + @ApiOperation(value = "创建现场勘验记录表") + @PostMapping("/add") + public CommonResult addInvestigation(@Validated @RequestBody AssInvestigation investigation){ + return CommonResult.success(investigationService.addInvestigation(investigation, RequestSourceEnum.WEB.getCode())); + } + + @RepeatSubmit + @ApiOperation(value = "编辑现场勘验记录表") + @PutMapping("/edit") + public CommonResult editInvestigation(@Validated @RequestBody AssInvestigation investigation){ + return CommonResult.success(investigationService.editInvestigation(investigation)); + } + +// @RepeatSubmit +// @ApiOperation(value = "现场勘验记录项目状态流转") +// @PostMapping("/doProcess") +// public CommonResult doProcess(@RequestBody Long projectId){ +// investigationService.doInvestigationProcess(projectId); +// return CommonResult.success(); +// } + + +} diff --git a/assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/AssPlanPersonController.java b/assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/AssPlanPersonController.java new file mode 100644 index 0000000..f5837d2 --- /dev/null +++ b/assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/AssPlanPersonController.java @@ -0,0 +1,69 @@ +package com.gkhy.assess.admin.controller.web; + + +import com.gkhy.assess.common.annotation.RepeatSubmit; +import com.gkhy.assess.common.api.CommonResult; +import com.gkhy.assess.system.domain.AssPlanPerson; +import com.gkhy.assess.system.service.AssPlanPersonService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +/** + * <p> + * 评价项目组成员表 前端控制器 + * </p> + * + * @author kzy + * @since 2023-12-12 10:46:54 + */ +@Api(tags = "项目组成员 前端控制器") +@RestController +@RequestMapping("/manage/plan-person") +public class AssPlanPersonController { + + @Autowired + private AssPlanPersonService planPersonService; + + @ApiOperation(value = "根据项目id获取项目组成员") + @GetMapping("/getPlanPersonByProjectId") + public CommonResult getPlanPersonByProjectId( Long projectId){ + return CommonResult.success(planPersonService.getByProjectId(projectId)); + } + + @RepeatSubmit + @ApiOperation(value = "新增项目组成成员") + @PostMapping("/add") + public CommonResult addPlanPerson(@Validated @RequestBody AssPlanPerson planPerson){ + return CommonResult.success(planPersonService.addPlanPerson(planPerson)); + } + + @RepeatSubmit + @ApiOperation(value = "编辑项目组成成员") + @PutMapping("/edit") + public CommonResult editPlan(@RequestBody AssPlanPerson planPerson){ + return CommonResult.success(planPersonService.editPlanPerson(planPerson)); + } + + @RepeatSubmit + @ApiOperation(value = "删除项目组成成员") + @DeleteMapping("/remove/{planPersonId}") + public CommonResult deletePlan(@PathVariable(value = "planPersonId")Long planPersonId){ + return CommonResult.success(planPersonService.deletePlanPersonById(planPersonId)); + } + + @ApiOperation(value = "根据成员id获取项目组成员详细信息(校验)") + @GetMapping("/getPlanPersonByPersonId") + @ApiImplicitParams({ + @ApiImplicitParam(paramType = "body", name = "projectId", dataType = "long", required = true, value = "项目id"), + @ApiImplicitParam(paramType = "body", name = "personId", dataType = "long", required = true, value = "项目成员id") + }) + public CommonResult getPlanPersonByProjectId( Long personId,Long projectId){ + return CommonResult.success(planPersonService.getPlanPersonByPersonId(personId,projectId)); + } + +} diff --git a/assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/AssProcessAuditController.java b/assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/AssProcessAuditController.java new file mode 100644 index 0000000..9f82581 --- /dev/null +++ b/assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/AssProcessAuditController.java @@ -0,0 +1,60 @@ +package com.gkhy.assess.admin.controller.web; + + +import com.gkhy.assess.common.annotation.RepeatSubmit; +import com.gkhy.assess.common.api.CommonResult; +import com.gkhy.assess.system.domain.AssPlanPerson; +import com.gkhy.assess.system.domain.AssProcessAudit; +import com.gkhy.assess.system.service.AssProcessAuditService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +/** + * <p> + * 过程控制负责人审核表 前端控制器 + * </p> + * + * @author kzy + * @since 2023-12-12 10:46:54 + */ +@Api(tags = "过程控制负责人审核 前端控制器") +@RestController +@RequestMapping("/manage/process-audit") +public class AssProcessAuditController { + + @Autowired + private AssProcessAuditService processAuditService; + + @ApiOperation(value = "根据id获取过程控制详情") + @GetMapping("/detail/{processId}") + public CommonResult processDetail(@PathVariable(value = "processId") Long processId){ + return CommonResult.success(processAuditService.getProcessAuditById(processId)); + } + + @ApiOperation(value = "根据项目id获取过程控制详情") + @GetMapping("/getProcessByProjectId") + public CommonResult getProcessByProjectId( Long projectId){ + return CommonResult.success(processAuditService.getProcessAuditByProjectId(projectId)); + } + + @RepeatSubmit + @ApiOperation(value = "创建过程控制") + @PostMapping("/add") + public CommonResult addProcess(@Validated @RequestBody AssProcessAudit processAudit){ + return CommonResult.success(processAuditService.addProcessAudit(processAudit)); + } + + + + @RepeatSubmit + @ApiOperation(value = "编辑过程控制") + @PutMapping("/edit") + public CommonResult editProcess(@Validated @RequestBody AssProcessAudit processAudit){ + return CommonResult.success(processAuditService.editProcessAudit(processAudit)); + } + + +} diff --git a/assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/AssProjectController.java b/assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/AssProjectController.java new file mode 100644 index 0000000..9bdaf66 --- /dev/null +++ b/assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/AssProjectController.java @@ -0,0 +1,104 @@ +package com.gkhy.assess.admin.controller.web; + + +import com.gkhy.assess.common.annotation.RepeatSubmit; +import com.gkhy.assess.common.api.CommonResult; +import com.gkhy.assess.system.domain.AssProject; +import com.gkhy.assess.system.service.AssProjectService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +/** + * <p> + * 项目表 前端控制器 + * </p> + * + * @author kzy + * @since 2023-12-11 14:16:18 + */ +@Api(tags = "项目前端控制器") +@RestController +@RequestMapping("/manage/project") +public class AssProjectController { + @Autowired + private AssProjectService projectService; + + @ApiOperation(value = "项目列表(分页)") + @ApiImplicitParams({ + @ApiImplicitParam(paramType = "query", name = "pageNum", dataType = "int", required = false, value = "当前页,默认1"), + @ApiImplicitParam(paramType = "query", name = "pageSize", dataType = "int", required = false, value = "每页数目,默认10,最大50"), + @ApiImplicitParam(paramType = "query", name = "projectPhase", dataType = "int", required = false, value = "params字段内:1风险分析评价计划,2现场勘验,3项目审核,4出具报告,5项目归档") + }) + @GetMapping("/list") + public CommonResult projectList(AssProject project){ + return CommonResult.success(projectService.projectList(project)); + } + + @ApiOperation(value = "根据id获取项目详情") + @GetMapping("/detail/{projectId}") + public CommonResult projectDetail(@PathVariable(value = "projectId") Long projectId){ + return CommonResult.success(projectService.getProjectById(projectId)); + } + + + @ApiOperation(value = "根据id获取项目当前状态") + @GetMapping("/progress/{projectId}") + public CommonResult getProjectProgress(@PathVariable(value = "projectId") Long projectId){ + return CommonResult.success(projectService.getProjectReportProgress(projectId)); + } + +// @RepeatSubmit +// @ApiOperation(value = "创建项目") +// @PostMapping("/add") +// public CommonResult addProject(@Validated @RequestBody AssProject project){ +// return CommonResult.success(projectService.addProject(project)); +// } + + + +// @RepeatSubmit +// @ApiOperation(value = "编辑项目") +// @PutMapping("/edit") +// public CommonResult editProject(@RequestBody AssProject project){ +// return CommonResult.success(projectService.editProject(project)); +// } + + + @RepeatSubmit + @ApiOperation(value = "删除项目") + @DeleteMapping("/remove/{projectId}") + public CommonResult deleteProject(@PathVariable(value = "projectId")Long projectId){ + return CommonResult.success(projectService.deleteProjectById(projectId)); + } + + + @ApiOperation(value = "校验项目名称是否唯一") + @PostMapping("/checkProjectNameUnique") + public CommonResult checkProjectNameUnique(@RequestBody AssProject project) + { + return CommonResult.success(projectService.checkNameUnique(project)); + } + + + @ApiOperation(value = "项目统计") + @GetMapping("/statistics") + public CommonResult projectStat(AssProject project){ + return CommonResult.success(projectService.projectStat(project)); + } + + @ApiOperation(value = "根据项目成员id获取项目列表") + @GetMapping("/memberProjects") + @ApiImplicitParams({ + @ApiImplicitParam(paramType = "query", name = "pageNum", dataType = "int", required = true, value = "当前页,默认1"), + @ApiImplicitParam(paramType = "query", name = "pageSize", dataType = "int", required = true, value = "每页数量,默认10"), + @ApiImplicitParam(paramType = "query", name = "personId", dataType = "long", required = true, value = "项目id") + }) + public CommonResult memberProjects(@RequestParam(required = true) Long personId){ + return CommonResult.success(projectService.memberProjects(personId,null)); + } + +} diff --git a/assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/AssProjectMaterialController.java b/assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/AssProjectMaterialController.java new file mode 100644 index 0000000..947b18a --- /dev/null +++ b/assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/AssProjectMaterialController.java @@ -0,0 +1,54 @@ +package com.gkhy.assess.admin.controller.web; + + +import com.gkhy.assess.common.annotation.RepeatSubmit; +import com.gkhy.assess.common.api.CommonResult; +import com.gkhy.assess.system.domain.AssProjectMaterial; +import com.gkhy.assess.system.domain.vo.ProjectMaterialVO; +import com.gkhy.assess.system.service.AssProjectMaterialService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** + * <p> + * 项目归档文件表 前端控制器 + * </p> + * + * @author kzy + * @since 2023-12-12 10:46:54 + */ +@Api(tags = "项目归档文件 前端控制器") +@RestController +@RequestMapping("/manage/project-material") +public class AssProjectMaterialController { + + @Autowired + private AssProjectMaterialService projectMaterialService; + + + @ApiOperation(value = "根据项目id获取归档材料") + @GetMapping("/getMaterialByProjectId") + public CommonResult getMaterialByProjectId( Long projectId){ + return CommonResult.success(projectMaterialService.getProjectMaterialByProjectId(projectId)); + } + + @RepeatSubmit + @ApiOperation(value = "批量创建归档材料") + @PostMapping("/add") + public CommonResult addMaterial(@Validated @RequestBody ProjectMaterialVO projectMaterialVO){ + return CommonResult.success(projectMaterialService.addProjectMaterial(projectMaterialVO)); + } + + @RepeatSubmit + @ApiOperation(value = "批量编辑归档材料") + @PutMapping("/edit") + public CommonResult editContract(@Validated @RequestBody ProjectMaterialVO projectMaterialVO){ + return CommonResult.success(projectMaterialService.editProjectMaterial(projectMaterialVO)); + } + +} diff --git a/assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/AssRecitificationController.java b/assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/AssRecitificationController.java new file mode 100644 index 0000000..f9e5615 --- /dev/null +++ b/assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/AssRecitificationController.java @@ -0,0 +1,59 @@ +package com.gkhy.assess.admin.controller.web; + + +import com.gkhy.assess.common.annotation.RepeatSubmit; +import com.gkhy.assess.common.api.CommonResult; +import com.gkhy.assess.system.domain.AssRecitification; +import com.gkhy.assess.system.service.AssRecitificationService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +/** + * <p> + * 项目整改情况说明表 前端控制器 + * </p> + * + * @author kzy + * @since 2023-12-12 10:46:54 + */ +@Api(tags = "整改情况 前端控制器") +@RestController +@RequestMapping("/manage/recitification") +public class AssRecitificationController { + @Autowired + private AssRecitificationService recitificationService; + + @ApiOperation(value = "根据项目id获取整改情况列表") + @GetMapping("/getRectifyByProjectId") + public CommonResult getRectifyByProjectId(Long projectId){ + return CommonResult.success(recitificationService.recitificationList(projectId)); + } + + + @RepeatSubmit + @ApiOperation(value = "创建整改情况") + @PostMapping("/add") + public CommonResult addRecitification(@Validated @RequestBody AssRecitification recitification){ + return CommonResult.success(recitificationService.addRecitification(recitification)); + } + + @RepeatSubmit + @ApiOperation(value = "编辑整改情况") + @PutMapping("/edit") + public CommonResult editRecitification(@Validated @RequestBody AssRecitification recitification){ + return CommonResult.success(recitificationService.editRecitification(recitification)); + } + + + @RepeatSubmit + @ApiOperation(value = "删除整改情况") + @DeleteMapping("/remove/{rectifyId}") + public CommonResult deleteRectify(@PathVariable(value = "rectifyId")Long rectifyId){ + return CommonResult.success(recitificationService.deleteById(rectifyId)); + } + + +} diff --git a/assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/AssReviewRecordController.java b/assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/AssReviewRecordController.java new file mode 100644 index 0000000..e428640 --- /dev/null +++ b/assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/AssReviewRecordController.java @@ -0,0 +1,45 @@ +package com.gkhy.assess.admin.controller.web; + + +import com.gkhy.assess.common.annotation.RepeatSubmit; +import com.gkhy.assess.common.api.CommonResult; +import com.gkhy.assess.system.service.AssConfirmFinalService; +import com.gkhy.assess.system.service.AssReviewRecordService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +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 java.util.Map; + +/** + * <p> + * 评审记录 前端控制器 + * </p> + * + * @author kzy + * @since 2024-1-4 10:46:54 + */ +@Api(tags = "评审记录 前端控制器") +@RestController +@RequestMapping("/manage/review-record") +public class AssReviewRecordController { + @Autowired + private AssReviewRecordService reviewRecordService; + + @RepeatSubmit + @ApiOperation(value = "评审记录完成") + @PostMapping("/doReview") + @ApiImplicitParams({ + @ApiImplicitParam(paramType = "body", name = "projectId", dataType = "long", required = true, value = "项目id"), + }) + public CommonResult doReview(@RequestBody Map map){ + reviewRecordService.doReview(map); + return CommonResult.success(); + } +} diff --git a/assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/AssRiskEstimateController.java b/assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/AssRiskEstimateController.java new file mode 100644 index 0000000..05c07c6 --- /dev/null +++ b/assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/AssRiskEstimateController.java @@ -0,0 +1,57 @@ +package com.gkhy.assess.admin.controller.web; + + +import com.gkhy.assess.common.annotation.RepeatSubmit; +import com.gkhy.assess.common.api.CommonResult; +import com.gkhy.assess.system.domain.AssRiskEstimate; +import com.gkhy.assess.system.service.AssRiskEstimateService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +/** + * <p> + * 风险评估表 前端控制器 + * </p> + * + * @author kzy + * @since 2023-12-12 10:46:54 + */ +@Api(tags = "项目风险评估 前端控制器") +@RestController +@RequestMapping("/manage/risk-estimate") +public class AssRiskEstimateController { + @Autowired + private AssRiskEstimateService riskEstimateService; + + @ApiOperation(value = "根据id获取风险评估详情") + @GetMapping("/detail/{riskId}") + public CommonResult riskEstimateDetail(@PathVariable(value = "riskId") Long riskId){ + return CommonResult.success(riskEstimateService.getRiskEstimateById(riskId)); + } + + @ApiOperation(value = "根据项目id获取风险评估详情") + @GetMapping("/getRiskByProjectId") + public CommonResult getRiskByProjectId( Long projectId){ + return CommonResult.success(riskEstimateService.getRiskEstimateByProjectId(projectId)); + } + + @RepeatSubmit + @ApiOperation(value = "创建风险评估") + @PostMapping("/add") + public CommonResult addRiskEstimate(@Validated @RequestBody AssRiskEstimate riskEstimate){ + return CommonResult.success(riskEstimateService.addRiskEstimate(riskEstimate)); + } + + @RepeatSubmit + @ApiOperation(value = "编辑风险评估") + @PutMapping("/edit") + public CommonResult editRiskEstimate(@Validated @RequestBody AssRiskEstimate riskEstimate){ + return CommonResult.success(riskEstimateService.editRiskEstimate(riskEstimate)); + } + + + +} diff --git a/assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/AssWorkNotificationController.java b/assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/AssWorkNotificationController.java new file mode 100644 index 0000000..01f1be6 --- /dev/null +++ b/assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/AssWorkNotificationController.java @@ -0,0 +1,55 @@ +package com.gkhy.assess.admin.controller.web; + + +import com.gkhy.assess.common.annotation.RepeatSubmit; +import com.gkhy.assess.common.api.CommonResult; +import com.gkhy.assess.system.domain.AssWorkNotification; +import com.gkhy.assess.system.service.AssWorkNotificationService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +/** + * <p> + * 从业告知表 前端控制器 + * </p> + * + * @author kzy + * @since 2023-12-12 10:46:54 + */ +@Api(tags = "从业告知 前端控制器") +@RestController +@RequestMapping("/manage/work-notification") +public class AssWorkNotificationController { + @Autowired + private AssWorkNotificationService workNotificationService; + + @ApiOperation(value = "根据id获取从业告知详情") + @GetMapping("/detail/{notificationId}") + public CommonResult workNotificationDetail(@PathVariable(value = "notificationId") Long notificationId){ + return CommonResult.success(workNotificationService.getWorkNotificationById(notificationId)); + } + + @ApiOperation(value = "根据项目id获取从业告知详情") + @GetMapping("/getWorkNotificationByProjectId") + public CommonResult getWorkNotificationByProjectId( Long projectId){ + return CommonResult.success(workNotificationService.getWorkNotificationByProjectId(projectId)); + } + + @RepeatSubmit + @ApiOperation(value = "创建从业告知") + @PostMapping("/add") + public CommonResult addWorkNotification(@Validated @RequestBody AssWorkNotification workNotification){ + return CommonResult.success(workNotificationService.addWorkNotification(workNotification)); + } + + @RepeatSubmit + @ApiOperation(value = "编辑从业告知") + @PutMapping("/edit") + public CommonResult editWorkNotification(@Validated @RequestBody AssWorkNotification workNotification){ + return CommonResult.success(workNotificationService.editWorkNotification(workNotification)); + } + +} diff --git a/assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/ExpertClassifyController.java b/assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/ExpertClassifyController.java index bb19588..0291b85 100644 --- a/assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/ExpertClassifyController.java +++ b/assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/ExpertClassifyController.java @@ -6,6 +6,7 @@ import com.gkhy.assess.system.service.SysExpertClassifyService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; +import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -22,6 +23,7 @@ return CommonResult.success(expertClassifyService.classifyTree(expertClassify)); } + @RequiresPermissions("system:assess:monitor") @RepeatSubmit @ApiOperation(value = "修改专家分类") @PutMapping("/mod") @@ -29,6 +31,7 @@ return CommonResult.success(expertClassifyService.modClassify(expertClassify)); } + @RequiresPermissions("system:assess:monitor") @RepeatSubmit @ApiOperation(value = "删除专家分类") @DeleteMapping("/del/{classifyId}") @@ -37,6 +40,7 @@ } + @RequiresPermissions("system:assess:monitor") @RepeatSubmit @ApiOperation(value = "新增专家分类") @PostMapping("/add") diff --git a/assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/ExpertInfoController.java b/assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/ExpertInfoController.java index 8a87e30..09a448f 100644 --- a/assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/ExpertInfoController.java +++ b/assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/ExpertInfoController.java @@ -5,11 +5,13 @@ import com.gkhy.assess.system.domain.SysAgency; import com.gkhy.assess.system.domain.SysExpertClassify; import com.gkhy.assess.system.domain.SysExpertInfo; +import com.gkhy.assess.system.domain.SysUser; import com.gkhy.assess.system.service.SysExpertInfoService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; +import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -20,16 +22,18 @@ @Autowired private SysExpertInfoService expertInfoService; + @RequiresPermissions("system:assess:monitor") @ApiOperation(value = "专家列表(分页)") @ApiImplicitParams({ @ApiImplicitParam(paramType = "query", name = "pageNum", dataType = "int", required = false, value = "当前页,默认1"), - @ApiImplicitParam(paramType = "query", name = "pageSize", dataType = "int", required = false, value = "每页数目,默认10") + @ApiImplicitParam(paramType = "query", name = "pageSize", dataType = "int", required = false, value = "每页数目,默认10,最大50") }) @GetMapping("/list") public CommonResult exportInfoList(SysExpertInfo expertInfo){ return CommonResult.success(expertInfoService.exportInfoList(expertInfo)); } + @RequiresPermissions("system:assess:monitor") @RepeatSubmit @ApiOperation(value = "新增专家信息") @PostMapping("/add") @@ -37,6 +41,7 @@ return CommonResult.success(expertInfoService.addExpertInfo(expertInfo)); } + @RequiresPermissions("system:assess:monitor") @RepeatSubmit @ApiOperation(value = "修改专家信息") @PutMapping("/mod") @@ -44,7 +49,7 @@ return CommonResult.success(expertInfoService.modExpertInfo(expertInfo)); } - + @RequiresPermissions("system:assess:monitor") @RepeatSubmit @ApiOperation(value = "删除专家信息") @DeleteMapping("/del/{expertId}") @@ -52,7 +57,7 @@ return CommonResult.success(expertInfoService.delExpertInfo(expertId)); } - + @RequiresPermissions("system:assess:monitor") @RepeatSubmit @ApiOperation(value = "批量删除专家信息") @DeleteMapping("/del/batch/{expertIds}") @@ -60,7 +65,23 @@ return CommonResult.success(expertInfoService.delExpertInfoBatch(expertIds)); } + @RequiresPermissions("system:assess:monitor") + @ApiOperation(value = "根据id获取专家信息") + @GetMapping("/detail/{expertId}") + public CommonResult exportInfoDetail(@PathVariable(value = "expertId") Long expertId){ + return CommonResult.success(expertInfoService.exportInfoDetail(expertId)); + } + @RepeatSubmit + @RequiresPermissions("system:assess:monitor") + @ApiOperation(value = "审批状态修改,审批状态(0暂存,1审核中,2审批通过,3审批驳回,4已作废)") + @PostMapping("/changeApprove") + public CommonResult changeApprove(@RequestBody SysExpertInfo expertInfo) + { + return CommonResult.success(expertInfoService.changeApprove(expertInfo)); + } + + } diff --git a/assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/SysAgencyController.java b/assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/SysAgencyController.java index 892fdd1..bc8d9a2 100644 --- a/assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/SysAgencyController.java +++ b/assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/SysAgencyController.java @@ -21,17 +21,18 @@ @Autowired private SysAgencyService agencyService; + @RequiresPermissions("system:assess:monitor") @ApiOperation(value = "机构列表(分页)") @ApiImplicitParams({ @ApiImplicitParam(paramType = "query", name = "pageNum", dataType = "int", required = false, value = "当前页,默认1"), - @ApiImplicitParam(paramType = "query", name = "pageSize", dataType = "int", required = false, value = "每页数目,默认10") + @ApiImplicitParam(paramType = "query", name = "pageSize", dataType = "int", required = false, value = "每页数目,默认10,最大50") }) @GetMapping("/agencyList") public CommonResult agencyList(SysAgency agency){ return CommonResult.success(agencyService.agencyList(agency)); } - + @RequiresPermissions("system:assess:monitor") @ApiOperation(value = "根据id获取机构详情") @ApiImplicitParams({ @ApiImplicitParam(paramType = "query", name = "agencyId", dataType = "int", required = true, value = "机构id") diff --git a/assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/SysDictDataController.java b/assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/SysDictDataController.java index 0b2067a..60a9f05 100644 --- a/assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/SysDictDataController.java +++ b/assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/SysDictDataController.java @@ -9,6 +9,7 @@ import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; +import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; @@ -39,6 +40,7 @@ return CommonResult.success(dictDataService.getDictDataById(dictId)); } + @RequiresPermissions("system:assess:monitor") @RepeatSubmit @ApiOperation(value = "新增字典数据") @PostMapping("/addDictData") @@ -47,6 +49,7 @@ } + @RequiresPermissions("system:assess:monitor") @RepeatSubmit @ApiOperation(value = "编辑字典数据") @PutMapping("/editDictData") @@ -55,6 +58,7 @@ } + @RequiresPermissions("system:assess:monitor") @RepeatSubmit @ApiOperation(value = "删除字典数据") @DeleteMapping("/remove/{dictId}") @@ -63,6 +67,7 @@ } + @RequiresPermissions("system:assess:monitor") @RepeatSubmit @ApiOperation(value = "字典数据状态修改,停用/启用") @PostMapping("/changeStatus") diff --git a/assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/SysDictTypeController.java b/assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/SysDictTypeController.java index 7a98a2d..a1e0a77 100644 --- a/assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/SysDictTypeController.java +++ b/assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/SysDictTypeController.java @@ -10,6 +10,7 @@ import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; +import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; @@ -52,7 +53,7 @@ } - + @RequiresPermissions("system:assess:monitor") @RepeatSubmit @ApiOperation(value = "新增字典类型") @PostMapping("/addDictType") @@ -60,7 +61,7 @@ return CommonResult.success(dictTypeService.addDictType(dictType)); } - + @RequiresPermissions("system:assess:monitor") @RepeatSubmit @ApiOperation(value = "编辑字典类型") @PutMapping("/editDictType") @@ -68,7 +69,7 @@ return CommonResult.success(dictTypeService.editDictType(dictType)); } - + @RequiresPermissions("system:assess:monitor") @RepeatSubmit @ApiOperation(value = "删除字典类型") @DeleteMapping("/remove/{dictId}") @@ -76,7 +77,7 @@ return CommonResult.success(dictTypeService.deleteDictTypeById(dictId)); } - + @RequiresPermissions("system:assess:monitor") @RepeatSubmit @ApiOperation(value = "字典类型状态修改,停用/启用") @PostMapping("/changeStatus") diff --git a/assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/SysLawController.java b/assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/SysLawController.java index b913ea0..c8cc4c0 100644 --- a/assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/SysLawController.java +++ b/assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/SysLawController.java @@ -19,18 +19,18 @@ public class SysLawController { @Autowired private SysLawService lawService; - + @RequiresPermissions("system:assess:monitor") @ApiOperation(value = "法律法规列表(分页)") @ApiImplicitParams({ @ApiImplicitParam(paramType = "query", name = "pageNum", dataType = "int", required = false, value = "当前页,默认1"), - @ApiImplicitParam(paramType = "query", name = "pageSize", dataType = "int", required = false, value = "每页数目,默认10") + @ApiImplicitParam(paramType = "query", name = "pageSize", dataType = "int", required = false, value = "每页数目,默认10,最大50") }) @GetMapping("/lawList") public CommonResult lawList(SysLaw law){ return CommonResult.success(lawService.lawList(law)); } - + @RequiresPermissions("system:assess:monitor") @ApiOperation(value = "根据id获取法律法规详情") @ApiImplicitParams({ @ApiImplicitParam(paramType = "query", name = "lawId", dataType = "int", required = true, value = "法律法规id") diff --git a/assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/SysLoginController.java b/assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/SysLoginController.java index 64e5a75..267b48c 100644 --- a/assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/SysLoginController.java +++ b/assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/SysLoginController.java @@ -23,7 +23,7 @@ */ @Api(tags = "用户登录前端控制器") @RestController -@RequestMapping("/account") +@RequestMapping("/system/account") public class SysLoginController { @Autowired private SysUserService sysUserService; diff --git a/assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/SysNoticeController.java b/assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/SysNoticeController.java index 8964a06..c5cc573 100644 --- a/assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/SysNoticeController.java +++ b/assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/SysNoticeController.java @@ -20,10 +20,11 @@ @Autowired private SysNoticeService noticeService; + @RequiresPermissions("system:assess:monitor") @ApiOperation(value = "通知列表(分页)") @ApiImplicitParams({ @ApiImplicitParam(paramType = "query", name = "pageNum", dataType = "int", required = false, value = "当前页,默认1"), - @ApiImplicitParam(paramType = "query", name = "pageSize", dataType = "int", required = false, value = "每页数目,默认10") + @ApiImplicitParam(paramType = "query", name = "pageSize", dataType = "int", required = false, value = "每页数目,默认10,最大50") }) @GetMapping("/noticeList") public CommonResult noticeList(SysNotice notice){ @@ -31,6 +32,7 @@ } + @RequiresPermissions("system:assess:monitor") @ApiOperation(value = "根据id获取通知详情") @ApiImplicitParams({ @ApiImplicitParam(paramType = "query", name = "noticeId", dataType = "int", required = true, value = "通知id") diff --git a/assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/SysRegionController.java b/assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/SysRegionController.java index 44d11d0..4c2a17d 100644 --- a/assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/SysRegionController.java +++ b/assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/SysRegionController.java @@ -1,5 +1,6 @@ package com.gkhy.assess.admin.controller.web; +import com.gkhy.assess.common.annotation.DataDesensitization; import com.gkhy.assess.common.annotation.RepeatSubmit; import com.gkhy.assess.common.api.CommonResult; import com.gkhy.assess.system.domain.SysRegion; @@ -8,6 +9,7 @@ import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; +import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; @@ -35,7 +37,7 @@ return CommonResult.success(regionService.getChildRegionById(regionId)); } - + @RequiresPermissions("system:assess:monitor") @RepeatSubmit @ApiOperation(value = "新增地区") @PostMapping("/addRegion") @@ -43,7 +45,7 @@ return CommonResult.success(regionService.addRegion(region)); } - + @RequiresPermissions("system:assess:monitor") @RepeatSubmit @ApiOperation(value = "编辑地区") @PutMapping("/editRegion") @@ -51,7 +53,7 @@ return CommonResult.success(regionService.editRegion(region)); } - + @RequiresPermissions("system:assess:monitor") @RepeatSubmit @ApiOperation(value = "删除地区") @DeleteMapping("/remove/{regionId}") diff --git a/assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/SysUserController.java b/assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/SysUserController.java index fe343cb..2f13c70 100644 --- a/assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/SysUserController.java +++ b/assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/SysUserController.java @@ -24,22 +24,22 @@ @Autowired private SysUserService sysUserService; - + @RequiresPermissions("system:assess:monitor") @ApiOperation(value = "监管用户列表(分页)") @ApiImplicitParams({ @ApiImplicitParam(paramType = "query", name = "pageNum", dataType = "int", required = false, value = "当前页,默认1"), - @ApiImplicitParam(paramType = "query", name = "pageSize", dataType = "int", required = false, value = "每页数目,默认10") + @ApiImplicitParam(paramType = "query", name = "pageSize", dataType = "int", required = false, value = "每页数目,默认10,最大50") }) @GetMapping("/monitorList") public CommonResult monitorList(SysUser user){ return CommonResult.success(sysUserService.monitorList(user)); } - + @RequiresPermissions("system:assess:monitor") @ApiOperation(value = "机构用户列表(分页)") @ApiImplicitParams({ @ApiImplicitParam(paramType = "query", name = "pageNum", dataType = "int", required = false, value = "当前页,默认1"), - @ApiImplicitParam(paramType = "query", name = "pageSize", dataType = "int", required = false, value = "每页数目,默认10") + @ApiImplicitParam(paramType = "query", name = "pageSize", dataType = "int", required = false, value = "每页数目,默认10,最大50") }) @GetMapping("/agencyList") public CommonResult agencyList(SysUser user){ @@ -50,13 +50,14 @@ @ApiOperation(value = "专家用户列表(分页)") @ApiImplicitParams({ @ApiImplicitParam(paramType = "query", name = "pageNum", dataType = "int", required = false, value = "当前页,默认1"), - @ApiImplicitParam(paramType = "query", name = "pageSize", dataType = "int", required = false, value = "每页数目,默认10") + @ApiImplicitParam(paramType = "query", name = "pageSize", dataType = "int", required = false, value = "每页数目,默认10,最大50") }) @GetMapping("/expertList") public CommonResult expertList(SysUser user){ return CommonResult.success(sysUserService.expertList(user)); } + @RequiresPermissions("system:assess:monitor") @RepeatSubmit @ApiOperation(value = "创建监管用户") @PostMapping("/addMonitor") @@ -116,7 +117,7 @@ @ApiOperation(value = "校验用户名") @PostMapping("/checkUserNameUnique") - public CommonResult checkLoginNameUnique(@RequestBody SysUser user) + public CommonResult checkUserNameUnique(@RequestBody SysUser user) { return CommonResult.success(sysUserService.checkUsernameUnique(user)); } diff --git a/assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/front/AgencyController.java b/assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/front/AgencyController.java index 3245b1b..a56b010 100644 --- a/assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/front/AgencyController.java +++ b/assess-admin/src/main/java/com/gkhy/assess/admin/controller/web/front/AgencyController.java @@ -1,5 +1,6 @@ package com.gkhy.assess.admin.controller.web.front; +import com.gkhy.assess.common.annotation.DataDesensitization; import com.gkhy.assess.common.api.CommonResult; import com.gkhy.assess.system.domain.SysAgency; import com.gkhy.assess.system.service.SysAgencyService; @@ -31,6 +32,7 @@ } + @DataDesensitization @ApiOperation(value = "根据id获取机构详情") @ApiImplicitParams({ @ApiImplicitParam(paramType = "query", name = "agencyId", dataType = "int", required = true, value = "机构id") diff --git a/assess-admin/src/main/resources/application-dev.yml b/assess-admin/src/main/resources/application-dev.yml index 517467d..cdb2cd3 100644 --- a/assess-admin/src/main/resources/application-dev.yml +++ b/assess-admin/src/main/resources/application-dev.yml @@ -50,7 +50,7 @@ # mybatis-plus相关配置 mybatis-plus: # xml扫描,多个目录用逗号或者分号分隔(告诉 Mapper 所对应的 XML 文件位置) - mapper-locations: classpath*:mapper/**/*Mapper.xml + mapper-locations: classpath*:mapper/*Mapper.xml # 以下配置均有默认值,可以不设置 global-config: db-config: diff --git a/assess-admin/src/main/resources/application-pro.yml b/assess-admin/src/main/resources/application-pro.yml new file mode 100644 index 0000000..0c6ce23 --- /dev/null +++ b/assess-admin/src/main/resources/application-pro.yml @@ -0,0 +1,82 @@ +spring: + datasource: + type: com.alibaba.druid.pool.DruidDataSource + driverClassName: com.mysql.cj.jdbc.Driver + druid: + # 主库数据源 + master: + url: jdbc:mysql://192.168.30.118:3306/smart_assess?useUnicode=true&characterEncoding=utf-8&autoReconnect=true&serverTimezone=Asia/Shanghai&useSSL=false + username: root + password: e7be93ef5413e5ed + # 从库数据源 + slave: + enabled: false + url: + username: + password: + initialSize: 5 #连接池初始化大小 + minIdle: 10 #最小空闲连接数 + maxActive: 20 #最大连接数 + # 配置获取连接等待超时的时间 + maxWait: 60000 + # 配置连接超时时间 + connectTimeout: 30000 + # 配置网络超时时间 + socketTimeout: 60000 + # 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 + timeBetweenEvictionRunsMillis: 60000 + # 配置一个连接在池中最小生存的时间,单位是毫秒 + minEvictableIdleTimeMillis: 300000 + # 配置一个连接在池中最大生存的时间,单位是毫秒 + maxEvictableIdleTimeMillis: 900000 + # 配置检测连接是否有效 + validationQuery: SELECT 1 FROM DUAL + testWhileIdle: true + testOnBorrow: false + testOnReturn: false + web-stat-filter: + exclusions: "*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*" #不统计这些请求数据 + stat-view-servlet: #访问监控网页的登录用户名和密码 + login-username: druid + login-password: druid + enabled: true + # 设置白名单,不填则允许所有访问 + allow: 114.216.178.42 + url-pattern: /druid/* + #redis 配置 + redis: + database: 0 + host: 127.0.0.1 + port: 6379 + password: gkhy@202306 + + +# mybatis-plus相关配置 +mybatis-plus: + # xml扫描,多个目录用逗号或者分号分隔(告诉 Mapper 所对应的 XML 文件位置) + mapper-locations: classpath*:mapper/*Mapper.xml + # 以下配置均有默认值,可以不设置 + global-config: + db-config: + #主键类型 AUTO:"数据库ID自增" INPUT:"用户输入ID",ID_WORKER:"全局唯一ID (数字类型唯一ID)", UUID:"全局唯一ID UUID"; + id-type: auto + #字段策略 IGNORED:"忽略判断" NOT_NULL:"非 NULL 判断") NOT_EMPTY:"非空判断" + field-strategy: NOT_EMPTY + #数据库类型 + db-type: MYSQL + configuration: + # 是否开启自动驼峰命名规则映射:从数据库列名到Java属性驼峰命名的类似映射 + map-underscore-to-camel-case: true + # 如果查询结果中包含空值的列,则 MyBatis 在映射的时候,不会映射这个字段 + call-setters-on-nulls: true + + +logging: + level: + root: INFO + org: + com.nms.swspkmas_standalone: INFO + + +swagger: + enabled: false \ No newline at end of file diff --git a/assess-admin/src/main/resources/application.yml b/assess-admin/src/main/resources/application.yml index f82a6b9..e1e6343 100644 --- a/assess-admin/src/main/resources/application.yml +++ b/assess-admin/src/main/resources/application.yml @@ -36,6 +36,6 @@ # 过滤开关 enabled: true # 排除链接(多个用逗号分隔) - excludes: /system/notice + excludes: # 匹配链接 - urlPatterns: /system/*,/monitor/*,/tool/* + urlPatterns: /system/*,/manage/* diff --git a/assess-admin/src/main/resources/db/migration/V20231123001_add_user.sql b/assess-admin/src/main/resources/db/migration/V20231123001_add_user.sql index 9caf8db..e090d9c 100644 --- a/assess-admin/src/main/resources/db/migration/V20231123001_add_user.sql +++ b/assess-admin/src/main/resources/db/migration/V20231123001_add_user.sql @@ -1,4 +1,3 @@ -drop table if exists `smart_assess`.`sys_user`; CREATE TABLE `smart_assess`.`sys_user` ( `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT, `username` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '登录账号', @@ -23,13 +22,16 @@ `login_ip` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '最后登录ip', `login_date` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '最后登录时间', `pwd_update_date` datetime NULL DEFAULT NULL COMMENT '密码最后更新时间', +`version` int NULL DEFAULT 0 COMMENT '乐观锁', `create_by` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '创建者', `create_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `update_by` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '更新者', `update_time` datetime NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', `remark` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '备注', PRIMARY KEY (`id`) USING BTREE, -UNIQUE INDEX `index_username`(`username`) USING BTREE +INDEX `index_username`(`username`) USING BTREE ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '用户表' ROW_FORMAT = Dynamic; --- admin admin@123 -insert into sys_user values(1,'admin', '国科鸿宇', 0, 'gkhy@163.com', '15888888888', 0, '', 'b3065cdf5dfdbbc573e2f576c8dc147a', '111111', 0, 0, 0,'',null,null,'','','',1,'127.0.0.1', sysdate(), sysdate(), 'admin', sysdate(), '', sysdate(), '管理员'); +-- admin admin@3.1416 +insert into sys_user values(1,'admin', '国科鸿宇', 0, 'gkhy@163.com', '15888888888', 0, '', '1d3a86b6057285745c07a08dcc8ab078', '111111', 0, 0, 0,'',null,null,'','','',1,'127.0.0.1', sysdate(), sysdate(),1, 'admin', sysdate(), '', sysdate(), '管理员'); +-- administrator admin@3.1416 +insert into sys_user values(2,'administrator', '智慧安评管理员', 0, 'gkhy2@163.com', '15888888889', 0, '', '275b57c4363e285d8beed63edfe350ee', '222222', 0, 0, 0,'',null,null,'','','',1,'127.0.0.1', sysdate(), sysdate(),1, 'admin', sysdate(), '', sysdate(), '管理员'); diff --git a/assess-admin/src/main/resources/db/migration/V20231123002_dict_type.sql b/assess-admin/src/main/resources/db/migration/V20231123002_dict_type.sql index 3a2b9af..6aaa2d0 100644 --- a/assess-admin/src/main/resources/db/migration/V20231123002_dict_type.sql +++ b/assess-admin/src/main/resources/db/migration/V20231123002_dict_type.sql @@ -2,12 +2,12 @@ -- ---------------------------- -- 字典类型表 -- ---------------------------- -drop table if exists `smart_assess`.`sys_dict_type`; CREATE TABLE `smart_assess`.`sys_dict_type` ( `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT, `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '字典名称', `dict_type` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '字典类型', `status` tinyint NOT NULL DEFAULT 0 COMMENT '状态(0正常,1停用)', +`version` int NULL DEFAULT 0 COMMENT '乐观锁', `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL, `create_time` datetime NULL DEFAULT CURRENT_TIMESTAMP, `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL, @@ -18,5 +18,5 @@ UNIQUE INDEX `index_type`(`dict_type`) USING BTREE ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '字典类型表' ROW_FORMAT = Dynamic; -insert into sys_dict_type values(1, '评价类型', 'sys_assess_type', 0, 'admin', sysdate(), '', sysdate(), '评价类型列表'); -insert into sys_dict_type values(2, '业务范围', 'sys_business_scope', 0, 'admin', sysdate(), '', sysdate(), '业务范围列表'); \ No newline at end of file +insert into sys_dict_type values(1, '评价类型', 'sys_assess_type', 0, 1, 'admin', sysdate(), '', sysdate(), '评价类型列表'); +insert into sys_dict_type values(2, '业务范围', 'sys_business_scope', 0, 1, 'admin', sysdate(), '', sysdate(), '业务范围列表'); \ No newline at end of file diff --git a/assess-admin/src/main/resources/db/migration/V20231123003_dict_data.sql b/assess-admin/src/main/resources/db/migration/V20231123003_dict_data.sql index 98c2cd0..2dc4f66 100644 --- a/assess-admin/src/main/resources/db/migration/V20231123003_dict_data.sql +++ b/assess-admin/src/main/resources/db/migration/V20231123003_dict_data.sql @@ -2,7 +2,6 @@ -- ---------------------------- -- 字典数据表 -- ---------------------------- -drop table if exists `smart_assess`.`sys_dict_data`; CREATE TABLE `smart_assess`.`sys_dict_data` ( `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT, `sort` int NOT NULL DEFAULT 0 COMMENT '字典排序', @@ -11,6 +10,7 @@ `dict_type` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '字典类型', `is_default` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT 'N' COMMENT '是否默认(Y是 N否)', `status` tinyint NOT NULL DEFAULT 0 COMMENT '状态(0正常 1停用)', +`version` int NULL DEFAULT 0 COMMENT '乐观锁', `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL, `create_time` datetime NULL DEFAULT CURRENT_TIMESTAMP, `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL, @@ -20,10 +20,10 @@ UNIQUE INDEX `index_l_v_t`(`dict_type`, `label`, `value`) USING BTREE ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '字典数据表' ROW_FORMAT = Dynamic; -insert into sys_dict_data values(1, 0, '煤炭开采业','0', 'sys_business_scope', 'Y',0, 'admin', sysdate(), '', sysdate(), '业务范围数据'); -insert into sys_dict_data values(2, 0, '金属、非金属矿及其他矿采选业','1', 'sys_business_scope', 'N',0, 'admin', sysdate(), '', sysdate(), '业务范围数据'); -insert into sys_dict_data values(3, 0, '陆地石油和天然气开采业','2', 'sys_business_scope', 'N',0, 'admin', sysdate(), '', sysdate(), '业务范围数据'); -insert into sys_dict_data values(4, 0, '陆上油气管道运输业','3', 'sys_business_scope', 'N',0, 'admin', sysdate(), '', sysdate(), '业务范围数据'); -insert into sys_dict_data values(5, 0, '石油加工业,化学原料、化学品及医药制造业','4', 'sys_business_scope', 'N',0, 'admin', sysdate(), '', sysdate(), '业务范围数据'); -insert into sys_dict_data values(6, 0, '烟花爆竹制造业','5', 'sys_business_scope', 'N',0, 'admin', sysdate(), '', sysdate(), '业务范围数据'); -insert into sys_dict_data values(7, 0, '金属冶炼','6', 'sys_business_scope', 'N',0, 'admin', sysdate(), '', sysdate(), '业务范围数据'); +insert into sys_dict_data() values(1, 0, '煤炭开采业','0', 'sys_business_scope', 'Y',0, 1 ,'admin', sysdate(), '', sysdate(), '业务范围数据'); +insert into sys_dict_data values(2, 0, '金属、非金属矿及其他矿采选业','1', 'sys_business_scope', 'N',0, 1 ,'admin', sysdate(), '', sysdate(), '业务范围数据'); +insert into sys_dict_data values(3, 0, '陆地石油和天然气开采业','2', 'sys_business_scope', 'N',0, 1 ,'admin', sysdate(), '', sysdate(), '业务范围数据'); +insert into sys_dict_data values(4, 0, '陆上油气管道运输业','3', 'sys_business_scope', 'N',0, 1 ,'admin', sysdate(), '', sysdate(), '业务范围数据'); +insert into sys_dict_data values(5, 0, '石油加工业,化学原料、化学品及医药制造业','4', 'sys_business_scope', 'N',0, 1 ,'admin', sysdate(), '', sysdate(), '业务范围数据'); +insert into sys_dict_data values(6, 0, '烟花爆竹制造业','5', 'sys_business_scope', 'N',0, 1 ,'admin', sysdate(), '', sysdate(), '业务范围数据'); +insert into sys_dict_data values(7, 0, '金属冶炼','6', 'sys_business_scope', 'N',0, 1 ,'admin', sysdate(), '', sysdate(), '业务范围数据'); diff --git a/assess-admin/src/main/resources/db/migration/V20231123004_config.sql b/assess-admin/src/main/resources/db/migration/V20231123004_config.sql index 1d86c69..f39d74e 100644 --- a/assess-admin/src/main/resources/db/migration/V20231123004_config.sql +++ b/assess-admin/src/main/resources/db/migration/V20231123004_config.sql @@ -2,13 +2,13 @@ -- ---------------------------- -- 系统配置表 -- ---------------------------- -drop table if exists `smart_assess`.`sys_config`; CREATE TABLE `smart_assess`.`sys_config` ( `id` bigint NOT NULL AUTO_INCREMENT, `name` varchar(100) NOT NULL COMMENT '参数名称', `config_key` varchar(100) NOT NULL COMMENT '参数键名', `config_value` varchar(500) NOT NULL COMMENT '参数键值', `type` char(1) NULL DEFAULT 'N' COMMENT '系统内置(Y是 N否)', +`version` int NULL DEFAULT 0 COMMENT '乐观锁', `create_by` varchar(64) NULL COMMENT '创建人', `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, `update_by` varchar(64) NULL COMMENT '更新人', diff --git a/assess-admin/src/main/resources/db/migration/V20231123005_agency.sql b/assess-admin/src/main/resources/db/migration/V20231123005_agency.sql index 10a7652..22e203b 100644 --- a/assess-admin/src/main/resources/db/migration/V20231123005_agency.sql +++ b/assess-admin/src/main/resources/db/migration/V20231123005_agency.sql @@ -2,7 +2,6 @@ -- ---------------------------- -- 系统机构表 -- ---------------------------- -drop table if exists `smart_assess`.`sys_agency`; CREATE TABLE `smart_assess`.`sys_agency` ( `id` bigint NOT NULL AUTO_INCREMENT, `name` varchar(50) NOT NULL COMMENT '机构名称', @@ -25,8 +24,9 @@ `archive_area` varchar(20) NOT NULL COMMENT '档案室面积', `reg_address` varchar(100) NOT NULL COMMENT '注册地址', `business` varchar(20) NOT NULL COMMENT '业务范围', -`report_path` varchar(50) NULL COMMENT '机构信息上报表存放路径', -`publication` tinyint(2) NULL DEFAULT 0 COMMENT '是否公示(0代表公示,1代表不公示,默认0)', +`report_path` varchar(60) NULL COMMENT '机构信息上报表存放路径', +`publication` tinyint(2) NULL DEFAULT 1 COMMENT '是否公示(0代表公示,1代表不公示,默认1)', +`version` int NULL DEFAULT 0 COMMENT '乐观锁', `del_flag` tinyint(2) NULL DEFAULT 0 COMMENT '删除标志(0代表存在,1代表删除,默认0)', `create_by` varchar(20) NULL COMMENT '创建人', `create_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', diff --git a/assess-admin/src/main/resources/db/migration/V20231123006_notice.sql b/assess-admin/src/main/resources/db/migration/V20231123006_notice.sql index 67711f2..02c6daf 100644 --- a/assess-admin/src/main/resources/db/migration/V20231123006_notice.sql +++ b/assess-admin/src/main/resources/db/migration/V20231123006_notice.sql @@ -2,12 +2,12 @@ -- ---------------------------- -- 系统通知表 -- ---------------------------- -drop table if exists `smart_assess`.`sys_notice`; CREATE TABLE `smart_assess`.`sys_notice` ( `id` bigint NOT NULL AUTO_INCREMENT, `title` varchar(50) NOT NULL COMMENT '通知标题', -`content` text NULL COMMENT '通知内容', +`content` mediumtext NULL COMMENT '通知内容', `status` tinyint(2) NULL DEFAULT 0 COMMENT '通知状态(0正常,1关闭 默认0)', +`version` int NULL DEFAULT 0 COMMENT '乐观锁', `create_by` varchar(20) NULL COMMENT '创建人', `create_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `update_by` varchar(20) NULL COMMENT '更新人', diff --git a/assess-admin/src/main/resources/db/migration/V20231123007_law.sql b/assess-admin/src/main/resources/db/migration/V20231123007_law.sql index 4606862..32e3b03 100644 --- a/assess-admin/src/main/resources/db/migration/V20231123007_law.sql +++ b/assess-admin/src/main/resources/db/migration/V20231123007_law.sql @@ -2,16 +2,16 @@ -- ---------------------------- -- 系统法律法规表 -- ---------------------------- -drop table if exists `smart_assess`.`sys_law`; CREATE TABLE `smart_assess`.`sys_law` ( `id` bigint NOT NULL AUTO_INCREMENT, `title` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '住标题', `sub_title` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '副标题', -`content` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '内容', +`content` mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '内容', `law_type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '法律法规类别', `pub_agency` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '颁布机构', `pub_date` datetime NOT NULL COMMENT '颁布日期', `status` tinyint NULL DEFAULT 0 COMMENT '状态(0正常,1关闭 默认0)', +`version` int NULL DEFAULT 0 COMMENT '乐观锁', `create_by` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '创建人', `create_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `update_by` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '更新人', diff --git a/assess-admin/src/main/resources/db/migration/V20231124001_region.sql b/assess-admin/src/main/resources/db/migration/V20231124001_region.sql index 1d4a9d8..f83ebec 100644 --- a/assess-admin/src/main/resources/db/migration/V20231124001_region.sql +++ b/assess-admin/src/main/resources/db/migration/V20231124001_region.sql @@ -2,12 +2,12 @@ -- ---------------------------- -- 系统地区表 -- ---------------------------- -drop table if exists `smart_assess`.`sys_region`; CREATE TABLE `smart_assess`.`sys_region` ( `id` bigint(0) NOT NULL AUTO_INCREMENT, `name` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '地区名称', `sort` int NULL DEFAULT 0 COMMENT '排序', `parent_id` bigint NOT NULL DEFAULT 0 COMMENT '父主键', +`version` int NULL DEFAULT 0 COMMENT '乐观锁', `region_type` tinyint NULL DEFAULT 0 COMMENT '地区类型(0是疆内,1是疆外,默认0)', `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '创建人', `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, diff --git a/assess-admin/src/main/resources/db/migration/V20231124002_attach.sql b/assess-admin/src/main/resources/db/migration/V20231124002_attach.sql index 08cc0c4..bc2c532 100644 --- a/assess-admin/src/main/resources/db/migration/V20231124002_attach.sql +++ b/assess-admin/src/main/resources/db/migration/V20231124002_attach.sql @@ -2,7 +2,6 @@ -- ---------------------------- -- 系统上传文件表 -- ---------------------------- -drop table if exists `smart_assess`.`sys_attach`; CREATE TABLE `smart_assess`.`sys_attach` ( `id` bigint NOT NULL AUTO_INCREMENT, `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '文件名称', diff --git a/assess-admin/src/main/resources/db/migration/V20231127001_expert_classify.sql b/assess-admin/src/main/resources/db/migration/V20231127001_expert_classify.sql index e4644b2..52fea18 100644 --- a/assess-admin/src/main/resources/db/migration/V20231127001_expert_classify.sql +++ b/assess-admin/src/main/resources/db/migration/V20231127001_expert_classify.sql @@ -2,16 +2,36 @@ -- ---------------------------- -- 系统专家分类表 -- ---------------------------- -drop table if exists `smart_assess`.`sys_expert_classify`; CREATE TABLE `smart_assess`.`sys_expert_classify` ( -`classify_id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键', +`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键', `classify_name` varchar(20) NOT NULL COMMENT '分类名称', `parent_id` bigint NOT NULL DEFAULT 0 COMMENT '父id', `del_flag` tinyint NOT NULL DEFAULT 0 COMMENT '删除标志(0代表存在,1代表删除,默认0)', +`version` int NULL DEFAULT 0 COMMENT '乐观锁', `create_by` varchar(20) NULL COMMENT '创建人', `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `update_by` varchar(20) NULL COMMENT '修改人', `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间', `remark` varchar(100) NULL COMMENT '备注', -PRIMARY KEY (`classify_id`) -) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '系统专家分类表' ROW_FORMAT = DYNAMIC; \ No newline at end of file +PRIMARY KEY (`id`) +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '系统专家分类表' ROW_FORMAT = DYNAMIC; + + +INSERT INTO `smart_assess`.`sys_expert_classify`(`id`, `classify_name`, `parent_id`) VALUES (1, '安全生产类', 0); +INSERT INTO `smart_assess`.`sys_expert_classify`(`id`, `classify_name`, `parent_id`) VALUES (2, '防灾减灾救灾类', 0); +INSERT INTO `smart_assess`.`sys_expert_classify`(`id`, `classify_name`, `parent_id`) VALUES (3, '应急救援类', 0); +INSERT INTO `smart_assess`.`sys_expert_classify`(`id`, `classify_name`, `parent_id`) VALUES (4, '煤矿', 1); +INSERT INTO `smart_assess`.`sys_expert_classify`(`id`, `classify_name`, `parent_id`) VALUES (5, '金属非金属矿山', 1); +INSERT INTO `smart_assess`.`sys_expert_classify`(`id`, `classify_name`, `parent_id`) VALUES (6, '石油天然气开采', 1); +INSERT INTO `smart_assess`.`sys_expert_classify`(`id`, `classify_name`, `parent_id`) VALUES (7, '危险化学品', 1); +INSERT INTO `smart_assess`.`sys_expert_classify`(`id`, `classify_name`, `parent_id`) VALUES (8, '烟花爆竹', 1); +INSERT INTO `smart_assess`.`sys_expert_classify`(`id`, `classify_name`, `parent_id`) VALUES (9, '工贸', 1); +INSERT INTO `smart_assess`.`sys_expert_classify`(`id`, `classify_name`, `parent_id`) VALUES (10, '综合监管', 1); +INSERT INTO `smart_assess`.`sys_expert_classify`(`id`, `classify_name`, `parent_id`) VALUES (11, '森林草原防灭火', 2); +INSERT INTO `smart_assess`.`sys_expert_classify`(`id`, `classify_name`, `parent_id`) VALUES (13, '地质灾害', 2); +INSERT INTO `smart_assess`.`sys_expert_classify`(`id`, `classify_name`, `parent_id`) VALUES (14, '防汛抗旱', 2); +INSERT INTO `smart_assess`.`sys_expert_classify`(`id`, `classify_name`, `parent_id`) VALUES (15, '气象灾害', 2); +INSERT INTO `smart_assess`.`sys_expert_classify`(`id`, `classify_name`, `parent_id`) VALUES (16, '综合防灾减灾', 2); +INSERT INTO `smart_assess`.`sys_expert_classify`(`id`, `classify_name`, `parent_id`) VALUES (17, '安全生产专业救援', 3); +INSERT INTO `smart_assess`.`sys_expert_classify`(`id`, `classify_name`, `parent_id`) VALUES (18, '综合救援', 3); +INSERT INTO `smart_assess`.`sys_expert_classify`(`id`, `classify_name`, `parent_id`) VALUES (24, '地震灾害', 2); diff --git a/assess-admin/src/main/resources/db/migration/V20231127002_expert_info.sql b/assess-admin/src/main/resources/db/migration/V20231127002_expert_info.sql index 517d21f..816f731 100644 --- a/assess-admin/src/main/resources/db/migration/V20231127002_expert_info.sql +++ b/assess-admin/src/main/resources/db/migration/V20231127002_expert_info.sql @@ -2,44 +2,46 @@ -- ---------------------------- -- 系统专家分类表 -- ---------------------------- -drop table if exists `smart_assess`.`sys_expert_info`; CREATE TABLE `smart_assess`.`sys_expert_info` ( -`expert_id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键', +`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键', `name` varchar(20) NOT NULL COMMENT '专家名称', `sex` tinyint NULL DEFAULT 2 COMMENT '性别(0男,1女,2未知,默认2)', `big_classify` bigint NULL COMMENT '类别id', `small_classify` bigint NULL COMMENT '类别id', `birthday` datetime NULL COMMENT '出生日期', -`phone` varchar(11) NULL COMMENT '手机号', +`phone` varchar(12) NULL COMMENT '手机号', `title` varchar(20) NULL COMMENT '职称', `electronic_photo` varchar(100) NULL COMMENT '电子照片', `id_card` varchar(18) NULL COMMENT '身份证号码', -`duty_status` tinyint NULL COMMENT '在职状态', -`company_name` varchar(20) NULL COMMENT '公司名称', -`company_address` varchar(50) NULL COMMENT '公司地址', +`duty_status` tinyint NULL COMMENT '在岗情况(0在岗,1退休)', +`company_name` varchar(50) NULL COMMENT '单位名称', +`company_address` varchar(60) NULL COMMENT '单位地址', `dept_name` varchar(20) NULL COMMENT '部门名称', `job` varchar(10) NULL COMMENT '职务', -`company_telephone` varchar(11) NULL COMMENT '公司电话', -`fax_num` varchar(11) NULL COMMENT '传真', +`company_telephone` varchar(11) NULL COMMENT '单位电话', +`fax_num` varchar(11) NULL COMMENT '传真号', `email` varchar(20) NULL COMMENT '邮箱', -`graduation_school` varchar(20) NULL COMMENT '毕业学校', -`degree` varchar(10) NULL COMMENT '学历', +`graduation_school` varchar(30) NULL COMMENT '毕业学校', +`degree` varchar(10) NULL COMMENT '最高学历', `speciality` varchar(20) NULL COMMENT '专业', -`current_profession` varchar(20) NULL COMMENT '当前专业', -`support_direction_safety` varchar(20) NULL COMMENT '支撑安全', -`support_direction_prevention` varchar(20) NULL COMMENT '支撑预防', -`support_direction_emergency` varchar(20) NULL COMMENT '支持应急', -`resume_key` varchar(20) NULL COMMENT '简述', -`paper_situation_key` varchar(20) NULL, -`reward_key` varchar(20) NULL, -`achievement_key` varchar(20) NULL, -`personal_opinion_key` varchar(20) NULL, -`recommend_unit_opinion_key` varchar(20) NULL, +`current_profession` varchar(100) NULL COMMENT '现在从事专业或方向', +`support_direction_safety` varchar(40) NULL COMMENT '支撑方向安全生产', +`support_direction_prevention` varchar(40) NULL COMMENT '支撑方向防灾救灾', +`support_direction_emergency` varchar(40) NULL COMMENT '支撑方向应急救援', +`resume_key` varchar(600) NULL COMMENT '简历', +`paper_situation_key` varchar(600) NULL COMMENT '论文情况', +`reward_key` varchar(600) NULL COMMENT '奖励', +`achievement_key` varchar(600) NULL COMMENT '成绩成果', +`personal_opinion_key` varchar(600) NULL COMMENT '专家个人意见', +`recommend_unit_opinion_key` varchar(600) NULL COMMENT '推荐单位意见', +`source` tinyint NULL COMMENT '来源(1问卷,2系统)', +`version` int NULL DEFAULT 0 COMMENT '乐观锁', +`state` tinyint(2) NULL DEFAULT 1 COMMENT '审批状态(0暂存,1审核中,2审批通过,3审批驳回,4已作废 默认1)', `del_flag` tinyint(255) NOT NULL DEFAULT 0 COMMENT '删除标志(0代表存在,1代表删除,默认0)', `create_by` varchar(20) NULL COMMENT '创建人', `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `update_by` varchar(20) NULL COMMENT '修改人', `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间', `remark` varchar(100) NULL, -PRIMARY KEY (`expert_id`) +PRIMARY KEY (`id`) ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '系统专家信息表' ROW_FORMAT = DYNAMIC; \ No newline at end of file diff --git a/assess-admin/src/main/resources/db/migration/V20231130001_project.sql b/assess-admin/src/main/resources/db/migration/V20231130001_project.sql index 2a43432..0edc50c 100644 --- a/assess-admin/src/main/resources/db/migration/V20231130001_project.sql +++ b/assess-admin/src/main/resources/db/migration/V20231130001_project.sql @@ -2,7 +2,6 @@ -- ---------------------------- -- 项目表 -- ---------------------------- -drop table if exists `smart_assess`.`ass_project`; CREATE TABLE `smart_assess`.`ass_project` ( `id` bigint NOT NULL AUTO_INCREMENT, `name` varchar(50) NOT NULL COMMENT '项目名称', @@ -10,21 +9,21 @@ `agency_id` bigint NOT NULL COMMENT '机构id', `client` varchar(50) NOT NULL COMMENT '委托方', `province` varchar(20) NULL COMMENT '省份', +`phase` int NULL DEFAULT 1 COMMENT '项目阶段(1风险分析评价计划,2现场勘验,3项目审核,4出具报告,5项目归档)', `city` varchar(20) NOT NULL COMMENT '城市', `district` varchar(20) NOT NULL COMMENT '区县', `business` varchar(20) NOT NULL COMMENT '业务范围,字典id', `invest` varchar(10) NOT NULL COMMENT '项目投资额/万', `address` varchar(100) NOT NULL COMMENT '地址', `actual_location` varchar(60) NULL COMMENT '实际纬度/经度', -`location` varchar(20) NULL COMMENT '纬度/经度', +`location` varchar(60) NULL COMMENT '纬度/经度', `estimate_type` bigint NULL COMMENT '评估类型,字典id', -`leader_id` bigint NOT NULL COMMENT '负责人id', -`defect_numb` int NULL, -`review_plan_date` datetime NULL COMMENT '评估计划时间', -`township` varchar(20) NULL, +`filing_date` datetime NULL COMMENT '项目完成时间', `credit_code` varchar(30) NOT NULL COMMENT '委托单位社会统一信用代码', `report_progress` tinyint(2) NULL DEFAULT 0 COMMENT '项目状态(0创建,1风险评估,2合同管理,默认0)', `state` tinyint(2) NULL DEFAULT 1 COMMENT '审批状态(0暂存,1审核中,2审批通过,3审批驳回,4已作废 默认1)', +`introduction` varchar(500) NOT NULL COMMENT '项目基本概况(500字以内)', +`is_review` tinyint(1) NULL DEFAULT 0 COMMENT '是否参与评审(0否,1是,默认0)', `del_flag` tinyint NULL DEFAULT 0 COMMENT '删除标志(0正常,1删除,默认0)', `version` int NULL DEFAULT 0 COMMENT '乐观锁', `create_by` varchar(20) NULL COMMENT '创建人', diff --git a/assess-admin/src/main/resources/db/migration/V20231130002_risk_estimate.sql b/assess-admin/src/main/resources/db/migration/V20231130002_risk_estimate.sql index 306f28f..e222cda 100644 --- a/assess-admin/src/main/resources/db/migration/V20231130002_risk_estimate.sql +++ b/assess-admin/src/main/resources/db/migration/V20231130002_risk_estimate.sql @@ -2,11 +2,9 @@ -- ---------------------------- -- 风险评估表 -- ---------------------------- -drop table if exists `smart_assess`.`ass_risk_estimate`; CREATE TABLE `smart_assess`.`ass_risk_estimate` ( `id` bigint NOT NULL AUTO_INCREMENT, `project_id` bigint NOT NULL COMMENT '项目id', -`introduction` varchar(500) NOT NULL COMMENT '基本概况(500字以内)', `risk_character` varchar(500) NOT NULL COMMENT '行业风险特性(500字以内)', `surroundings` varchar(500) NOT NULL COMMENT '周边环境(500字以内)', `equipment` varchar(500) NULL COMMENT '主要生产装置(500字以内)', diff --git a/assess-admin/src/main/resources/db/migration/V20231130003_contract.sql b/assess-admin/src/main/resources/db/migration/V20231130003_contract.sql index ad2d82b..aa67ef5 100644 --- a/assess-admin/src/main/resources/db/migration/V20231130003_contract.sql +++ b/assess-admin/src/main/resources/db/migration/V20231130003_contract.sql @@ -2,11 +2,10 @@ -- ---------------------------- -- 合同管理表 -- ---------------------------- -drop table if exists `smart_assess`.`ass_contract`; CREATE TABLE `smart_assess`.`ass_contract` ( `id` bigint NOT NULL AUTO_INCREMENT, -`contract_money` decimal NOT NULL COMMENT '合同价格/万', -`actual_contract_money` decimal NOT NULL COMMENT '实际合同价格/万', +`contract_money` varchar(30) NOT NULL COMMENT '合同价格/万', +`actual_contract_money` varchar(30) NULL COMMENT '实际合同价格/万', `contract_sign_date` datetime NOT NULL COMMENT '合同签订时间', `project_id` bigint NOT NULL COMMENT '项目id', `contract_introduction` varchar(100) NULL COMMENT '合同额外说明(100字以内)', diff --git a/assess-admin/src/main/resources/db/migration/V20231130004_estimate_task.sql b/assess-admin/src/main/resources/db/migration/V20231130004_estimate_task.sql index fce085f..a9e55f5 100644 --- a/assess-admin/src/main/resources/db/migration/V20231130004_estimate_task.sql +++ b/assess-admin/src/main/resources/db/migration/V20231130004_estimate_task.sql @@ -2,7 +2,6 @@ -- ---------------------------- -- 评价认为通知表 -- ---------------------------- -drop table if exists `smart_assess`.`ass_estimate_task`; CREATE TABLE `smart_assess`.`ass_estimate_task` ( `id` bigint NOT NULL AUTO_INCREMENT, `leader_id` bigint NOT NULL COMMENT '项目负责人id', diff --git a/assess-admin/src/main/resources/db/migration/V20231204001_device.sql b/assess-admin/src/main/resources/db/migration/V20231204001_device.sql index c5c7a6f..39dafab 100644 --- a/assess-admin/src/main/resources/db/migration/V20231204001_device.sql +++ b/assess-admin/src/main/resources/db/migration/V20231204001_device.sql @@ -1,13 +1,14 @@ - -- ---------------------------- -- 设备表 -- ---------------------------- -drop table if exists `smart_assess`.`ass_device`; CREATE TABLE `smart_assess`.`ass_device` ( `id` bigint NOT NULL AUTO_INCREMENT, +`project_id` bigint NOT NULL COMMENT '项目id', `device_name` varchar(20) NOT NULL COMMENT '设备名称', -`del_flag` tinyint NULL DEFAULT 0 COMMENT '删除标志(0正常,1删除,默认0)', +`start_date` datetime NOT NULL COMMENT '开始时间', +`end_date` datetime NOT NULL COMMENT '结束时间', `version` int NULL DEFAULT 0 COMMENT '乐观锁', +`del_flag` tinyint NULL DEFAULT 0 COMMENT '删除标志(0正常,1删除,默认0)', `create_by` varchar(20) NULL COMMENT '创建人', `create_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `update_by` varchar(20) NULL COMMENT '更新人', @@ -15,24 +16,4 @@ `remark` varchar(100) NULL COMMENT '备注', PRIMARY KEY (`id`) ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '设备表' ROW_FORMAT = DYNAMIC; - - --- ---------------------------- --- 项目需要的设备清单表 --- ---------------------------- -drop table if exists `smart_assess`.`ass_project_device`; -CREATE TABLE `smart_assess`.`ass_project_device` ( -`id` bigint NOT NULL AUTO_INCREMENT, -`project_id` bigint NOT NULL COMMENT '项目id', -`device_id` bigint NOT NULL COMMENT '设备id', -`start_date` datetime NOT NULL COMMENT '开始时间', -`end_date` datetime NOT NULL COMMENT '结束时间', -`version` int NULL DEFAULT 0 COMMENT '乐观锁', -`create_by` varchar(20) NULL COMMENT '创建人', -`create_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', -`update_by` varchar(20) NULL COMMENT '更新人', -`update_time` datetime NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', -`remark` varchar(100) NULL COMMENT '备注', -PRIMARY KEY (`id`) -) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '项目需要的设备清单表' ROW_FORMAT = DYNAMIC; diff --git a/assess-admin/src/main/resources/db/migration/V20231204002_estimate_plan.sql b/assess-admin/src/main/resources/db/migration/V20231204002_estimate_plan.sql index daaa103..4c040c5 100644 --- a/assess-admin/src/main/resources/db/migration/V20231204002_estimate_plan.sql +++ b/assess-admin/src/main/resources/db/migration/V20231204002_estimate_plan.sql @@ -2,11 +2,9 @@ -- ---------------------------- -- 评价项目计划表 -- ---------------------------- -drop table if exists `smart_assess`.`ass_estimate_plan`; CREATE TABLE `smart_assess`.`ass_estimate_plan` ( `id` bigint NOT NULL AUTO_INCREMENT, `auser_id` bigint NOT NULL COMMENT '评价机构负责人id', -`technical_id` bigint NOT NULL COMMENT '技术负责人负责人id', `start_date` datetime NOT NULL COMMENT '评价开始时间', `end_date` datetime NOT NULL COMMENT '评价结束时间', `project_id` bigint NOT NULL COMMENT '项目id', diff --git a/assess-admin/src/main/resources/db/migration/V20231204003_estimate_schedule.sql b/assess-admin/src/main/resources/db/migration/V20231204003_estimate_schedule.sql index 0dff831..eae0c54 100644 --- a/assess-admin/src/main/resources/db/migration/V20231204003_estimate_schedule.sql +++ b/assess-admin/src/main/resources/db/migration/V20231204003_estimate_schedule.sql @@ -2,7 +2,6 @@ -- ---------------------------- -- 评价日程安排表 -- ---------------------------- -drop table if exists `smart_assess`.`ass_estimate_schedule`; CREATE TABLE `smart_assess`.`ass_estimate_schedule` ( `id` bigint NOT NULL AUTO_INCREMENT, `name` varchar(20) NOT NULL COMMENT '日程名称', @@ -10,6 +9,7 @@ `start_date` datetime NOT NULL COMMENT '开始时间', `end_date` datetime NOT NULL COMMENT '结束时间', `project_id` bigint NOT NULL COMMENT '项目id', +`sort` int NULL DEFAULT 0 COMMENT '序号', `del_flag` tinyint NULL DEFAULT 0 COMMENT '删除标志(0正常,1删除,默认0)', `version` int NULL DEFAULT 0 COMMENT '乐观锁', `create_by` varchar(20) NULL COMMENT '创建人', diff --git a/assess-admin/src/main/resources/db/migration/V20231204004_plan_person.sql b/assess-admin/src/main/resources/db/migration/V20231204004_plan_person.sql index 34ec067..4d3259d 100644 --- a/assess-admin/src/main/resources/db/migration/V20231204004_plan_person.sql +++ b/assess-admin/src/main/resources/db/migration/V20231204004_plan_person.sql @@ -2,19 +2,14 @@ -- ---------------------------- -- 评价项目组成员表 -- ---------------------------- -drop table if exists `smart_assess`.`ass_plan_person`; CREATE TABLE `smart_assess`.`ass_plan_person` ( `id` bigint NOT NULL AUTO_INCREMENT, `person_id` bigint NOT NULL COMMENT '成员id', -`certificate_number` varchar(30) NOT NULL COMMENT '资格证书编号', -`ability` varchar(10) NOT NULL COMMENT '能力', -`business_ability_id` bigint NULL COMMENT '能力id(字典id)', -`identification_number` varchar(10) NOT NULL COMMENT '识别码', -`job_type` tinyint(2) NOT NULL DEFAULT 1 COMMENT '工作类型:1普通人员,2组长', -`later_promise` tinyint(1) NOT NULL COMMENT '承诺后期前往现场勘验(0否,1是)', -`professional_ability` varchar(50) NOT NULL COMMENT '专业能力', -`work` varchar(50) NOT NULL COMMENT '承担工作', -`scene_statue` tinyint(2) NOT NULL DEFAULT 1 COMMENT '场景状态1 2', +`job_type` tinyint NOT NULL DEFAULT 1 COMMENT '工作类型:1普通人员,2组长', +`play_role` tinyint NOT NULL DEFAULT 2 COMMENT '项目担任角色:1项目负责人,2项目组成员,3过程控制负责人,4机构评价负责人,5技术负责人,默认2', +`later_promise` tinyint(1) NOT NULL DEFAULT 0 COMMENT '承诺后期前往现场勘验(0否,1是)', +`informed` tinyint NULL DEFAULT 0 COMMENT '是否已告知(0否,1是,默认0)', +`work` varchar(50) NULL COMMENT '承担工作', `reason` varchar(30) NULL COMMENT '未到现场勘验原因(30字)', `sort` int NULL DEFAULT 0 COMMENT '排序', `project_id` bigint NOT NULL COMMENT '项目id', diff --git a/assess-admin/src/main/resources/db/migration/V20231204005_plan_expert.sql b/assess-admin/src/main/resources/db/migration/V20231204005_plan_expert.sql deleted file mode 100644 index 515c1c7..0000000 --- a/assess-admin/src/main/resources/db/migration/V20231204005_plan_expert.sql +++ /dev/null @@ -1,25 +0,0 @@ - --- ---------------------------- --- 评价项目组专家表 --- ---------------------------- -drop table if exists `smart_assess`.`ass_plan_expert`; -CREATE TABLE `smart_assess`.`ass_plan_expert` ( -`id` bigint NOT NULL AUTO_INCREMENT, -`expert_id` bigint NOT NULL COMMENT '专家id', -`ability` varchar(10) NOT NULL COMMENT '能力', -`business_ability_id` bigint NULL COMMENT '能力id(字典id)', -`later_promise` tinyint(1) NOT NULL COMMENT '承诺后期前往现场勘验(0否,1是)', -`professional_ability` varchar(50) NOT NULL COMMENT '专业能力', -`work` varchar(50) NOT NULL COMMENT '工作任务', -`sort` int NULL DEFAULT 0 COMMENT '排序', -`project_id` bigint NOT NULL COMMENT '项目id', -`work_notification_id` bigint NULL COMMENT '从业告知id', -`del_flag` tinyint NULL DEFAULT 0 COMMENT '删除标志(0正常,1删除,默认0)', -`version` int NULL DEFAULT 0 COMMENT '乐观锁', -`create_by` varchar(20) NULL COMMENT '创建人', -`create_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', -`update_by` varchar(20) NULL COMMENT '更新人', -`update_time` datetime NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', -`remark` varchar(100) NULL COMMENT '备注', -PRIMARY KEY (`id`) -) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '评价项目组专家表' ROW_FORMAT = DYNAMIC; \ No newline at end of file diff --git a/assess-admin/src/main/resources/db/migration/V20231205001_work_notification.sql b/assess-admin/src/main/resources/db/migration/V20231205001_work_notification.sql index e89f339..776be73 100644 --- a/assess-admin/src/main/resources/db/migration/V20231205001_work_notification.sql +++ b/assess-admin/src/main/resources/db/migration/V20231205001_work_notification.sql @@ -2,7 +2,6 @@ -- ---------------------------- -- 从业告知表 -- ---------------------------- -drop table if exists `smart_assess`.`ass_work_notification`; CREATE TABLE `smart_assess`.`ass_work_notification` ( `id` bigint NOT NULL AUTO_INCREMENT, `service_start_date` datetime NOT NULL COMMENT '服务开始时间', diff --git a/assess-admin/src/main/resources/db/migration/V20231205002_investigation.sql b/assess-admin/src/main/resources/db/migration/V20231205002_investigation.sql index 5963af0..f13e029 100644 --- a/assess-admin/src/main/resources/db/migration/V20231205002_investigation.sql +++ b/assess-admin/src/main/resources/db/migration/V20231205002_investigation.sql @@ -2,7 +2,6 @@ -- ---------------------------- -- 现场勘验记录表 -- ---------------------------- -drop table if exists `smart_assess`.`ass_investigation`; CREATE TABLE `smart_assess`.`ass_investigation` ( `id` bigint NOT NULL AUTO_INCREMENT, `investigation_date` datetime NOT NULL COMMENT '现场勘验时间', @@ -10,6 +9,7 @@ `is_safety_check` tinyint(1) NULL DEFAULT 0 COMMENT '编制现场安全检查表', `record_data` varchar(200) NULL COMMENT '现场勘验记录(200字)', `project_id` bigint NOT NULL COMMENT '项目id', +`location` varchar(60) NULL COMMENT '纬度/经度', `del_flag` tinyint NULL DEFAULT 0 COMMENT '删除标志(0正常,1删除,默认0)', `version` int NULL DEFAULT 0 COMMENT '乐观锁', `create_by` varchar(20) NULL COMMENT '创建人', diff --git a/assess-admin/src/main/resources/db/migration/V20231205003_accessory_file.sql b/assess-admin/src/main/resources/db/migration/V20231205003_accessory_file.sql index 34492ad..45364c2 100644 --- a/assess-admin/src/main/resources/db/migration/V20231205003_accessory_file.sql +++ b/assess-admin/src/main/resources/db/migration/V20231205003_accessory_file.sql @@ -2,12 +2,12 @@ -- ---------------------------- -- 评估文件上传记录表 -- ---------------------------- -drop table if exists `smart_assess`.`sys_accessory_file`; -CREATE TABLE `smart_assess`.`sys_accessory_file` ( +CREATE TABLE `smart_assess`.`ass_accessory_file` ( `id` bigint NOT NULL AUTO_INCREMENT, `file_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '文件名称', +`origin_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '文件原始名称', `path` varchar(70) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '文件存放路径', -`module_type` tinyint NOT NULL COMMENT '模块code', +`module_type` int NOT NULL COMMENT '模块code', `project_id` bigint NOT NULL COMMENT '项目id', `version` int NULL DEFAULT 0 COMMENT '乐观锁', `del_flag` tinyint NULL DEFAULT 0 COMMENT '删除标志(0正常,1删除,默认0)', diff --git a/assess-admin/src/main/resources/db/migration/V20231205004_face_record.sql b/assess-admin/src/main/resources/db/migration/V20231205004_face_record.sql index cf246a4..3ce8472 100644 --- a/assess-admin/src/main/resources/db/migration/V20231205004_face_record.sql +++ b/assess-admin/src/main/resources/db/migration/V20231205004_face_record.sql @@ -2,12 +2,13 @@ -- ---------------------------- -- 现场勘验人员人脸识别记录表 -- ---------------------------- -drop table if exists `smart_assess`.`sys_face_record`; -CREATE TABLE `smart_assess`.`sys_face_record` ( +CREATE TABLE `smart_assess`.`ass_face_record` ( `id` bigint NOT NULL AUTO_INCREMENT, `person_id` bigint NOT NULL COMMENT '用户id', -`file_id` bigint NOT NULL COMMENT '评估文件id(图片id)', `project_id` bigint NOT NULL COMMENT '项目id', +`location` varchar(60) NULL COMMENT '纬度/经度', +`face_path` varchar(100) NULL COMMENT '人脸图片路径', +`scene` tinyint NULL DEFAULT 0 COMMENT '是否是现场勘验人脸识别(0否 1是,默认0)', `version` int NULL DEFAULT 0 COMMENT '乐观锁', `del_flag` tinyint NULL DEFAULT 0 COMMENT '删除标志(0正常,1删除,默认0)', `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '创建人', diff --git a/assess-admin/src/main/resources/db/migration/V20231205005_audit.sql b/assess-admin/src/main/resources/db/migration/V20231205005_audit.sql index 9c5aba2..1fbd2c5 100644 --- a/assess-admin/src/main/resources/db/migration/V20231205005_audit.sql +++ b/assess-admin/src/main/resources/db/migration/V20231205005_audit.sql @@ -2,8 +2,7 @@ -- ---------------------------- -- 审核表 -- ---------------------------- -drop table if exists `smart_assess`.`sys_audit`; -CREATE TABLE `smart_assess`.`sys_audit` ( +CREATE TABLE `smart_assess`.`ass_audit` ( `id` bigint NOT NULL AUTO_INCREMENT, `audit_date` datetime NOT NULL COMMENT '审核日期', `affirm_date` datetime NOT NULL COMMENT '内部审核确定日期', diff --git a/assess-admin/src/main/resources/db/migration/V20231205006_conclusion.sql b/assess-admin/src/main/resources/db/migration/V20231205006_conclusion.sql index 96d9010..ff52605 100644 --- a/assess-admin/src/main/resources/db/migration/V20231205006_conclusion.sql +++ b/assess-admin/src/main/resources/db/migration/V20231205006_conclusion.sql @@ -2,8 +2,7 @@ -- ---------------------------- -- 项目结论表 -- ---------------------------- -drop table if exists `smart_assess`.`sys_conclusion`; -CREATE TABLE `smart_assess`.`sys_conclusion` ( +CREATE TABLE `smart_assess`.`ass_conclusion` ( `id` bigint NOT NULL AUTO_INCREMENT, `conclusion` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '评价结论', `is_revise_manual` tinyint(1) NOT NULL DEFAULT 1 COMMENT '是否有评价报告修改说明(0否 1是)', diff --git a/assess-admin/src/main/resources/db/migration/V20231206001_process_audit.sql b/assess-admin/src/main/resources/db/migration/V20231206001_process_audit.sql index f755394..f73435f 100644 --- a/assess-admin/src/main/resources/db/migration/V20231206001_process_audit.sql +++ b/assess-admin/src/main/resources/db/migration/V20231206001_process_audit.sql @@ -2,8 +2,7 @@ -- ---------------------------- -- 过程控制负责人审核表 -- ---------------------------- -drop table if exists `smart_assess`.`sys_process_audit`; -CREATE TABLE `smart_assess`.`sys_process_audit` ( +CREATE TABLE `smart_assess`.`ass_process_audit` ( `id` bigint NOT NULL AUTO_INCREMENT, `audit_date` datetime NOT NULL COMMENT '审核日期', `process_leader_id` bigint NOT NULL COMMENT '过程控制负责人id', diff --git a/assess-admin/src/main/resources/db/migration/V20231206002_project_material.sql b/assess-admin/src/main/resources/db/migration/V20231206002_project_material.sql index 7dff537..bfb3ea6 100644 --- a/assess-admin/src/main/resources/db/migration/V20231206002_project_material.sql +++ b/assess-admin/src/main/resources/db/migration/V20231206002_project_material.sql @@ -2,11 +2,10 @@ -- ---------------------------- -- 项目归档文件表 -- ---------------------------- -drop table if exists `smart_assess`.`sys_project_material`; -CREATE TABLE `smart_assess`.`sys_project_material` ( +CREATE TABLE `smart_assess`.`ass_project_material` ( `id` bigint NOT NULL AUTO_INCREMENT, `name` varchar(50) NOT NULL COMMENT '名称', -`type` tinyint NOT NULL COMMENT '类型', +`type` tinyint NOT NULL DEFAULT 1 COMMENT '是否是文件,0否 1是 默认1', `project_id` bigint NOT NULL COMMENT '项目id', `file_id` bigint NULL COMMENT '评估文件id', `version` int NULL DEFAULT 0 COMMENT '乐观锁', diff --git a/assess-admin/src/main/resources/db/migration/V20231208001_recitification.sql b/assess-admin/src/main/resources/db/migration/V20231208001_recitification.sql new file mode 100644 index 0000000..b3b341f --- /dev/null +++ b/assess-admin/src/main/resources/db/migration/V20231208001_recitification.sql @@ -0,0 +1,20 @@ + +-- ---------------------------- +-- 项目整改情况说明表 +-- ---------------------------- +CREATE TABLE `smart_assess`.`ass_recitification` ( +`id` bigint NOT NULL AUTO_INCREMENT, +`rectify_person` varchar(20) NOT NULL COMMENT '整改人', +`project_id` bigint NOT NULL COMMENT '项目id', +`file_id` bigint NULL COMMENT '文件id', +`rectify_time` datetime NOT NULL COMMENT '整改时间', +`reason` varchar(30) NULL COMMENT '整改说明', +`version` int NULL DEFAULT 0 COMMENT '乐观锁', +`del_flag` tinyint NULL DEFAULT 0 COMMENT '删除标志(0正常,1删除,默认0)', +`create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '创建人', +`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, +`update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '更新人', +`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, +`remark` varchar(50) NULL COMMENT '原因说明', +PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '项目整改情况说明表' ROW_FORMAT = DYNAMIC; \ No newline at end of file diff --git a/assess-admin/src/main/resources/db/migration/V20231208002_face_recognition.sql b/assess-admin/src/main/resources/db/migration/V20231208002_face_recognition.sql new file mode 100644 index 0000000..1dbc325 --- /dev/null +++ b/assess-admin/src/main/resources/db/migration/V20231208002_face_recognition.sql @@ -0,0 +1,19 @@ + +-- ---------------------------- +-- 签字确认表 +-- ---------------------------- +CREATE TABLE `smart_assess`.`ass_face_recognition` ( +`id` bigint NOT NULL AUTO_INCREMENT, +`person_id` bigint NOT NULL COMMENT '人员id', +`project_id` bigint NOT NULL COMMENT '项目id', +`sign_path` varchar(100) NULL COMMENT '签字图片路径', +`insurance_pic_id` bigint DEFAULT NULL COMMENT '承诺书图片id', +`version` int NULL DEFAULT 0 COMMENT '乐观锁', +`del_flag` tinyint NULL DEFAULT 0 COMMENT '删除标志(0正常,1删除,默认0)', +`create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '创建人', +`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, +`update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '更新人', +`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, +`remark` varchar(50) NULL COMMENT '原因说明', +PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '签字确认表' ROW_FORMAT = DYNAMIC; \ No newline at end of file diff --git a/assess-admin/src/main/resources/db/migration/V20231208003_filing_apply.sql b/assess-admin/src/main/resources/db/migration/V20231208003_filing_apply.sql new file mode 100644 index 0000000..88d0d7e --- /dev/null +++ b/assess-admin/src/main/resources/db/migration/V20231208003_filing_apply.sql @@ -0,0 +1,17 @@ + +-- ---------------------------- +-- 报备申请表 +-- ---------------------------- +CREATE TABLE `smart_assess`.`ass_filing_apply` ( +`id` bigint NOT NULL AUTO_INCREMENT, +`project_id` bigint NOT NULL COMMENT '项目id', +`file_id` bigint NULL COMMENT '报备文件id', +`version` int NULL DEFAULT 0 COMMENT '乐观锁', +`del_flag` tinyint NULL DEFAULT 0 COMMENT '删除标志(0正常,1删除,默认0)', +`create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '创建人', +`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, +`update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '更新人', +`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, +`remark` varchar(50) NULL COMMENT '原因说明', +PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '报备申请表' ROW_FORMAT = DYNAMIC; \ No newline at end of file diff --git a/assess-admin/src/main/resources/db/migration/V20240105001_change_user.sql b/assess-admin/src/main/resources/db/migration/V20240105001_change_user.sql new file mode 100644 index 0000000..cbe6a3f --- /dev/null +++ b/assess-admin/src/main/resources/db/migration/V20240105001_change_user.sql @@ -0,0 +1,5 @@ +ALTER TABLE `smart_assess`.`sys_user` +ADD COLUMN `id_photo` varchar(100) NULL COMMENT '证件照', +ADD COLUMN `certificate_no` varchar(100) NOT NULL COMMENT '证书编号', +ADD COLUMN `level` varchar(10) NOT NULL COMMENT '评价师等级', +ADD COLUMN `work_type` tinyint NOT NULL DEFAULT 1 COMMENT '人员类型(1专职,2兼职,默认1)'; \ No newline at end of file diff --git a/assess-admin/src/main/resources/db/migration/V20240105002_change_dict_data.sql b/assess-admin/src/main/resources/db/migration/V20240105002_change_dict_data.sql new file mode 100644 index 0000000..3762077 --- /dev/null +++ b/assess-admin/src/main/resources/db/migration/V20240105002_change_dict_data.sql @@ -0,0 +1,43 @@ +-- 字典类型 +insert into `smart_assess`.`sys_dict_type`(`name`,`dict_type`,`remark`) values('专业方向', 'sys_major_orientation','专业方向列表'); + +-- 字典数据 +insert into `smart_assess`.`sys_dict_data`(`label`, `value`, `dict_type`,`is_default`,`remark`) values('预评价(设立评价)','0', 'sys_assess_type', 'Y','评价类型'); +insert into `smart_assess`.`sys_dict_data`(`label`, `value`, `dict_type`,`is_default`,`remark`) values('现状评价','1', 'sys_assess_type', 'N','评价类型'); +insert into `smart_assess`.`sys_dict_data`(`label`, `value`, `dict_type`,`is_default`,`remark`) values('验收评价','2', 'sys_assess_type', 'N','评价类型'); +insert into `smart_assess`.`sys_dict_data`(`label`, `value`, `dict_type`,`is_default`,`remark`) values('重大危险源评估','3', 'sys_assess_type', 'N','评价类型'); + +insert into `smart_assess`.`sys_dict_data`(`label`, `value`, `dict_type`,`is_default`,`remark`) values('安全','0', 'sys_major_orientation', 'Y','专业方向'); +insert into `smart_assess`.`sys_dict_data`(`label`, `value`, `dict_type`,`is_default`,`remark`) values('机械','1', 'sys_major_orientation', 'N','专业方向'); +insert into `smart_assess`.`sys_dict_data`(`label`, `value`, `dict_type`,`is_default`,`remark`) values('电气','2', 'sys_major_orientation', 'N','专业方向'); +insert into `smart_assess`.`sys_dict_data`(`label`, `value`, `dict_type`,`is_default`,`remark`) values('采矿','3', 'sys_major_orientation', 'N','专业方向'); +insert into `smart_assess`.`sys_dict_data`(`label`, `value`, `dict_type`,`is_default`,`remark`) values('通风','4', 'sys_major_orientation', 'N','专业方向'); +insert into `smart_assess`.`sys_dict_data`(`label`, `value`, `dict_type`,`is_default`,`remark`) values('矿建','5', 'sys_major_orientation', 'N','专业方向'); +insert into `smart_assess`.`sys_dict_data`(`label`, `value`, `dict_type`,`is_default`,`remark`) values('地质','6', 'sys_major_orientation', 'N','专业方向'); +insert into `smart_assess`.`sys_dict_data`(`label`, `value`, `dict_type`,`is_default`,`remark`) values('水工结构','7', 'sys_major_orientation', 'N','专业方向'); +insert into `smart_assess`.`sys_dict_data`(`label`, `value`, `dict_type`,`is_default`,`remark`) values('采油','8', 'sys_major_orientation', 'N','专业方向'); +insert into `smart_assess`.`sys_dict_data`(`label`, `value`, `dict_type`,`is_default`,`remark`) values('储运','9', 'sys_major_orientation', 'N','专业方向'); +insert into `smart_assess`.`sys_dict_data`(`label`, `value`, `dict_type`,`is_default`,`remark`) values('油气储运','10', 'sys_major_orientation', 'N','专业方向'); +insert into `smart_assess`.`sys_dict_data`(`label`, `value`, `dict_type`,`is_default`,`remark`) values('工艺设备与控制','11', 'sys_major_orientation', 'N', '专业方向'); +insert into `smart_assess`.`sys_dict_data`(`label`, `value`, `dict_type`,`is_default`,`remark`) values('自动化(仪表)','12', 'sys_major_orientation', 'N','专业方向'); +insert into `smart_assess`.`sys_dict_data`(`label`, `value`, `dict_type`,`is_default`,`remark`) values('防腐','13', 'sys_major_orientation', 'N','专业方向'); +insert into `smart_assess`.`sys_dict_data`(`label`, `value`, `dict_type`,`is_default`,`remark`) values('化工工艺','14', 'sys_major_orientation', 'N','专业方向'); +insert into `smart_assess`.`sys_dict_data`(`label`, `value`, `dict_type`,`is_default`,`remark`) values('化工机械','15', 'sys_major_orientation', 'N', '专业方向'); +insert into `smart_assess`.`sys_dict_data`(`label`, `value`, `dict_type`,`is_default`,`remark`) values('自动化','16', 'sys_major_orientation', 'N','专业方向'); +insert into `smart_assess`.`sys_dict_data`(`label`, `value`, `dict_type`,`is_default`,`remark`) values('火炸药','17', 'sys_major_orientation', 'N','专业方向'); +insert into `smart_assess`.`sys_dict_data`(`label`, `value`, `dict_type`,`is_default`,`remark`) values('冶金','18', 'sys_major_orientation', 'N','专业方向'); +insert into `smart_assess`.`sys_dict_data`(`label`, `value`, `dict_type`,`is_default`,`remark`) values('有色金属','19', 'sys_major_orientation', 'N','专业方向'); +insert into `smart_assess`.`sys_dict_data`(`label`, `value`, `dict_type`,`is_default`,`remark`) values('爆炸技术','20', 'sys_major_orientation', 'N','专业方向'); + + +ALTER TABLE `smart_assess`.`sys_dict_data` +ADD COLUMN `del_flag` tinyint NULL DEFAULT 0 COMMENT '删除标志(0代表存在,1代表删除,默认0)'; + +ALTER TABLE `smart_assess`.`sys_dict_type` +ADD COLUMN `del_flag` tinyint NULL DEFAULT 0 COMMENT '删除标志(0代表存在,1代表删除,默认0)'; + +ALTER TABLE `smart_assess`.`sys_notice` +ADD COLUMN `del_flag` tinyint NULL DEFAULT 0 COMMENT '删除标志(0代表存在,1代表删除,默认0)'; + +ALTER TABLE `smart_assess`.`sys_law` +ADD COLUMN `del_flag` tinyint NULL DEFAULT 0 COMMENT '删除标志(0代表存在,1代表删除,默认0)'; \ No newline at end of file diff --git a/assess-admin/src/main/resources/db/migration/V20240109001_add_delflag.sql b/assess-admin/src/main/resources/db/migration/V20240109001_add_delflag.sql new file mode 100644 index 0000000..cafbe78 --- /dev/null +++ b/assess-admin/src/main/resources/db/migration/V20240109001_add_delflag.sql @@ -0,0 +1,11 @@ +ALTER TABLE `smart_assess`.`sys_dict_data` +ADD COLUMN `del_flag` tinyint NULL DEFAULT 0 COMMENT '删除标志(0代表存在,1代表删除,默认0)'; + +ALTER TABLE `smart_assess`.`sys_dict_type` +ADD COLUMN `del_flag` tinyint NULL DEFAULT 0 COMMENT '删除标志(0代表存在,1代表删除,默认0)'; + +ALTER TABLE `smart_assess`.`sys_notice` +ADD COLUMN `del_flag` tinyint NULL DEFAULT 0 COMMENT '删除标志(0代表存在,1代表删除,默认0)'; + +ALTER TABLE `smart_assess`.`sys_law` +ADD COLUMN `del_flag` tinyint NULL DEFAULT 0 COMMENT '删除标志(0代表存在,1代表删除,默认0)'; \ No newline at end of file diff --git a/assess-admin/src/main/resources/db/migration/V20240109002_user_face.sql b/assess-admin/src/main/resources/db/migration/V20240109002_user_face.sql new file mode 100644 index 0000000..c68ea05 --- /dev/null +++ b/assess-admin/src/main/resources/db/migration/V20240109002_user_face.sql @@ -0,0 +1,17 @@ + +-- ---------------------------- +-- 用户人脸数据表 +-- ---------------------------- +CREATE TABLE `smart_assess`.`sys_user_face` ( +`id` bigint NOT NULL AUTO_INCREMENT, +`face_base` text NOT NULL COMMENT '人脸数据', +`user_id` bigint NOT NULL COMMENT '用户id', +`version` int NULL DEFAULT 0 COMMENT '乐观锁', +`del_flag` tinyint NULL DEFAULT 0 COMMENT '删除标志(0正常,1删除,默认0)', +`create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '创建人', +`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, +`update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '更新人', +`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, +`remark` varchar(20) NULL COMMENT '原因说明', +PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '用户人脸数据表' ROW_FORMAT = DYNAMIC; \ No newline at end of file diff --git a/assess-admin/src/main/resources/db/migration/V20240125001_change_region.sql b/assess-admin/src/main/resources/db/migration/V20240125001_change_region.sql new file mode 100644 index 0000000..82d46c5 --- /dev/null +++ b/assess-admin/src/main/resources/db/migration/V20240125001_change_region.sql @@ -0,0 +1,2 @@ +ALTER TABLE `smart_assess`.`sys_region` +ADD COLUMN `remark` varchar(20) NULL COMMENT '备注'; \ No newline at end of file diff --git a/assess-admin/src/test/java/com/gkhy/admin/MybatisPlusGenerator.java b/assess-admin/src/test/java/com/gkhy/admin/MybatisPlusGenerator.java deleted file mode 100644 index 5c26675..0000000 --- a/assess-admin/src/test/java/com/gkhy/admin/MybatisPlusGenerator.java +++ /dev/null @@ -1,109 +0,0 @@ -package com.gkhy.admin; - -import com.baomidou.mybatisplus.generator.FastAutoGenerator; -import com.baomidou.mybatisplus.generator.config.DataSourceConfig; -import com.baomidou.mybatisplus.generator.config.OutputFile; -import com.baomidou.mybatisplus.generator.config.rules.DateType; -import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine; - -import java.util.Arrays; -import java.util.Collections; -import java.util.List; - -public class MybatisPlusGenerator { - public static void main(String[] args) { - System.out.println(System.getProperty("user.dir")); - String model="/assess-system"; - // 数据库配置 - DataSourceConfig.Builder dataSourceConfigBuilder = new DataSourceConfig - .Builder("jdbc:mysql://localhost:3306/smart_assess" + - "?useSSL=false&allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&autoReconnect=true" - , "root", "password"); - FastAutoGenerator.create(dataSourceConfigBuilder) - // 全局配置 - .globalConfig((scanner, builder) -> { - builder.author("kzy") - // 覆盖已生成文件 - .fileOverride() - // 指定输出目录 - .outputDir(System.getProperty("user.dir") +model+ "/src/main/java/") - // 开启 swagger 模式 - .enableSwagger() - // 禁止打开输出目录 - .disableOpenDir() - // 时间策略 - .dateType(DateType.TIME_PACK) - // 类注释日期的格式 - .commentDate("yyyy-MM-dd HH:mm:ss") - .build(); - }) - // 包配置 - .packageConfig((scanner, builder) -> { - // 父包名 - builder.parent("com.gkhy.assess") - // 模块名 - .moduleName("system") - // Entity 包名 - .entity("domain") - // Service 包名 - .service("service") - // Service Impl 包名 - .serviceImpl("service.impl") - // Controller 包名 - .controller("controller") - // Mapper 包名 - .mapper("mapper.system") - // MapperXML 包名 - .xml("mapper.system") - // 路径配置信息 - .pathInfo(Collections.singletonMap(OutputFile.mapperXml, System.getProperty("user.dir") +model+ "/src/main/resources/mapper/")); - }) - //策略配置 - .strategyConfig((scanner, builder) -> { - // 增加表匹配(内存过滤), include 与 exclude 只能配置一项 - builder.addInclude(getTables(scanner.apply("请输入要生成的表名,多个英文逗号分隔?所有输入 all"))) - // 增加表排除匹配(内存过滤), include 与 exclude 只能配置一项 - // .addExclude(scanner.apply("请输入要忽略的表名,多个英文逗号分隔?")) - // 增加过滤表后缀 - .addTableSuffix("") - // 增加过滤表前缀 - .addTablePrefix("") - // service 策略配置 - .serviceBuilder() - // 格式化文件名称 - .formatServiceFileName("%sService") - .formatServiceImplFileName("%sServiceImpl") - // 实体策略配置 - .entityBuilder() - // 开启 lombok 模型 - .enableLombok() - // 开启生成实体时生成字段注解 - .enableTableFieldAnnotation() - // controller 策略配置 - .controllerBuilder() - .formatFileName("%sController") - // 开启生成@RestController 控制器 - .enableRestStyle() - // mapper 策略配置 - .mapperBuilder() - .formatMapperFileName("%sMapper") - .enableMapperAnnotation() - .formatXmlFileName("%sMapper"); - }) - // 使用Freemarker引擎模板,默认的是Velocity引擎模板 - .templateEngine(new FreemarkerTemplateEngine()) - .execute(); - } - - - - /** - * 处理 all 情况 - * - * @param tables - * @return - */ - protected static List<String> getTables(String tables) { - return "all".equals(tables) ? Collections.emptyList() : Arrays.asList(tables.split(",")); - } -} diff --git a/assess-admin/src/test/java/com/gkhy/admin/RegionTest.java b/assess-admin/src/test/java/com/gkhy/admin/RegionTest.java index 13a25d5..32cc777 100644 --- a/assess-admin/src/test/java/com/gkhy/admin/RegionTest.java +++ b/assess-admin/src/test/java/com/gkhy/admin/RegionTest.java @@ -6,16 +6,12 @@ import com.gkhy.assess.admin.GkhyAdminApplication; import com.gkhy.assess.system.domain.SysRegion; import com.gkhy.assess.system.service.SysRegionService; -import com.gkhy.assess.system.service.impl.SysRegionServiceImpl; import lombok.extern.slf4j.Slf4j; import org.junit.Test; import org.junit.runner.RunWith; -import org.mybatis.spring.annotation.MapperScan; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.test.context.ActiveProfiles; import org.springframework.test.context.junit4.SpringRunner; -import sun.swing.plaf.GTKKeybindings; import java.io.BufferedReader; import java.io.File; diff --git a/assess-common/src/main/java/com/gkhy/assess/common/annotation/DataDesensitization.java b/assess-common/src/main/java/com/gkhy/assess/common/annotation/DataDesensitization.java new file mode 100644 index 0000000..50166e7 --- /dev/null +++ b/assess-common/src/main/java/com/gkhy/assess/common/annotation/DataDesensitization.java @@ -0,0 +1,13 @@ +package com.gkhy.assess.common.annotation; + +import java.lang.annotation.*; + +/** + * 数据脱敏注解,方法含有该注解表示需要数据脱敏 + */ +@Target({ElementType.PARAMETER,ElementType.METHOD}) +@Retention(RetentionPolicy.RUNTIME) +@Documented +public @interface DataDesensitization { + +} diff --git a/assess-common/src/main/java/com/gkhy/assess/common/annotation/DataDesensitizationType.java b/assess-common/src/main/java/com/gkhy/assess/common/annotation/DataDesensitizationType.java new file mode 100644 index 0000000..02c8a5c --- /dev/null +++ b/assess-common/src/main/java/com/gkhy/assess/common/annotation/DataDesensitizationType.java @@ -0,0 +1,19 @@ +package com.gkhy.assess.common.annotation; + +import com.gkhy.assess.common.enums.SensitiveTypeEnum; + +import java.lang.annotation.*; + +/** + * 数据脱敏注解,字段上含有该注解表示需要数据脱敏 + */ +@Target({ElementType.FIELD}) +@Retention(RetentionPolicy.RUNTIME) +@Documented +public @interface DataDesensitizationType { + /** + * 脱敏类型(规则) + * @return + */ + SensitiveTypeEnum type(); +} diff --git a/assess-common/src/main/java/com/gkhy/assess/common/api/ResultCode.java b/assess-common/src/main/java/com/gkhy/assess/common/api/ResultCode.java index dfd9e42..aef3b0c 100644 --- a/assess-common/src/main/java/com/gkhy/assess/common/api/ResultCode.java +++ b/assess-common/src/main/java/com/gkhy/assess/common/api/ResultCode.java @@ -6,7 +6,7 @@ public enum ResultCode implements IErrorCode { SUCCESS(200,"操作成功"), FAILED(500, "操作失败"), - VALIDATE_FAILED(404, "参数检验失败"), + VALIDATE_FAILED(400, "参数检验失败"), UNAUTHORIZED(401, "暂未登录或token已经过期"), FORBIDDEN(403, "没有相关权限"); diff --git a/assess-common/src/main/java/com/gkhy/assess/common/config/BaseRedisConfig.java b/assess-common/src/main/java/com/gkhy/assess/common/config/BaseRedisConfig.java index 2eb4f50..072f2ee 100644 --- a/assess-common/src/main/java/com/gkhy/assess/common/config/BaseRedisConfig.java +++ b/assess-common/src/main/java/com/gkhy/assess/common/config/BaseRedisConfig.java @@ -3,7 +3,13 @@ import com.fasterxml.jackson.annotation.JsonAutoDetect; import com.fasterxml.jackson.annotation.PropertyAccessor; import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.SerializationFeature; import com.fasterxml.jackson.databind.jsontype.impl.LaissezFaireSubTypeValidator; +import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule; +import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateDeserializer; +import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer; +import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateSerializer; +import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer; import com.gkhy.assess.common.service.RedisService; import com.gkhy.assess.common.service.impl.RedisServiceImpl; import org.springframework.context.annotation.Bean; @@ -18,6 +24,9 @@ import org.springframework.data.redis.serializer.StringRedisSerializer; import java.time.Duration; +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; /** * Redis基础配置 @@ -48,6 +57,21 @@ Jackson2JsonRedisSerializer<Object> serializer=new Jackson2JsonRedisSerializer<>(Object.class); ObjectMapper objectMapper=new ObjectMapper(); objectMapper.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY); + + //LocalDatetime序列化 + JavaTimeModule timeModule = new JavaTimeModule(); + timeModule.addDeserializer(LocalDate.class, + new LocalDateDeserializer(DateTimeFormatter.ofPattern("yyyy-MM-dd"))); + timeModule.addDeserializer(LocalDateTime.class, + new LocalDateTimeDeserializer(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); + timeModule.addSerializer(LocalDate.class, + new LocalDateSerializer(DateTimeFormatter.ofPattern("yyyy-MM-dd"))); + timeModule.addSerializer(LocalDateTime.class, + new LocalDateTimeSerializer(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); + + objectMapper.disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS); + objectMapper.registerModule(timeModule); + //必须设置,否则无法将JSON转化为对象,会转化成Map类型 objectMapper.activateDefaultTyping(LaissezFaireSubTypeValidator.instance,ObjectMapper.DefaultTyping.NON_FINAL); serializer.setObjectMapper(objectMapper); diff --git a/assess-common/src/main/java/com/gkhy/assess/common/config/MybatisPlusConfig.java b/assess-common/src/main/java/com/gkhy/assess/common/config/MybatisPlusConfig.java index d2e5f88..d81f4f7 100644 --- a/assess-common/src/main/java/com/gkhy/assess/common/config/MybatisPlusConfig.java +++ b/assess-common/src/main/java/com/gkhy/assess/common/config/MybatisPlusConfig.java @@ -21,6 +21,7 @@ PaginationInnerInterceptor paginationInnerInterceptor = new PaginationInnerInterceptor(DbType.MYSQL); paginationInnerInterceptor.setOverflow(false);//溢出总页数 总是跳到第一页 interceptor.addInnerInterceptor(paginationInnerInterceptor); + //添加乐观锁插件 interceptor.addInnerInterceptor(new OptimisticLockerInnerInterceptor()); return interceptor; } diff --git a/assess-common/src/main/java/com/gkhy/assess/common/domain/BaseEntity.java b/assess-common/src/main/java/com/gkhy/assess/common/domain/BaseEntity.java index ed74267..f3aabd1 100644 --- a/assess-common/src/main/java/com/gkhy/assess/common/domain/BaseEntity.java +++ b/assess-common/src/main/java/com/gkhy/assess/common/domain/BaseEntity.java @@ -3,11 +3,16 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer; +import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; import lombok.experimental.Accessors; +import lombok.experimental.SuperBuilder; import java.io.Serializable; import java.time.LocalDateTime; @@ -16,7 +21,6 @@ @Getter @Setter -@Accessors(chain = true) @ApiModel(value = "baseEntity对象", description = "基础类") public class BaseEntity implements Serializable { private static final long serialVersionUID = 1L; @@ -25,18 +29,22 @@ @TableField("create_by") private String createBy; +// @JsonDeserialize(using = LocalDateTimeDeserializer.class) +// @JsonSerialize(using = LocalDateTimeSerializer.class) +// @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") @ApiModelProperty("创建时间") @TableField("create_time") - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private LocalDateTime createTime; @ApiModelProperty("更新者") @TableField("update_by") private String updateBy; +// @JsonDeserialize(using = LocalDateTimeDeserializer.class) +// @JsonSerialize(using = LocalDateTimeSerializer.class) +// @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") @ApiModelProperty("更新时间") @TableField("update_time") - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private LocalDateTime updateTime; @ApiModelProperty("备注") diff --git a/assess-common/src/main/java/com/gkhy/assess/common/domain/TableSupport.java b/assess-common/src/main/java/com/gkhy/assess/common/domain/TableSupport.java index 5c548cc..6abe2c8 100644 --- a/assess-common/src/main/java/com/gkhy/assess/common/domain/TableSupport.java +++ b/assess-common/src/main/java/com/gkhy/assess/common/domain/TableSupport.java @@ -42,7 +42,7 @@ { PageDomain pageDomain = new PageDomain(); pageDomain.setPageNum(Convert.toInt(ServletUtil.getParameter(PAGE_NUM), 1)); - pageDomain.setPageSize(Convert.toInt(ServletUtil.getParameter(PAGE_SIZE), 10)); + pageDomain.setPageSize(Convert.toInt(ServletUtil.getParameter(PAGE_SIZE), 10)<=50?Convert.toInt(ServletUtil.getParameter(PAGE_SIZE), 10):50); pageDomain.setOrderByColumn(ServletUtil.getParameter(ORDER_BY_COLUMN)); pageDomain.setIsAsc(ServletUtil.getParameter(IS_ASC)); pageDomain.setReasonable(ServletUtil.getParameterToBool(REASONABLE)); diff --git a/assess-common/src/main/java/com/gkhy/assess/common/domain/vo/AccountVO.java b/assess-common/src/main/java/com/gkhy/assess/common/domain/vo/AccountVO.java index f9ba2c5..3f71537 100644 --- a/assess-common/src/main/java/com/gkhy/assess/common/domain/vo/AccountVO.java +++ b/assess-common/src/main/java/com/gkhy/assess/common/domain/vo/AccountVO.java @@ -27,6 +27,12 @@ @ApiModelProperty(value = "用户昵称",required = true) private String name; + @ApiModelProperty(value = "机构名称") + private String agentName; + + @ApiModelProperty(value = "机构Id") + private Long agentId; + @ApiModelProperty("用户角色") private String role; @@ -36,4 +42,6 @@ @ApiModelProperty("用户身份(0代表监管用户,1代表机构用户,2代表专家用户)") private Integer identity; + @ApiModelProperty("用户人脸数据(app使用)") + private Object userFace; } diff --git a/assess-common/src/main/java/com/gkhy/assess/common/domain/vo/LoginBody.java b/assess-common/src/main/java/com/gkhy/assess/common/domain/vo/LoginBody.java index 2910ef7..7c0ef26 100644 --- a/assess-common/src/main/java/com/gkhy/assess/common/domain/vo/LoginBody.java +++ b/assess-common/src/main/java/com/gkhy/assess/common/domain/vo/LoginBody.java @@ -14,7 +14,7 @@ @ApiModelProperty(value = "登录名",required = true) @NotBlank(message = "登录名不能为空") private String username; - @ApiModelProperty(value = "密码",required = true) + @ApiModelProperty(value = "密码(base64加密)",required = true) @NotBlank(message = "密码不能为空") private String password; @ApiModelProperty(value = "验证码",required = false) diff --git a/assess-common/src/main/java/com/gkhy/assess/common/enums/AccessoryFileTypeEnum.java b/assess-common/src/main/java/com/gkhy/assess/common/enums/AccessoryFileTypeEnum.java deleted file mode 100644 index b413c40..0000000 --- a/assess-common/src/main/java/com/gkhy/assess/common/enums/AccessoryFileTypeEnum.java +++ /dev/null @@ -1,38 +0,0 @@ -package com.gkhy.assess.common.enums; - -/** - * 评估文件类型 - * - */ -public enum AccessoryFileTypeEnum -{ - DEVICE_IMAGE(1, "评价机构项目现场勘验人员在主要装置前的合影照片"), - INVESTINGATION_IMAGE(2, "评价机构项目现场勘验照片"), - COMPANY_IMAGE(3, "评价机构项目现场勘验人员与企业陪同人员图片"), - INVESTINGATION_EAST_IMAGE(4, "预评价现场勘验照片-东"), - INVESTINGATION_SOUTH_IMAGE(5, "预评价现场勘验照片-南"), - INVESTINGATION_WEST_IMAGE(6, "预评价现场勘验照片-西"), - INVESTINGATION_NORTH_IMAGE(7, "预评价现场勘验照片-北"), - INVESTINGATION_VIDEO(8, "评价机构项目现场勘验视频"), - EXCODE(9, "二维码"), - PROARCHIVE_FILE(10, "安全评价过程控制记录文档附件"); - - private final Integer code; - private final String info; - - AccessoryFileTypeEnum(Integer code, String info) - { - this.code = code; - this.info = info; - } - - public Integer getCode() - { - return code; - } - - public String getInfo() - { - return info; - } -} diff --git a/assess-common/src/main/java/com/gkhy/assess/common/enums/RequestSourceEnum.java b/assess-common/src/main/java/com/gkhy/assess/common/enums/RequestSourceEnum.java new file mode 100644 index 0000000..c9c17ae --- /dev/null +++ b/assess-common/src/main/java/com/gkhy/assess/common/enums/RequestSourceEnum.java @@ -0,0 +1,29 @@ +package com.gkhy.assess.common.enums; + +/** + * 请求来源状态 + * + */ +public enum RequestSourceEnum +{ + WEB("web", "web请求"), APP("app", "app请求"); + + private final String code; + private final String info; + + RequestSourceEnum(String code, String info) + { + this.code = code; + this.info = info; + } + + public String getCode() + { + return code; + } + + public String getInfo() + { + return info; + } +} diff --git a/assess-common/src/main/java/com/gkhy/assess/common/enums/SensitiveTypeEnum.java b/assess-common/src/main/java/com/gkhy/assess/common/enums/SensitiveTypeEnum.java new file mode 100644 index 0000000..c22b484 --- /dev/null +++ b/assess-common/src/main/java/com/gkhy/assess/common/enums/SensitiveTypeEnum.java @@ -0,0 +1,10 @@ +package com.gkhy.assess.common.enums; + +/** + * 脱敏类型枚举 + */ +public enum SensitiveTypeEnum { + CHINESE_NAME, + ID_CARD, + MOBILE_PHONE; +} diff --git a/assess-common/src/main/java/com/gkhy/assess/common/utils/DesenseUtil.java b/assess-common/src/main/java/com/gkhy/assess/common/utils/DesenseUtil.java new file mode 100644 index 0000000..93cff71 --- /dev/null +++ b/assess-common/src/main/java/com/gkhy/assess/common/utils/DesenseUtil.java @@ -0,0 +1,78 @@ +package com.gkhy.assess.common.utils; + +import cn.hutool.core.util.DesensitizedUtil; +import com.gkhy.assess.common.annotation.DataDesensitizationType; +import com.gkhy.assess.common.api.CommonPage; +import com.gkhy.assess.common.api.CommonResult; + +import java.lang.annotation.Annotation; +import java.lang.reflect.Field; +import java.util.List; + +/** + * 脱密工具类,(缺陷,不支持子类数据脱密) + */ +public class DesenseUtil { + + public static void assertResult(Object data) throws ClassNotFoundException, IllegalAccessException { + if(data instanceof CommonResult){ + CommonResult cr= (CommonResult) data; + Object obj=cr.getData(); + if(obj instanceof CommonPage){ + assetListResult(((CommonPage)obj).getList()); + }else if (obj instanceof List){ + assetListResult(obj); + }else{ + assetOneResult(obj); + } + } + } + public static void assetListResult(Object data) throws ClassNotFoundException, IllegalAccessException { + List list=(List) data; + for (Object record : list) { + Class<?> targetClass = Class.forName(record.getClass().getName()); + Field[] fields = targetClass.getDeclaredFields(); + reflexUpdateData(record, fields); + } + } + + public static void assetOneResult(Object data) throws IllegalAccessException, ClassNotFoundException { + Class<?> targetClass = Class.forName(data.getClass().getName()); + Field[] fields=targetClass.getDeclaredFields(); + reflexUpdateData(data,fields); + } + + public static void reflexUpdateData(Object data, Field[] fields) throws IllegalAccessException { + for (Field field : fields) { + field.setAccessible(true); + Object value = field.get(data); + if (!(value instanceof String)) { + continue; + } + String valueStr = (String) value; + Annotation[] annotations = field.getDeclaredAnnotations(); + for (Annotation annotation : annotations) { + if (annotation instanceof DataDesensitizationType) { + DataDesensitizationType targetAnnotation = (DataDesensitizationType) annotation; + switch (targetAnnotation.type()) { + case CHINESE_NAME: { + field.set(data, DesensitizedUtil.chineseName(valueStr)); + break; + } + case ID_CARD: { + field.set(data, DesensitizedUtil.idCardNum(valueStr, 3, 3)); + break; + } + case MOBILE_PHONE: { + field.set(data, DesensitizedUtil.mobilePhone(valueStr)); + break; + } + default: { + break; + } + } + } + } + } + } +} diff --git a/assess-common/src/main/java/com/gkhy/assess/common/utils/JwtTokenUtil.java b/assess-common/src/main/java/com/gkhy/assess/common/utils/JwtTokenUtil.java index cd30016..0447a9a 100644 --- a/assess-common/src/main/java/com/gkhy/assess/common/utils/JwtTokenUtil.java +++ b/assess-common/src/main/java/com/gkhy/assess/common/utils/JwtTokenUtil.java @@ -1,18 +1,25 @@ package com.gkhy.assess.common.utils; +import cn.hutool.core.date.DateUtil; import cn.hutool.crypto.digest.DigestUtil; import com.auth0.jwt.JWT; import com.auth0.jwt.JWTVerifier; import com.auth0.jwt.algorithms.Algorithm; import com.auth0.jwt.exceptions.JWTDecodeException; import com.auth0.jwt.interfaces.DecodedJWT; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.gkhy.assess.common.api.CommonResult; import com.gkhy.assess.common.exception.ApiException; import org.apache.commons.lang3.StringUtils; import org.apache.shiro.crypto.hash.Md5Hash; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import javax.servlet.ServletResponse; import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.io.OutputStream; import java.util.Date; /** @@ -37,8 +44,13 @@ public static String tokenHead=""; - /**Token有效期为7天(Token在reids中缓存时间为两倍)*/ - public static final long EXPIRATION=(7 * 12) * 60 * 60 * 1000; //JWT的超期限时间(60*60*24*7) + /**Token有效期为1天(Token在reids中缓存时间为两倍) 单位ms*/ + public static final long EXPIRATION=(1 * 24) * 60 * 60 * 1000; //JWT的超期限时间(60*60*24*1) + + /** + * token有效期还有30分钟,刷新token 单位ms + */ + public static final long NEED_UPDATE_TIME= 30 * 60 * 1000; /** * 校验token是否正确 @@ -56,6 +68,20 @@ }catch (Exception e){ return false; } + } + + + public static boolean isNeedUpdate(String token,String username,String secret){ + Date expertsAt =null; + try { + Algorithm algorithm = Algorithm.HMAC256(secret); + JWTVerifier verifier = JWT.require(algorithm).withClaim("username", username).build(); + expertsAt = verifier.verify(token).getExpiresAt(); + }catch (Exception e){ + throw new ApiException("token非法无效"); + } + //如果剩余过期时间少于过期时常的一半时 需要更新 + return (expertsAt.getTime()-System.currentTimeMillis()) < NEED_UPDATE_TIME; } /** @@ -127,4 +153,30 @@ } + /** + * + * @param response + * @param code + * @param errorMsg + */ + public static void responseError(ServletResponse response, String errorMsg) { + HttpServletResponse httpServletResponse = (HttpServletResponse) response; + // issues/I4YH95浏览器显示乱码问题 + httpServletResponse.setHeader("Content-type", "text/html;charset=UTF-8"); + CommonResult jsonResult = CommonResult.failed(errorMsg); + OutputStream os = null; + try { + os = httpServletResponse.getOutputStream(); + httpServletResponse.setCharacterEncoding("UTF-8"); + // httpServletResponse.setStatus(code); + os.write(new ObjectMapper().writeValueAsString(jsonResult).getBytes("UTF-8")); + os.flush(); + os.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + + + } diff --git a/assess-framework/src/main/java/com/gkhy/assess/framework/aop/DataDesensitizationAspect.java b/assess-framework/src/main/java/com/gkhy/assess/framework/aop/DataDesensitizationAspect.java new file mode 100644 index 0000000..09fe57d --- /dev/null +++ b/assess-framework/src/main/java/com/gkhy/assess/framework/aop/DataDesensitizationAspect.java @@ -0,0 +1,47 @@ +package com.gkhy.assess.framework.aop; + +import com.gkhy.assess.common.annotation.DataDesensitization; +import com.gkhy.assess.common.utils.DesenseUtil; +import com.gkhy.assess.common.utils.JwtTokenUtil; +import com.gkhy.assess.common.utils.StringUtils; +import lombok.extern.slf4j.Slf4j; +import org.aspectj.lang.ProceedingJoinPoint; +import org.aspectj.lang.Signature; +import org.aspectj.lang.annotation.Around; +import org.aspectj.lang.annotation.Aspect; +import org.aspectj.lang.annotation.Pointcut; +import org.aspectj.lang.reflect.MethodSignature; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import javax.servlet.http.HttpServletRequest; +import java.lang.reflect.Method; + +/** + * 数据脱密 + */ +@Aspect +@Component +@Slf4j +public class DataDesensitizationAspect { + @Autowired + private HttpServletRequest request; + @Pointcut("@annotation(com.gkhy.assess.common.annotation.DataDesensitization)") + public void pointcut(){} + + @Around("pointcut()") + public Object doaround(ProceedingJoinPoint point) throws Throwable { + Object object=point.proceed(); + String jwtToken = request.getHeader(JwtTokenUtil.USER_LOGIN_TOKEN); + if(StringUtils.isNotBlank(jwtToken)){//token为空,进行数据脱敏 + return object; + } + MethodSignature signature = (MethodSignature) point.getSignature(); + Method method = signature.getMethod(); + if(!method.isAnnotationPresent(DataDesensitization.class)){ + return object; + } + DesenseUtil.assertResult(object); + return object; + } +} diff --git a/assess-framework/src/main/java/com/gkhy/assess/framework/aop/LogAspect.java b/assess-framework/src/main/java/com/gkhy/assess/framework/aop/LogAspect.java index f810eb2..510651b 100644 --- a/assess-framework/src/main/java/com/gkhy/assess/framework/aop/LogAspect.java +++ b/assess-framework/src/main/java/com/gkhy/assess/framework/aop/LogAspect.java @@ -57,7 +57,10 @@ webLog.put("basePath", StringUtils.removeSuffix(urlStr, URLUtil.url(urlStr).getPath())); webLog.put("ip", ServletUtil.getClientIP(request,null)); webLog.put("method",request.getMethod()); - Object params=getParameter(method, joinPoint.getArgs()); + Object params=null; + if(!requestURL.equals("/api/app/system/user-face")){ + params=getParameter(method, joinPoint.getArgs()); + } webLog.put("parameter",params); webLog.put("uri",request.getRequestURI()); webLog.put("url",requestURL.toString()); diff --git a/assess-framework/src/main/java/com/gkhy/assess/framework/config/ApplicationConfig.java b/assess-framework/src/main/java/com/gkhy/assess/framework/config/ApplicationConfig.java index 579768a..d517027 100644 --- a/assess-framework/src/main/java/com/gkhy/assess/framework/config/ApplicationConfig.java +++ b/assess-framework/src/main/java/com/gkhy/assess/framework/config/ApplicationConfig.java @@ -25,8 +25,6 @@ @Configuration // 表示通过aop框架暴露该代理对象,AopContext能够访问 @EnableAspectJAutoProxy(exposeProxy = true) -// 指定要扫描的Mapper类的包的路径 -@MapperScan("com.gkhy.**.mapper") public class ApplicationConfig { @@ -42,6 +40,10 @@ // return jacksonObjectMapperBuilder -> jacksonObjectMapperBuilder.timeZone(TimeZone.getDefault()); // } + /** + * 时间序列化 + * @return + */ @Bean public Jackson2ObjectMapperBuilderCustomizer jackson2ObjectMapperBuilderCustomizer() { return builder -> { diff --git a/assess-framework/src/main/java/com/gkhy/assess/framework/config/FilterConfig.java b/assess-framework/src/main/java/com/gkhy/assess/framework/config/FilterConfig.java index 94d83f8..fec038e 100644 --- a/assess-framework/src/main/java/com/gkhy/assess/framework/config/FilterConfig.java +++ b/assess-framework/src/main/java/com/gkhy/assess/framework/config/FilterConfig.java @@ -25,26 +25,31 @@ @Value("${xss.urlPatterns}") private String urlPatterns; -// -// @SuppressWarnings({ "rawtypes", "unchecked" }) -// @Bean -// @ConditionalOnProperty(value = "xss.enabled", havingValue = "true") -// public FilterRegistrationBean xssFilterRegistration() -// { -// FilterRegistrationBean registration = new FilterRegistrationBean(); -// registration.setDispatcherTypes(DispatcherType.REQUEST); -// registration.setFilter(new XssFilter()); -// registration.addUrlPatterns(String.valueOf(StringUtils.split(urlPatterns, ","))); -// registration.setName("xssFilter"); -// registration.setOrder(FilterRegistrationBean.HIGHEST_PRECEDENCE); -// Map<String, String> initParameters = new HashMap<String, String>(); -// initParameters.put("excludes", excludes); -// registration.setInitParameters(initParameters); -// return registration; -// } @SuppressWarnings({ "rawtypes", "unchecked" }) @Bean + @ConditionalOnProperty(value = "xss.enabled", havingValue = "true") + public FilterRegistrationBean xssFilterRegistration() + { + FilterRegistrationBean registration = new FilterRegistrationBean(); + registration.setDispatcherTypes(DispatcherType.REQUEST); + registration.setFilter(new XssFilter()); + StringUtils.split(urlPatterns,10); + registration.addUrlPatterns(String.join(",",StringUtils.split(urlPatterns, ","))); + registration.setName("xssFilter"); + registration.setOrder(FilterRegistrationBean.HIGHEST_PRECEDENCE); + Map<String, String> initParameters = new HashMap<String, String>(); + initParameters.put("excludes", excludes); + registration.setInitParameters(initParameters); + return registration; + } + + /** + * 重复请求校验 + * @return + */ + @SuppressWarnings({ "rawtypes", "unchecked" }) + @Bean public FilterRegistrationBean someFilterRegistration() { FilterRegistrationBean registration = new FilterRegistrationBean(); diff --git a/assess-framework/src/main/java/com/gkhy/assess/framework/config/MyWebMvcConfig.java b/assess-framework/src/main/java/com/gkhy/assess/framework/config/MyWebMvcConfig.java index b03009d..df0aa62 100644 --- a/assess-framework/src/main/java/com/gkhy/assess/framework/config/MyWebMvcConfig.java +++ b/assess-framework/src/main/java/com/gkhy/assess/framework/config/MyWebMvcConfig.java @@ -2,6 +2,7 @@ import com.gkhy.assess.framework.interceptor.LogInterceptor; import com.gkhy.assess.framework.interceptor.RepeatSubmitInterceptor; +import org.mybatis.spring.annotation.MapperScan; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Configuration; @@ -13,6 +14,8 @@ @Configuration +// 指定要扫描的Mapper类的包的路径 +@MapperScan("com.gkhy.**.mapper") public class MyWebMvcConfig implements WebMvcConfigurer { @Value("${image.upload_path}") private String uploadPath; @@ -40,4 +43,5 @@ registry.addInterceptor(repeatSubmitInterceptor).addPathPatterns("/**"); } + } diff --git a/assess-framework/src/main/java/com/gkhy/assess/framework/exception/GlobalExceptionHandler.java b/assess-framework/src/main/java/com/gkhy/assess/framework/exception/GlobalExceptionHandler.java index 633d963..6d6083b 100644 --- a/assess-framework/src/main/java/com/gkhy/assess/framework/exception/GlobalExceptionHandler.java +++ b/assess-framework/src/main/java/com/gkhy/assess/framework/exception/GlobalExceptionHandler.java @@ -18,6 +18,7 @@ import javax.servlet.http.HttpServletRequest; import java.sql.SQLException; +import java.sql.SQLSyntaxErrorException; /** * 全局异常处理类 @@ -82,7 +83,7 @@ public CommonResult handleRuntimeException(RuntimeException ex, HttpServletRequest request) { writeExceptionLogFile(ex); - return CommonResult.failed(ex.getMessage()); + return CommonResult.failed("内部服务异常"); } diff --git a/assess-framework/src/main/java/com/gkhy/assess/framework/shiro/ShiroConfig.java b/assess-framework/src/main/java/com/gkhy/assess/framework/shiro/ShiroConfig.java index 98bb8c4..f2deed4 100644 --- a/assess-framework/src/main/java/com/gkhy/assess/framework/shiro/ShiroConfig.java +++ b/assess-framework/src/main/java/com/gkhy/assess/framework/shiro/ShiroConfig.java @@ -68,8 +68,10 @@ chain.addPathDefinition("/error", "anon"); chain.addPathDefinition("/upload/**", "anon"); - chain.addPathDefinition("/account/login","anon"); - chain.addPathDefinition("/logout", "logout"); + chain.addPathDefinition("/system/account/login","anon"); + chain.addPathDefinition("/system/logout", "anon"); + chain.addPathDefinition("/app/system/account/login","anon"); + chain.addPathDefinition("/app/system/logout", "anon"); chain.addPathDefinition("/notice/noticeList","anon"); chain.addPathDefinition("/notice/getNoticeById","anon"); diff --git a/assess-framework/src/main/java/com/gkhy/assess/framework/shiro/filter/JwtFilter.java b/assess-framework/src/main/java/com/gkhy/assess/framework/shiro/filter/JwtFilter.java index ea6f44c..5e5e18d 100644 --- a/assess-framework/src/main/java/com/gkhy/assess/framework/shiro/filter/JwtFilter.java +++ b/assess-framework/src/main/java/com/gkhy/assess/framework/shiro/filter/JwtFilter.java @@ -3,6 +3,7 @@ import com.alibaba.fastjson.JSONObject; import com.gkhy.assess.common.api.CommonResult; import com.gkhy.assess.common.api.ResultCode; +import com.gkhy.assess.common.exception.ApiException; import com.gkhy.assess.common.utils.JwtTokenUtil; import com.gkhy.assess.framework.shiro.JwtToken; import lombok.extern.slf4j.Slf4j; @@ -19,6 +20,7 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.PrintWriter; +import java.util.Date; @Slf4j public class JwtFilter extends BasicHttpAuthenticationFilter { @@ -76,6 +78,7 @@ return true; } catch (Exception e){ //未找到token log.error(e.getMessage()); + JwtTokenUtil.responseError(response,e.getMessage()); } return false; } diff --git a/assess-framework/src/main/java/com/gkhy/assess/framework/shiro/service/SysLoginService.java b/assess-framework/src/main/java/com/gkhy/assess/framework/shiro/service/SysLoginService.java index 31cf00c..ab85786 100644 --- a/assess-framework/src/main/java/com/gkhy/assess/framework/shiro/service/SysLoginService.java +++ b/assess-framework/src/main/java/com/gkhy/assess/framework/shiro/service/SysLoginService.java @@ -15,6 +15,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; +import javax.servlet.http.HttpServletRequest; import java.time.LocalDateTime; @Component @@ -25,6 +26,8 @@ private SysPasswordService passwordService; @Autowired private RedisUtils redisUtils; + @Autowired + private HttpServletRequest request; public SysUser login(String username, String password) { SysUser sysUser=sysUserService.getUserByUsernamePhone(username); @@ -37,6 +40,16 @@ public void validUser(SysUser sysUser){ if(sysUser==null) { throw new AuthenticationException("用户不存在"); + } + String uri=request.getRequestURI(); + if(uri.startsWith("/api/system")){ + if(UserIdentityEnum.EXPERT.getCode().equals(sysUser.getIdentity())){ + throw new AuthenticationException("专家用户无权登录后台"); + } + }else if(uri.startsWith("/api/app/")){ + if(!UserIdentityEnum.EXPERT.getCode().equals(sysUser.getIdentity())){ + throw new AuthenticationException("只有专家用户才能登录APP"); + } } if(UserStatusEnum.DELETED.getCode().equals(sysUser.getDelFlag())){ throw new AuthenticationException("用户已被删除"); @@ -52,14 +65,18 @@ } public SysUser validJwtToken(String jwtToken){ + String username= JwtTokenUtil.getUsername(jwtToken); if(StringUtils.isEmpty(username)){ throw new AuthenticationException("token非法无效!"); } SysUser sysUser=sysUserService.getUserByUsernamePhone(username); validUser(sysUser); + if(!JwtTokenUtil.verify(jwtToken,username,sysUser.getPassword())){ + throw new AuthenticationException("token非法无效!"); + } if(!jwtTokenRefresh(jwtToken,username,sysUser.getPassword())){ - throw new AuthenticationException("Token失效,请重新登录!"); + throw new AuthenticationException("Token已失效,请重新登录!"); } // setRolePermission(sysUser); return sysUser; @@ -84,7 +101,7 @@ String cacheToken= (String) redisUtils.get(tokenKey); if(StringUtils.isNotEmpty(cacheToken)){ // 校验token有效性 - if(!JwtTokenUtil.verify(cacheToken,username,passWord)){ + if(!JwtTokenUtil.isNeedUpdate(cacheToken,username,passWord)){ String newToken=JwtTokenUtil.sign(username,passWord); // 设置超时时间 redisUtils.set(tokenKey,newToken); diff --git a/assess-system/src/main/java/com/gkhy/assess/system/domain/AssAccessoryFile.java b/assess-system/src/main/java/com/gkhy/assess/system/domain/AssAccessoryFile.java new file mode 100644 index 0000000..9890066 --- /dev/null +++ b/assess-system/src/main/java/com/gkhy/assess/system/domain/AssAccessoryFile.java @@ -0,0 +1,75 @@ +package com.gkhy.assess.system.domain; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.time.LocalDateTime; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.gkhy.assess.common.domain.BaseEntity; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; +import lombok.experimental.Accessors; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; + +import static com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL; + +/** + * <p> + * 评估文件上传记录表 + * </p> + * + * @author kzy + * @since 2023-12-12 10:46:54 + */ +@Getter +@Setter +@TableName("ass_accessory_file") +@ApiModel(value = "AssAccessoryFile对象", description = "评估文件上传记录表") +@Accessors(chain = true) +@JsonInclude(NON_NULL) +public class AssAccessoryFile extends BaseEntity { + + private static final long serialVersionUID = 1L; + + @TableId(value = "id", type = IdType.AUTO) + private Long id; + + @ApiModelProperty("文件名称") + @TableField("file_name") + private String fileName; + + @ApiModelProperty("文件原始名称") + @TableField("origin_name") + private String originName; + + @NotBlank(message = "文件存放路径不能为空") + @ApiModelProperty(value = "文件存放路径",required = true) + @TableField("path") + private String path; + + @NotNull(message = "模块code不能为空") + @ApiModelProperty(value = "模块code:1主要装置前的合影照片,2现场勘验照片,3企业陪同人员图片,4现场勘验视频,5现场勘验记录附件,6评审记录附件,7评价结论,8过程控制记录文档附件,9项目归档材料,10报备申请附件,11项目整改情况附件",required = true) + @TableField("module_type") + private Integer moduleType; + + + @NotNull(message = "项目id不能为空") + @ApiModelProperty(value = "项目id",required = true) + @TableField("project_id") + private Long projectId; + + @ApiModelProperty("乐观锁") + @TableField("version") + private Integer version; + + @ApiModelProperty("删除标志(0正常,1删除,默认0)") + @TableField("del_flag") + private Integer delFlag; +} diff --git a/assess-system/src/main/java/com/gkhy/assess/system/domain/AssAudit.java b/assess-system/src/main/java/com/gkhy/assess/system/domain/AssAudit.java new file mode 100644 index 0000000..b0c0e6a --- /dev/null +++ b/assess-system/src/main/java/com/gkhy/assess/system/domain/AssAudit.java @@ -0,0 +1,159 @@ +package com.gkhy.assess.system.domain; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.time.LocalDateTime; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.gkhy.assess.common.domain.BaseEntity; +import com.gkhy.assess.system.domain.SysUser; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import javax.validation.constraints.NotNull; + +import static com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL; + +/** + * <p> + * 审核表 + * </p> + * + * @author kzy + * @since 2023-12-12 10:46:54 + */ +@Getter +@Setter +@TableName("ass_audit") +@ApiModel(value = "AssAudit对象", description = "审核表") +@JsonInclude(NON_NULL) +public class AssAudit extends BaseEntity { + + private static final long serialVersionUID = 1L; + + @TableId(value = "id", type = IdType.AUTO) + private Long id; + + @NotNull(message = "审核日期不能为空") + @ApiModelProperty(value = "审核日期(格式yyyy-MM-dd 00:00:00)",required = true) + @TableField("audit_date") + private LocalDateTime auditDate; + + @ApiModelProperty("内部审核确定日期") + @TableField("affirm_date") + private LocalDateTime affirmDate; + + @NotNull(message = "项目id不能为空") + @ApiModelProperty("项目id") + @TableField("project_id") + private Long projectId; + + @NotNull(message = "审核类型不能为空") + @ApiModelProperty("审核类型(1内部审核2技术审核)") + @TableField("audit_type") + private Integer auditType; + + @NotNull(message = "审核人不能为空") + @ApiModelProperty("审核人id") + @TableField("assessor_id") + private Long assessorId; + + @ApiModelProperty("已按要求修改完成(0否 1是)") + @TableField("is_amend_finish") + private Boolean isAmendFinish; + + @ApiModelProperty("评价依据是否充分、准确、有效(0否 1是)") + @TableField("is_basis") + private Boolean isBasis; + + @ApiModelProperty("结论是否正确(0否 1是)") + @TableField("is_conclusion") + private Boolean isConclusion; + + @ApiModelProperty("危险有害因素识别是否全面(0否 1是)") + @TableField("is_danger_overall") + private Boolean isDangerOverall; + + @ApiModelProperty("附件与附图是否有效及规范(0否 1是)") + @TableField("is_file") + private Boolean isFile; + + @ApiModelProperty("格式是否符合要求(0否 1是)") + @TableField("is_format") + private Boolean isFormat; + + @ApiModelProperty("对策措施与建议是否可行(0否 1是)") + @TableField("is_measure") + private Boolean isMeasure; + + @ApiModelProperty("评价方法选择是否适当(0否 1是)") + @TableField("is_method_selection") + private Boolean isMethodSelection; + + @ApiModelProperty("可报技术负责人审核(0否 1是)") + @TableField("is_report_audit") + private Boolean isReportAudit; + + @ApiModelProperty("评价范围是否与合同一致(0否 1是)") + @TableField("is_scope") + private Boolean isScope; + + @ApiModelProperty("文字、数据是否准确(0否 1是)") + @TableField("is_text") + private Boolean isText; + + @ApiModelProperty("评价单元划分是否合理(0否 1是)") + @TableField("is_unit_division") + private Boolean isUnitDivision; + + @ApiModelProperty("报告中所列评价依据是否得到引用和验证(0否 1是)") + @TableField("is_basis_quote") + private Boolean isBasisQuote; + + @ApiModelProperty("评价结论及格式是否正确(0否 1是)") + @TableField("is_conclusion_right") + private Boolean isConclusionRight; + + @ApiModelProperty("危险有害因素识别是否充分(0否 1是)") + @TableField("is_danger_full") + private Boolean isDangerFull; + + @ApiModelProperty("现场收集的有关资料是否齐全、有效(0否 1是)") + @TableField("is_data") + private Boolean isData; + + @ApiModelProperty("报告中是否有重大遗漏(0否 1是)") + @TableField("is_omission") + private Boolean isOmission; + + @ApiModelProperty("对策措施及建议是否有针对性、合理性(0否 1是)") + @TableField("is_measure_equitable") + private Boolean isMeasureEquitable; + + @ApiModelProperty("评价方法选用是否合理(0否 1是)") + @TableField("is_method_rational") + private Boolean isMethodRational; + + @ApiModelProperty("存在问题及建议(500字符)") + @TableField("suggestions") + private String suggestions; + + @ApiModelProperty("删除标志(0正常,1删除,默认0)") + @TableField("del_flag") + private Integer delFlag; + + @ApiModelProperty("乐观锁") + @TableField("version") + private Integer version; + + @ApiModelProperty("审核人对象") + @TableField(exist = false) + private SysUser assessor; + + +} diff --git a/assess-system/src/main/java/com/gkhy/assess/system/domain/AssConclusion.java b/assess-system/src/main/java/com/gkhy/assess/system/domain/AssConclusion.java new file mode 100644 index 0000000..95ac9a2 --- /dev/null +++ b/assess-system/src/main/java/com/gkhy/assess/system/domain/AssConclusion.java @@ -0,0 +1,69 @@ +package com.gkhy.assess.system.domain; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; + +import java.util.List; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.gkhy.assess.common.domain.BaseEntity; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; + +import static com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL; + +/** + * <p> + * 项目结论表 + * </p> + * + * @author kzy + * @since 2023-12-12 10:46:54 + */ +@Getter +@Setter +@TableName("ass_conclusion") +@ApiModel(value = "AssConclusion对象", description = "项目结论表") +@JsonInclude(NON_NULL) +public class AssConclusion extends BaseEntity { + + private static final long serialVersionUID = 1L; + + @TableId(value = "id", type = IdType.AUTO) + private Long id; + + @NotBlank(message = "评价结论不能为空") + @ApiModelProperty(value = "评价结论",required = true) + @TableField("conclusion") + private String conclusion; + + @NotNull(message = "是否有评价报告修改说明不能为空") + @ApiModelProperty(value = "是否有评价报告修改说明(0否 1是)",required = true) + @TableField("is_revise_manual") + private Boolean isReviseManual; + + @NotNull(message = "项目id不能为空") + @ApiModelProperty(value = "项目id",required = true) + @TableField("project_id") + private Long projectId; + + @ApiModelProperty("乐观锁") + @TableField("version") + private Integer version; + + @ApiModelProperty("删除标志(0正常,1删除,默认0)") + @TableField("del_flag") + private Integer delFlag; + + @ApiModelProperty("评价结论附件") + @TableField(exist = false) + List<AssAccessoryFile> accessoryFiles; + +} diff --git a/assess-system/src/main/java/com/gkhy/assess/system/domain/AssContract.java b/assess-system/src/main/java/com/gkhy/assess/system/domain/AssContract.java new file mode 100644 index 0000000..ec298b7 --- /dev/null +++ b/assess-system/src/main/java/com/gkhy/assess/system/domain/AssContract.java @@ -0,0 +1,80 @@ +package com.gkhy.assess.system.domain; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.math.BigDecimal; +import java.time.LocalDateTime; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.gkhy.assess.common.domain.BaseEntity; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; + +import static com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL; + +/** + * <p> + * 合同管理表 + * </p> + * + * @author kzy + * @since 2023-12-12 10:46:54 + */ +@Getter +@Setter +@TableName("ass_contract") +@ApiModel(value = "AssContract对象", description = "合同管理表") +@JsonInclude(NON_NULL) +public class AssContract extends BaseEntity { + + private static final long serialVersionUID = 1L; + + @TableId(value = "id", type = IdType.AUTO) + private Long id; + + @NotBlank(message = "合同价格不能为空") + @ApiModelProperty(value = "合同价格/万",required = true) + @TableField("contract_money") + private String contractMoney; + + @ApiModelProperty("实际合同价格/万") + @TableField("actual_contract_money") + private String actualContractMoney; + + @NotNull(message = "合同签订时间不能为空") + @ApiModelProperty(value = "合同签订时间(yyyy-MM-dd 00:00:00)",required = true) + @TableField("contract_sign_date") + private LocalDateTime contractSignDate; + + @NotNull(message = "项目id不能为空") + @ApiModelProperty("项目id") + @TableField("project_id") + private Long projectId; + + @ApiModelProperty("合同额外说明(100字以内)") + @TableField("contract_introduction") + private String contractIntroduction; + + @ApiModelProperty("实际合同额外说明(100字以内)") + @TableField("actual_contract_introduction") + private String actualContractIntroduction; + + @ApiModelProperty("删除标志(0正常,1删除,默认0)") + @TableField("del_flag") + private Integer delFlag; + + @ApiModelProperty("乐观锁") + @TableField("version") + private Integer version; + + + +} diff --git a/assess-system/src/main/java/com/gkhy/assess/system/domain/AssDevice.java b/assess-system/src/main/java/com/gkhy/assess/system/domain/AssDevice.java new file mode 100644 index 0000000..9075f00 --- /dev/null +++ b/assess-system/src/main/java/com/gkhy/assess/system/domain/AssDevice.java @@ -0,0 +1,73 @@ +package com.gkhy.assess.system.domain; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.time.LocalDateTime; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.gkhy.assess.common.domain.BaseEntity; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; +import lombok.experimental.Accessors; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; + +import static com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL; + +/** + * <p> + * 设备表 + * </p> + * + * @author kzy + * @since 2023-12-12 10:46:54 + */ +@Getter +@Setter +@TableName("ass_device") +@ApiModel(value = "AssDevice对象", description = "设备表") +@Accessors(chain = true) +@JsonInclude(NON_NULL) +public class AssDevice extends BaseEntity { + + private static final long serialVersionUID = 1L; + + @TableId(value = "id", type = IdType.AUTO) + private Long id; + + @NotBlank(message = "设备名称不能为空") + @ApiModelProperty(value = "设备名称",required = true) + @TableField("device_name") + private String deviceName; + + @NotNull(message = "使用开始时间不能为空") + @ApiModelProperty(value = "使用开始时间",required = true) + @TableField("start_date") + private LocalDateTime startDate; + + @NotNull(message = "使用结束时间不能为空") + @ApiModelProperty(value = "使用结束时间",required = true) + @TableField("end_date") + private LocalDateTime endDate; + + @NotNull(message = "项目id不能为空") + @ApiModelProperty(value = "项目id",required = true) + @TableField("project_id") + private Long projectId; + + + @ApiModelProperty("删除标志(0正常,1删除,默认0)") + @TableField("del_flag") + private Integer delFlag; + + @ApiModelProperty("乐观锁") + @TableField("version") + private Integer version; + +} diff --git a/assess-system/src/main/java/com/gkhy/assess/system/domain/AssEstimatePlan.java b/assess-system/src/main/java/com/gkhy/assess/system/domain/AssEstimatePlan.java new file mode 100644 index 0000000..0ee466b --- /dev/null +++ b/assess-system/src/main/java/com/gkhy/assess/system/domain/AssEstimatePlan.java @@ -0,0 +1,92 @@ +package com.gkhy.assess.system.domain; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; + +import java.time.LocalDateTime; +import java.util.List; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.gkhy.assess.common.domain.BaseEntity; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import javax.validation.Valid; +import javax.validation.constraints.NotNull; + +import static com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL; + +/** + * <p> + * 评价项目计划表 + * </p> + * + * @author kzy + * @since 2023-12-12 10:46:54 + */ +@Getter +@Setter +@TableName("ass_estimate_plan") +@ApiModel(value = "AssEstimatePlan对象", description = "评价项目计划表") +@JsonInclude(NON_NULL) +public class AssEstimatePlan extends BaseEntity { + + private static final long serialVersionUID = 1L; + + @TableId(value = "id", type = IdType.AUTO) + private Long id; + + @NotNull(message = "评价机构负责人id不能为空") + @ApiModelProperty(value = "评价机构负责人id",required = true) + @TableField("auser_id") + private Long auserId; + + @NotNull(message = "评价开始时间不能为空") + @ApiModelProperty(value = "评价开始时间",required = true) + @TableField("start_date") + private LocalDateTime startDate; + + @NotNull(message = "评价结束时间不能为空") + @ApiModelProperty(value = "评价结束时间",required = true) + @TableField("end_date") + private LocalDateTime endDate; + + @NotNull(message = "项目id不能为空") + @ApiModelProperty(value = "项目id",required = true) + @TableField("project_id") + private Long projectId; + + @ApiModelProperty("删除标志(0正常,1删除,默认0)") + @TableField("del_flag") + private Integer delFlag; + + @ApiModelProperty("乐观锁") + @TableField("version") + private Integer version; + + @Valid + @NotNull(message = "评价日程安排列表不能为空") + @ApiModelProperty(value = "评价日程安排列表",required = true) + @TableField(exist = false) + private List<AssEstimateSchedule> estimateSchedules; + + + @ApiModelProperty(value = "项目组成员列表") + @TableField(exist = false) + private List<AssPlanPerson> planPersons; + + + @ApiModelProperty("所需仪器列表") + @TableField(exist = false) + private List<AssDevice> devices; + + @ApiModelProperty("机构负责人对象") + @TableField(exist = false) + private SysUser auser; + + +} diff --git a/assess-system/src/main/java/com/gkhy/assess/system/domain/AssEstimateSchedule.java b/assess-system/src/main/java/com/gkhy/assess/system/domain/AssEstimateSchedule.java new file mode 100644 index 0000000..b7c506b --- /dev/null +++ b/assess-system/src/main/java/com/gkhy/assess/system/domain/AssEstimateSchedule.java @@ -0,0 +1,80 @@ +package com.gkhy.assess.system.domain; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.time.LocalDateTime; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.gkhy.assess.common.domain.BaseEntity; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; + +import static com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL; + +/** + * <p> + * 评价日程安排表 + * </p> + * + * @author kzy + * @since 2023-12-12 10:46:54 + */ +@Getter +@Setter +@TableName("ass_estimate_schedule") +@ApiModel(value = "AssEstimateSchedule对象", description = "评价日程安排表") +@JsonInclude(NON_NULL) +public class AssEstimateSchedule extends BaseEntity { + + private static final long serialVersionUID = 1L; + + @TableId(value = "id", type = IdType.AUTO) + private Long id; + + @NotBlank(message = "日程名称不能为空") + @ApiModelProperty(value = "日程名称",required = true) + @TableField("name") + private String name; + + @NotNull(message = "日程类型不能为空") + @ApiModelProperty("日程类型:1勘验准备,2现场勘验,3材料分析整理,4评价报告编写,5整改情况现场确认,6整理评价报告,7报告审核,8报告修改") + @TableField("schedule_type") + private Integer scheduleType; + + @NotNull(message = "开始时间不能为空") + @ApiModelProperty("开始时间") + @TableField("start_date") + private LocalDateTime startDate; + + @NotNull(message = "结束时间不能为空") + @ApiModelProperty("结束时间") + @TableField("end_date") + private LocalDateTime endDate; + + @NotNull(message = "项目id不能为空") + @ApiModelProperty("项目id") + @TableField("project_id") + private Long projectId; + + @ApiModelProperty("删除标志(0正常,1删除,默认0)") + @TableField("del_flag") + private Integer delFlag; + + @ApiModelProperty("乐观锁") + @TableField("version") + private Integer version; + + @NotNull(message = "序号不能为空") + @ApiModelProperty("序号") + @TableField("sort") + private Integer sort; + +} diff --git a/assess-system/src/main/java/com/gkhy/assess/system/domain/AssEstimateTask.java b/assess-system/src/main/java/com/gkhy/assess/system/domain/AssEstimateTask.java new file mode 100644 index 0000000..fa84b3c --- /dev/null +++ b/assess-system/src/main/java/com/gkhy/assess/system/domain/AssEstimateTask.java @@ -0,0 +1,89 @@ +package com.gkhy.assess.system.domain; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.time.LocalDateTime; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.gkhy.assess.common.domain.BaseEntity; +import com.gkhy.assess.system.domain.SysUser; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import javax.validation.constraints.Pattern; + +import static com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL; + +/** + * <p> + * 评价认为通知表 + * </p> + * + * @author kzy + * @since 2023-12-12 10:46:54 + */ +@Getter +@Setter +@TableName("ass_estimate_task") +@ApiModel(value = "AssEstimateTask对象", description = "评价认为通知表") +@JsonInclude(NON_NULL) +public class AssEstimateTask extends BaseEntity { + + private static final long serialVersionUID = 1L; + + @TableId(value = "id", type = IdType.AUTO) + private Long id; + + @NotNull(message ="项目负责人id不能为空" ) + @ApiModelProperty(value = "项目负责人id",required = true) + @TableField("leader_id") + private Long leaderId; + + @NotBlank(message ="联系人不能为空" ) + @ApiModelProperty(value = "联系人(10个字符)",required = true) + @TableField("link_man") + private String linkMan; + + @NotBlank(message ="联系电话不能为空" ) + @Pattern(regexp = "^[1][3,4,5,6,7,8,9][0-9]{9}$",message = "手机号码有误!") + @ApiModelProperty(value = "联系电话(11个字符)",required = true) + @TableField("link_phone") + private String linkPhone; + + @ApiModelProperty("传真") + @TableField("fax") + private String fax; + + @NotNull(message ="任务下达时间不能为空" ) + @ApiModelProperty(value = "任务下达时间(yyyy-MM-dd 00:00:00)",required = true) + @TableField("transmit_date") + private LocalDateTime transmitDate; + + @ApiModelProperty("任务下达人") + @TableField("transmit_person") + private String transmitPerson; + + @NotNull(message ="项目id不能为空" ) + @ApiModelProperty(value = "项目id",required = true) + @TableField("project_id") + private Long projectId; + + @ApiModelProperty("删除标志(0正常,1删除,默认0)") + @TableField("del_flag") + private Integer delFlag; + + @ApiModelProperty("乐观锁") + @TableField("version") + private Integer version; + + @ApiModelProperty("负责人") + @TableField(exist = false) + private SysUser leader; +} diff --git a/assess-system/src/main/java/com/gkhy/assess/system/domain/AssFaceRecognition.java b/assess-system/src/main/java/com/gkhy/assess/system/domain/AssFaceRecognition.java new file mode 100644 index 0000000..60c7de2 --- /dev/null +++ b/assess-system/src/main/java/com/gkhy/assess/system/domain/AssFaceRecognition.java @@ -0,0 +1,83 @@ +package com.gkhy.assess.system.domain; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.gkhy.assess.common.domain.BaseEntity; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; +import org.springframework.web.multipart.MultipartFile; + +import javax.validation.constraints.NotNull; + +import java.util.List; + +import static com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL; + +/** + * <p> + * 签字确认表 + * </p> + * + * @author kzy + * @since 2023-12-12 10:46:54 + */ +@Getter +@Setter +@TableName("ass_face_recognition") +@ApiModel(value = "AssFaceRecognition对象", description = "签字确认表") +@JsonInclude(NON_NULL) +public class AssFaceRecognition extends BaseEntity { + + private static final long serialVersionUID = 1L; + + @TableId(value = "id", type = IdType.AUTO) + private Long id; + + @NotNull(message = "人员id不能为空") + @ApiModelProperty(value = "人员id",required = true) + @TableField("person_id") + private Long personId; + + @NotNull(message = "项目id不能为空") + @ApiModelProperty(value = "项目id",required = true) + @TableField("project_id") + private Long projectId; + + @ApiModelProperty(value = "签字图片路径") + @TableField("sign_path") + private String signPath; + + @ApiModelProperty(value = "承诺书图片id",required = true) + @TableField("insurance_pic_id") + private Long insurancePicId; + + + @ApiModelProperty("乐观锁") + @TableField("version") + private Integer version; + + @ApiModelProperty("删除标志(0正常,1删除,默认0)") + @TableField("del_flag") + private Integer delFlag; + + @NotNull(message = "签字图片对象不能为空") + @ApiModelProperty(value = "签字图片对象",required = true) + @TableField(exist = false) + private MultipartFile file; + + + @ApiModelProperty("人脸识别记录对象") + @TableField(exist = false) + private AssFaceRecord faceRecord; + + @ApiModelProperty("人员对象") + @TableField(exist = false) + private SysUser person; + +} diff --git a/assess-system/src/main/java/com/gkhy/assess/system/domain/AssFaceRecord.java b/assess-system/src/main/java/com/gkhy/assess/system/domain/AssFaceRecord.java new file mode 100644 index 0000000..9c7a4f1 --- /dev/null +++ b/assess-system/src/main/java/com/gkhy/assess/system/domain/AssFaceRecord.java @@ -0,0 +1,95 @@ +package com.gkhy.assess.system.domain; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.gkhy.assess.common.domain.BaseEntity; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; +import lombok.experimental.Accessors; +import org.springframework.web.multipart.MultipartFile; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; + +import static com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL; + +/** + * <p> + * 现场勘验人员人脸识别记录表 + * </p> + * + * @author kzy + * @since 2023-12-12 10:46:54 + */ +@Getter +@Setter +@TableName("ass_face_record") +@ApiModel(value = "AssFaceRecord对象", description = "现场勘验人员人脸识别记录表") +@Accessors(chain = true) +@JsonInclude(NON_NULL) +public class AssFaceRecord extends BaseEntity { + + private static final long serialVersionUID = 1L; + + @TableId(value = "id", type = IdType.AUTO) + private Long id; + + @NotNull(message = "用户id不能为空") + @ApiModelProperty(value = "用户id",required = true) + @TableField("person_id") + private Long personId; + + @ApiModelProperty(value = "人脸识别图片存放路径") + @TableField("face_path") + private String facePath; + + @NotNull(message = "项目id不能为空") + @ApiModelProperty(value = "项目id",required = true) + @TableField("project_id") + private Long projectId; + + @NotBlank(message = "定位坐标不能为空") + @ApiModelProperty(value = "定位坐标(纬度/经度,逗号隔开)",required = true) + @TableField("location") + private String location; + + @NotNull(message = "是否是现场勘验人脸识别不能为空") + @ApiModelProperty(value = "是否是现场勘验人脸识别(0否 1是,默认0)",required = true) + @TableField("scene") + private Integer scene; + + @ApiModelProperty("乐观锁") + @TableField("version") + private Integer version; + + @ApiModelProperty("删除标志(0正常,1删除,默认0)") + @TableField("del_flag") + private Integer delFlag; + + @NotNull(message = "图片对象不能为空") + @ApiModelProperty(value = "图片对象",required = true) + @TableField(exist = false) + private MultipartFile file; + + @ApiModelProperty("项目组成员对象") + @TableField(exist = false) + private AssPlanPerson planPerson; + + @ApiModelProperty("用户对象") + @TableField(exist = false) + private SysUser person; + + @ApiModelProperty(value = "现场勘验填报坐标") + @TableField(exist = false) + private String investLocation; + + + + +} diff --git a/assess-system/src/main/java/com/gkhy/assess/system/domain/AssFilingApply.java b/assess-system/src/main/java/com/gkhy/assess/system/domain/AssFilingApply.java new file mode 100644 index 0000000..8876572 --- /dev/null +++ b/assess-system/src/main/java/com/gkhy/assess/system/domain/AssFilingApply.java @@ -0,0 +1,62 @@ +package com.gkhy.assess.system.domain; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.gkhy.assess.common.domain.BaseEntity; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; +import lombok.experimental.Accessors; + +import javax.validation.constraints.NotNull; + +import static com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL; + +/** + * <p> + * 报备申请表 + * </p> + * + * @author kzy + * @since 2023-12-12 10:46:54 + */ +@Getter +@Setter +@TableName("ass_filing_apply") +@ApiModel(value = "AssFilingApply对象", description = "报备申请表") +@Accessors(chain = true) +@JsonInclude(NON_NULL) +public class AssFilingApply extends BaseEntity { + + private static final long serialVersionUID = 1L; + + @TableId(value = "id", type = IdType.AUTO) + private Long id; + @NotNull(message = "项目id不能为空") + @ApiModelProperty(value = "项目id",required = true) + @TableField("project_id") + private Long projectId; + + @NotNull(message = "报备文件id不能为空") + @ApiModelProperty(value = "报备文件id",required = true) + @TableField("file_id") + private Long fileId; + + @ApiModelProperty("乐观锁") + @TableField("version") + private Integer version; + + @ApiModelProperty("删除标志(0正常,1删除,默认0)") + @TableField("del_flag") + private Integer delFlag; + + @ApiModelProperty("报备申请附件") + @TableField(exist = false) + private AssAccessoryFile accessoryFile; + +} diff --git a/assess-system/src/main/java/com/gkhy/assess/system/domain/AssInvestigation.java b/assess-system/src/main/java/com/gkhy/assess/system/domain/AssInvestigation.java new file mode 100644 index 0000000..2126a98 --- /dev/null +++ b/assess-system/src/main/java/com/gkhy/assess/system/domain/AssInvestigation.java @@ -0,0 +1,108 @@ +package com.gkhy.assess.system.domain; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.List; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.gkhy.assess.common.domain.BaseEntity; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import javax.validation.constraints.NotNull; + +import static com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL; + +/** + * <p> + * 现场勘验记录表 + * </p> + * + * @author kzy + * @since 2023-12-12 10:46:54 + */ +@Getter +@Setter +@TableName("ass_investigation") +@ApiModel(value = "AssInvestigation对象", description = "现场勘验记录表") +@JsonInclude(NON_NULL) +public class AssInvestigation extends BaseEntity { + + private static final long serialVersionUID = 1L; + + @TableId(value = "id", type = IdType.AUTO) + private Long id; + + @NotNull(message = "现场勘验时间不能为空") + @ApiModelProperty(value = "现场勘验时间,时间格式yyyy-MM-dd 00:00:00",required = true) + @TableField("investigation_date") + private LocalDateTime investigationDate; + + @ApiModelProperty("是否第一次(0是,1否)") + @TableField("is_first") + private Boolean isFirst; + + + @ApiModelProperty("编制现场安全检查表(1是,0否)") + @TableField("is_safety_check") + private Integer isSafetyCheck; + + @ApiModelProperty("现场勘验记录(200字)") + @TableField("record_data") + private String recordData; + + @NotNull(message = "现场勘验坐标不能为空") + @ApiModelProperty(value = "现场勘验坐标(纬度/经度,逗号隔开)",required = true) + @TableField("location") + private String location; + + @NotNull(message = "项目id不能为空") + @ApiModelProperty("项目id") + @TableField("project_id") + private Long projectId; + + @ApiModelProperty("删除标志(0正常,1删除,默认0)") + @TableField("del_flag") + private Integer delFlag; + + @ApiModelProperty("乐观锁") + @TableField("version") + private Integer version; + + + @ApiModelProperty("审批状态(0暂存,1审核中,2审批通过,3审批驳回,4已作废 默认1)") + @TableField(exist = false) + private Integer state; + + + @ApiModelProperty("现场勘验记录附件") + @TableField(exist = false) + private List<AssAccessoryFile> assAccessoryFiles; + + + @ApiModelProperty("企业陪同合照列表") + @TableField(exist = false) + private List<AssAccessoryFile> ccompanyImages; + + @ApiModelProperty("主要装置前的合影照片列表") + @TableField(exist = false) + private List<AssAccessoryFile> deviceImages; + + @ApiModelProperty("现场勘验照片") + @TableField(exist = false) + private List<AssAccessoryFile> investingationImages; + + @ApiModelProperty("现场勘验视频") + @TableField(exist = false) + private List<AssAccessoryFile> investingationVideos; + + + + +} diff --git a/assess-system/src/main/java/com/gkhy/assess/system/domain/AssPlanPerson.java b/assess-system/src/main/java/com/gkhy/assess/system/domain/AssPlanPerson.java new file mode 100644 index 0000000..7e2b11a --- /dev/null +++ b/assess-system/src/main/java/com/gkhy/assess/system/domain/AssPlanPerson.java @@ -0,0 +1,104 @@ +package com.gkhy.assess.system.domain; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.time.LocalDateTime; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.gkhy.assess.common.domain.BaseEntity; +import com.gkhy.assess.system.domain.SysUser; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; +import lombok.experimental.Accessors; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; + +import static com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL; + +/** + * <p> + * 评价项目组成员表 + * </p> + * + * @author kzy + * @since 2023-12-12 10:46:54 + */ +@Getter +@Setter +@TableName("ass_plan_person") +@ApiModel(value = "AssPlanPerson对象", description = "评价项目组成员表") +@Accessors(chain = true) +@JsonInclude(NON_NULL) +public class AssPlanPerson extends BaseEntity { + + private static final long serialVersionUID = 1L; + + @TableId(value = "id", type = IdType.AUTO) + private Long id; + + @NotNull(message = "成员id不能为空") + @ApiModelProperty(value = "成员id",required = true) + @TableField("person_id") + private Long personId; + + @NotNull(message = "工作类型不能为空") + @ApiModelProperty(value = "工作类型:1普通人员,2组长",required = true) + @TableField("job_type") + private Integer jobType; + + + @ApiModelProperty(value = "项目担任角色:1项目负责人,2项目组成员,3过程控制负责人,4机构评价负责人,5技术负责人,默认2") + @TableField("play_role") + private Integer playRole; + + @NotNull(message = "承诺后期前往现场勘验不能为空") + @ApiModelProperty(value = "承诺后期前往现场勘验(0否,1是)",required = true) + @TableField("later_promise") + private Boolean laterPromise; + + @NotBlank(message = "承担工作不能为空") + @ApiModelProperty(value = "承担工作,多个英文逗号分隔",required = true) + @TableField("work") + private String work; + + @ApiModelProperty("未到现场勘验原因(最多30字)") + @TableField("reason") + private String reason; + + @ApiModelProperty("排序") + @TableField("sort") + private Integer sort; + + @NotNull(message = "项目id不能为空") + @ApiModelProperty(value = "项目id",required = true) + @TableField("project_id") + private Long projectId; + + + @ApiModelProperty(value = "是否已告知 0否 1是 默认0",required = true) + @TableField("informed") + private Integer informed; + +// @ApiModelProperty(value = "从业告知id",required = true) +// @TableField("work_notification_id") +// private Long workNotificationId; + + @ApiModelProperty("删除标志(0正常,1删除,默认0)") + @TableField("del_flag") + private Integer delFlag; + + @ApiModelProperty("乐观锁") + @TableField("version") + private Integer version; + + @ApiModelProperty("成员对象") + @TableField(exist = false) + private SysUser person; + +} diff --git a/assess-system/src/main/java/com/gkhy/assess/system/domain/AssProcessAudit.java b/assess-system/src/main/java/com/gkhy/assess/system/domain/AssProcessAudit.java new file mode 100644 index 0000000..967145f --- /dev/null +++ b/assess-system/src/main/java/com/gkhy/assess/system/domain/AssProcessAudit.java @@ -0,0 +1,184 @@ +package com.gkhy.assess.system.domain; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.gkhy.assess.common.domain.BaseEntity; +import com.gkhy.assess.system.domain.SysUser; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import javax.validation.constraints.NotNull; +import java.time.LocalDateTime; +import java.util.List; + +import static com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL; + +/** + * <p> + * 过程控制负责人审核表 + * </p> + * + * @author kzy + * @since 2023-12-12 10:46:54 + */ +@Getter +@Setter +@TableName("ass_process_audit") +@ApiModel(value = "AssProcessAudit对象", description = "过程控制负责人审核表") +@JsonInclude(NON_NULL) +public class AssProcessAudit extends BaseEntity { + + private static final long serialVersionUID = 1L; + + @TableId(value = "id", type = IdType.AUTO) + private Long id; + + @NotNull(message = "审核日期不能为空") + @ApiModelProperty(value = "审核日期",required = true) + @TableField("audit_date") + private LocalDateTime auditDate; + + @NotNull(message = "过程控制负责不能为空") + @ApiModelProperty(value = "过程控制负责人id",required = true) + @TableField("process_leader_id") + private Long processLeaderId; + + @ApiModelProperty("存在问题及建议(500字符)") + @TableField("suggestions") + private String suggestions; + + @ApiModelProperty("编制安全评价项目计划书(0否 1是)") + @TableField("is_estimate_plan") + private Boolean isEstimatePlan; + + @ApiModelProperty("评价任务通知书(0否 1是)") + @TableField("is_estimate_task") + private Boolean isEstimateTask; + + @ApiModelProperty("签订合同(0否 1是)") + @TableField("is_sign_contract") + private Boolean isSignContract; + + @ApiModelProperty("评价报告外审意见0否 1是)") + @TableField("is_exterior_audit") + private Boolean isExteriorAudit; + + @ApiModelProperty("报告归档材料完整性(0否 1是)") + @TableField("is_full_materials") + private Boolean isFullMaterials; + + @ApiModelProperty("评价报告内部审核(0否 1是)") + @TableField("is_interior_audit") + private Boolean isInteriorAudit; + + @ApiModelProperty("现场勘验记录及影像资料(0否 1是)") + @TableField("is_investigation_site") + private Boolean isInvestigationSite; + + @ApiModelProperty("评价项目网上信息公开(0否 1是)") + @TableField("is_open_information") + private Boolean isOpenInformation; + + @ApiModelProperty("被评价单位提供材料清单(0否 1是)") + @TableField("is_provide_materials") + private Boolean isProvideMaterials; + + @ApiModelProperty("风险分析(0否 1是)") + @TableField("is_risk_analyse") + private Boolean isRiskAnalyse; + + @ApiModelProperty("技术负责人审核(0否 1是)") + @TableField("is_technolgy_audit") + private Boolean isTechnolgyAudit; + + @ApiModelProperty("二维码的使用(0否 1是)") + @TableField("is_use_qrcode") + private Boolean isUseQrcode; + + @ApiModelProperty("从业告知(0否 1是)") + @TableField("is_work_notification") + private Boolean isWorkNotification; + + @ApiModelProperty("编制安全评价项目计划书-不符合描述(20字符)") + @TableField("estimate_plan_des") + private String estimatePlanDes; + + @ApiModelProperty("评价任务通知书-不符合描述(20字符)") + @TableField("estimate_task_des") + private String estimateTaskDes; + + @ApiModelProperty("签订合同-不符合描述(20字符)") + @TableField("sign_contract_des") + private String signContractDes; + + @ApiModelProperty("评价报告外审意见-不符合描述(20字符)") + @TableField("exterior_audit_des") + private String exteriorAuditDes; + + @ApiModelProperty("报告归档材料完整性-不符合描述(20字符)") + @TableField("full_materials_des") + private String fullMaterialsDes; + + @ApiModelProperty("评价报告内部审核-不符合描述(20字符)") + @TableField("interior_audit_des") + private String interiorAuditDes; + + @ApiModelProperty("现场勘验记录及影像资料-不符合描述(20字符)") + @TableField("investigation_site_des") + private String investigationSiteDes; + + @ApiModelProperty("评价项目网上信息公开-不符合描述(20字符)") + @TableField("open_information_des") + private String openInformationDes; + + @ApiModelProperty("被评价单位提供材料清单-不符合描述(20字符)") + @TableField("provide_materials_des") + private String provideMaterialsDes; + + @ApiModelProperty("风险分析-不符合描述(20字符)") + @TableField("risk_analyse_des") + private String riskAnalyseDes; + + @ApiModelProperty("技术负责人审核-不符合描述(20字符)") + @TableField("technolgy_audit_des") + private String technolgyAuditDes; + + @ApiModelProperty("二维码的使用-不符合描述(20字符)") + @TableField("use_qrcode_des") + private String useQrcodeDes; + + @ApiModelProperty("从业告知-不符合描述(20字符)") + @TableField("work_notification_des") + private String workNotificationDes; + + @ApiModelProperty("审核结论是否满足过程控制要求(0否 1是)") + @TableField("is_full_process") + private Boolean isFullProcess; + + @NotNull(message = "项目id不能为空") + @ApiModelProperty(value = "项目id",required = true) + @TableField("project_id") + private Long projectId; + + @ApiModelProperty("乐观锁") + @TableField("version") + private Integer version; + + @ApiModelProperty("删除标志(0正常,1删除,默认0)") + @TableField("del_flag") + private Integer delFlag; + + @ApiModelProperty("过程负责人对象)") + @TableField(exist = false) + private SysUser processLeader; + + @ApiModelProperty("过程控制附件") + @TableField(exist = false) + List<AssAccessoryFile> accessoryFiles; + +} diff --git a/assess-system/src/main/java/com/gkhy/assess/system/domain/AssProject.java b/assess-system/src/main/java/com/gkhy/assess/system/domain/AssProject.java new file mode 100644 index 0000000..9a2359c --- /dev/null +++ b/assess-system/src/main/java/com/gkhy/assess/system/domain/AssProject.java @@ -0,0 +1,192 @@ +package com.gkhy.assess.system.domain; + +import com.baomidou.mybatisplus.annotation.*; + +import java.time.LocalDateTime; +import java.util.List; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.gkhy.assess.common.domain.BaseEntity; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; +import lombok.experimental.Accessors; +import org.hibernate.validator.constraints.Length; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; + +import static com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL; + +/** + * <p> + * 项目表 + * </p> + * + * @author kzy + * @since 2023-12-11 14:16:18 + */ +@Getter +@Setter +@TableName("ass_project") +@Accessors(chain = true) +@ApiModel(value = "AssProject对象", description = "项目表") +@JsonInclude(NON_NULL) +public class AssProject extends BaseEntity { + + private static final long serialVersionUID = 1L; + + @TableId(value = "id", type = IdType.AUTO) + private Long id; + + @NotBlank(message = "项目名称不能为空") + @ApiModelProperty(value = "项目名称",required = true) + @TableField("name") + private String name; + + + @ApiModelProperty(value = "项目编号",required = true) + @TableField("code") + private String code; + + + @ApiModelProperty(value = "机构id") + @TableField("agency_id") + private Long agencyId; + + @NotBlank(message = "委托方不能为空") + @ApiModelProperty(value = "委托方",required = true) + @TableField("client") + private String client; + + @NotBlank(message = "省份不能为空") + @ApiModelProperty(value = "省份",required = true) + @TableField("province") + private String province; + + @NotBlank(message = "城市不能为空") + @ApiModelProperty(value = "城市",required = true) + @TableField("city") + private String city; + + @ApiModelProperty("区县") + @TableField("district") + private String district; + + @NotBlank(message = "业务范围不能为空") + @ApiModelProperty(value = "业务范围,字典id",required = true) + @TableField("business") + private String business; + + @NotBlank(message = "项目投资额不能为空") + @ApiModelProperty(value = "项目投资额/万",required = true) + @TableField("invest") + private String invest; + + @NotBlank(message = "项目地址不能为空") + @Length(min=0,max=100,message = "项目地址不能超过{max}字符") + @ApiModelProperty(value = "项目地址(最大长度100字符)",required = true) + @TableField("address") + private String address; + + @ApiModelProperty("实际纬度/经度") + @TableField("actual_location") + private String actualLocation; + + + @ApiModelProperty("纬度/经度") + @TableField("location") + private String location; + + @NotNull(message = "评估类型不能为空") + @ApiModelProperty(value = "评估类型,字典id",required = true) + @TableField("estimate_type") + private Long estimateType; + +// @NotBlank(message = "负责人不能为空") +// @ApiModelProperty(value = "负责人id",required = true) +// @TableField("leader_id") +// private Long leaderId; + + + @ApiModelProperty(value = "项目完成时间") + @TableField("filing_date") + private LocalDateTime filingDate; + + + @NotBlank(message = "社会统一信用代码不能为空") + @ApiModelProperty(value = "委托单位社会统一信用代码",required = true) + @TableField("credit_code") + private String creditCode; + + @ApiModelProperty("项目状态(0创建,1风险评估,2合同管理,默认0)") + @TableField("report_progress") + private Integer reportProgress; + + @ApiModelProperty("项目阶段(1风险分析评价计划,2现场勘验,3项目审核,4出具报告,5项目归档)") + @TableField("phase") + private Integer phase; + + @ApiModelProperty("审批状态(0暂存,1审核中,2审批通过,3审批驳回,4已作废 默认1)") + @TableField("state") + private Integer state; + + @NotBlank(message = "项目基本概况不能为空") + @Length(min =1,max = 500,message = "项目基本概况不能超过500字") + @ApiModelProperty(value = "项目基本概况(500字以内)",required = true) + @TableField("introduction") + private String introduction; + + @ApiModelProperty("是否参与评审(0否,1是,默认0)") + @TableField("is_review") + private Boolean isReview; + + + + @ApiModelProperty("删除标志(0正常,1删除,默认0)") + @TableField("del_flag") + private Integer delFlag; + + @Version + @ApiModelProperty("乐观锁") + @TableField("version") + private Integer version; + + + @ApiModelProperty("负责人对象") + @TableField(exist = false) + private SysUser leader; + + @ApiModelProperty("负责人id") + @TableField(exist = false) + private Long leaderId; + + @ApiModelProperty("业务范围") + @TableField(exist = false) + private String businessName; + + @ApiModelProperty("评估类型名称") + @TableField(exist = false) + private String estimateTypeName; + + @ApiModelProperty("项目归档材料列表") + @TableField(exist = false) + private List<AssProjectMaterial> projectMaterials; + + @ApiModelProperty("项目成员id") + @TableField(exist = false) + private Long planPersonId; + + @ApiModelProperty("项目成员对象") + @TableField(exist = false) + private AssPlanPerson planPerson; + + @ApiModelProperty("项目合同") + @TableField(exist = false) + private AssContract contract; + + @ApiModelProperty("要件数量") + @TableField(exist = false) + private Integer materialCnt; +} diff --git a/assess-system/src/main/java/com/gkhy/assess/system/domain/AssProjectMaterial.java b/assess-system/src/main/java/com/gkhy/assess/system/domain/AssProjectMaterial.java new file mode 100644 index 0000000..b1b95b6 --- /dev/null +++ b/assess-system/src/main/java/com/gkhy/assess/system/domain/AssProjectMaterial.java @@ -0,0 +1,72 @@ +package com.gkhy.assess.system.domain; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.gkhy.assess.common.domain.BaseEntity; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; + +import static com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL; + +/** + * <p> + * 项目归档文件表 + * </p> + * + * @author kzy + * @since 2023-12-12 10:46:54 + */ +@Getter +@Setter +@TableName("ass_project_material") +@ApiModel(value = "AssProjectMaterial对象", description = "项目归档文件表") +@JsonInclude(NON_NULL) +public class AssProjectMaterial extends BaseEntity { + + private static final long serialVersionUID = 1L; + + @TableId(value = "id", type = IdType.AUTO) + private Long id; + + @NotBlank(message = "名称不能为空") + @ApiModelProperty(value = "名称",required = true) + @TableField("name") + private String name; + + + @ApiModelProperty("是否是文件,0否 1是 默认1") + @TableField("type") + private Integer type; + + @NotNull(message = "项目id为空") + @ApiModelProperty(value = "项目id",required = true) + @TableField("project_id") + private Long projectId; + + @ApiModelProperty("评估文件id") + @TableField("file_id") + private Long fileId; + + @ApiModelProperty("乐观锁") + @TableField("version") + private Integer version; + + @ApiModelProperty("删除标志(0正常,1删除,默认0)") + @TableField("del_flag") + private Integer delFlag; + + @ApiModelProperty("归档文件附件") + @TableField(exist = false) + private AssAccessoryFile accessoryFile; + + +} diff --git a/assess-system/src/main/java/com/gkhy/assess/system/domain/AssRecitification.java b/assess-system/src/main/java/com/gkhy/assess/system/domain/AssRecitification.java new file mode 100644 index 0000000..8282aee --- /dev/null +++ b/assess-system/src/main/java/com/gkhy/assess/system/domain/AssRecitification.java @@ -0,0 +1,82 @@ +package com.gkhy.assess.system.domain; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; + +import java.time.LocalDateTime; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.gkhy.assess.common.domain.BaseEntity; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; +import lombok.experimental.Accessors; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; + +import static com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL; + +/** + * <p> + * 项目整改情况说明表 + * </p> + * + * @author kzy + * @since 2023-12-12 10:46:54 + */ +@Getter +@Setter +@TableName("ass_recitification") +@ApiModel(value = "AssRecitification对象", description = "项目整改情况说明表") +@Accessors(chain = true) +@JsonInclude(NON_NULL) +public class AssRecitification extends BaseEntity { + + private static final long serialVersionUID = 1L; + + @TableId(value = "id", type = IdType.AUTO) + private Long id; + + @NotBlank(message = "整改人不能为空") + @ApiModelProperty(value = "整改人",required = true) + @TableField("rectify_person") + private String rectifyPerson; + + @NotNull(message = "整改时间不能为空") + @ApiModelProperty(value = "整改时间",required = true) + @TableField("rectify_time") + private LocalDateTime rectifyTime; + + @NotNull(message = "项目id不能为空") + @ApiModelProperty(value = "项目id",required = true) + @TableField("project_id") + private Long projectId; + + @NotNull(message = "整改文件不能为空") + @ApiModelProperty(value = "文件id",required = true) + @TableField("file_id") + private Long fileId; + + @NotBlank(message = "整改说明不能为空(30字)") + @ApiModelProperty(value = "整改说明",required = true) + @TableField("reason") + private String reason; + + @ApiModelProperty("乐观锁") + @TableField("version") + private Integer version; + + @ApiModelProperty("删除标志(0正常,1删除,默认0)") + @TableField("del_flag") + private Integer delFlag; + + @ApiModelProperty("整改附件") + @TableField(exist = false) + private AssAccessoryFile accessoryFile; + + +} diff --git a/assess-system/src/main/java/com/gkhy/assess/system/domain/AssRiskEstimate.java b/assess-system/src/main/java/com/gkhy/assess/system/domain/AssRiskEstimate.java new file mode 100644 index 0000000..706b967 --- /dev/null +++ b/assess-system/src/main/java/com/gkhy/assess/system/domain/AssRiskEstimate.java @@ -0,0 +1,144 @@ +package com.gkhy.assess.system.domain; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; + +import java.time.LocalDateTime; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.gkhy.assess.common.domain.BaseEntity; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; +import lombok.experimental.Accessors; +import org.hibernate.validator.constraints.Length; + +import javax.validation.Valid; +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; + +import static com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL; + +/** + * <p> + * 风险评估表 + * </p> + * + * @author kzy + * @since 2023-12-12 10:46:54 + */ +@Getter +@Setter +@Accessors(chain = true) +@TableName("ass_risk_estimate") +@ApiModel(value = "AssRiskEstimate对象", description = "风险评估表") +@JsonInclude(NON_NULL) +public class AssRiskEstimate extends BaseEntity { + + private static final long serialVersionUID = 1L; + + @TableId(value = "id", type = IdType.AUTO) + private Long id; + + @ApiModelProperty(value = "项目id") + @TableField("project_id") + private Long projectId; + + @NotBlank(message = "行业风险特性不能为空") + @Length(min =1,max = 500,message = "行业风险特性长度1~500字") + @ApiModelProperty(value = "行业风险特性(500字以内)",required = true) + @TableField("risk_character") + private String riskCharacter; + + @NotBlank(message = "周边环境不能为空") + @Length(min =1,max = 500,message = "周边环境长度1~500字") + @ApiModelProperty(value = "周边环境(500字以内)",required = true) + @TableField("surroundings") + private String surroundings; + + + @Length(min =0,max = 500,message = "主要生产装置长度不能超过500字") + @ApiModelProperty(value = "主要生产装置(500字以内)",required = true) + @TableField("equipment") + private String equipment; + + @Length(min =0,max = 500,message = "生产工艺概况长度不能超过500字") + @ApiModelProperty(value = "生产工艺概况(500字以内)",required = true) + @TableField("technology") + private String technology; + + @NotNull(message = "评价费用是否在本机构所接受的范围内不能为空") + @ApiModelProperty(value = "评价费用是否在本机构所接受的范围内(0否,1是)",required = true) + @TableField("is_accept_chargess") + private Boolean isAcceptChargess; + + @NotNull(message = "项目的可行性不能为空") + @ApiModelProperty(value = "项目的可行性(0否,1是)",required = true) + @TableField("is_feasibility") + private Boolean isFeasibility; + + @NotNull(message = "是否能在约定的时间内完成评价报告不能为空") + @ApiModelProperty(value = "是否能在约定的时间内完成评价报告(0否,1是)",required = true) + @TableField("is_finish_report") + private Boolean isFinishReport; + + @NotNull(message = "评价项目是否在本机构资质业务范围内不能为空") + @ApiModelProperty(value = "评价项目是否在本机构资质业务范围内(0否,1是)",required = true) + @TableField("is_in_business") + private Boolean isInBusiness; + + @NotNull(message = "是否需要聘请相关专业的技术专家不能为空") + @ApiModelProperty(value = "是否需要聘请相关专业的技术专家(0否,1是)",required = true) + @TableField("is_need_expert") + private Boolean isNeedExpert; + + @NotNull(message = "评价人员专业构成是否满足评价项目需要不能为空") + @ApiModelProperty(value = "评价人员专业构成是否满足评价项目需要(0否,1是)",required = true) + @TableField("is_satisfy_need") + private Boolean isSatisfyNeed; + + @NotNull(message = "评估时间不能为空") + @ApiModelProperty(value = "评估时间(格式yyyy-MM-dd 00:00:00)",required = true) + @TableField("estimate_date") + private LocalDateTime estimateDate; + + @NotBlank(message = "技术负责人意见不能为空") + @Length(min =1,max = 30,message = "技术负责人意见长度1~30字") + @ApiModelProperty(value = "技术负责人意见(30字以内)",required = true) + @TableField("tech_opinion") + private String techOpinion; + + @NotBlank(message = "风险评估人意见不能为空") + @Length(min =1,max = 30,message = "风险评估人意见长度1~30字") + @ApiModelProperty(value = "风险评估人意见(30字以内)",required = true) + @TableField("risk_opinion") + private String riskOpinion; + + @NotBlank(message = "机构评价负责人意见不能为空") + @Length(min =1,max = 30,message = "机构评价负责人意见长度1~30字") + @ApiModelProperty(value = "机构评价负责人意见(30字以内)",required = true) + @TableField("agency_opinon") + private String agencyOpinon; + + @ApiModelProperty("审批状态(0暂存,1审核中,2审批通过,3审批驳回,4已作废 默认1)") + @TableField("state") + private Integer state; + + @ApiModelProperty("删除标志(0正常,1删除,默认0)") + @TableField("del_flag") + private Integer delFlag; + + @ApiModelProperty("乐观锁") + @TableField("version") + private Integer version; + + @Valid + @NotNull(message = "项目不能为空") + @ApiModelProperty("项目") + @TableField(exist = false) + private AssProject project; + +} diff --git a/assess-system/src/main/java/com/gkhy/assess/system/domain/AssWorkNotification.java b/assess-system/src/main/java/com/gkhy/assess/system/domain/AssWorkNotification.java new file mode 100644 index 0000000..83f962d --- /dev/null +++ b/assess-system/src/main/java/com/gkhy/assess/system/domain/AssWorkNotification.java @@ -0,0 +1,78 @@ +package com.gkhy.assess.system.domain; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.time.LocalDateTime; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.gkhy.assess.common.domain.BaseEntity; +import com.gkhy.assess.system.domain.SysUser; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import javax.validation.constraints.NotNull; + +import static com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL; + +/** + * <p> + * 从业告知表 + * </p> + * + * @author kzy + * @since 2023-12-12 10:46:54 + */ +@Getter +@Setter +@TableName("ass_work_notification") +@ApiModel(value = "AssWorkNotification对象", description = "从业告知表") +@JsonInclude(NON_NULL) +public class AssWorkNotification extends BaseEntity { + + private static final long serialVersionUID = 1L; + + @TableId(value = "id", type = IdType.AUTO) + private Long id; + + @NotNull(message = "服务开始时间不能为空") + @ApiModelProperty(value = "服务开始时间",required = true) + @TableField("service_start_date") + private LocalDateTime serviceStartDate; + + @NotNull(message = "服务结束时间不能为空") + @ApiModelProperty(value = "服务结束时间",required = true) + @TableField("service_end_date") + private LocalDateTime serviceEndDate; + + @NotNull(message = "计划现场勘验时间不能为空") + @ApiModelProperty(value = "计划现场勘验时间",required = true) + @TableField("investigation_plan_date") + private LocalDateTime investigationPlanDate; + + @NotNull(message = "项目id不能为空") + @ApiModelProperty(value = "项目id",required = true) + @TableField("project_id") + private Long projectId; + + @ApiModelProperty("审批状态(0暂存,1审核中,2审批通过,3审批驳回,4已作废 默认1)") + @TableField("state") + private Integer state; + + @ApiModelProperty("审核人员id") + @TableField("audit_id") + private Long auditId; + + @ApiModelProperty("删除标志(0正常,1删除,默认0)") + @TableField("del_flag") + private Integer delFlag; + + @ApiModelProperty("乐观锁") + @TableField("version") + private Integer version; + +} diff --git a/assess-system/src/main/java/com/gkhy/assess/system/domain/SysAgency.java b/assess-system/src/main/java/com/gkhy/assess/system/domain/SysAgency.java index 51943af..ed2f452 100644 --- a/assess-system/src/main/java/com/gkhy/assess/system/domain/SysAgency.java +++ b/assess-system/src/main/java/com/gkhy/assess/system/domain/SysAgency.java @@ -1,16 +1,16 @@ package com.gkhy.assess.system.domain; -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.annotation.*; + import java.io.Serializable; import java.time.LocalDateTime; import java.util.List; import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonInclude; +import com.gkhy.assess.common.annotation.DataDesensitizationType; import com.gkhy.assess.common.domain.BaseEntity; +import com.gkhy.assess.common.enums.SensitiveTypeEnum; import com.gkhy.assess.common.validate.AgencyGroup; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -23,6 +23,7 @@ import javax.validation.Valid; import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; +import javax.validation.constraints.Pattern; import static com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL; @@ -49,6 +50,7 @@ @NotBlank(message = "机构名称不能为空") + @Length(min = 1, max = 50, message = "机构名称不能超过50个字符") @ApiModelProperty("机构名称") @TableField("name") private String name; @@ -83,6 +85,7 @@ @NotBlank(message = "经营地址不能为空") + @Length(min = 1, max = 100, message = "经营地址不能超过100个字符") @ApiModelProperty(value = "经营地址",required = true) @TableField("address") private String address; @@ -98,8 +101,10 @@ private String legalPerson; + @DataDesensitizationType(type = SensitiveTypeEnum.MOBILE_PHONE) @NotBlank(message = "法人电话不能为空") @Length(min = 11, max = 11, message = "手机号只能为11位") + @Pattern(regexp = "^[1][3,4,5,6,7,8,9][0-9]{9}$",message = "手机号码有误!") @ApiModelProperty(value = "法人电话",required = true) @TableField("legal_phone") private String legalPhone; @@ -110,9 +115,10 @@ @TableField("manager") private String manager; - + @DataDesensitizationType(type = SensitiveTypeEnum.MOBILE_PHONE) @NotBlank(message = "负责人电话不能为空") @Length(min = 11, max = 11, message = "手机号只能为11位") + @Pattern(regexp = "^[1][3,4,5,6,7,8,9][0-9]{9}$",message = "手机号码有误!") @ApiModelProperty(value = "负责人电话",required = true) @TableField("manager_phone") private String managerPhone; @@ -127,16 +133,16 @@ @NotNull(message = "发证日期不能为空") @ApiModelProperty(value = "发证日期",required = true) @TableField("issue_date") - @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") +// @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") +// @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime issueDate; @NotNull(message = "有效日期不能为空") @ApiModelProperty(value = "有效日期",required = true) @TableField("valid_date") - @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") +// @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") +// @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime validDate; @@ -159,6 +165,7 @@ @NotBlank(message = "注册地址不能为空") + @Length(min = 1, max = 100, message = "注册地址不能超过100个字符") @ApiModelProperty(value = "注册地址",required = true) @TableField("reg_address") private String regAddress; @@ -191,4 +198,9 @@ @TableField(exist = false) private SysUser user; + @Version + @ApiModelProperty("乐观锁") + @TableField("version") + private Integer version; + } diff --git a/assess-system/src/main/java/com/gkhy/assess/system/domain/SysAttach.java b/assess-system/src/main/java/com/gkhy/assess/system/domain/SysAttach.java index 33ec092..1f5cba9 100644 --- a/assess-system/src/main/java/com/gkhy/assess/system/domain/SysAttach.java +++ b/assess-system/src/main/java/com/gkhy/assess/system/domain/SysAttach.java @@ -12,6 +12,7 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; +import lombok.experimental.Accessors; import javax.validation.constraints.NotBlank; @@ -29,6 +30,7 @@ @Setter @TableName("sys_attach") @ApiModel(value = "SysAttach对象", description = "系统上传文件表,用户信息相关的") +@Accessors(chain = true) @JsonInclude(NON_NULL) public class SysAttach implements Serializable { diff --git a/assess-system/src/main/java/com/gkhy/assess/system/domain/SysConfig.java b/assess-system/src/main/java/com/gkhy/assess/system/domain/SysConfig.java index 44487da..58c33a9 100644 --- a/assess-system/src/main/java/com/gkhy/assess/system/domain/SysConfig.java +++ b/assess-system/src/main/java/com/gkhy/assess/system/domain/SysConfig.java @@ -1,9 +1,7 @@ package com.gkhy.assess.system.domain; -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.annotation.*; + import java.io.Serializable; import java.time.LocalDateTime; import io.swagger.annotations.ApiModel; @@ -66,5 +64,10 @@ @TableField("remark") private String remark; + @Version + @ApiModelProperty("乐观锁") + @TableField("version") + private Integer version; + } diff --git a/assess-system/src/main/java/com/gkhy/assess/system/domain/SysDictData.java b/assess-system/src/main/java/com/gkhy/assess/system/domain/SysDictData.java index b4be289..0803364 100644 --- a/assess-system/src/main/java/com/gkhy/assess/system/domain/SysDictData.java +++ b/assess-system/src/main/java/com/gkhy/assess/system/domain/SysDictData.java @@ -1,9 +1,7 @@ package com.gkhy.assess.system.domain; -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.annotation.*; + import java.io.Serializable; import java.time.LocalDateTime; @@ -13,6 +11,7 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; +import lombok.experimental.Accessors; import javax.validation.constraints.NotBlank; @@ -29,6 +28,7 @@ @Getter @Setter @TableName("sys_dict_data") +@Accessors(chain = true) @ApiModel(value = "SysDictData对象", description = "字典数据表") @JsonInclude(NON_NULL) public class SysDictData extends BaseEntity { @@ -65,4 +65,14 @@ @TableField("status") private Integer status; + @Version + @ApiModelProperty("乐观锁") + @TableField("version") + private Integer version; + + @ApiModelProperty("删除标志(0代表存在,1代表删除,默认0)") + @TableField("del_flag") + private Integer delFlag; + + } diff --git a/assess-system/src/main/java/com/gkhy/assess/system/domain/SysDictType.java b/assess-system/src/main/java/com/gkhy/assess/system/domain/SysDictType.java index 0c57758..24262fd 100644 --- a/assess-system/src/main/java/com/gkhy/assess/system/domain/SysDictType.java +++ b/assess-system/src/main/java/com/gkhy/assess/system/domain/SysDictType.java @@ -1,9 +1,7 @@ package com.gkhy.assess.system.domain; -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.annotation.*; + import java.io.Serializable; import java.time.LocalDateTime; @@ -54,4 +52,14 @@ @TableField("status") private Integer status; + @Version + @ApiModelProperty("乐观锁") + @TableField("version") + private Integer version; + + @ApiModelProperty("删除标志(0代表存在,1代表删除,默认0)") + @TableField("del_flag") + private Integer delFlag; + + } diff --git a/assess-system/src/main/java/com/gkhy/assess/system/domain/SysExpertClassify.java b/assess-system/src/main/java/com/gkhy/assess/system/domain/SysExpertClassify.java index a5a603e..532710d 100644 --- a/assess-system/src/main/java/com/gkhy/assess/system/domain/SysExpertClassify.java +++ b/assess-system/src/main/java/com/gkhy/assess/system/domain/SysExpertClassify.java @@ -1,9 +1,7 @@ package com.gkhy.assess.system.domain; -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.annotation.*; + import java.io.Serializable; import java.time.LocalDateTime; import java.util.List; @@ -37,8 +35,8 @@ private static final long serialVersionUID = 1L; @ApiModelProperty("主键") - @TableId(value = "classify_id", type = IdType.AUTO) - private Long classifyId; + @TableId(value = "id", type = IdType.AUTO) + private Long id; @NotBlank(message = "分类名称不能为空") @ApiModelProperty(value = "分类名称",required = true) @@ -53,6 +51,11 @@ @TableField("del_flag") private Integer delFlag; + @Version + @ApiModelProperty("乐观锁") + @TableField("version") + private Integer version; + @ApiModelProperty("子分类") @TableField(exist = false) private List<SysExpertClassify> children; diff --git a/assess-system/src/main/java/com/gkhy/assess/system/domain/SysExpertInfo.java b/assess-system/src/main/java/com/gkhy/assess/system/domain/SysExpertInfo.java index 969c2aa..b755c85 100644 --- a/assess-system/src/main/java/com/gkhy/assess/system/domain/SysExpertInfo.java +++ b/assess-system/src/main/java/com/gkhy/assess/system/domain/SysExpertInfo.java @@ -1,18 +1,22 @@ package com.gkhy.assess.system.domain; -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.annotation.*; + import java.io.Serializable; import java.time.LocalDateTime; import com.fasterxml.jackson.annotation.JsonInclude; +import com.gkhy.assess.common.domain.BaseEntity; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; import lombok.experimental.Accessors; +import org.hibernate.validator.constraints.Length; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import javax.validation.constraints.Pattern; import static com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL; @@ -30,59 +34,75 @@ @Accessors(chain = true) @ApiModel(value = "SysExpertInfo对象", description = "系统专家信息表") @JsonInclude(NON_NULL) -public class SysExpertInfo implements Serializable { +public class SysExpertInfo extends BaseEntity { private static final long serialVersionUID = 1L; @ApiModelProperty("主键") - @TableId(value = "expert_id", type = IdType.AUTO) - private Long expertId; + @TableId(value = "id", type = IdType.AUTO) + private Long id; + @NotBlank(message = "专家名称不能为空") + @Length(min=1,max=20,message = "专家名称不能超过20个字") @ApiModelProperty("专家名称") @TableField("name") private String name; + @NotNull(message ="性别不能为空" ) @ApiModelProperty("性别(0男,1女,2未知,默认2)") @TableField("sex") private Integer sex; - @ApiModelProperty("类别id") + @NotNull(message ="大类别不能为空" ) + @ApiModelProperty("大类别id") @TableField("big_classify") private Long bigClassify; - @ApiModelProperty("类别id") + @NotNull(message ="小类别不能为空" ) + @ApiModelProperty("小类别id") @TableField("small_classify") private Long smallClassify; + @NotNull(message ="出生日期不能为空" ) @ApiModelProperty("出生日期") @TableField("birthday") private LocalDateTime birthday; + @NotBlank(message ="手机号不能为空" ) + @Length(min = 11, max = 11, message = "手机号只能为11位") + @Pattern(regexp = "^[1][3,4,5,6,7,8,9][0-9]{9}$",message = "手机号码有误!") @ApiModelProperty("手机号") @TableField("phone") private String phone; + @NotBlank(message ="职称不能为空" ) @ApiModelProperty("职称") @TableField("title") private String title; + @NotBlank(message ="电子照片不能为空" ) @ApiModelProperty("电子照片") @TableField("electronic_photo") private String electronicPhoto; + @NotBlank(message ="身份证号码不能为空" ) + @Length(min = 18, max = 18, message = "身份证只能为18位") @ApiModelProperty("身份证号码") @TableField("id_card") private String idCard; - @ApiModelProperty("在职状态") + @NotNull(message ="在岗情况不能为空" ) + @ApiModelProperty("在岗情况(0在岗,1退休)") @TableField("duty_status") private Integer dutyStatus; - @ApiModelProperty("公司名称") + @NotBlank(message ="单位名称不能为空" ) + @Length(min=1,max=30,message = "专家名称不能超过30个字") + @ApiModelProperty("单位名称") @TableField("company_name") private String companyName; - @ApiModelProperty("公司地址") + @ApiModelProperty("单位地址") @TableField("company_address") private String companyAddress; @@ -94,11 +114,11 @@ @TableField("job") private String job; - @ApiModelProperty("公司电话") + @ApiModelProperty("单位电话") @TableField("company_telephone") private String companyTelephone; - @ApiModelProperty("传真") + @ApiModelProperty("传真号") @TableField("fax_num") private String faxNum; @@ -110,7 +130,9 @@ @TableField("graduation_school") private String graduationSchool; - @ApiModelProperty("学历") + @NotBlank(message ="最高学历不能为空" ) + @Length(min=1,max=10,message = "最高学历不能超过10个字") + @ApiModelProperty("最高学历") @TableField("degree") private String degree; @@ -118,63 +140,66 @@ @TableField("speciality") private String speciality; - @ApiModelProperty("当前专业") + @ApiModelProperty("现在从事专业或方向") @TableField("current_profession") private String currentProfession; - @ApiModelProperty("支撑安全") + @ApiModelProperty("支撑方向安全生产") @TableField("support_direction_safety") private String supportDirectionSafety; - @ApiModelProperty("支撑预防") + @ApiModelProperty("支撑方向防灾救灾") @TableField("support_direction_prevention") private String supportDirectionPrevention; - @ApiModelProperty("支持应急") + @ApiModelProperty("支撑方向应急救援") @TableField("support_direction_emergency") private String supportDirectionEmergency; - @ApiModelProperty("简述") + @ApiModelProperty("简历") @TableField("resume_key") private String resumeKey; + @ApiModelProperty("论文情况") @TableField("paper_situation_key") private String paperSituationKey; + @ApiModelProperty("奖励") @TableField("reward_key") private String rewardKey; + @ApiModelProperty("成绩成果") @TableField("achievement_key") private String achievementKey; + @ApiModelProperty("专家个人意见") @TableField("personal_opinion_key") private String personalOpinionKey; + @ApiModelProperty("推荐单位意见") @TableField("recommend_unit_opinion_key") private String recommendUnitOpinionKey; + + //来源(1问卷,2系统) + @NotNull(message ="来源不能为空" ) + @ApiModelProperty("来源(1问卷,2系统)") + @TableField("source") + private Integer source; @ApiModelProperty("删除标志(0代表存在,1代表删除,默认0)") @TableField("del_flag") private Integer delFlag; - @ApiModelProperty("创建人") - @TableField("create_by") - private String createBy; - @ApiModelProperty("创建时间") - @TableField("create_time") - private LocalDateTime createTime; + @ApiModelProperty("审批状态(0暂存,1审核中,2审批通过,3审批驳回,4已作废 默认1)") + @TableField("state") + private Integer state; - @ApiModelProperty("修改人") - @TableField("update_by") - private String updateBy; + @Version + @ApiModelProperty("乐观锁") + @TableField("version") + private Integer version; - @ApiModelProperty("修改时间") - @TableField("update_time") - private LocalDateTime updateTime; - - @TableField("remark") - private String remark; } diff --git a/assess-system/src/main/java/com/gkhy/assess/system/domain/SysLaw.java b/assess-system/src/main/java/com/gkhy/assess/system/domain/SysLaw.java index 80c99df..6d6de54 100644 --- a/assess-system/src/main/java/com/gkhy/assess/system/domain/SysLaw.java +++ b/assess-system/src/main/java/com/gkhy/assess/system/domain/SysLaw.java @@ -1,9 +1,7 @@ package com.gkhy.assess.system.domain; -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.annotation.*; + import java.io.Serializable; import java.time.LocalDateTime; @@ -13,6 +11,9 @@ import lombok.Getter; import lombok.Setter; import lombok.experimental.Accessors; +import org.hibernate.validator.constraints.Length; + +import javax.validation.constraints.Size; import static com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL; @@ -36,16 +37,18 @@ @TableId(value = "id", type = IdType.AUTO) private Long id; - - @ApiModelProperty("住标题") + @Length(min = 1, max = 50, message = "主标题不能超过50个字符") + @ApiModelProperty("主标题") @TableField("title") private String title; + @Length(min = 0, max = 50, message = "副标题不能超过50个字符") @ApiModelProperty("副标题") @TableField("sub_title") private String subTitle; @ApiModelProperty("内容") + @Length(min = 1,max=16777215,message = "法律法规内容过长,无法保存") @TableField("content") private String content; @@ -53,6 +56,7 @@ @TableField("law_type") private String lawType; + @Length(min = 0, max = 50, message = "颁布机构名称不能超过50个字符") @ApiModelProperty("颁布机构") @TableField("pub_agency") private String pubAgency; @@ -85,5 +89,15 @@ @TableField("remark") private String remark; + @Version + @ApiModelProperty("乐观锁") + @TableField("version") + private Integer version; + + @ApiModelProperty("删除标志(0代表存在,1代表删除,默认0)") + @TableField("del_flag") + private Integer delFlag; + + } diff --git a/assess-system/src/main/java/com/gkhy/assess/system/domain/SysNotice.java b/assess-system/src/main/java/com/gkhy/assess/system/domain/SysNotice.java index 2baba16..ba22f7c 100644 --- a/assess-system/src/main/java/com/gkhy/assess/system/domain/SysNotice.java +++ b/assess-system/src/main/java/com/gkhy/assess/system/domain/SysNotice.java @@ -1,9 +1,7 @@ package com.gkhy.assess.system.domain; -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.annotation.*; + import java.io.Serializable; import java.time.LocalDateTime; @@ -13,6 +11,7 @@ import lombok.Getter; import lombok.Setter; import lombok.experimental.Accessors; +import org.hibernate.validator.constraints.Length; import javax.validation.constraints.NotBlank; @@ -40,11 +39,13 @@ private Long id; @NotBlank(message = "通知标题不能为空") - @ApiModelProperty(value = "通知标题",required = true) + @Length(min = 1, max = 50, message = "标题不能超过50个字符") + @ApiModelProperty(value = "通知标题(50个字)",required = true) @TableField("title") private String title; @NotBlank(message = "通知内容不能为空") + @Length(min = 1,max=16777215,message = "通知内容过长,无法保存") @ApiModelProperty(value = "通知内容",required = true) @TableField("content") private String content; @@ -73,5 +74,15 @@ @TableField("remark") private String remark; + @Version + @ApiModelProperty("乐观锁") + @TableField("version") + private Integer version; + + @ApiModelProperty("删除标志(0代表存在,1代表删除,默认0)") + @TableField("del_flag") + private Integer delFlag; + + } diff --git a/assess-system/src/main/java/com/gkhy/assess/system/domain/SysRegion.java b/assess-system/src/main/java/com/gkhy/assess/system/domain/SysRegion.java index 221bc87..c416388 100644 --- a/assess-system/src/main/java/com/gkhy/assess/system/domain/SysRegion.java +++ b/assess-system/src/main/java/com/gkhy/assess/system/domain/SysRegion.java @@ -1,17 +1,19 @@ package com.gkhy.assess.system.domain; -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.annotation.*; + import java.io.Serializable; import java.util.List; +import com.gkhy.assess.common.domain.BaseEntity; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; import lombok.experimental.Accessors; +import org.hibernate.validator.constraints.Length; + +import javax.validation.constraints.NotBlank; /** * <p> @@ -26,13 +28,15 @@ @Accessors(chain = true) @TableName("sys_region") @ApiModel(value = "SysRegion对象", description = "系统地区表") -public class SysRegion implements Serializable { +public class SysRegion extends BaseEntity { private static final long serialVersionUID = 1L; @TableId(value = "id", type = IdType.AUTO) private Long id; + @NotBlank(message = "地区名称不能为空") + @Length(min = 1, max = 20, message = "地区名称不能超过20个字符") @ApiModelProperty("地区名称") @TableField("name") private String name; @@ -49,6 +53,11 @@ @TableField("region_type") private Integer regionType; + @Version + @ApiModelProperty("乐观锁") + @TableField("version") + private Integer version; + @TableField(exist = false) private List<SysRegion> children; diff --git a/assess-system/src/main/java/com/gkhy/assess/system/domain/SysUser.java b/assess-system/src/main/java/com/gkhy/assess/system/domain/SysUser.java index cefea2c..b76074d 100644 --- a/assess-system/src/main/java/com/gkhy/assess/system/domain/SysUser.java +++ b/assess-system/src/main/java/com/gkhy/assess/system/domain/SysUser.java @@ -1,14 +1,12 @@ package com.gkhy.assess.system.domain; -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.annotation.*; import com.fasterxml.jackson.annotation.JsonInclude; import com.gkhy.assess.common.domain.BaseEntity; import com.gkhy.assess.common.validate.AgencyGroup; import com.gkhy.assess.common.validate.ExpertGroup; import com.gkhy.assess.common.validate.MonitorGroup; +import com.gkhy.assess.system.domain.vo.PersonProjectVO; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; @@ -17,6 +15,7 @@ import org.hibernate.validator.constraints.Length; import javax.validation.Valid; +import javax.validation.constraints.Max; import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; import javax.validation.constraints.Pattern; @@ -53,6 +52,7 @@ @TableField("username") private String username; + @Length(min = 0, max = 20, message = "用户昵称/姓名不能超过20个字符") @ApiModelProperty("用户昵称/姓名") @TableField("name") private String name; @@ -85,6 +85,9 @@ @TableField("avatar") private String avatar; + /** + * 密码生成规则:md5(用户名+密码+盐) + */ @NotBlank(message = "密码不能为空") @ApiModelProperty(value = "密码(base64)",required = true) @TableField("password") @@ -132,7 +135,7 @@ private String jobTitle; @NotBlank(message = "专业方向不能为空",groups ={ExpertGroup.class} ) - @ApiModelProperty("专业方向") + @ApiModelProperty("专业方向,新增时传(json字符串{'专业id':'证书编号1','专业id':'证书编号2'}),查询时传字典id") @TableField("major") private String major; @@ -152,25 +155,50 @@ @TableField("pwd_update_date") private LocalDateTime pwdUpdateDate; + @Version + @ApiModelProperty("乐观锁") + @TableField("version") + private Integer version; + + @ApiModelProperty("证书编号") + @TableField("certificate_no") + private String certificateNo; + + @ApiModelProperty("近期证件照路径") + @TableField("id_photo") + private String idPhoto; + + @ApiModelProperty("评价师等级") + @TableField("level") + private String level; + @Valid @NotNull(message = "机构不能为空",groups ={AgencyGroup.class} ) - @ApiModelProperty("机构对象,只限创建机构用户传") + @ApiModelProperty("机构对象,只限创建机构用户传参") @TableField(exist = false) private SysAgency agency; @NotNull(message = "社保照片不能为空",groups ={ExpertGroup.class} ) - @ApiModelProperty("社保照片路径列表,创建专家传") + @ApiModelProperty("社保照片路径列表,创建专家传参") @TableField(exist = false) private List<SysAttach> socialAttach; @NotNull(message = "医保照片不能为空",groups ={ExpertGroup.class} ) - @ApiModelProperty("医保照片路径列表,创建专家传") + @ApiModelProperty("医保照片路径列表,创建专家传参") @TableField(exist = false) private List<SysAttach> medicalAttach; @NotNull(message = "工资照片不能为空",groups ={ExpertGroup.class} ) - @ApiModelProperty("工资照片路径列表,创建专家传") + @ApiModelProperty("工资照片路径列表,创建专家传参") @TableField(exist = false) private List<SysAttach> salaryAttach; + @ApiModelProperty("专业列表") + @TableField(exist = false) + List<String> majorNames; + + @ApiModelProperty("汇总项目信息") + @TableField(exist = false) + private PersonProjectVO personProjectVO; + } diff --git a/assess-system/src/main/java/com/gkhy/assess/system/domain/SysUserFace.java b/assess-system/src/main/java/com/gkhy/assess/system/domain/SysUserFace.java new file mode 100644 index 0000000..f90bf31 --- /dev/null +++ b/assess-system/src/main/java/com/gkhy/assess/system/domain/SysUserFace.java @@ -0,0 +1,86 @@ +package com.gkhy.assess.system.domain; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.time.LocalDateTime; + +import com.fasterxml.jackson.annotation.JsonInclude; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; +import lombok.experimental.Accessors; +import org.springframework.web.multipart.MultipartFile; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; + +import static com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL; + +/** + * <p> + * 用户人脸数据表 + * </p> + * + * @author kzy + * @since 2024-01-09 17:10:01 + */ +@Getter +@Setter +@TableName("sys_user_face") +@Accessors(chain = true) +@ApiModel(value = "SysUserFace对象", description = "用户人脸数据表") +@JsonInclude(NON_NULL) +public class SysUserFace implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId(value = "id", type = IdType.AUTO) + private Long id; + @NotBlank(message = "人脸数据不能为空") + @ApiModelProperty(value = "人脸数据",required = true) + @TableField("face_base") + private String faceBase; + + @NotNull(message = "用户id不能为空") + @ApiModelProperty(value = "用户id",required = true) + @TableField("user_id") + private Long userId; + + @ApiModelProperty("乐观锁") + @TableField("version") + private Integer version; + + @ApiModelProperty("删除标志(0正常,1删除,默认0)") + @TableField("del_flag") + private Integer delFlag; + + @ApiModelProperty("创建人") + @TableField("create_by") + private String createBy; + + @TableField("create_time") + private LocalDateTime createTime; + + @ApiModelProperty("更新人") + @TableField("update_by") + private String updateBy; + + @TableField("update_time") + private LocalDateTime updateTime; + + @ApiModelProperty("原因说明") + @TableField("remark") + private String remark; + + + @NotNull(message = "图片对象不能为空") + @ApiModelProperty(value = "图片对象",required = true) + @TableField(exist = false) + private MultipartFile file; + + +} diff --git a/assess-system/src/main/java/com/gkhy/assess/system/domain/vo/PersonProjectVO.java b/assess-system/src/main/java/com/gkhy/assess/system/domain/vo/PersonProjectVO.java new file mode 100644 index 0000000..d771e3f --- /dev/null +++ b/assess-system/src/main/java/com/gkhy/assess/system/domain/vo/PersonProjectVO.java @@ -0,0 +1,22 @@ +package com.gkhy.assess.system.domain.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.time.LocalDateTime; + +@Setter +@Getter +@ApiModel(value = "个人参与项目汇总对象", description = "个人参与项目汇总对象") +public class PersonProjectVO { + @ApiModelProperty("成员用户id") + private Long personId; + + @ApiModelProperty("参与的项目数量") + private Integer projectCount; + + @ApiModelProperty("最新评价项目时间") + private LocalDateTime lastEstimateTime; +} diff --git a/assess-system/src/main/java/com/gkhy/assess/system/domain/vo/ProjectMaterialVO.java b/assess-system/src/main/java/com/gkhy/assess/system/domain/vo/ProjectMaterialVO.java new file mode 100644 index 0000000..1fbb41d --- /dev/null +++ b/assess-system/src/main/java/com/gkhy/assess/system/domain/vo/ProjectMaterialVO.java @@ -0,0 +1,53 @@ +package com.gkhy.assess.system.domain.vo; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.gkhy.assess.common.domain.BaseEntity; +import com.gkhy.assess.system.domain.AssAccessoryFile; +import com.gkhy.assess.system.domain.AssContract; +import com.gkhy.assess.system.domain.AssProjectMaterial; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import javax.validation.Valid; +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; + +import java.util.List; + +import static com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL; + +/** + * <p> + * 项目归档文件表 + * </p> + * + * @author kzy + * @since 2023-12-12 10:46:54 + */ +@Getter +@Setter +@ApiModel(value = "ProjectMaterialVO对象", description = "项目归档表单") +@JsonInclude(NON_NULL) +public class ProjectMaterialVO { + + @NotNull(message = "项目id为空") + @ApiModelProperty(value = "项目id",required = true) + private Long projectId; + + @Valid + @NotNull(message = "项目归档列表不能为空") + @ApiModelProperty(value = "项目归档列表",required = true) + private List<AssProjectMaterial> projectMaterials; + + @Valid + @NotNull(message = "合同对象不能为空") + @ApiModelProperty(value = "合同对象",required = true) + private AssContract contract; + +} diff --git a/assess-system/src/main/java/com/gkhy/assess/system/domain/vo/ProjectStaticVO.java b/assess-system/src/main/java/com/gkhy/assess/system/domain/vo/ProjectStaticVO.java new file mode 100644 index 0000000..664c082 --- /dev/null +++ b/assess-system/src/main/java/com/gkhy/assess/system/domain/vo/ProjectStaticVO.java @@ -0,0 +1,31 @@ +package com.gkhy.assess.system.domain.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; +import lombok.experimental.Accessors; + +@Setter +@Getter +@ApiModel(value = "项目统计对象", description = "项目统计对象") +@Accessors(chain = true) +public class ProjectStaticVO { + @ApiModelProperty("项目总数") + private Integer projectTotal; + + @ApiModelProperty("风险分析及计划评价总数") + private Integer riskTotal; + + @ApiModelProperty("现场勘验总数") + private Integer investigationTotal; + + @ApiModelProperty("项目审核总数") + private Integer reviewTotal; + + @ApiModelProperty("出具报告总数") + private Integer reportTotal; + + @ApiModelProperty("项目归档总数") + private Integer archiveTotal; +} diff --git a/assess-system/src/main/java/com/gkhy/assess/system/domain/vo/UploadObjectVO.java b/assess-system/src/main/java/com/gkhy/assess/system/domain/vo/UploadObjectVO.java index 0932e0b..d9c4cc8 100644 --- a/assess-system/src/main/java/com/gkhy/assess/system/domain/vo/UploadObjectVO.java +++ b/assess-system/src/main/java/com/gkhy/assess/system/domain/vo/UploadObjectVO.java @@ -17,6 +17,9 @@ @ApiModelProperty("文件保存相对路径") private String path; + @ApiModelProperty("文件原始名称") + private String originName; + // @ApiModelProperty("访问链接") // private String url; } diff --git a/assess-system/src/main/java/com/gkhy/assess/system/enums/AccessoryFileTypeEnum.java b/assess-system/src/main/java/com/gkhy/assess/system/enums/AccessoryFileTypeEnum.java new file mode 100644 index 0000000..6e7a39e --- /dev/null +++ b/assess-system/src/main/java/com/gkhy/assess/system/enums/AccessoryFileTypeEnum.java @@ -0,0 +1,41 @@ +package com.gkhy.assess.system.enums; + +/** + * 评估文件类型 + * + */ +public enum AccessoryFileTypeEnum +{ + DEVICE_IMAGE(1, "评价机构项目现场勘验人员在主要装置前的合影照片"), + INVESTINGATION_IMAGE(2, "评价机构项目现场勘验照片"), + COMPANY_IMAGE(3, "评价机构项目现场勘验人员与企业陪同人员图片"), + INVESTINGATION_VIDEO(4, "评价机构项目现场勘验视频"), + + INVESTINGATION_ATTACHMENT(5, "现场勘验记录附件"), + + REVIEW_RECORD(6, "评审记录附件"), + CONCLUSION(7, "评价结论"), + PROCESS_ATTACHMENT(8, "过程控制记录文档附件"), + PROJECT_MATERIAL(9, "项目归档材料"), + FILING_APPLY(10, "报备申请附件"), + PROJECT_RECITIFICATON(11, "项目整改情况附件"); + + private final Integer code; + private final String info; + + AccessoryFileTypeEnum(Integer code, String info) + { + this.code = code; + this.info = info; + } + + public Integer getCode() + { + return code; + } + + public String getInfo() + { + return info; + } +} diff --git a/assess-system/src/main/java/com/gkhy/assess/system/enums/PlayRoleEnum.java b/assess-system/src/main/java/com/gkhy/assess/system/enums/PlayRoleEnum.java new file mode 100644 index 0000000..b7756c3 --- /dev/null +++ b/assess-system/src/main/java/com/gkhy/assess/system/enums/PlayRoleEnum.java @@ -0,0 +1,47 @@ +package com.gkhy.assess.system.enums; + +/** + * 项目成员担任角色 + * + */ +public enum PlayRoleEnum +{ + PROJECT_LEADER(1, "项目负责人"), + PROJECT_MEMBER(2, "项目组成员"), + PROCESS_LEADER(3, "过程控制负责人"), + ANGENCY_LEADER(4, "机构评价负责人"), + TEACH_LEADER(5, "技术负责人"), + INNER_LEADER(6, "内部审核员"); + + private final Integer code; + private final String info; + + PlayRoleEnum(Integer code, String info) + { + this.code = code; + this.info = info; + } + + public Integer getCode() + { + return code; + } + + public String getInfo() + { + return info; + } + + public static PlayRoleEnum getInfoByCode(Integer code) { + PlayRoleEnum[] values = PlayRoleEnum.values(); + for (PlayRoleEnum value : values) { + if (value.getCode().equals(code)) { + return value; + } + } + return null; + } + + + +} diff --git a/assess-system/src/main/java/com/gkhy/assess/system/enums/ProgressPhaseEnum.java b/assess-system/src/main/java/com/gkhy/assess/system/enums/ProgressPhaseEnum.java new file mode 100644 index 0000000..fe1566d --- /dev/null +++ b/assess-system/src/main/java/com/gkhy/assess/system/enums/ProgressPhaseEnum.java @@ -0,0 +1,51 @@ +package com.gkhy.assess.system.enums; + +import java.util.ArrayList; +import java.util.List; + +/** + * 项目五大阶段 + * + */ +public enum ProgressPhaseEnum +{ + RISK(1, "风险分析评价计划"), + INVESTIGATION(2, "现场勘验"), + REVIEW(3, "项目审核"), + REPORT(4, "出具报告"), + ARCHIVE(5, "项目归档"); + + private final Integer code; + private final String info; + + ProgressPhaseEnum(Integer code, String info) + { + this.code = code; + this.info = info; + } + + public Integer getCode() + { + return code; + } + + public String getInfo() + { + return info; + } + + public static Integer getPhaseByProcess(int reportProgress){ + if(reportProgress<=ReportProgressEnum.ESTIMATE_PLAN.getCode()){ + return ProgressPhaseEnum.RISK.getCode(); + }else if(reportProgress<=ReportProgressEnum.INVESTINGATION.getCode()){ + return ProgressPhaseEnum.INVESTIGATION.getCode(); + }else if(reportProgress<=ReportProgressEnum.REVIEW_RECORD.getCode()){ + return ProgressPhaseEnum.REVIEW.getCode(); + }else if(reportProgress<=ReportProgressEnum.PROCESS_AUDIT.getCode()){ + return ProgressPhaseEnum.REPORT.getCode(); + }else{ + return ProgressPhaseEnum.ARCHIVE.getCode(); + } + } + +} diff --git a/assess-system/src/main/java/com/gkhy/assess/system/enums/ReportProgressEnum.java b/assess-system/src/main/java/com/gkhy/assess/system/enums/ReportProgressEnum.java new file mode 100644 index 0000000..d6032c0 --- /dev/null +++ b/assess-system/src/main/java/com/gkhy/assess/system/enums/ReportProgressEnum.java @@ -0,0 +1,141 @@ +package com.gkhy.assess.system.enums; + +import java.util.ArrayList; +import java.util.List; + +/** + * 项目状态类型(五大阶段的详细状态) + * + */ +public enum ReportProgressEnum +{ + ADD(0, "新增"), + RISK_ESTIMATE(1, "项目分析分析"), + CONTRACT(2, "合同管理"), + ESTIMATE_TASK(3, "评价任务通知"), + ESTIMATE_PLAN(4, "评价项目计划"), + WORK_NOTIFICATION(5, "从业告知"), + INVESTINGATION(6, "现场勘验记录"), + INNER_AUDIT(7, "内部审核"), + TECH_AUDIT(8, "技术负责人审核"), + REVIEW_RECORD(9, "评审记录"), + CONCLUSION(10, "评价结论"), + PROCESS_AUDIT(11, "过程控制人审核"), + PROJECT_MATERIAL(12, "项目归档"), + FACE_RECOGNITION(13, "签字确认"), + CONFIRM_FINAL(14, "确认完结"); + + private final Integer code; + private final String info; + + ReportProgressEnum(Integer code, String info) + { + this.code = code; + this.info = info; + } + + public Integer getCode() + { + return code; + } + + public String getInfo() + { + return info; + } + + public static ReportProgressEnum getByCode(Integer code) { + for (ReportProgressEnum e : values()) { + if (e.getCode().equals(code)) { + return e; + } + } + throw new RuntimeException("enum not exists."); + } + + public static List<Integer> getProcessByPhase(int projectPhase){ + if(projectPhase==ProgressPhaseEnum.RISK.getCode()){ + return getRiskProcess(); + }else if(projectPhase==ProgressPhaseEnum.INVESTIGATION.getCode()){ + return getInvestigationProcess(); + }else if(projectPhase==ProgressPhaseEnum.REVIEW.getCode()){ + return getReviewProcess(); + }else if(projectPhase==ProgressPhaseEnum.REPORT.getCode()){ + return getReportProcess(); + }else if(projectPhase==ProgressPhaseEnum.ARCHIVE.getCode()){ + return getArchiveProcess(); + } + return null; + } + + /** + * + * 风险分析及计划评价阶段 项目状态码 + * @return + */ + public static List<Integer> getRiskProcess(){ + List<Integer> riskProcess=new ArrayList<>(); + for (ReportProgressEnum e : values()) { + if (e.getCode()<=4) { + riskProcess.add(e.getCode()); + } + } + return riskProcess; + } + + /** + * 现场勘验阶段 项目状态码 + * @return + */ + public static List<Integer> getInvestigationProcess(){ + List<Integer> investigationProcess=new ArrayList<>(); + for (ReportProgressEnum e : values()) { + if (e.getCode()>4 &&e.getCode()<=6) { + investigationProcess.add(e.getCode()); + } + } + return investigationProcess; + } + + /** + * 项目审核阶段 项目状态码 + * @return + */ + public static List<Integer> getReviewProcess(){ + List<Integer> reviewProcess=new ArrayList<>(); + for (ReportProgressEnum e : values()) { + if (e.getCode()>6 &&e.getCode()<=9) { + reviewProcess.add(e.getCode()); + } + } + return reviewProcess; + } + + /** + * 出具报告阶段 项目状态码 + * @return + */ + public static List<Integer> getReportProcess(){ + List<Integer> reportProcess=new ArrayList<>(); + for (ReportProgressEnum e : values()) { + if (e.getCode()>9 &&e.getCode()<=11) { + reportProcess.add(e.getCode()); + } + } + return reportProcess; + } + + /** + * 项目归档阶段 项目状态码 + * @return + */ + public static List<Integer> getArchiveProcess(){ + List<Integer> archiveProcess=new ArrayList<>(); + for (ReportProgressEnum e : values()) { + if (e.getCode()>11) { + archiveProcess.add(e.getCode()); + } + } + return archiveProcess; + } +} diff --git a/assess-system/src/main/java/com/gkhy/assess/system/mapper/AssAccessoryFileMapper.java b/assess-system/src/main/java/com/gkhy/assess/system/mapper/AssAccessoryFileMapper.java new file mode 100644 index 0000000..775f14c --- /dev/null +++ b/assess-system/src/main/java/com/gkhy/assess/system/mapper/AssAccessoryFileMapper.java @@ -0,0 +1,43 @@ +package com.gkhy.assess.system.mapper; + +import com.gkhy.assess.system.domain.AssAccessoryFile; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * <p> + * 评估文件上传记录表 Mapper 接口 + * </p> + * + * @author kzy + * @since 2023-12-12 10:46:54 + */ +@Mapper +public interface AssAccessoryFileMapper extends BaseMapper<AssAccessoryFile> { + /** + * 根据项目id获取评估文件 + * @param projectId + * @param moduleType + * @return + */ + List<AssAccessoryFile> getAccessoryFileByProjectId(@Param("projectId") Long projectId, @Param("moduleType") Integer moduleType); + + /** + * 获取数量 + * @param projectId + * @param moduleType + * @return + */ + Integer getAccessoryFileCountByProjectId(@Param("projectId") Long projectId, @Param("moduleType") Integer moduleType); + + /** + * 根据id删除评估文件 + * @param accessoryFileId + * @return + */ + int deleteAccessoryFileById(Long accessoryFileId); + +} diff --git a/assess-system/src/main/java/com/gkhy/assess/system/mapper/AssAuditMapper.java b/assess-system/src/main/java/com/gkhy/assess/system/mapper/AssAuditMapper.java new file mode 100644 index 0000000..a13d886 --- /dev/null +++ b/assess-system/src/main/java/com/gkhy/assess/system/mapper/AssAuditMapper.java @@ -0,0 +1,42 @@ +package com.gkhy.assess.system.mapper; + +import com.gkhy.assess.system.domain.AssAudit; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +/** + * <p> + * 审核表 Mapper 接口 + * </p> + * + * @author kzy + * @since 2023-12-12 10:46:54 + */ +@Mapper +public interface AssAuditMapper extends BaseMapper<AssAudit> { + + /** + * 根据项目id获取审核数量 + * @param projectId + * @param auditType + * @return + */ + int getCountByProjectId(@Param("projectId") Long projectId,@Param("auditType") Integer auditType); + + /** + * 根据项目id获取审核记录 + * @param projectId + * @return + */ + AssAudit getAuditByProjectId(Long projectId,Integer auditType); + + /** + * 根据id获取审核记录 + * @param auditId + * @return + */ + AssAudit getAuditById(Long auditId); + + +} diff --git a/assess-system/src/main/java/com/gkhy/assess/system/mapper/AssConclusionMapper.java b/assess-system/src/main/java/com/gkhy/assess/system/mapper/AssConclusionMapper.java new file mode 100644 index 0000000..d4ed75c --- /dev/null +++ b/assess-system/src/main/java/com/gkhy/assess/system/mapper/AssConclusionMapper.java @@ -0,0 +1,40 @@ +package com.gkhy.assess.system.mapper; + +import com.gkhy.assess.system.domain.AssConclusion; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +/** + * <p> + * 项目结论表 Mapper 接口 + * </p> + * + * @author kzy + * @since 2023-12-12 10:46:54 + */ +@Mapper +public interface AssConclusionMapper extends BaseMapper<AssConclusion> { + + /** + * 根据项目id获取评价结论数量 + * @param projectId + * @return + */ + int getCountByProjectId(Long projectId); + + /** + * 更具项目id获取评价结论 + * @param projectId + * @return + */ + AssConclusion getConclusionByProjectId(Long projectId); + + /** + * 根据id获取评价结论 + * @param conclusionId + * @return + */ + AssConclusion getConclusionById(Long conclusionId); + + +} diff --git a/assess-system/src/main/java/com/gkhy/assess/system/mapper/AssContractMapper.java b/assess-system/src/main/java/com/gkhy/assess/system/mapper/AssContractMapper.java new file mode 100644 index 0000000..415450b --- /dev/null +++ b/assess-system/src/main/java/com/gkhy/assess/system/mapper/AssContractMapper.java @@ -0,0 +1,40 @@ +package com.gkhy.assess.system.mapper; + +import com.gkhy.assess.system.domain.AssContract; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +/** + * <p> + * 合同管理表 Mapper 接口 + * </p> + * + * @author kzy + * @since 2023-12-12 10:46:54 + */ +@Mapper +public interface AssContractMapper extends BaseMapper<AssContract> { + /** + * 根据项目id获取合同信息 + * @param projectId + * @return + */ + AssContract getContractByProjectId(Long projectId); + + + + /** + * 根据id获取合同 + * @param contractId + * @return + */ + AssContract getContractById(Long contractId); + + + /** + * 根据项目id获取合同数量 + * @param projectId + * @return + */ + int getCountByProjectId(Long projectId); +} diff --git a/assess-system/src/main/java/com/gkhy/assess/system/mapper/AssDeviceMapper.java b/assess-system/src/main/java/com/gkhy/assess/system/mapper/AssDeviceMapper.java new file mode 100644 index 0000000..87fd6ad --- /dev/null +++ b/assess-system/src/main/java/com/gkhy/assess/system/mapper/AssDeviceMapper.java @@ -0,0 +1,40 @@ +package com.gkhy.assess.system.mapper; + +import com.gkhy.assess.system.domain.AssDevice; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * <p> + * 设备表 Mapper 接口 + * </p> + * + * @author kzy + * @since 2023-12-12 10:46:54 + */ +@Mapper +public interface AssDeviceMapper extends BaseMapper<AssDevice> { + + /** + * 根据名称查询设备 + * @param deviceName + * @return + */ + AssDevice getDeviceByName(String deviceName); + + /** + * 根据项目id获取设备列表 + * @param projectId + * @return + */ + List<AssDevice> getDevicesByProjectId(Long projectId); + + /** + * 批量删除设备 + * @param ids + * @return + */ + int deleteDeviceByIds(List<Long> ids); +} diff --git a/assess-system/src/main/java/com/gkhy/assess/system/mapper/AssEstimatePlanMapper.java b/assess-system/src/main/java/com/gkhy/assess/system/mapper/AssEstimatePlanMapper.java new file mode 100644 index 0000000..895b6c4 --- /dev/null +++ b/assess-system/src/main/java/com/gkhy/assess/system/mapper/AssEstimatePlanMapper.java @@ -0,0 +1,39 @@ +package com.gkhy.assess.system.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.gkhy.assess.system.domain.AssEstimatePlan; +import org.apache.ibatis.annotations.Mapper; + +/** + * <p> + * 评价项目计划表 Mapper 接口 + * </p> + * + * @author kzy + * @since 2023-12-12 10:46:54 + */ +@Mapper +public interface AssEstimatePlanMapper extends BaseMapper<AssEstimatePlan> { + + /** + * 根据项目id获取评价计划数量 + * @param projectId + * @return + */ + int getCountByProjectId(Long projectId); + + /** + * 根据项目id获取评价计划 + * @param projectId + * @return + */ + AssEstimatePlan getEstimatePlanByProjectId(Long projectId); + + /** + * 根据id获取评价计划 + * @param estimatePlanId + * @return + */ + AssEstimatePlan getEstimatePlanById(Long estimatePlanId); + +} diff --git a/assess-system/src/main/java/com/gkhy/assess/system/mapper/AssEstimateScheduleMapper.java b/assess-system/src/main/java/com/gkhy/assess/system/mapper/AssEstimateScheduleMapper.java new file mode 100644 index 0000000..40bb8af --- /dev/null +++ b/assess-system/src/main/java/com/gkhy/assess/system/mapper/AssEstimateScheduleMapper.java @@ -0,0 +1,33 @@ +package com.gkhy.assess.system.mapper; + +import com.gkhy.assess.system.domain.AssEstimateSchedule; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * <p> + * 评价日程安排表 Mapper 接口 + * </p> + * + * @author kzy + * @since 2023-12-12 10:46:54 + */ +@Mapper +public interface AssEstimateScheduleMapper extends BaseMapper<AssEstimateSchedule> { + + /** + * 根据项目id获取评价日程安排表 + * @param projectId + * @return + */ + List<AssEstimateSchedule> getEstimateScheduleByProjectId(Long projectId); + + /** + * 根据id批量删除评价日程 + * @param ids + * @return + */ + int deleteEstimateScheduleByIds(List<Long> ids); +} diff --git a/assess-system/src/main/java/com/gkhy/assess/system/mapper/AssEstimateTaskMapper.java b/assess-system/src/main/java/com/gkhy/assess/system/mapper/AssEstimateTaskMapper.java new file mode 100644 index 0000000..45af0ed --- /dev/null +++ b/assess-system/src/main/java/com/gkhy/assess/system/mapper/AssEstimateTaskMapper.java @@ -0,0 +1,39 @@ +package com.gkhy.assess.system.mapper; + +import com.gkhy.assess.system.domain.AssEstimateTask; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +/** + * <p> + * 评价认为通知表 Mapper 接口 + * </p> + * + * @author kzy + * @since 2023-12-12 10:46:54 + */ +@Mapper +public interface AssEstimateTaskMapper extends BaseMapper<AssEstimateTask> { + /** + * 根据项目id获取评价任务通知数量 + * @param projectId + * @return + */ + int getCountByProjectId(Long projectId); + + /** + * 根据项目id获取评价任务通知 + * @param projectId + * @return + */ + AssEstimateTask getTaskByProjectId(Long projectId); + + /** + * 根据id获取评价任务通知 + * @param taskId + * @return + */ + AssEstimateTask getTaskById(Long taskId); + + +} diff --git a/assess-system/src/main/java/com/gkhy/assess/system/mapper/AssFaceRecognitionMapper.java b/assess-system/src/main/java/com/gkhy/assess/system/mapper/AssFaceRecognitionMapper.java new file mode 100644 index 0000000..8530086 --- /dev/null +++ b/assess-system/src/main/java/com/gkhy/assess/system/mapper/AssFaceRecognitionMapper.java @@ -0,0 +1,47 @@ +package com.gkhy.assess.system.mapper; + +import com.gkhy.assess.system.domain.AssFaceRecognition; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * <p> + * 签字确认表 Mapper 接口 + * </p> + * + * @author kzy + * @since 2023-12-12 10:46:54 + */ +@Mapper +public interface AssFaceRecognitionMapper extends BaseMapper<AssFaceRecognition> { + /** + * 根据项目id获取签字确认数量 + * @param projectId + * @return + */ + int getCountByProjectId(Long projectId); + + /** + * 根据项目id获取签字确认 + * @param projectId + * @return + */ + List<AssFaceRecognition> getFaceRecognitionByProjectId(Long projectId); + + /** + * 根据id获取签字确认 + * @param faceRecognitionId + * @return + */ + AssFaceRecognition getFaceRecognitionById(Long faceRecognitionId); + + + /** + * 获取项目签字确认数量 + * @param projectId + * @return + */ + int getFaceRecognitionCount(Long projectId); +} diff --git a/assess-system/src/main/java/com/gkhy/assess/system/mapper/AssFaceRecordMapper.java b/assess-system/src/main/java/com/gkhy/assess/system/mapper/AssFaceRecordMapper.java new file mode 100644 index 0000000..025f1b8 --- /dev/null +++ b/assess-system/src/main/java/com/gkhy/assess/system/mapper/AssFaceRecordMapper.java @@ -0,0 +1,27 @@ +package com.gkhy.assess.system.mapper; + +import com.gkhy.assess.system.domain.AssFaceRecord; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * <p> + * 现场勘验人员人脸识别记录表 Mapper 接口 + * </p> + * + * @author kzy + * @since 2023-12-12 10:46:54 + */ +@Mapper +public interface AssFaceRecordMapper extends BaseMapper<AssFaceRecord> { + /** + * 获取人脸识别列表 + * @param projectId + * @return + */ + List<AssFaceRecord> faceRecordList(@Param("projectId") Long projectId, @Param("scene") Integer scene); + +} diff --git a/assess-system/src/main/java/com/gkhy/assess/system/mapper/AssFilingApplyMapper.java b/assess-system/src/main/java/com/gkhy/assess/system/mapper/AssFilingApplyMapper.java new file mode 100644 index 0000000..d0f3ce3 --- /dev/null +++ b/assess-system/src/main/java/com/gkhy/assess/system/mapper/AssFilingApplyMapper.java @@ -0,0 +1,25 @@ +package com.gkhy.assess.system.mapper; + +import com.gkhy.assess.system.domain.AssFilingApply; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * <p> + * 报备申请表 Mapper 接口 + * </p> + * + * @author kzy + * @since 2023-12-12 10:46:54 + */ +@Mapper +public interface AssFilingApplyMapper extends BaseMapper<AssFilingApply> { + /** + * 根据项目id获取报备列表 + * @param projectId + * @return + */ + List<AssFilingApply> getFilingApplyByProjectId(Long projectId); +} diff --git a/assess-system/src/main/java/com/gkhy/assess/system/mapper/AssInvestigationMapper.java b/assess-system/src/main/java/com/gkhy/assess/system/mapper/AssInvestigationMapper.java new file mode 100644 index 0000000..559ab35 --- /dev/null +++ b/assess-system/src/main/java/com/gkhy/assess/system/mapper/AssInvestigationMapper.java @@ -0,0 +1,41 @@ +package com.gkhy.assess.system.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.gkhy.assess.system.domain.AssInvestigation; +import org.apache.ibatis.annotations.Mapper; + +/** + * <p> + * 现场勘验记录表 Mapper 接口 + * </p> + * + * @author kzy + * @since 2023-12-12 10:46:54 + */ +@Mapper +public interface AssInvestigationMapper extends BaseMapper<AssInvestigation> { + + /** + * 根据项目id获取现场勘验记录数量 + * @param projectId + * @return + */ + int getCountByProjectId(Long projectId); + + + /** + * 根据项目id获取现场勘验记录 + * @param projectId + * @return + */ + AssInvestigation getInvestigationByProjectId(Long projectId); + + /** + * 根据id获取现场勘验记录 + * @param investigationId + * @return + */ + AssInvestigation getInvestigationById(Long investigationId); + + +} diff --git a/assess-system/src/main/java/com/gkhy/assess/system/mapper/AssPlanPersonMapper.java b/assess-system/src/main/java/com/gkhy/assess/system/mapper/AssPlanPersonMapper.java new file mode 100644 index 0000000..df83799 --- /dev/null +++ b/assess-system/src/main/java/com/gkhy/assess/system/mapper/AssPlanPersonMapper.java @@ -0,0 +1,47 @@ +package com.gkhy.assess.system.mapper; + +import com.gkhy.assess.system.domain.AssPlanPerson; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * <p> + * 评价项目组成员表 Mapper 接口 + * </p> + * + * @author kzy + * @since 2023-12-12 10:46:54 + */ +@Mapper +public interface AssPlanPersonMapper extends BaseMapper<AssPlanPerson> { + /** + * 根据项目id获取项目普通成员 + * @param projectId + * @return + */ + List<AssPlanPerson> getPlanPersonByProjectId(Long projectId); + + /** + * 根据项目id获取项目成员,包括负责人,技术负责人,过程负责人等 + * @param projectId + * @return + */ + List<AssPlanPerson> getAllPlanPersonByProjectId(Long projectId); + + /** + * 根据id删除项目成员 + * @param ids + * @return + */ + int deletePlanPersonByIds(List<Long> ids); + + /** + * 根据id列表获取项目组成员 + * @param ids + * @return + */ + List<AssPlanPerson> getPlanPersonsByIds(List<Long> ids); + +} diff --git a/assess-system/src/main/java/com/gkhy/assess/system/mapper/AssProcessAuditMapper.java b/assess-system/src/main/java/com/gkhy/assess/system/mapper/AssProcessAuditMapper.java new file mode 100644 index 0000000..0d67da3 --- /dev/null +++ b/assess-system/src/main/java/com/gkhy/assess/system/mapper/AssProcessAuditMapper.java @@ -0,0 +1,38 @@ +package com.gkhy.assess.system.mapper; + +import com.gkhy.assess.system.domain.AssProcessAudit; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +/** + * <p> + * 过程控制负责人审核表 Mapper 接口 + * </p> + * + * @author kzy + * @since 2023-12-12 10:46:54 + */ +@Mapper +public interface AssProcessAuditMapper extends BaseMapper<AssProcessAudit> { + /** + * 根据项目id获取过程控制数量 + * @param projectId + * @return + */ + int getCountByProjectId(Long projectId); + + /** + * 根据项目id获取过程控制 + * @param projectId + * @return + */ + AssProcessAudit getProcessAuditByProjectId(Long projectId); + + /** + * 根据id获取过程控制 + * @param processAuditId + * @return + */ + AssProcessAudit getProcessAuditById(Long processAuditId); + +} diff --git a/assess-system/src/main/java/com/gkhy/assess/system/mapper/AssProjectMapper.java b/assess-system/src/main/java/com/gkhy/assess/system/mapper/AssProjectMapper.java new file mode 100644 index 0000000..8f1747b --- /dev/null +++ b/assess-system/src/main/java/com/gkhy/assess/system/mapper/AssProjectMapper.java @@ -0,0 +1,82 @@ +package com.gkhy.assess.system.mapper; + +import com.gkhy.assess.system.domain.AssProject; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.gkhy.assess.system.domain.vo.PersonProjectVO; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * <p> + * 项目表 Mapper 接口 + * </p> + * + * @author kzy + * @since 2023-12-11 14:16:18 + */ +@Mapper +public interface AssProjectMapper extends BaseMapper<AssProject> { + + /** + * 项目列表 + * @param project + * @return + */ + List<AssProject> projectList(AssProject project); + + + /** + * 根据id获取项目详情 + * @param projectId + * @return + */ + AssProject getProjectById(Long projectId); + + /** + * 根据项目名称获取项目 + * @param name + * @return + */ + AssProject getProjectByName(String name); + + /** + * 获取项目状态 + * @param projectId + * @return + */ + Integer getReportProgress(Long projectId); + + /** + * 根据项目组成员id获取项目 + * @param personId + * @param finish + * @return + */ + List<AssProject> getMemberProjectByUserId(@Param("personId") Long personId,@Param("finish") Integer finish,@Param("agencyId") Long agencyId); + + + /** + * 根据项目组长id获取项目 + * @param personId + * @return + */ + List<AssProject> getLeaderProjectByUserId(@Param("personId")Long personId,@Param("agencyId")Long agencyId); + + /** + * 获取项目总数 + * @param project + * @return + */ + Integer getProjectCount(AssProject project); + + /** + * 根据成员id列表汇总项目数量 + * @param personIds + * @return + */ + List<PersonProjectVO> getProjectByPersonIds(List<Long> personIds); + + +} diff --git a/assess-system/src/main/java/com/gkhy/assess/system/mapper/AssProjectMaterialMapper.java b/assess-system/src/main/java/com/gkhy/assess/system/mapper/AssProjectMaterialMapper.java new file mode 100644 index 0000000..484237b --- /dev/null +++ b/assess-system/src/main/java/com/gkhy/assess/system/mapper/AssProjectMaterialMapper.java @@ -0,0 +1,39 @@ +package com.gkhy.assess.system.mapper; + +import com.gkhy.assess.system.domain.AssProjectMaterial; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import java.util.List; + +/** + * <p> + * 项目归档文件表 Mapper 接口 + * </p> + * + * @author kzy + * @since 2023-12-12 10:46:54 + */ +@Mapper +public interface AssProjectMaterialMapper extends BaseMapper<AssProjectMaterial> { + /** + * 根据项目id获取项目归档数量 + * @param projectId + * @return + */ + int getCountByProjectId(Long projectId); + + /** + * 根据项目id获取项目归档 + * @param projectId + * @return + */ + List<AssProjectMaterial> getProjectMaterialByProjectId(Long projectId); + + /** + * 根据id或许项目归档 + * @param projectMaterialId + * @return + */ + AssProjectMaterial getProjectMaterialById(Long projectMaterialId); + +} diff --git a/assess-system/src/main/java/com/gkhy/assess/system/mapper/AssRecitificationMapper.java b/assess-system/src/main/java/com/gkhy/assess/system/mapper/AssRecitificationMapper.java new file mode 100644 index 0000000..83cbd67 --- /dev/null +++ b/assess-system/src/main/java/com/gkhy/assess/system/mapper/AssRecitificationMapper.java @@ -0,0 +1,28 @@ +package com.gkhy.assess.system.mapper; + +import com.gkhy.assess.system.domain.AssRecitification; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * <p> + * 项目整改情况说明表 Mapper 接口 + * </p> + * + * @author kzy + * @since 2023-12-12 10:46:54 + */ +@Mapper +public interface AssRecitificationMapper extends BaseMapper<AssRecitification> { + + /** + * 分页获取整改情况 + * @param projectId + * @return + */ + List<AssRecitification> recitificationList(@Param("projectId") Long projectId); + +} diff --git a/assess-system/src/main/java/com/gkhy/assess/system/mapper/AssRiskEstimateMapper.java b/assess-system/src/main/java/com/gkhy/assess/system/mapper/AssRiskEstimateMapper.java new file mode 100644 index 0000000..69ac1b2 --- /dev/null +++ b/assess-system/src/main/java/com/gkhy/assess/system/mapper/AssRiskEstimateMapper.java @@ -0,0 +1,48 @@ +package com.gkhy.assess.system.mapper; + +import com.gkhy.assess.system.domain.AssProject; +import com.gkhy.assess.system.domain.AssRiskEstimate; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +/** + * <p> + * 风险评估表 Mapper 接口 + * </p> + * + * @author kzy + * @since 2023-12-12 10:46:54 + */ +@Mapper +public interface AssRiskEstimateMapper extends BaseMapper<AssRiskEstimate> { + + /** + * 根据项目id获取项目风险评估详情 + * @param projectId + * @return + */ + AssRiskEstimate getRiskEstimateByProjectId(Long projectId); + + /** + * 根据id获取风险评估 + * @param riskId + * @return + */ + AssRiskEstimate getRiskEstimateById(Long riskId); + + + /** + * 根据风险评估id获取项目 + * @param riskId + * @return + */ + AssProject getProjectByRiskId(Long riskId); + + + /** + * 根据项目id获取风险评估数量 + * @param projectId + * @return + */ + int getCountByProjectId(Long projectId); +} diff --git a/assess-system/src/main/java/com/gkhy/assess/system/mapper/AssWorkNotificationMapper.java b/assess-system/src/main/java/com/gkhy/assess/system/mapper/AssWorkNotificationMapper.java new file mode 100644 index 0000000..c12a4d3 --- /dev/null +++ b/assess-system/src/main/java/com/gkhy/assess/system/mapper/AssWorkNotificationMapper.java @@ -0,0 +1,38 @@ +package com.gkhy.assess.system.mapper; + +import com.gkhy.assess.system.domain.AssWorkNotification; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +/** + * <p> + * 从业告知表 Mapper 接口 + * </p> + * + * @author kzy + * @since 2023-12-12 10:46:54 + */ +@Mapper +public interface AssWorkNotificationMapper extends BaseMapper<AssWorkNotification> { + /** + * 根据项目id获取从业告知数量 + * @param projectId + * @return + */ + int getCountByProjectId(Long projectId); + + /** + * 根据项目id获取从业告知 + * @param projectId + * @return + */ + AssWorkNotification getWorkNotificationByProjectId(Long projectId); + + /** + * 根据id获取从业告知 + * @param workNotificationId + * @return + */ + AssWorkNotification getWorkNotificationById(Long workNotificationId); + +} diff --git a/assess-system/src/main/java/com/gkhy/assess/system/mapper/SysAgencyMapper.java b/assess-system/src/main/java/com/gkhy/assess/system/mapper/SysAgencyMapper.java index c702e64..092835a 100644 --- a/assess-system/src/main/java/com/gkhy/assess/system/mapper/SysAgencyMapper.java +++ b/assess-system/src/main/java/com/gkhy/assess/system/mapper/SysAgencyMapper.java @@ -23,12 +23,6 @@ */ SysAgency checkAgencyNameUnique(String name); - /** - * 根据id删除机构 - * @param agencyId - * @return - */ - int deleteAgencyById(Long agencyId); /** * 根据条件查询机构列表 diff --git a/assess-system/src/main/java/com/gkhy/assess/system/mapper/SysAttachMapper.java b/assess-system/src/main/java/com/gkhy/assess/system/mapper/SysAttachMapper.java index 2e55e73..abeb7ea 100644 --- a/assess-system/src/main/java/com/gkhy/assess/system/mapper/SysAttachMapper.java +++ b/assess-system/src/main/java/com/gkhy/assess/system/mapper/SysAttachMapper.java @@ -33,4 +33,12 @@ * @return */ int deleteAttachsByUserId(Long userId, Integer type); + + + /** + * 根据ids批量删除附件 + * @param ids + * @return + */ + int deleteAttachsByIds(List<Long> ids); } diff --git a/assess-system/src/main/java/com/gkhy/assess/system/mapper/SysDictTypeMapper.java b/assess-system/src/main/java/com/gkhy/assess/system/mapper/SysDictTypeMapper.java index 4871cec..1d6445b 100644 --- a/assess-system/src/main/java/com/gkhy/assess/system/mapper/SysDictTypeMapper.java +++ b/assess-system/src/main/java/com/gkhy/assess/system/mapper/SysDictTypeMapper.java @@ -3,6 +3,7 @@ import com.gkhy.assess.system.domain.SysDictType; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; import java.util.List; @@ -35,7 +36,7 @@ * @param dictType * @return */ - SysDictType checkDictTypeUnique(String dictType); + SysDictType checkDictTypeUnique(@Param("dictType") String dictType, @Param("name") String name); /** * 根据类型获取数据字典 diff --git a/assess-system/src/main/java/com/gkhy/assess/system/mapper/SysExpertInfoMapper.java b/assess-system/src/main/java/com/gkhy/assess/system/mapper/SysExpertInfoMapper.java index abab04d..d945c6f 100644 --- a/assess-system/src/main/java/com/gkhy/assess/system/mapper/SysExpertInfoMapper.java +++ b/assess-system/src/main/java/com/gkhy/assess/system/mapper/SysExpertInfoMapper.java @@ -36,4 +36,11 @@ * @return */ int deleteBatchByIds(Long[] expertIds); + + /** + * 根据id获取专家信息 + * @param expertId + * @return + */ + SysExpertInfo getExpertInfoById(Long expertId); } diff --git a/assess-system/src/main/java/com/gkhy/assess/system/mapper/SysUserFaceMapper.java b/assess-system/src/main/java/com/gkhy/assess/system/mapper/SysUserFaceMapper.java new file mode 100644 index 0000000..7c253c0 --- /dev/null +++ b/assess-system/src/main/java/com/gkhy/assess/system/mapper/SysUserFaceMapper.java @@ -0,0 +1,23 @@ +package com.gkhy.assess.system.mapper; + +import com.gkhy.assess.system.domain.SysUserFace; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +/** + * <p> + * 用户人脸数据表 Mapper 接口 + * </p> + * + * @author kzy + * @since 2024-01-09 17:10:01 + */ +@Mapper +public interface SysUserFaceMapper extends BaseMapper<SysUserFace> { + /** + * 根据用户id获取人脸识别数据 + * @param userId + * @return + */ + SysUserFace getFaceByUserId(Long userId); +} diff --git a/assess-system/src/main/java/com/gkhy/assess/system/mapper/SysUserMapper.java b/assess-system/src/main/java/com/gkhy/assess/system/mapper/SysUserMapper.java index f4b8f2f..ece8e63 100644 --- a/assess-system/src/main/java/com/gkhy/assess/system/mapper/SysUserMapper.java +++ b/assess-system/src/main/java/com/gkhy/assess/system/mapper/SysUserMapper.java @@ -73,19 +73,7 @@ */ public SysUser getUserById(Long userId); - /** - * 删除用户 - * @param userId - * @return - */ - public int deleteUserById(Long userId); - /** - * 批量删除用户 - * @param userIds - * @return - */ - public int deleteUserByIds(Long[] userIds); /** * 校验用户名称是否唯一 diff --git a/assess-system/src/main/java/com/gkhy/assess/system/service/AssAccessoryFileService.java b/assess-system/src/main/java/com/gkhy/assess/system/service/AssAccessoryFileService.java new file mode 100644 index 0000000..f1eb175 --- /dev/null +++ b/assess-system/src/main/java/com/gkhy/assess/system/service/AssAccessoryFileService.java @@ -0,0 +1,57 @@ +package com.gkhy.assess.system.service; + +import com.gkhy.assess.system.domain.AssAccessoryFile; +import com.baomidou.mybatisplus.extension.service.IService; +import org.springframework.web.multipart.MultipartFile; + +import java.util.List; + +/** + * <p> + * 评估文件上传记录表 服务类 + * </p> + * + * @author kzy + * @since 2023-12-12 10:46:54 + */ +public interface AssAccessoryFileService extends IService<AssAccessoryFile> { + /** + * 上传评估文件(包括图片、文件、视频等) + * @param projectId + * @param moduleType + * @param file + * @return + */ + AssAccessoryFile uploadFile(Long projectId,Integer moduleType,MultipartFile file); + + /** + * 根据项目id获取评估文件 + * @param projectId + * @param moduleType + * @return + */ + List<AssAccessoryFile> getAccessoryFileByProjectId(Long projectId, Integer moduleType); + + /** + * 根据id删除评估文件 + * @param accessoryFileId + * @return + */ + int deleteById(Long accessoryFileId); + + /** + * 根据项目id批量删除评估文件 + * @param projectId + * @param moduleType + * @return + */ + int deleteByProjectId(Long projectId,Integer moduleType); + + /** + * 获取数量 + * @param projectId + * @param moduleType + * @return + */ + Integer getAccessoryFileCountByProjectId(Long projectId, Integer moduleType); +} diff --git a/assess-system/src/main/java/com/gkhy/assess/system/service/AssAuditService.java b/assess-system/src/main/java/com/gkhy/assess/system/service/AssAuditService.java new file mode 100644 index 0000000..ec81453 --- /dev/null +++ b/assess-system/src/main/java/com/gkhy/assess/system/service/AssAuditService.java @@ -0,0 +1,43 @@ +package com.gkhy.assess.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.gkhy.assess.system.domain.AssAudit; + +/** + * <p> + * 审核表 服务类 + * </p> + * + * @author kzy + * @since 2023-12-12 10:46:54 + */ +public interface AssAuditService extends IService<AssAudit> { + + /** + * 新增审核 + * @param audit + * @return + */ + int addAudit(AssAudit audit); + + /** + * 修改审核 + * @param audit + * @return + */ + int editAudit(AssAudit audit); + + /** + * 根据项目id获取审核 + * @param projectId + * @return + */ + AssAudit getAuditByProjectId(Long projectId,Integer auditType); + + /** + * 根据id获取审核 + * @param auditId + * @return + */ + AssAudit getAuditById(Long auditId); +} diff --git a/assess-system/src/main/java/com/gkhy/assess/system/service/AssConclusionService.java b/assess-system/src/main/java/com/gkhy/assess/system/service/AssConclusionService.java new file mode 100644 index 0000000..a10774f --- /dev/null +++ b/assess-system/src/main/java/com/gkhy/assess/system/service/AssConclusionService.java @@ -0,0 +1,45 @@ +package com.gkhy.assess.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.gkhy.assess.system.domain.AssConclusion; + +/** + * <p> + * 项目结论表 服务类 + * </p> + * + * @author kzy + * @since 2023-12-12 10:46:54 + */ +public interface AssConclusionService extends IService<AssConclusion> { + + /** + * 新增评审结论 + * @param conclusion + * @return + */ + int addConclusion(AssConclusion conclusion); + + /** + * 修改评审结论 + * @param conclusion + * @return + */ + int editConclusion(AssConclusion conclusion); + + /** + * 根据项目id获取评审结论 + * @param projectId + * @return + */ + AssConclusion getConclusionByProjectId(Long projectId); + + + /** + * 根据id获取评审结论 + * @param conclusionId + * @return + */ + AssConclusion getConclusionById(Long conclusionId); + +} diff --git a/assess-system/src/main/java/com/gkhy/assess/system/service/AssConfirmFinalService.java b/assess-system/src/main/java/com/gkhy/assess/system/service/AssConfirmFinalService.java new file mode 100644 index 0000000..919dd0c --- /dev/null +++ b/assess-system/src/main/java/com/gkhy/assess/system/service/AssConfirmFinalService.java @@ -0,0 +1,21 @@ +package com.gkhy.assess.system.service; + +import java.util.Map; + +/** + * <p> + * 确认完结服务类 + * </p> + * + * @author kzy + * @since 2023-12-12 10:46:54 + */ +public interface AssConfirmFinalService { + + /** + * 确认完结 + * @param map + * @return + */ + void doConfirmFinal(Map map); +} diff --git a/assess-system/src/main/java/com/gkhy/assess/system/service/AssContractService.java b/assess-system/src/main/java/com/gkhy/assess/system/service/AssContractService.java new file mode 100644 index 0000000..7c552a4 --- /dev/null +++ b/assess-system/src/main/java/com/gkhy/assess/system/service/AssContractService.java @@ -0,0 +1,45 @@ +package com.gkhy.assess.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.gkhy.assess.system.domain.AssContract; + +/** + * <p> + * 合同管理表 服务类 + * </p> + * + * @author kzy + * @since 2023-12-12 10:46:54 + */ +public interface AssContractService extends IService<AssContract> { + + + /** + * 新增合同 + * @param contract + * @return + */ + int addContract(AssContract contract); + + /** + * 修改合同 + * @param contract + * @return + */ + int editContract(AssContract contract); + + /** + * 根据项目id获取项目合同 + * @param projectId + * @return + */ + AssContract getContractByProjectId(Long projectId); + + + /** + * 根据id获取合同详情 + * @param contractId + * @return + */ + AssContract getContractById(Long contractId); +} diff --git a/assess-system/src/main/java/com/gkhy/assess/system/service/AssDeviceService.java b/assess-system/src/main/java/com/gkhy/assess/system/service/AssDeviceService.java new file mode 100644 index 0000000..c6e381f --- /dev/null +++ b/assess-system/src/main/java/com/gkhy/assess/system/service/AssDeviceService.java @@ -0,0 +1,66 @@ +package com.gkhy.assess.system.service; + +import com.gkhy.assess.system.domain.AssDevice; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + * <p> + * 设备表 服务类 + * </p> + * + * @author kzy + * @since 2023-12-12 10:46:54 + */ +public interface AssDeviceService extends IService<AssDevice> { + /** + * 新增设备 + * @param device + * @return + */ + int addDevice(AssDevice device); + + /** + * 修改设备 + * @param device + * @return + */ + int editDevice(AssDevice device); + + /** + * 删除设备 + * @param deviceId + * @return + */ + int deleteById(Long deviceId); + + /** + * 根据id获取报备 + * @param deviceId + * @return + */ + AssDevice getDeviceById(Long deviceId); + + + /** + * 检验设备名称是否唯一 + * @param device + * @return + */ + boolean checkNameUnique(AssDevice device); + + /** + * 根据项目id获取设备列表 + * @param projectId + * @return + */ + List<AssDevice> getByProjectId(Long projectId); + + /** + * 批量删除设备 + * @param ids + * @return + */ + int deleteByIds(List<Long> ids,Long projectId); +} diff --git a/assess-system/src/main/java/com/gkhy/assess/system/service/AssEstimatePlanService.java b/assess-system/src/main/java/com/gkhy/assess/system/service/AssEstimatePlanService.java new file mode 100644 index 0000000..17242ae --- /dev/null +++ b/assess-system/src/main/java/com/gkhy/assess/system/service/AssEstimatePlanService.java @@ -0,0 +1,44 @@ +package com.gkhy.assess.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.gkhy.assess.system.domain.AssEstimatePlan; + +/** + * <p> + * 评价项目计划表 服务类 + * </p> + * + * @author kzy + * @since 2023-12-12 10:46:54 + */ +public interface AssEstimatePlanService extends IService<AssEstimatePlan> { + + /** + * 新增评价计划 + * @param estimatePlan + * @return + */ + int addEstimatePlan(AssEstimatePlan estimatePlan); + + /** + * 修改评价计划 + * @param estimatePlan + * @return + */ + int editEstimatePlan(AssEstimatePlan estimatePlan); + + /** + * 根据项目id获取评价计划 + * @param projectId + * @return + */ + AssEstimatePlan getEstimatePlanByProjectId(Long projectId); + + + /** + * 根据id获取评价计划详情 + * @param estimatePlanId + * @return + */ + AssEstimatePlan getEstimatePlanById(Long estimatePlanId); +} diff --git a/assess-system/src/main/java/com/gkhy/assess/system/service/AssEstimateScheduleService.java b/assess-system/src/main/java/com/gkhy/assess/system/service/AssEstimateScheduleService.java new file mode 100644 index 0000000..7a18d8a --- /dev/null +++ b/assess-system/src/main/java/com/gkhy/assess/system/service/AssEstimateScheduleService.java @@ -0,0 +1,39 @@ +package com.gkhy.assess.system.service; + +import com.gkhy.assess.system.domain.AssEstimateSchedule; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + * <p> + * 评价日程安排表 服务类 + * </p> + * + * @author kzy + * @since 2023-12-12 10:46:54 + */ +public interface AssEstimateScheduleService extends IService<AssEstimateSchedule> { + /** + * 根据项目id获取评价日程安排 + * @param projectId + * @return + */ + List<AssEstimateSchedule> getByProjectId(Long projectId); + + + /** + * 新增日程安排 + * @param estimateSchedule + * @return + */ + int addSchedule(AssEstimateSchedule estimateSchedule); + + /** + * 编辑日程安排 + * @param estimateSchedule + * @return + */ + int editSchedule(AssEstimateSchedule estimateSchedule); + +} diff --git a/assess-system/src/main/java/com/gkhy/assess/system/service/AssEstimateTaskService.java b/assess-system/src/main/java/com/gkhy/assess/system/service/AssEstimateTaskService.java new file mode 100644 index 0000000..24dbe54 --- /dev/null +++ b/assess-system/src/main/java/com/gkhy/assess/system/service/AssEstimateTaskService.java @@ -0,0 +1,43 @@ +package com.gkhy.assess.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.gkhy.assess.system.domain.AssEstimateTask; + +/** + * <p> + * 评价任务通知表 服务类 + * </p> + * + * @author kzy + * @since 2023-12-12 10:46:54 + */ +public interface AssEstimateTaskService extends IService<AssEstimateTask> { + + /** + * 新增评价任务通知 + * @param estimateTask + * @return + */ + int addEstimateTask(AssEstimateTask estimateTask); + + /** + * 编辑评价任务通知 + * @param estimateTask + * @return + */ + int editEstimateTask(AssEstimateTask estimateTask); + + /** + * 根据项目id获取评价任务通知 + * @param projectId + * @return + */ + AssEstimateTask getEstimateTaskByProjectId(Long projectId); + + /** + * 根据id获取评价任务通知详情 + * @param taskId + * @return + */ + AssEstimateTask getEstimateTaskById(Long taskId); +} diff --git a/assess-system/src/main/java/com/gkhy/assess/system/service/AssFaceRecognitionService.java b/assess-system/src/main/java/com/gkhy/assess/system/service/AssFaceRecognitionService.java new file mode 100644 index 0000000..254d831 --- /dev/null +++ b/assess-system/src/main/java/com/gkhy/assess/system/service/AssFaceRecognitionService.java @@ -0,0 +1,67 @@ +package com.gkhy.assess.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.gkhy.assess.system.domain.AssFaceRecognition; + +import java.util.List; +import java.util.Map; + +/** + * <p> + * 签字确认表 服务类 + * </p> + * + * @author kzy + * @since 2023-12-12 10:46:54 + */ +public interface AssFaceRecognitionService extends IService<AssFaceRecognition> { + /** + * 项目状态流转 + * @param map + */ + void doFaceRecognition(Map map); + + /** + * 新增签字确认 + * @param faceRecognition + * @return + */ + int addFaceRecognition(AssFaceRecognition faceRecognition); + + /** + * 修改签字确认 + * @param faceRecognition + * @return + */ + int editFaceRecognition(AssFaceRecognition faceRecognition); + + /** + * 根据项目id获取签字确认 + * @param projectId + * @return + */ + List<AssFaceRecognition> getFaceRecognitionByProjectId(Long projectId); + + + /** + * 根据id获取签字确认 + * @param faceRecognitionId + * @return + */ + AssFaceRecognition getFaceRecognitionById(Long faceRecognitionId); + + /** + * 根据成员id获取签字确认 + * @param projectId + * @param personId + * @return + */ + AssFaceRecognition getRecognitionByPersonId(Long projectId, Long personId); + + /** + * 校验是否都签字确认 + * @param projectId + * @return + */ + Boolean checkAllFaceRecongnition(Long projectId); +} diff --git a/assess-system/src/main/java/com/gkhy/assess/system/service/AssFaceRecordService.java b/assess-system/src/main/java/com/gkhy/assess/system/service/AssFaceRecordService.java new file mode 100644 index 0000000..b1a094c --- /dev/null +++ b/assess-system/src/main/java/com/gkhy/assess/system/service/AssFaceRecordService.java @@ -0,0 +1,46 @@ +package com.gkhy.assess.system.service; + +import com.gkhy.assess.system.domain.AssFaceRecord; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + * <p> + * 现场勘验人员人脸识别记录表 服务类 + * </p> + * + * @author kzy + * @since 2023-12-12 10:46:54 + */ +public interface AssFaceRecordService extends IService<AssFaceRecord> { + /** + * 新增人脸识别 + * @param faceRecord + * @return + */ + int addFaceRecord(AssFaceRecord faceRecord); + + /** + * 获取人脸识别列表 + * @param projectId + * @return + */ + List<AssFaceRecord> faceRecordList(Long projectId,Integer scene); + + /** + * 编辑人脸识别 + * @param faceRecord + * @return + */ + int editFaceRecord(AssFaceRecord faceRecord); + + /** + * 删除人脸识别 + * @param faceId + * @return + */ + int deleteById(Long faceId); + + +} diff --git a/assess-system/src/main/java/com/gkhy/assess/system/service/AssFilingApplyService.java b/assess-system/src/main/java/com/gkhy/assess/system/service/AssFilingApplyService.java new file mode 100644 index 0000000..15b473a --- /dev/null +++ b/assess-system/src/main/java/com/gkhy/assess/system/service/AssFilingApplyService.java @@ -0,0 +1,53 @@ +package com.gkhy.assess.system.service; + +import com.gkhy.assess.system.domain.AssFilingApply; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + * <p> + * 报备申请表 服务类 + * </p> + * + * @author kzy + * @since 2023-12-12 10:46:54 + */ +public interface AssFilingApplyService extends IService<AssFilingApply> { + + /** + * 新增报备 + * @param filingApply + * @return + */ + int addFilingApply(AssFilingApply filingApply); + + /** + * 修改报备 + * @param filingApply + * @return + */ + int editFilingApply(AssFilingApply filingApply); + + /** + * 根据项目id获取报备 + * @param projectId + * @return + */ + List<AssFilingApply> getFilingApplyByProjectId(Long projectId); + + /** + * 删除报备 + * @param filingApplyId + * @return + */ + int deleteById(Long filingApplyId); + + /** + * 根据id获取报备 + * @param filingApplyId + * @return + */ + AssFilingApply getFilingApplyById(Long filingApplyId); + +} diff --git a/assess-system/src/main/java/com/gkhy/assess/system/service/AssInvestigationService.java b/assess-system/src/main/java/com/gkhy/assess/system/service/AssInvestigationService.java new file mode 100644 index 0000000..4e8d8dd --- /dev/null +++ b/assess-system/src/main/java/com/gkhy/assess/system/service/AssInvestigationService.java @@ -0,0 +1,50 @@ +package com.gkhy.assess.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.gkhy.assess.system.domain.AssInvestigation; + +/** + * <p> + * 现场勘验记录表 服务类 + * </p> + * + * @author kzy + * @since 2023-12-12 10:46:54 + */ +public interface AssInvestigationService extends IService<AssInvestigation> { + + /** + * 新增勘验记录 + * @param investigation + * @return + */ + int addInvestigation(AssInvestigation investigation,String requestSourceType); + + /** + * 修改勘验记录 + * @param investigation + * @return + */ + int editInvestigation(AssInvestigation investigation); + + /** + * 根据项目id获取勘验记录 + * @param projectId + * @return + */ + AssInvestigation getInvestigationByProjectId(Long projectId); + + + /** + * 根据id获取勘验记录 + * @param investigationId + * @return + */ + AssInvestigation getInvestigationById(Long investigationId); + + /** + * 项目状态流转 + * @param projectId + */ + void doInvestigationProcess(Long projectId); +} diff --git a/assess-system/src/main/java/com/gkhy/assess/system/service/AssPlanPersonService.java b/assess-system/src/main/java/com/gkhy/assess/system/service/AssPlanPersonService.java new file mode 100644 index 0000000..8c18244 --- /dev/null +++ b/assess-system/src/main/java/com/gkhy/assess/system/service/AssPlanPersonService.java @@ -0,0 +1,66 @@ +package com.gkhy.assess.system.service; + +import com.gkhy.assess.system.domain.AssPlanPerson; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + * <p> + * 评价项目组成员表 服务类 + * </p> + * + * @author kzy + * @since 2023-12-12 10:46:54 + */ +public interface AssPlanPersonService extends IService<AssPlanPerson> { + + /** + * 根据项目id获取项目成员 + * @param projectId + * @return + */ + List<AssPlanPerson> getByProjectId(Long projectId); + + + /** + * 新增项目组成员 + * @param planPerson + * @return + */ + int addPlanPerson(AssPlanPerson planPerson); + + /** + * 编辑项目组成员 + * @param planPerson + * @return + */ + int editPlanPerson(AssPlanPerson planPerson); + + /** + * 根据id删除项目组成员 + * @param planPersonId + * @return + */ + int deletePlanPersonById(Long planPersonId); + + /** + * 根据成员id删除项目组成员 + * @param personId + * @return + */ + int deletePlanPersonByPersonId(Long personId); + + /** + * 校验项目成员是否唯一 + * @param planPerson + */ + void checkPersonUnique(AssPlanPerson planPerson); + + /** + * 根据成员id获取成员详细信息 + * @param personId + * @return + */ + AssPlanPerson getPlanPersonByPersonId(Long personId,Long projectId); +} diff --git a/assess-system/src/main/java/com/gkhy/assess/system/service/AssProcessAuditService.java b/assess-system/src/main/java/com/gkhy/assess/system/service/AssProcessAuditService.java new file mode 100644 index 0000000..e883d5a --- /dev/null +++ b/assess-system/src/main/java/com/gkhy/assess/system/service/AssProcessAuditService.java @@ -0,0 +1,43 @@ +package com.gkhy.assess.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.gkhy.assess.system.domain.AssProcessAudit; + +/** + * <p> + * 过程控制负责人审核表 服务类 + * </p> + * + * @author kzy + * @since 2023-12-12 10:46:54 + */ +public interface AssProcessAuditService extends IService<AssProcessAudit> { + /** + * 新增过程控制审核 + * @param processAudit + * @return + */ + int addProcessAudit(AssProcessAudit processAudit); + + /** + * 修改过程控制审核 + * @param processAudit + * @return + */ + int editProcessAudit(AssProcessAudit processAudit); + + /** + * 根据项目id获取过程控制审核 + * @param projectId + * @return + */ + AssProcessAudit getProcessAuditByProjectId(Long projectId); + + + /** + * 根据id获取过程控制审核 + * @param processAuditId + * @return + */ + AssProcessAudit getProcessAuditById(Long processAuditId); +} diff --git a/assess-system/src/main/java/com/gkhy/assess/system/service/AssProjectMaterialService.java b/assess-system/src/main/java/com/gkhy/assess/system/service/AssProjectMaterialService.java new file mode 100644 index 0000000..b641654 --- /dev/null +++ b/assess-system/src/main/java/com/gkhy/assess/system/service/AssProjectMaterialService.java @@ -0,0 +1,46 @@ +package com.gkhy.assess.system.service; + +import com.gkhy.assess.system.domain.AssProjectMaterial; +import com.baomidou.mybatisplus.extension.service.IService; +import com.gkhy.assess.system.domain.vo.ProjectMaterialVO; + +import java.util.List; + +/** + * <p> + * 项目归档文件表 服务类 + * </p> + * + * @author kzy + * @since 2023-12-12 10:46:54 + */ +public interface AssProjectMaterialService extends IService<AssProjectMaterial> { + /** + * 新增项目归档文件 + * @param projectMaterialVO + * @return + */ + int addProjectMaterial(ProjectMaterialVO projectMaterialVO); + + /** + * 修改项目归档文件 + * @param projectMaterialVO + * @return + */ + int editProjectMaterial(ProjectMaterialVO projectMaterialVO); + + /** + * 根据项目id获取项目归档文件 + * @param projectId + * @return + */ + List<AssProjectMaterial> getProjectMaterialByProjectId(Long projectId); + + + /** + * 根据id获取项目归档文件 + * @param projectMaterialId + * @return + */ + AssProjectMaterial getProjectMaterialById(Long projectMaterialId); +} diff --git a/assess-system/src/main/java/com/gkhy/assess/system/service/AssProjectService.java b/assess-system/src/main/java/com/gkhy/assess/system/service/AssProjectService.java new file mode 100644 index 0000000..b8116e4 --- /dev/null +++ b/assess-system/src/main/java/com/gkhy/assess/system/service/AssProjectService.java @@ -0,0 +1,130 @@ +package com.gkhy.assess.system.service; + +import com.gkhy.assess.common.api.CommonPage; +import com.gkhy.assess.system.domain.AssProject; +import com.baomidou.mybatisplus.extension.service.IService; +import com.gkhy.assess.system.domain.vo.ProjectStaticVO; +import com.gkhy.assess.system.enums.ReportProgressEnum; + +/** + * <p> + * 项目表 服务类 + * </p> + * + * @author kzy + * @since 2023-12-11 14:16:18 + */ +public interface AssProjectService extends IService<AssProject> { + + /** + * 根据条件分页查询项目列表 + * @param project + * @return + */ + CommonPage projectList(AssProject project); + + /** + * 根据id获取项目 + * @param projectId + * @return + */ + AssProject getProjectById(Long projectId); + + + /** + * 新增项目 + * @param project + * @return + */ + int addProject(AssProject project); + + + /** + * 根据id删除项目 + * @param projectId + * @return + */ + int deleteProjectById(Long projectId); + + /** + * 编辑项目 + * @param project + * @return + */ + int editProject(AssProject project); + + + /** + * 校验项目 + * @param projectId + */ + AssProject checkProjectDataScope(Long projectId); + + + /** + * 获取项目当前的项目过程状态 + * @param projectId + * @return + */ + Integer getProjectReportProgress(Long projectId); + + + /** + * 检验项目名称是否唯一 + * @param project + * @return + */ + boolean checkNameUnique(AssProject project); + + /** + * 校验项目状态 + * @param projectId + * @param reportProgressEnum 项目状态 + * @return + */ + void checkReportProgress(Long projectId, ReportProgressEnum reportProgressEnum); + + /** + * 修改项目状态 + * @param projectId + * @param reportProgressEnum + * @return + */ + int changeReportProgress(Long projectId,ReportProgressEnum reportProgressEnum); + + + /** + * 根据项目成员获取项目列表 分页(供app使用) + * @param personId + * @param finish + * @return + */ + CommonPage memberProjects(Long personId,Integer finish); + + + /** + * 根据项目组长id获取项目列表 分页(供app使用) + * @param personId + * @return + */ + CommonPage leaderProjects(Long personId); + + /** + * 项目统计 + * @return + */ + ProjectStaticVO projectStat(AssProject project); + + /** + * 获取项目agencyId + * @param projectId + * @return + */ + Long getProjectAgencyId(Long projectId); + + /** + * 校验当前用户是否拥有操作项目权限 + * @param projectId + */ + void checkUserAllowed(Long projectId); +} diff --git a/assess-system/src/main/java/com/gkhy/assess/system/service/AssRecitificationService.java b/assess-system/src/main/java/com/gkhy/assess/system/service/AssRecitificationService.java new file mode 100644 index 0000000..6745912 --- /dev/null +++ b/assess-system/src/main/java/com/gkhy/assess/system/service/AssRecitificationService.java @@ -0,0 +1,50 @@ +package com.gkhy.assess.system.service; + +import com.gkhy.assess.common.api.CommonPage; +import com.gkhy.assess.system.domain.AssRecitification; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * <p> + * 项目整改情况说明表 服务类 + * </p> + * + * @author kzy + * @since 2023-12-12 10:46:54 + */ +public interface AssRecitificationService extends IService<AssRecitification> { + /** + * 根据项目id分页获取整改情况 + * @param projectId + * @return + */ + CommonPage recitificationList(Long projectId); + + /** + * 新增整改情况 + * @param recitification + * @return + */ + int addRecitification(AssRecitification recitification); + + /** + * 修改整改情况 + * @param recitification + * @return + */ + int editRecitification(AssRecitification recitification); + + /** + * 删除整改情况 + * @param recitificationId + * @return + */ + int deleteById(Long recitificationId); + + /** + * 根据id获取整改情况 + * @param recitificationId + * @return + */ + AssRecitification getRecitificationById(Long recitificationId); +} diff --git a/assess-system/src/main/java/com/gkhy/assess/system/service/AssReviewRecordService.java b/assess-system/src/main/java/com/gkhy/assess/system/service/AssReviewRecordService.java new file mode 100644 index 0000000..ff107ae --- /dev/null +++ b/assess-system/src/main/java/com/gkhy/assess/system/service/AssReviewRecordService.java @@ -0,0 +1,11 @@ +package com.gkhy.assess.system.service; + +import java.util.Map; + +public interface AssReviewRecordService { + /** + * 状态流转 + * @param map + */ + void doReview(Map map); +} diff --git a/assess-system/src/main/java/com/gkhy/assess/system/service/AssRiskEstimateService.java b/assess-system/src/main/java/com/gkhy/assess/system/service/AssRiskEstimateService.java new file mode 100644 index 0000000..d185069 --- /dev/null +++ b/assess-system/src/main/java/com/gkhy/assess/system/service/AssRiskEstimateService.java @@ -0,0 +1,45 @@ +package com.gkhy.assess.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.gkhy.assess.system.domain.AssRiskEstimate; + +/** + * <p> + * 风险评估表 服务类 + * </p> + * + * @author kzy + * @since 2023-12-12 10:46:54 + */ +public interface AssRiskEstimateService extends IService<AssRiskEstimate> { + + /** + * 新增风险评估 + * @param riskEstimate + * @return + */ + Long addRiskEstimate(AssRiskEstimate riskEstimate); + + /** + * 修改风险评估 + * @param riskEstimate + * @return + */ + int editRiskEstimate(AssRiskEstimate riskEstimate); + + /** + * 根据项目id获取项目风险评估详情 + * @param projectId + * @return + */ + AssRiskEstimate getRiskEstimateByProjectId(Long projectId); + + + /** + * 根据id获取风险评估详情 + * @param riskId + * @return + */ + AssRiskEstimate getRiskEstimateById(Long riskId); + +} diff --git a/assess-system/src/main/java/com/gkhy/assess/system/service/AssWorkNotificationService.java b/assess-system/src/main/java/com/gkhy/assess/system/service/AssWorkNotificationService.java new file mode 100644 index 0000000..fffcebc --- /dev/null +++ b/assess-system/src/main/java/com/gkhy/assess/system/service/AssWorkNotificationService.java @@ -0,0 +1,44 @@ +package com.gkhy.assess.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.gkhy.assess.system.domain.AssWorkNotification; + +/** + * <p> + * 从业告知表 服务类 + * </p> + * + * @author kzy + * @since 2023-12-12 10:46:54 + */ +public interface AssWorkNotificationService extends IService<AssWorkNotification> { + + /** + * 新增从业告知 + * @param workNotification + * @return + */ + int addWorkNotification(AssWorkNotification workNotification); + + /** + * 修改从业告知 + * @param workNotification + * @return + */ + int editWorkNotification(AssWorkNotification workNotification); + + /** + * 根据项目id获取从业告知 + * @param projectId + * @return + */ + AssWorkNotification getWorkNotificationByProjectId(Long projectId); + + + /** + * 根据id获取从业告知详情 + * @param workNotificationId + * @return + */ + AssWorkNotification getWorkNotificationById(Long workNotificationId); +} diff --git a/assess-system/src/main/java/com/gkhy/assess/system/service/SysAgencyService.java b/assess-system/src/main/java/com/gkhy/assess/system/service/SysAgencyService.java index 1385517..e7e9ce6 100644 --- a/assess-system/src/main/java/com/gkhy/assess/system/service/SysAgencyService.java +++ b/assess-system/src/main/java/com/gkhy/assess/system/service/SysAgencyService.java @@ -42,4 +42,11 @@ * @return */ boolean changePublic(SysAgency agency); + + /** + * 根据id删除机构 + * @param agencyId + * @return + */ + int deleteAgencyById(Long agencyId); } diff --git a/assess-system/src/main/java/com/gkhy/assess/system/service/SysAttachService.java b/assess-system/src/main/java/com/gkhy/assess/system/service/SysAttachService.java index 13c5f0e..06dfabd 100644 --- a/assess-system/src/main/java/com/gkhy/assess/system/service/SysAttachService.java +++ b/assess-system/src/main/java/com/gkhy/assess/system/service/SysAttachService.java @@ -29,4 +29,13 @@ * @return */ int deleteAttachsByUserId(Long userId,Integer type); + + /** + * 批量删除附件 + * @param ids + * @return + */ + int deleteAttachsByIds(List<Long> ids); + + } diff --git a/assess-system/src/main/java/com/gkhy/assess/system/service/SysCommonService.java b/assess-system/src/main/java/com/gkhy/assess/system/service/SysCommonService.java index 4e22674..8a03413 100644 --- a/assess-system/src/main/java/com/gkhy/assess/system/service/SysCommonService.java +++ b/assess-system/src/main/java/com/gkhy/assess/system/service/SysCommonService.java @@ -12,6 +12,14 @@ */ public UploadObjectVO uploadFile(MultipartFile file); + UploadObjectVO doUpload(MultipartFile file); + + /** + * base64字符串 + * @param imageBase64 + * @return + */ + UploadObjectVO doUpload(String imageBase64); public boolean removeFile(String path); } diff --git a/assess-system/src/main/java/com/gkhy/assess/system/service/SysExpertInfoService.java b/assess-system/src/main/java/com/gkhy/assess/system/service/SysExpertInfoService.java index bd60fa5..9f6efe0 100644 --- a/assess-system/src/main/java/com/gkhy/assess/system/service/SysExpertInfoService.java +++ b/assess-system/src/main/java/com/gkhy/assess/system/service/SysExpertInfoService.java @@ -47,4 +47,18 @@ * @return */ int delExpertInfoBatch(Long[] expertIds); + + /** + * 根据id获取专家信息 + * @param expertId + * @return + */ + SysExpertInfo exportInfoDetail(Long expertId); + + /** + * 修改评定状态 + * @param expertInfo + * @return + */ + boolean changeApprove(SysExpertInfo expertInfo); } diff --git a/assess-system/src/main/java/com/gkhy/assess/system/service/SysUserFaceService.java b/assess-system/src/main/java/com/gkhy/assess/system/service/SysUserFaceService.java new file mode 100644 index 0000000..0096e0b --- /dev/null +++ b/assess-system/src/main/java/com/gkhy/assess/system/service/SysUserFaceService.java @@ -0,0 +1,29 @@ +package com.gkhy.assess.system.service; + +import com.gkhy.assess.system.domain.SysUserFace; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * <p> + * 用户人脸数据表 服务类 + * </p> + * + * @author kzy + * @since 2024-01-09 17:10:01 + */ +public interface SysUserFaceService extends IService<SysUserFace> { + /** + * 新增用户人脸识别数据 + * @param userFace + * @return + */ + int addUserFace(SysUserFace userFace); + + /** + * 根据用户id获取人脸数据 + * @param userId + * @return + */ + SysUserFace getFaceByUserId(Long userId); + +} diff --git a/assess-system/src/main/java/com/gkhy/assess/system/service/SysUserService.java b/assess-system/src/main/java/com/gkhy/assess/system/service/SysUserService.java index 611359d..21f10f0 100644 --- a/assess-system/src/main/java/com/gkhy/assess/system/service/SysUserService.java +++ b/assess-system/src/main/java/com/gkhy/assess/system/service/SysUserService.java @@ -25,6 +25,13 @@ AccountVO login(LoginBody loginBody); /** + * app登录 + * @param loginBody + * @return + */ + AccountVO appLogin(LoginBody loginBody); + + /** * 退出 */ void logout(); @@ -167,13 +174,6 @@ */ SysUser checkUserDataScope(Long userId); - /** - * 导入用户数据 - * @param userList - * @param isUpdateSupport 是否更新支持,如果已存在,则进行更新数据 - * @return - */ - String importUser(List<SysUser> userList,Boolean isUpdateSupport); /** * 修改用户状态 diff --git a/assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssAccessoryFileServiceImpl.java b/assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssAccessoryFileServiceImpl.java new file mode 100644 index 0000000..6e75233 --- /dev/null +++ b/assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssAccessoryFileServiceImpl.java @@ -0,0 +1,93 @@ +package com.gkhy.assess.system.service.impl; + +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gkhy.assess.common.enums.DeleteFlagEnum; +import com.gkhy.assess.common.enums.UserIdentityEnum; +import com.gkhy.assess.common.exception.ApiException; +import com.gkhy.assess.system.domain.AssAccessoryFile; +import com.gkhy.assess.system.domain.AssProject; +import com.gkhy.assess.system.domain.SysUser; +import com.gkhy.assess.system.domain.vo.UploadObjectVO; +import com.gkhy.assess.system.mapper.AssAccessoryFileMapper; +import com.gkhy.assess.system.mapper.AssProjectMapper; +import com.gkhy.assess.system.service.AssAccessoryFileService; +import com.gkhy.assess.system.service.AssProjectService; +import com.gkhy.assess.system.service.SysCommonService; +import com.gkhy.assess.system.utils.ShiroUtils; +import io.swagger.models.auth.In; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.web.multipart.MultipartFile; + +import java.util.List; + +/** + * <p> + * 评估文件上传记录表 服务实现类 + * </p> + * + * @author kzy + * @since 2023-12-12 10:46:54 + */ +@Service +public class AssAccessoryFileServiceImpl extends ServiceImpl<AssAccessoryFileMapper, AssAccessoryFile> implements AssAccessoryFileService { + + @Autowired + private SysCommonService commonService; + @Autowired + private AssProjectService projectService; + @Override + public AssAccessoryFile uploadFile(Long projectId, Integer moduleType, MultipartFile file) { + if(projectId==null||moduleType==null||file==null){ + throw new ApiException("参数或者上传文件不能为空"); + } + projectService.checkUserAllowed(projectId); + UploadObjectVO uploadObjectVO = commonService.doUpload(file); + AssAccessoryFile accessoryFile=new AssAccessoryFile() + .setFileName(uploadObjectVO.getFilename()) + .setOriginName(uploadObjectVO.getOriginName()) + .setPath(uploadObjectVO.getPath()) + .setProjectId(projectId) + .setModuleType(moduleType); + accessoryFile.setCreateBy(ShiroUtils.getSysUser().getName()); + save(accessoryFile); + return accessoryFile; + } + + @Override + public List<AssAccessoryFile> getAccessoryFileByProjectId(Long projectId, Integer moduleType) { + projectService.checkUserAllowed(projectId); + return baseMapper.getAccessoryFileByProjectId(projectId,moduleType); + } + + @Override + public Integer getAccessoryFileCountByProjectId(Long projectId, Integer moduleType) { + projectService.checkUserAllowed(projectId); + return baseMapper.getAccessoryFileCountByProjectId(projectId,moduleType); + } + + + @Override + public int deleteById(Long accessoryFileId) { + AssAccessoryFile accessoryFile=getById(accessoryFileId); + projectService.checkUserAllowed(accessoryFile.getProjectId()); + return update(Wrappers.<AssAccessoryFile>lambdaUpdate() + .eq(AssAccessoryFile::getId,accessoryFileId) + .set(AssAccessoryFile::getDelFlag, DeleteFlagEnum.DELETED.getCode()) + .set(AssAccessoryFile::getUpdateBy,ShiroUtils.getSysUser().getName()))?1:0; + } + + + + @Override + public int deleteByProjectId(Long projectId, Integer moduleType) { + projectService.checkUserAllowed(projectId); + return baseMapper.update(null,Wrappers.<AssAccessoryFile>lambdaUpdate() + .set(AssAccessoryFile::getDelFlag,DeleteFlagEnum.DELETED.getCode()) + .set(AssAccessoryFile::getUpdateBy,ShiroUtils.getSysUser().getName()) + .eq(AssAccessoryFile::getProjectId,projectId) + .eq(AssAccessoryFile::getModuleType,moduleType)); + } + +} diff --git a/assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssAuditServiceImpl.java b/assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssAuditServiceImpl.java new file mode 100644 index 0000000..240fbb0 --- /dev/null +++ b/assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssAuditServiceImpl.java @@ -0,0 +1,106 @@ +package com.gkhy.assess.system.service.impl; + +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.gkhy.assess.common.enums.DeleteFlagEnum; +import com.gkhy.assess.common.enums.UserIdentityEnum; +import com.gkhy.assess.common.exception.ApiException; +import com.gkhy.assess.system.domain.AssAudit; +import com.gkhy.assess.system.domain.AssPlanPerson; +import com.gkhy.assess.system.domain.AssProject; +import com.gkhy.assess.system.domain.SysUser; +import com.gkhy.assess.system.enums.PlayRoleEnum; +import com.gkhy.assess.system.enums.ReportProgressEnum; +import com.gkhy.assess.system.mapper.AssAuditMapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gkhy.assess.system.service.AssAuditService; +import com.gkhy.assess.system.service.AssPlanPersonService; +import com.gkhy.assess.system.service.AssProjectService; +import com.gkhy.assess.system.utils.ShiroUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +/** + * <p> + * 审核表 服务实现类 + * </p> + * + * @author kzy + * @since 2023-12-12 10:46:54 + */ +@Service +public class AssAuditServiceImpl extends ServiceImpl<AssAuditMapper, AssAudit> implements AssAuditService { + + @Autowired + private AssProjectService projectService; + @Autowired + private AssPlanPersonService planPersonService; + @Override + @Transactional(rollbackFor = RuntimeException.class) + public int addAudit(AssAudit audit) { + Long projectId=audit.getProjectId(); + projectService.checkUserAllowed(projectId); + checkAuditCount(projectId,audit.getAuditType()); + planPersonService.checkPersonUnique(new AssPlanPerson().setPersonId(audit.getAssessorId()).setProjectId(projectId)); + //校验项目状态 + projectService.checkReportProgress(projectId, audit.getAuditType()==1?ReportProgressEnum.INVESTINGATION:ReportProgressEnum.INNER_AUDIT); + audit.setCreateBy(ShiroUtils.getSysUser().getUsername()); + int row=baseMapper.insert(audit); + if(row>0) { + //更新项目状态 + projectService.changeReportProgress(projectId,audit.getAuditType()==1?ReportProgressEnum.INNER_AUDIT:ReportProgressEnum.TECH_AUDIT); + //todo 新增项目组成员 + AssPlanPerson planPerson=new AssPlanPerson().setPersonId(audit.getAssessorId()) + .setPlayRole(audit.getAuditType()==1?PlayRoleEnum.INNER_LEADER.getCode():PlayRoleEnum.TEACH_LEADER.getCode()) + .setProjectId(projectId); + planPersonService.addPlanPerson(planPerson); + + } + return row; + } + + public void checkAuditCount(Long projectId,Integer auditType){ + //校验项目下勘验记录数量 + int count= baseMapper.getCountByProjectId(projectId,auditType); + if(count>0){ + throw new ApiException("项目下已存在审核记录"); + } + } + + @Override + @Transactional(rollbackFor = RuntimeException.class) + public int editAudit(AssAudit audit) { + projectService.checkUserAllowed(audit.getProjectId()); + AssAudit oldAudit=getById(audit.getId()); + audit.setUpdateBy(ShiroUtils.getSysUser().getUsername()); + int row=baseMapper.updateById(audit); + if(row>0){ + if(audit.getAssessorId()!=null&& !audit.getAssessorId().equals(oldAudit.getAssessorId())){ + planPersonService.checkPersonUnique(new AssPlanPerson().setPersonId(audit.getAssessorId()).setProjectId(oldAudit.getProjectId())); + //todo 删除旧的项目成员 + planPersonService.deletePlanPersonByPersonId(oldAudit.getAssessorId()); + //todo 新增新的项目成员 + planPersonService.addPlanPerson(new AssPlanPerson().setPersonId(audit.getAssessorId()) + .setPlayRole(audit.getAuditType()==1?PlayRoleEnum.INNER_LEADER.getCode():PlayRoleEnum.TEACH_LEADER.getCode()) + .setProjectId(audit.getProjectId())); + } + } + return row; + } + + @Override + public AssAudit getAuditByProjectId(Long projectId, Integer auditType) { + projectService.checkUserAllowed(projectId); + return baseMapper.getAuditByProjectId(projectId,auditType); + } + + + @Override + public AssAudit getAuditById(Long auditId) { + AssAudit audit= baseMapper.getAuditById(auditId); + projectService.checkUserAllowed(audit.getProjectId()); + return audit; + } + + +} diff --git a/assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssConclusionServiceImpl.java b/assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssConclusionServiceImpl.java new file mode 100644 index 0000000..646d7ac --- /dev/null +++ b/assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssConclusionServiceImpl.java @@ -0,0 +1,86 @@ +package com.gkhy.assess.system.service.impl; + +import com.gkhy.assess.common.enums.UserIdentityEnum; +import com.gkhy.assess.common.exception.ApiException; +import com.gkhy.assess.system.domain.AssConclusion; +import com.gkhy.assess.system.domain.SysUser; +import com.gkhy.assess.system.enums.AccessoryFileTypeEnum; +import com.gkhy.assess.system.enums.ReportProgressEnum; +import com.gkhy.assess.system.mapper.AssConclusionMapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gkhy.assess.system.service.AssAccessoryFileService; +import com.gkhy.assess.system.service.AssConclusionService; +import com.gkhy.assess.system.service.AssProjectService; +import com.gkhy.assess.system.utils.ShiroUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +/** + * <p> + * 项目结论表 服务实现类 + * </p> + * + * @author kzy + * @since 2023-12-12 10:46:54 + */ +@Service +public class AssConclusionServiceImpl extends ServiceImpl<AssConclusionMapper, AssConclusion> implements AssConclusionService { + + @Autowired + private AssProjectService projectService; + @Autowired + private AssAccessoryFileService accessoryFileService; + + @Override + @Transactional(rollbackFor = RuntimeException.class) + public int addConclusion(AssConclusion conclusion) { + Long projectId=conclusion.getProjectId(); + projectService.checkUserAllowed(projectId); + checkConclusionCount(projectId); + //校验项目状态 + projectService.checkReportProgress(projectId, ReportProgressEnum.REVIEW_RECORD); + conclusion.setCreateBy(ShiroUtils.getSysUser().getUsername()); + int row=baseMapper.insert(conclusion); + if(row>0) { + //更新项目状态 + projectService.changeReportProgress(projectId,ReportProgressEnum.CONCLUSION); + } + return row; + } + + public void checkConclusionCount(Long projectId){ + //校验项目下评审结论数量 + int count= baseMapper.getCountByProjectId(projectId); + if(count>0){ + throw new ApiException("项目下已存在评审结论"); + } + } + + @Override + public int editConclusion(AssConclusion conclusion) { + projectService.checkUserAllowed(conclusion.getProjectId()); + conclusion.setUpdateBy(ShiroUtils.getSysUser().getUsername()); + int row=baseMapper.updateById(conclusion); + return row; + } + + @Override + public AssConclusion getConclusionByProjectId(Long projectId) { + projectService.checkUserAllowed(projectId); + AssConclusion conclusion= baseMapper.getConclusionByProjectId(projectId); + conclusion.setAccessoryFiles(accessoryFileService.getAccessoryFileByProjectId(projectId, AccessoryFileTypeEnum.CONCLUSION.getCode())); + return conclusion; + } + + + @Override + public AssConclusion getConclusionById(Long conclusionId) { + AssConclusion conclusion= baseMapper.getConclusionById(conclusionId); + projectService.checkUserAllowed(conclusion.getProjectId()); + return conclusion; + } + + + +} diff --git a/assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssConfirmFinalServiceImpl.java b/assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssConfirmFinalServiceImpl.java new file mode 100644 index 0000000..360a5c6 --- /dev/null +++ b/assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssConfirmFinalServiceImpl.java @@ -0,0 +1,36 @@ +package com.gkhy.assess.system.service.impl; + +import com.gkhy.assess.system.domain.AssProject; +import com.gkhy.assess.system.enums.ReportProgressEnum; +import com.gkhy.assess.system.service.AssConfirmFinalService; +import com.gkhy.assess.system.service.AssProjectService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.time.LocalDateTime; +import java.util.Map; + +/** + * <p> + * 确认完结服务实现类 + * </p> + * + * @author kzy + * @since 2024-1-4 10:46:54 + */ +@Service +public class AssConfirmFinalServiceImpl implements AssConfirmFinalService { + @Autowired + private AssProjectService projectService; + @Override + public void doConfirmFinal(Map map) { + Long projectId= Long.parseLong(map.get("projectId").toString()); + projectService.checkUserAllowed(projectId); + //校验项目状态 + projectService.checkReportProgress(projectId, ReportProgressEnum.FACE_RECOGNITION); + //更新项目状态 + projectService.changeReportProgress(projectId,ReportProgressEnum.CONFIRM_FINAL); + } + + +} diff --git a/assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssContractServiceImpl.java b/assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssContractServiceImpl.java new file mode 100644 index 0000000..fd0a8fa --- /dev/null +++ b/assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssContractServiceImpl.java @@ -0,0 +1,75 @@ +package com.gkhy.assess.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gkhy.assess.common.exception.ApiException; +import com.gkhy.assess.system.domain.AssContract; +import com.gkhy.assess.system.enums.ReportProgressEnum; +import com.gkhy.assess.system.mapper.AssContractMapper; +import com.gkhy.assess.system.service.AssContractService; +import com.gkhy.assess.system.service.AssProjectService; +import com.gkhy.assess.system.utils.ShiroUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +/** + * <p> + * 合同管理表 服务实现类 + * </p> + * + * @author kzy + * @since 2023-12-12 10:46:54 + */ +@Service +public class AssContractServiceImpl extends ServiceImpl<AssContractMapper, AssContract> implements AssContractService { + @Autowired + private AssProjectService projectService; + + @Override + @Transactional(rollbackFor = RuntimeException.class) + public int addContract(AssContract contract) { + Long projectId=contract.getProjectId(); + projectService.checkUserAllowed(projectId); + checkConstractCount(projectId); + //校验项目状态 + projectService.checkReportProgress(projectId,ReportProgressEnum.RISK_ESTIMATE); + contract.setCreateBy(ShiroUtils.getSysUser().getUsername()); + int row=baseMapper.insert(contract); + if(row>0) { + //更新项目状态 + projectService.changeReportProgress(projectId,ReportProgressEnum.CONTRACT); + } + return row; + } + + public void checkConstractCount(Long projectId){ + //校验项目下风险评估数量 + int contractCount= baseMapper.getCountByProjectId(projectId); + if(contractCount>0){ + throw new ApiException("项目下已存在合同信息"); + } + } + + @Override + public int editContract(AssContract contract) { + projectService.checkUserAllowed(contract.getProjectId()); + contract.setUpdateBy(ShiroUtils.getSysUser().getUsername()); + int row=baseMapper.updateById(contract); + return row; + } + + @Override + public AssContract getContractByProjectId(Long projectId) { + projectService.checkUserAllowed(projectId); + return baseMapper.getContractByProjectId(projectId); + } + + + @Override + public AssContract getContractById(Long contractId) { + + AssContract contract= baseMapper.getContractById(contractId); + projectService.checkUserAllowed(contract.getProjectId()); + return contract; + } +} diff --git a/assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssDeviceServiceImpl.java b/assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssDeviceServiceImpl.java new file mode 100644 index 0000000..69c900d --- /dev/null +++ b/assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssDeviceServiceImpl.java @@ -0,0 +1,105 @@ +package com.gkhy.assess.system.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gkhy.assess.common.enums.DeleteFlagEnum; +import com.gkhy.assess.common.exception.ApiException; +import com.gkhy.assess.system.domain.AssDevice; +import com.gkhy.assess.system.mapper.AssDeviceMapper; +import com.gkhy.assess.system.service.AssDeviceService; +import com.gkhy.assess.system.service.AssProjectService; +import com.gkhy.assess.system.utils.ShiroUtils; +import org.checkerframework.checker.units.qual.A; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * <p> + * 设备表 服务实现类 + * </p> + * + * @author kzy + * @since 2023-12-12 10:46:54 + */ +@Service +public class AssDeviceServiceImpl extends ServiceImpl<AssDeviceMapper, AssDevice> implements AssDeviceService { + @Autowired + private AssProjectService projectService; + @Override + public int addDevice(AssDevice device) { + projectService.checkUserAllowed(device.getProjectId()); + if(!checkNameUnique(device)){ + throw new ApiException("项目下已存在相同设备"); + } + device.setCreateBy(ShiroUtils.getSysUser().getUsername()); + int row=baseMapper.insert(device); + return row; + } + + + @Override + public int editDevice(AssDevice device) { + projectService.checkUserAllowed(device.getProjectId()); + if(!checkNameUnique(device)){ + throw new ApiException("项目下已存在相同设备"); + } + device.setUpdateBy(ShiroUtils.getSysUser().getUsername()); + int row =baseMapper.updateById(device); + return row; + } + + + @Override + public int deleteById(Long deviceId) { + AssDevice device=getById(deviceId); + if(device==null){ + throw new ApiException("设备不存在"); + } + projectService.checkUserAllowed(device.getProjectId()); + device=new AssDevice().setId(deviceId) + .setDelFlag(DeleteFlagEnum.DELETED.getCode()); + device.setUpdateBy(ShiroUtils.getSysUser().getUsername()); + return baseMapper.updateById(device); + } + + @Override + public AssDevice getDeviceById(Long deviceId) { + AssDevice device= getById(deviceId); + projectService.checkUserAllowed(device.getProjectId()); + return device; + } + + @Override + public boolean checkNameUnique(AssDevice device) { + LambdaQueryWrapper<AssDevice> lambdaQueryWrapper = Wrappers.<AssDevice>lambdaQuery() + .eq(AssDevice::getDeviceName, device.getDeviceName()) + .eq(AssDevice::getDelFlag, DeleteFlagEnum.UN_DELETE) + .eq(AssDevice::getProjectId, device.getProjectId()); + if(device.getId()!=null){ + lambdaQueryWrapper.ne(AssDevice::getId,device.getId()); + } + long contractCount= count(lambdaQueryWrapper); + if(contractCount>0){ + return false; + } + return true; + } + + @Override + public List<AssDevice> getByProjectId(Long projectId) { + projectService.checkUserAllowed(projectId); + return baseMapper.getDevicesByProjectId(projectId); + } + + @Override + public int deleteByIds(List<Long> ids,Long projectId) { + projectService.checkUserAllowed(projectId); + return baseMapper.update(null,Wrappers.<AssDevice>lambdaUpdate() + .in(AssDevice::getId,ids) + .set(AssDevice::getDelFlag,DeleteFlagEnum.DELETED.getCode()) + .set(AssDevice::getUpdateBy,ShiroUtils.getSysUser().getUsername())); + } +} diff --git a/assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssEstimatePlanServiceImpl.java b/assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssEstimatePlanServiceImpl.java new file mode 100644 index 0000000..b402d2f --- /dev/null +++ b/assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssEstimatePlanServiceImpl.java @@ -0,0 +1,108 @@ +package com.gkhy.assess.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gkhy.assess.common.exception.ApiException; +import com.gkhy.assess.system.domain.AssEstimatePlan; +import com.gkhy.assess.system.domain.AssPlanPerson; +import com.gkhy.assess.system.enums.PlayRoleEnum; +import com.gkhy.assess.system.enums.ReportProgressEnum; +import com.gkhy.assess.system.mapper.AssEstimatePlanMapper; +import com.gkhy.assess.system.service.*; +import com.gkhy.assess.system.utils.ShiroUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +/** + * <p> + * 评价项目计划表 服务实现类 + * </p> + * + * @author kzy + * @since 2023-12-12 10:46:54 + */ +@Service +public class AssEstimatePlanServiceImpl extends ServiceImpl<AssEstimatePlanMapper, AssEstimatePlan> implements AssEstimatePlanService { + @Autowired + private AssProjectService projectService; + + @Autowired + private AssEstimateScheduleService estimateScheduleService; + + @Autowired + private AssPlanPersonService planPersonService; + + @Autowired + private AssDeviceService deviceService; + + @Override + @Transactional(rollbackFor = RuntimeException.class) + public int addEstimatePlan(AssEstimatePlan estimatePlan) { + Long projectId=estimatePlan.getProjectId(); + projectService.checkUserAllowed(projectId); + checkEstimatePlanCount(projectId); + planPersonService.checkPersonUnique(new AssPlanPerson().setPersonId(estimatePlan.getAuserId()).setProjectId(projectId)); + //校验项目状态 + projectService.checkReportProgress(projectId, ReportProgressEnum.ESTIMATE_TASK); + estimatePlan.setCreateBy(ShiroUtils.getSysUser().getUsername()); + int row=baseMapper.insert(estimatePlan); + if(row>0) { + //更新项目状态 + projectService.changeReportProgress(projectId,ReportProgressEnum.ESTIMATE_PLAN); + //todo 机构负责人 + planPersonService.addPlanPerson(new AssPlanPerson().setPersonId(estimatePlan.getAuserId()) + .setPlayRole(PlayRoleEnum.ANGENCY_LEADER.getCode()) + .setProjectId(projectId)); + } + //todo 新增评价日程安排 + estimateScheduleService.saveBatch(estimatePlan.getEstimateSchedules()); + return row; + } + + public void checkEstimatePlanCount(Long projectId){ + //校验项目下评价计划数量 + int contractCount= baseMapper.getCountByProjectId(projectId); + if(contractCount>0){ + throw new ApiException("项目下已存在评价计划信息"); + } + } + + @Override + @Transactional(rollbackFor = RuntimeException.class) + public int editEstimatePlan(AssEstimatePlan estimatePlan) { + projectService.checkUserAllowed(estimatePlan.getProjectId()); + AssEstimatePlan oldPlan=getById(estimatePlan.getId()); + estimatePlan.setUpdateBy(ShiroUtils.getSysUser().getUsername()); + int row=baseMapper.updateById(estimatePlan); + if(row>0) { + if (estimatePlan.getAuserId() != null && !estimatePlan.getAuserId().equals(oldPlan.getAuserId())) { + planPersonService.checkPersonUnique(new AssPlanPerson().setPersonId(estimatePlan.getAuserId()).setProjectId(oldPlan.getProjectId())); + //todo 删除旧的项目成员 + planPersonService.deletePlanPersonByPersonId(oldPlan.getAuserId()); + //todo 新增新的项目成员 + planPersonService.addPlanPerson(new AssPlanPerson().setPersonId(estimatePlan.getAuserId()) + .setPlayRole(PlayRoleEnum.ANGENCY_LEADER.getCode()) + .setProjectId(oldPlan.getProjectId())); + } + } + return row; + } + + @Override + public AssEstimatePlan getEstimatePlanByProjectId(Long projectId) { + projectService.checkUserAllowed(projectId); + AssEstimatePlan assEstimatePlan= baseMapper.getEstimatePlanByProjectId(projectId); + assEstimatePlan.setPlanPersons(planPersonService.getByProjectId(projectId)); + assEstimatePlan.setEstimateSchedules(estimateScheduleService.getByProjectId(projectId)); + assEstimatePlan.setDevices(deviceService.getByProjectId(projectId)); + return assEstimatePlan; + } + + + @Override + public AssEstimatePlan getEstimatePlanById(Long estimatePlanId) { + AssEstimatePlan estimatePlan= baseMapper.getEstimatePlanById(estimatePlanId); + projectService.checkUserAllowed(estimatePlan.getProjectId()); + return estimatePlan; + } +} diff --git a/assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssEstimateScheduleServiceImpl.java b/assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssEstimateScheduleServiceImpl.java new file mode 100644 index 0000000..5bcb70b --- /dev/null +++ b/assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssEstimateScheduleServiceImpl.java @@ -0,0 +1,71 @@ +package com.gkhy.assess.system.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.gkhy.assess.common.enums.DeleteFlagEnum; +import com.gkhy.assess.common.exception.ApiException; +import com.gkhy.assess.system.domain.AssEstimateSchedule; +import com.gkhy.assess.system.mapper.AssEstimateScheduleMapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gkhy.assess.system.service.AssEstimateScheduleService; +import com.gkhy.assess.system.service.AssProjectService; +import com.gkhy.assess.system.utils.ShiroUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * <p> + * 评价日程安排表 服务实现类 + * </p> + * + * @author kzy + * @since 2023-12-12 10:46:54 + */ +@Service +public class AssEstimateScheduleServiceImpl extends ServiceImpl<AssEstimateScheduleMapper, AssEstimateSchedule> implements AssEstimateScheduleService { + @Autowired + private AssProjectService projectService; + @Override + public List<AssEstimateSchedule> getByProjectId(Long projectId) { + projectService.checkUserAllowed(projectId); + return baseMapper.getEstimateScheduleByProjectId(projectId); + } + + + @Override + public int addSchedule(AssEstimateSchedule estimateSchedule) { + projectService.checkUserAllowed(estimateSchedule.getProjectId()); + if(!checkNameUnique(estimateSchedule)){ + throw new ApiException("项目下已存在该日程安排"); + } + estimateSchedule.setCreateBy(ShiroUtils.getSysUser().getUsername()); + return baseMapper.insert(estimateSchedule); + } + + public boolean checkNameUnique(AssEstimateSchedule estimateSchedule) { + LambdaQueryWrapper<AssEstimateSchedule> lambdaQueryWrapper = Wrappers.<AssEstimateSchedule>lambdaQuery() + .eq(AssEstimateSchedule::getName, estimateSchedule.getName()) + .eq(AssEstimateSchedule::getDelFlag, DeleteFlagEnum.UN_DELETE) + .eq(AssEstimateSchedule::getProjectId, estimateSchedule.getProjectId()); + if(estimateSchedule.getId()!=null){ + lambdaQueryWrapper.ne(AssEstimateSchedule::getId,estimateSchedule.getId()); + } + long contractCount= count(lambdaQueryWrapper); + if(contractCount>0){ + return false; + } + return true; + } + + @Override + public int editSchedule(AssEstimateSchedule estimateSchedule) { + projectService.checkUserAllowed(estimateSchedule.getProjectId()); + if(!checkNameUnique(estimateSchedule)){ + throw new ApiException("项目下已存在该日程安排"); + } + estimateSchedule.setUpdateBy(ShiroUtils.getSysUser().getUsername()); + return baseMapper.updateById(estimateSchedule); + } +} diff --git a/assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssEstimateTaskServiceImpl.java b/assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssEstimateTaskServiceImpl.java new file mode 100644 index 0000000..261bfd2 --- /dev/null +++ b/assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssEstimateTaskServiceImpl.java @@ -0,0 +1,96 @@ +package com.gkhy.assess.system.service.impl; + +import com.gkhy.assess.common.exception.ApiException; +import com.gkhy.assess.system.domain.AssEstimateTask; +import com.gkhy.assess.system.domain.AssPlanPerson; +import com.gkhy.assess.system.enums.PlayRoleEnum; +import com.gkhy.assess.system.enums.ReportProgressEnum; +import com.gkhy.assess.system.mapper.AssEstimateTaskMapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gkhy.assess.system.service.AssEstimateTaskService; +import com.gkhy.assess.system.service.AssPlanPersonService; +import com.gkhy.assess.system.service.AssProjectService; +import com.gkhy.assess.system.utils.ShiroUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +/** + * <p> + * 评价任务通知表 服务实现类 + * </p> + * + * @author kzy + * @since 2023-12-12 10:46:54 + */ +@Service +public class AssEstimateTaskServiceImpl extends ServiceImpl<AssEstimateTaskMapper, AssEstimateTask> implements AssEstimateTaskService { + + @Autowired + private AssProjectService projectService; + @Autowired + private AssPlanPersonService planPersonService; + @Override + @Transactional(rollbackFor = RuntimeException.class) + public int addEstimateTask(AssEstimateTask estimateTask) { + Long projectId=estimateTask.getProjectId(); + projectService.checkUserAllowed(projectId); + checkTaskCount(projectId); + planPersonService.checkPersonUnique(new AssPlanPerson().setPersonId(estimateTask.getLeaderId()).setProjectId(projectId)); + //校验项目状态 + projectService.checkReportProgress(projectId, ReportProgressEnum.CONTRACT); + estimateTask.setCreateBy(ShiroUtils.getSysUser().getUsername()); + int row=baseMapper.insert(estimateTask); + if(row>0) { + //更新项目状态 + projectService.changeReportProgress(projectId,ReportProgressEnum.ESTIMATE_TASK); + //todo 新增项目组成员 + AssPlanPerson planPerson=new AssPlanPerson().setPersonId(estimateTask.getLeaderId()) + .setPlayRole(PlayRoleEnum.PROJECT_LEADER.getCode()) + .setProjectId(projectId); + planPersonService.addPlanPerson(planPerson); + } + return row; + } + + public void checkTaskCount(Long projectId){ + //校验项目下评价任务数量 + int contractCount= baseMapper.getCountByProjectId(projectId); + if(contractCount>0){ + throw new ApiException("项目下已存在评价任务数量"); + } + } + + @Override + @Transactional(rollbackFor = RuntimeException.class) + public int editEstimateTask(AssEstimateTask estimateTask) { + projectService.checkUserAllowed(estimateTask.getProjectId()); + AssEstimateTask oldTask=getById(estimateTask.getId()); + estimateTask.setUpdateBy(ShiroUtils.getSysUser().getUsername()); + int row=baseMapper.updateById(estimateTask); + if(row>0 &&estimateTask.getLeaderId()!=null&& !estimateTask.getLeaderId().equals(oldTask.getLeaderId())){ + planPersonService.checkPersonUnique(new AssPlanPerson().setPersonId(estimateTask.getLeaderId()).setProjectId(oldTask.getProjectId())); + //todo 删除旧的项目成员 + planPersonService.deletePlanPersonByPersonId(oldTask.getLeaderId()); + //todo 新增新的项目成员 + planPersonService.addPlanPerson(new AssPlanPerson().setPersonId(estimateTask.getLeaderId()) + .setPlayRole(PlayRoleEnum.PROJECT_LEADER.getCode()) + .setProjectId(oldTask.getProjectId())); + } + return row; + } + + @Override + public AssEstimateTask getEstimateTaskByProjectId(Long projectId) { + projectService.checkUserAllowed(projectId); + return baseMapper.getTaskByProjectId(projectId); + } + + + @Override + public AssEstimateTask getEstimateTaskById(Long taskId) { + AssEstimateTask estimateTask= baseMapper.getTaskById(taskId); + projectService.checkUserAllowed(estimateTask.getProjectId()); + return estimateTask; + } +} diff --git a/assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssFaceRecognitionServiceImpl.java b/assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssFaceRecognitionServiceImpl.java new file mode 100644 index 0000000..79215f3 --- /dev/null +++ b/assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssFaceRecognitionServiceImpl.java @@ -0,0 +1,131 @@ +package com.gkhy.assess.system.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gkhy.assess.common.enums.DeleteFlagEnum; +import com.gkhy.assess.common.exception.ApiException; +import com.gkhy.assess.common.utils.StringUtils; +import com.gkhy.assess.system.domain.AssFaceRecognition; +import com.gkhy.assess.system.domain.AssPlanPerson; +import com.gkhy.assess.system.enums.ReportProgressEnum; +import com.gkhy.assess.system.mapper.AssFaceRecognitionMapper; +import com.gkhy.assess.system.mapper.AssPlanPersonMapper; +import com.gkhy.assess.system.domain.vo.UploadObjectVO; +import com.gkhy.assess.system.service.AssFaceRecognitionService; +import com.gkhy.assess.system.service.AssProjectService; +import com.gkhy.assess.system.service.SysCommonService; +import com.gkhy.assess.system.utils.ShiroUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** + * <p> + * 签字确认表 服务实现类 + * </p> + * + * @author kzy + * @since 2023-12-12 10:46:54 + */ +@Service +public class AssFaceRecognitionServiceImpl extends ServiceImpl<AssFaceRecognitionMapper, AssFaceRecognition> implements AssFaceRecognitionService { + + @Autowired + private AssProjectService projectService; + @Autowired + private SysCommonService commonService; + @Autowired + private AssPlanPersonMapper planPersonMapper; + + @Override + public int addFaceRecognition(AssFaceRecognition faceRecognition) { + int row=0; + projectService.checkUserAllowed(faceRecognition.getProjectId()); + UploadObjectVO uploadObjectVO=commonService.doUpload(faceRecognition.getFile()); + faceRecognition.setSignPath(uploadObjectVO.getPath()); + AssFaceRecognition existRecord=checkFaceRecognitionUnique(faceRecognition.getPersonId(),faceRecognition.getProjectId()); + if(existRecord!=null){ + existRecord.setSignPath(faceRecognition.getSignPath()); + existRecord.setUpdateBy(ShiroUtils.getSysUser().getUsername()); + row =baseMapper.updateById(existRecord); + }else{ + faceRecognition.setCreateBy(ShiroUtils.getSysUser().getUsername()); + row=baseMapper.insert(faceRecognition); + } + return row; + } + + @Override + public void doFaceRecognition(Map map) { + Long projectId= Long.parseLong(map.get("projectId").toString()); + projectService.checkUserAllowed(projectId); + //todo 校验项目成员是否都完成了签字确认 + checkAllFaceRecongnition(projectId); + //校验项目状态 + projectService.checkReportProgress(projectId, ReportProgressEnum.PROJECT_MATERIAL); + //更新项目状态 + projectService.changeReportProgress(projectId,ReportProgressEnum.FACE_RECOGNITION); + } + + @Override + public Boolean checkAllFaceRecongnition(Long projectId){ + projectService.checkUserAllowed(projectId); + List<AssPlanPerson> planPersonList=planPersonMapper.getAllPlanPersonByProjectId(projectId); + List<AssFaceRecognition> faceRecognitionList=baseMapper.getFaceRecognitionByProjectId(projectId); + Map<Long,AssFaceRecognition> map=faceRecognitionList.stream().collect(Collectors.toMap(AssFaceRecognition::getPersonId,a -> a,(k1,k2) -> k1)); + String message=""; + for(AssPlanPerson planPerson:planPersonList){ + if(map.get(planPerson.getPersonId())==null){ + message=message+planPerson.getPerson().getName()+","; + } + } + if(StringUtils.isNotBlank(message)){ + message=message+"未签字确认"; + throw new ApiException(message); + } + return true; + } + + public AssFaceRecognition checkFaceRecognitionUnique(Long personId,Long projectId){ + LambdaQueryWrapper<AssFaceRecognition> lambdaQueryWrapper = Wrappers.<AssFaceRecognition>lambdaQuery() + .eq(AssFaceRecognition::getPersonId, personId) + .eq(AssFaceRecognition::getProjectId, projectId) + .eq(AssFaceRecognition::getDelFlag, DeleteFlagEnum.UN_DELETE); + return getOne(lambdaQueryWrapper); + } + + @Override + public int editFaceRecognition(AssFaceRecognition faceRecognition) { + projectService.checkUserAllowed(faceRecognition.getProjectId()); + faceRecognition.setUpdateBy(ShiroUtils.getSysUser().getUsername()); + int row=baseMapper.updateById(faceRecognition); + return row; + } + + @Override + public List<AssFaceRecognition> getFaceRecognitionByProjectId(Long projectId) { + projectService.checkUserAllowed(projectId); + return baseMapper.getFaceRecognitionByProjectId(projectId); + } + + + @Override + public AssFaceRecognition getFaceRecognitionById(Long faceRecognitionId) { + AssFaceRecognition faceRecognition= baseMapper.getFaceRecognitionById(faceRecognitionId); + projectService.checkUserAllowed(faceRecognition.getProjectId()); + return faceRecognition; + } + + @Override + public AssFaceRecognition getRecognitionByPersonId(Long projectId, Long personId) { + projectService.checkUserAllowed(projectId); + return getOne(Wrappers.<AssFaceRecognition>lambdaQuery() + .eq(AssFaceRecognition::getPersonId,personId) + .eq(AssFaceRecognition::getProjectId,projectId) + .eq(AssFaceRecognition::getDelFlag, DeleteFlagEnum.UN_DELETE.getCode())); + } +} diff --git a/assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssFaceRecordServiceImpl.java b/assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssFaceRecordServiceImpl.java new file mode 100644 index 0000000..1e4e9b3 --- /dev/null +++ b/assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssFaceRecordServiceImpl.java @@ -0,0 +1,87 @@ +package com.gkhy.assess.system.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.gkhy.assess.common.enums.DeleteFlagEnum; +import com.gkhy.assess.common.exception.ApiException; +import com.gkhy.assess.system.domain.AssFaceRecord; +import com.gkhy.assess.system.mapper.AssFaceRecordMapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gkhy.assess.system.domain.vo.UploadObjectVO; +import com.gkhy.assess.system.service.AssFaceRecordService; +import com.gkhy.assess.system.service.AssProjectService; +import com.gkhy.assess.system.service.SysCommonService; +import com.gkhy.assess.system.utils.ShiroUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * <p> + * 现场勘验人员人脸识别记录表 服务实现类 + * </p> + * + * @author kzy + * @since 2023-12-12 10:46:54 + */ +@Service +public class AssFaceRecordServiceImpl extends ServiceImpl<AssFaceRecordMapper, AssFaceRecord> implements AssFaceRecordService { + @Autowired + private SysCommonService commonService; + @Autowired + private AssProjectService projectService; + + @Override + public int addFaceRecord(AssFaceRecord faceRecord) { + int row=0; + projectService.checkUserAllowed(faceRecord.getProjectId()); + UploadObjectVO uploadObjectVO=commonService.doUpload(faceRecord.getFile()); + faceRecord.setFacePath(uploadObjectVO.getPath()); + AssFaceRecord existRecord=checkFaceUnique(faceRecord.getPersonId(),faceRecord.getProjectId()); + if(existRecord!=null){ + throw new ApiException("已存在人脸识别记录"); +// existRecord.setFacePath(uploadObjectVO.getPath()); +// existRecord.setLocation(faceRecord.getLocation()); +// existRecord.setScene(faceRecord.getScene()); +// row =baseMapper.updateById(existRecord); + }else{ + faceRecord.setCreateBy(ShiroUtils.getSysUser().getUsername()); + row=baseMapper.insert(faceRecord); + } + return row; + } + + public AssFaceRecord checkFaceUnique(Long personId,Long projectId) { + LambdaQueryWrapper<AssFaceRecord> lambdaQueryWrapper = Wrappers.<AssFaceRecord>lambdaQuery() + .eq(AssFaceRecord::getPersonId, personId) + .eq(AssFaceRecord::getProjectId, projectId) + .eq(AssFaceRecord::getDelFlag, DeleteFlagEnum.UN_DELETE); + return getOne(lambdaQueryWrapper); + } + + + @Override + public List<AssFaceRecord> faceRecordList(Long projectId,Integer scene) { + projectService.checkUserAllowed(projectId); + return baseMapper.faceRecordList(projectId,scene); + } + + @Override + public int editFaceRecord(AssFaceRecord faceRecord) { + projectService.checkUserAllowed(faceRecord.getProjectId()); + faceRecord.setUpdateBy(ShiroUtils.getSysUser().getUsername()); + int row =baseMapper.updateById(faceRecord); + return row; + } + + @Override + public int deleteById(Long faceId) { + AssFaceRecord faceRecord=getById(faceId); + projectService.checkUserAllowed(faceRecord.getProjectId()); + faceRecord=new AssFaceRecord().setId(faceId) + .setDelFlag(DeleteFlagEnum.DELETED.getCode()); + faceRecord.setUpdateBy(ShiroUtils.getSysUser().getUsername()); + return baseMapper.updateById(faceRecord); + } +} diff --git a/assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssFilingApplyServiceImpl.java b/assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssFilingApplyServiceImpl.java new file mode 100644 index 0000000..5fde535 --- /dev/null +++ b/assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssFilingApplyServiceImpl.java @@ -0,0 +1,66 @@ +package com.gkhy.assess.system.service.impl; + +import com.gkhy.assess.common.enums.DeleteFlagEnum; +import com.gkhy.assess.system.domain.AssFilingApply; +import com.gkhy.assess.system.mapper.AssFilingApplyMapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gkhy.assess.system.service.AssFilingApplyService; +import com.gkhy.assess.system.service.AssProjectService; +import com.gkhy.assess.system.utils.ShiroUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * <p> + * 报备申请表 服务实现类 + * </p> + * + * @author kzy + * @since 2023-12-12 10:46:54 + */ +@Service +public class AssFilingApplyServiceImpl extends ServiceImpl<AssFilingApplyMapper, AssFilingApply> implements AssFilingApplyService { + @Autowired + private AssProjectService projectService; + @Override + public int addFilingApply(AssFilingApply filingApply) { + projectService.checkUserAllowed(filingApply.getProjectId()); + filingApply.setCreateBy(ShiroUtils.getSysUser().getUsername()); + int row=baseMapper.insert(filingApply); + return row; + } + + @Override + public int editFilingApply(AssFilingApply filingApply) { + projectService.checkUserAllowed(filingApply.getProjectId()); + filingApply.setUpdateBy(ShiroUtils.getSysUser().getUsername()); + int row=baseMapper.updateById(filingApply); + return row; + } + + @Override + public List<AssFilingApply> getFilingApplyByProjectId(Long projectId) { + projectService.checkUserAllowed(projectId); + return baseMapper.getFilingApplyByProjectId(projectId); + } + + @Override + public int deleteById(Long filingApplyId) { + AssFilingApply filingApply=getById(filingApplyId); + projectService.checkUserAllowed(filingApply.getProjectId()); + filingApply=new AssFilingApply().setId(filingApplyId) + .setDelFlag(DeleteFlagEnum.DELETED.getCode()); + filingApply.setUpdateBy(ShiroUtils.getSysUser().getUsername()); + int row=baseMapper.updateById(filingApply); + return row; + } + + @Override + public AssFilingApply getFilingApplyById(Long filingApplyId) { + AssFilingApply filingApply=getById(filingApplyId); + projectService.checkUserAllowed(filingApply.getProjectId()); + return filingApply; + } +} diff --git a/assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssInvestigationServiceImpl.java b/assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssInvestigationServiceImpl.java new file mode 100644 index 0000000..97c7212 --- /dev/null +++ b/assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssInvestigationServiceImpl.java @@ -0,0 +1,125 @@ +package com.gkhy.assess.system.service.impl; + +import com.gkhy.assess.common.enums.RequestSourceEnum; +import com.gkhy.assess.common.exception.ApiException; +import com.gkhy.assess.system.domain.AssInvestigation; +import com.gkhy.assess.system.enums.AccessoryFileTypeEnum; +import com.gkhy.assess.system.enums.ReportProgressEnum; +import com.gkhy.assess.system.mapper.AssInvestigationMapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gkhy.assess.system.service.AssAccessoryFileService; +import com.gkhy.assess.system.service.AssInvestigationService; +import com.gkhy.assess.system.service.AssProjectService; +import com.gkhy.assess.system.utils.ShiroUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +/** + * <p> + * 现场勘验记录表 服务实现类 + * </p> + * + * @author kzy + * @since 2023-12-12 10:46:54 + */ +@Service +public class AssInvestigationServiceImpl extends ServiceImpl<AssInvestigationMapper, AssInvestigation> implements AssInvestigationService { + + @Autowired + private AssProjectService projectService; + + @Autowired + private AssAccessoryFileService accessoryFileService; + + @Override + @Transactional(rollbackFor = RuntimeException.class) + public int addInvestigation(AssInvestigation investigation,String requestSourceType) { + Long projectId=investigation.getProjectId(); + projectService.checkUserAllowed(projectId); + checkInvestigationCount(projectId); + investigation.setCreateBy(ShiroUtils.getSysUser().getUsername()); + if(investigation.getIsSafetyCheck()!=null&&investigation.getIsSafetyCheck()==1){ + Integer fileCount=accessoryFileService.getAccessoryFileCountByProjectId(projectId, AccessoryFileTypeEnum.INVESTINGATION_ATTACHMENT.getCode()); + if(fileCount==0){ + throw new ApiException("未上传现场安全检查表"); + } + } + //校验图片数量 + Integer fileCount=accessoryFileService.getAccessoryFileCountByProjectId(projectId, AccessoryFileTypeEnum.DEVICE_IMAGE.getCode()); + if(fileCount==0){ + throw new ApiException("主要装置前的合影照片不能为空"); + } + fileCount=accessoryFileService.getAccessoryFileCountByProjectId(projectId, AccessoryFileTypeEnum.INVESTINGATION_IMAGE.getCode()); + if(fileCount==0){ + throw new ApiException("现场勘验照片照片不能为空"); + } + fileCount=accessoryFileService.getAccessoryFileCountByProjectId(projectId, AccessoryFileTypeEnum.COMPANY_IMAGE.getCode()); + if(fileCount==0){ + throw new ApiException("现场勘验人员与企业陪同人员图片不能为空"); + } +// fileCount=accessoryFileService.getAccessoryFileCountByProjectId(projectId, AccessoryFileTypeEnum.INVESTINGATION_VIDEO.getCode()); +// if(fileCount==0){ +// throw new ApiException("现场勘验视频不能为空"); +// } + int row=baseMapper.insert(investigation); + if(requestSourceType== RequestSourceEnum.WEB.getCode()){ + //校验项目状态 + projectService.checkReportProgress(projectId, ReportProgressEnum.WORK_NOTIFICATION); + //更新项目状态 + projectService.changeReportProgress(projectId,ReportProgressEnum.INVESTINGATION); + } + //校验项目状态 +// projectService.checkReportProgress(projectId, ReportProgressEnum.WORK_NOTIFICATION); +// int row=baseMapper.insert(investigation); +// if(row>0 && (investigation.getState()==null||!investigation.getState().equals(ApproveStatusEnum.TEMPORARY.getCode()))) { +// //更新项目状态 +// projectService.changeReportProgress(projectId,ReportProgressEnum.INVESTINGATION); +// } + return row; + } + + public void checkInvestigationCount(Long projectId){ + //校验项目下勘验记录数量 + int count= baseMapper.getCountByProjectId(projectId); + if(count>0){ + throw new ApiException("项目下已存在现场勘验记录"); + } + } + + @Override + public int editInvestigation(AssInvestigation investigation) { + projectService.checkUserAllowed(investigation.getProjectId()); + investigation.setUpdateBy(ShiroUtils.getSysUser().getUsername()); + int row=baseMapper.updateById(investigation); + return row; + } + + @Override + public AssInvestigation getInvestigationByProjectId(Long projectId) { + projectService.checkUserAllowed(projectId); + AssInvestigation investigation= baseMapper.getInvestigationByProjectId(projectId); + investigation.setAssAccessoryFiles(accessoryFileService.getAccessoryFileByProjectId(projectId, AccessoryFileTypeEnum.INVESTINGATION_ATTACHMENT.getCode())); + investigation.setCcompanyImages(accessoryFileService.getAccessoryFileByProjectId(projectId, AccessoryFileTypeEnum.COMPANY_IMAGE.getCode())); + investigation.setDeviceImages(accessoryFileService.getAccessoryFileByProjectId(projectId, AccessoryFileTypeEnum.DEVICE_IMAGE.getCode())); + investigation.setInvestingationImages(accessoryFileService.getAccessoryFileByProjectId(projectId, AccessoryFileTypeEnum.INVESTINGATION_IMAGE.getCode())); + investigation.setInvestingationVideos(accessoryFileService.getAccessoryFileByProjectId(projectId, AccessoryFileTypeEnum.INVESTINGATION_VIDEO.getCode())); + + return investigation; + } + + + @Override + public AssInvestigation getInvestigationById(Long investigationId) { + return baseMapper.getInvestigationById(investigationId); + } + + @Override + public void doInvestigationProcess(Long projectId) { + projectService.checkUserAllowed(projectId); + //校验项目状态 + projectService.checkReportProgress(projectId, ReportProgressEnum.WORK_NOTIFICATION); + //更新项目状态 + projectService.changeReportProgress(projectId,ReportProgressEnum.INVESTINGATION); + } +} diff --git a/assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssPlanPersonServiceImpl.java b/assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssPlanPersonServiceImpl.java new file mode 100644 index 0000000..b8fbf46 --- /dev/null +++ b/assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssPlanPersonServiceImpl.java @@ -0,0 +1,105 @@ +package com.gkhy.assess.system.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.gkhy.assess.common.enums.DeleteFlagEnum; +import com.gkhy.assess.common.exception.ApiException; +import com.gkhy.assess.common.utils.StringUtils; +import com.gkhy.assess.system.domain.AssPlanPerson; +import com.gkhy.assess.system.enums.PlayRoleEnum; +import com.gkhy.assess.system.mapper.AssPlanPersonMapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gkhy.assess.system.service.AssPlanPersonService; +import com.gkhy.assess.system.service.AssProjectService; +import com.gkhy.assess.system.utils.ShiroUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * <p> + * 评价项目组成员表 服务实现类 + * </p> + * + * @author kzy + * @since 2023-12-12 10:46:54 + */ +@Service +public class AssPlanPersonServiceImpl extends ServiceImpl<AssPlanPersonMapper, AssPlanPerson> implements AssPlanPersonService { + @Autowired + private AssProjectService projectService; + @Override + public List<AssPlanPerson> getByProjectId(Long projectId) { + projectService.checkUserAllowed(projectId); + return baseMapper.getPlanPersonByProjectId(projectId); + } + + + @Override + public int addPlanPerson(AssPlanPerson planPerson) { + projectService.checkUserAllowed(planPerson.getProjectId()); + checkPersonUnique(planPerson); + planPerson.setCreateBy(ShiroUtils.getSysUser().getUsername()); + return baseMapper.insert(planPerson); + } + + + @Override + public void checkPersonUnique(AssPlanPerson planPerson) { + LambdaQueryWrapper<AssPlanPerson> lambdaQueryWrapper = Wrappers.<AssPlanPerson>lambdaQuery() + .eq(AssPlanPerson::getPersonId, planPerson.getPersonId()) + .eq(AssPlanPerson::getDelFlag, DeleteFlagEnum.UN_DELETE) + .eq(AssPlanPerson::getProjectId, planPerson.getProjectId()); + if(planPerson.getId()!=null){ + lambdaQueryWrapper.ne(AssPlanPerson::getId,planPerson.getId()); + } + AssPlanPerson pPerson= getOne(lambdaQueryWrapper); + if(pPerson!=null){ + PlayRoleEnum playRoleEnum=PlayRoleEnum.getInfoByCode(pPerson.getPlayRole()); + String message=playRoleEnum!=null?playRoleEnum.getInfo():""; + if(StringUtils.isBlank(message)){ + message="改用户已存在"; + }else{ + message="该用户已担任"+message; + } + throw new ApiException(message); + } + } + + @Override + public AssPlanPerson getPlanPersonByPersonId(Long personId,Long projectId) { + return getOne(Wrappers.<AssPlanPerson>lambdaQuery() + .eq(AssPlanPerson::getPersonId,personId) + .eq(AssPlanPerson::getDelFlag,DeleteFlagEnum.UN_DELETE.getCode()) + .eq(AssPlanPerson::getProjectId,projectId)); + } + + @Override + public int editPlanPerson(AssPlanPerson planPerson) { + projectService.checkUserAllowed(planPerson.getProjectId()); + if(planPerson.getPersonId()!=null){ + checkPersonUnique(planPerson); + } + planPerson.setUpdateBy(ShiroUtils.getSysUser().getUsername()); + return baseMapper.updateById(planPerson); + } + + @Override + public int deletePlanPersonById(Long planPersonId) { + AssPlanPerson planPerson=getById(planPersonId); + projectService.checkUserAllowed(planPerson.getProjectId()); + planPerson=new AssPlanPerson().setId(planPersonId) + .setDelFlag(DeleteFlagEnum.DELETED.getCode()); + planPerson.setUpdateBy(ShiroUtils.getSysUser().getUsername()); + return baseMapper.updateById(planPerson); + } + + @Override + public int deletePlanPersonByPersonId(Long personId) { + return baseMapper.update(null,Wrappers.<AssPlanPerson>lambdaUpdate() + .set(AssPlanPerson::getDelFlag,DeleteFlagEnum.DELETED.getCode()) + .set(AssPlanPerson::getUpdateBy,ShiroUtils.getSysUser().getUsername()) + .eq(AssPlanPerson::getPersonId,personId)); + } +} diff --git a/assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssProcessAuditServiceImpl.java b/assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssProcessAuditServiceImpl.java new file mode 100644 index 0000000..a6f1b86 --- /dev/null +++ b/assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssProcessAuditServiceImpl.java @@ -0,0 +1,101 @@ +package com.gkhy.assess.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gkhy.assess.common.exception.ApiException; +import com.gkhy.assess.system.domain.AssPlanPerson; +import com.gkhy.assess.system.domain.AssProcessAudit; +import com.gkhy.assess.system.enums.AccessoryFileTypeEnum; +import com.gkhy.assess.system.enums.PlayRoleEnum; +import com.gkhy.assess.system.enums.ReportProgressEnum; +import com.gkhy.assess.system.mapper.AssProcessAuditMapper; +import com.gkhy.assess.system.service.AssAccessoryFileService; +import com.gkhy.assess.system.service.AssPlanPersonService; +import com.gkhy.assess.system.service.AssProcessAuditService; +import com.gkhy.assess.system.service.AssProjectService; +import com.gkhy.assess.system.utils.ShiroUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +/** + * <p> + * 过程控制负责人审核表 服务实现类 + * </p> + * + * @author kzy + * @since 2023-12-12 10:46:54 + */ +@Service +public class AssProcessAuditServiceImpl extends ServiceImpl<AssProcessAuditMapper, AssProcessAudit> implements AssProcessAuditService { + + @Autowired + private AssProjectService projectService; + @Autowired + private AssPlanPersonService planPersonService; + @Autowired + private AssAccessoryFileService accessoryFileService; + + @Override + @Transactional(rollbackFor = RuntimeException.class) + public int addProcessAudit(AssProcessAudit processAudit) { + Long projectId=processAudit.getProjectId(); + projectService.checkUserAllowed(projectId); + checkProcessAuditCount(projectId); + planPersonService.checkPersonUnique(new AssPlanPerson().setPersonId(processAudit.getProcessLeaderId()).setProjectId(projectId)); + //校验项目状态 + projectService.checkReportProgress(projectId, ReportProgressEnum.CONCLUSION); + processAudit.setCreateBy(ShiroUtils.getSysUser().getUsername()); + int row=baseMapper.insert(processAudit); + if(row>0) { + //更新项目状态 + projectService.changeReportProgress(projectId,ReportProgressEnum.PROCESS_AUDIT); + //todo 新增项目组成员 + AssPlanPerson planPerson=new AssPlanPerson().setPersonId(processAudit.getProcessLeaderId()) + .setPlayRole(PlayRoleEnum.PROCESS_LEADER.getCode()) + .setProjectId(projectId); + planPersonService.addPlanPerson(planPerson); + } + return row; + } + + public void checkProcessAuditCount(Long projectId){ + //校验项目下过程控制数量 + int count= baseMapper.getCountByProjectId(projectId); + if(count>0){ + throw new ApiException("项目下已存在过程控制"); + } + } + + @Override + @Transactional(rollbackFor = RuntimeException.class) + public int editProcessAudit(AssProcessAudit processAudit) { + projectService.checkUserAllowed(processAudit.getProjectId()); + AssProcessAudit oldProcess=getById(processAudit.getId()); + processAudit.setUpdateBy(ShiroUtils.getSysUser().getUsername()); + int row=baseMapper.updateById(processAudit); + if(row>0 && processAudit.getProcessLeaderId()!=null&& !processAudit.getProcessLeaderId().equals(oldProcess.getProcessLeaderId())){ + planPersonService.checkPersonUnique(new AssPlanPerson().setPersonId(processAudit.getProcessLeaderId()).setProjectId(oldProcess.getProjectId())); + //todo 删除旧的项目成员 + planPersonService.deletePlanPersonByPersonId(oldProcess.getProcessLeaderId()); + //todo 新增新的项目成员 + planPersonService.addPlanPerson(new AssPlanPerson().setPersonId(processAudit.getProcessLeaderId()) + .setPlayRole(PlayRoleEnum.PROCESS_LEADER.getCode()) + .setProjectId(oldProcess.getProjectId())); + } + return row; + } + + @Override + public AssProcessAudit getProcessAuditByProjectId(Long projectId) { + projectService.checkUserAllowed(projectId); + AssProcessAudit processAudit= baseMapper.getProcessAuditByProjectId(projectId); + processAudit.setAccessoryFiles(accessoryFileService.getAccessoryFileByProjectId(projectId, AccessoryFileTypeEnum.PROCESS_ATTACHMENT.getCode())); + return processAudit; + } + + + @Override + public AssProcessAudit getProcessAuditById(Long processAuditId) { + return baseMapper.getProcessAuditById(processAuditId); + } +} diff --git a/assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssProjectMaterialServiceImpl.java b/assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssProjectMaterialServiceImpl.java new file mode 100644 index 0000000..22faebb --- /dev/null +++ b/assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssProjectMaterialServiceImpl.java @@ -0,0 +1,91 @@ +package com.gkhy.assess.system.service.impl; + +import com.gkhy.assess.common.exception.ApiException; +import com.gkhy.assess.system.domain.AssContract; +import com.gkhy.assess.system.domain.AssProjectMaterial; +import com.gkhy.assess.system.domain.vo.ProjectMaterialVO; +import com.gkhy.assess.system.enums.ReportProgressEnum; +import com.gkhy.assess.system.mapper.AssProjectMaterialMapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gkhy.assess.system.service.AssContractService; +import com.gkhy.assess.system.service.AssProjectMaterialService; +import com.gkhy.assess.system.service.AssProjectService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; + +/** + * <p> + * 项目归档文件表 服务实现类 + * </p> + * + * @author kzy + * @since 2023-12-12 10:46:54 + */ +@Service +public class AssProjectMaterialServiceImpl extends ServiceImpl<AssProjectMaterialMapper, AssProjectMaterial> implements AssProjectMaterialService { + + @Autowired + private AssProjectService projectService; + @Autowired + private AssContractService contractService; + + @Override + @Transactional(rollbackFor = RuntimeException.class) + public int addProjectMaterial(ProjectMaterialVO projectMaterialVO) { + List<AssProjectMaterial> projectMaterials=projectMaterialVO.getProjectMaterials(); + Long projectId=projectMaterialVO.getProjectId(); + if(projectMaterials==null||projectMaterials.size()!=3){ + throw new ApiException("项目归档为空或者项目归档数量不正确"); + } + projectService.checkUserAllowed(projectId); + checkProjectMaterialCount(projectId); + //校验项目状态 + projectService.checkReportProgress(projectId, ReportProgressEnum.PROCESS_AUDIT); + boolean b=saveBatch(projectMaterials); + if(b) { + //更新合同 + AssContract contract= projectMaterialVO.getContract(); + contractService.updateById(contract); + //更新项目状态 + projectService.changeReportProgress(projectId,ReportProgressEnum.PROJECT_MATERIAL); + } + return 1; + } + + public void checkProjectMaterialCount(Long projectId){ + //校验项目下项目归档数量 + int count= baseMapper.getCountByProjectId(projectId); + if(count>0){ + throw new ApiException("项目下已存在项目归档"); + } + } + + @Override + @Transactional(rollbackFor = RuntimeException.class) + public int editProjectMaterial(ProjectMaterialVO projectMaterialVO) { + Long projectId=projectMaterialVO.getProjectId(); + projectService.checkUserAllowed(projectId); + boolean b=updateBatchById(projectMaterialVO.getProjectMaterials()); + if(b){ + //更新合同 + AssContract contract= projectMaterialVO.getContract(); + contractService.updateById(contract); + } + return 1; + } + + @Override + public List<AssProjectMaterial> getProjectMaterialByProjectId(Long projectId) { + projectService.checkUserAllowed(projectId); + return baseMapper.getProjectMaterialByProjectId(projectId); + } + + + @Override + public AssProjectMaterial getProjectMaterialById(Long projectMaterialId) { + return baseMapper.getProjectMaterialById(projectMaterialId); + } +} diff --git a/assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssProjectServiceImpl.java b/assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssProjectServiceImpl.java new file mode 100644 index 0000000..baec209 --- /dev/null +++ b/assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssProjectServiceImpl.java @@ -0,0 +1,249 @@ +package com.gkhy.assess.system.service.impl; + +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.gkhy.assess.common.api.CommonPage; +import com.gkhy.assess.common.enums.DeleteFlagEnum; +import com.gkhy.assess.common.enums.UserIdentityEnum; +import com.gkhy.assess.common.exception.ApiException; +import com.gkhy.assess.common.utils.PageUtil; +import com.gkhy.assess.system.domain.AssPlanPerson; +import com.gkhy.assess.system.domain.AssProject; +import com.gkhy.assess.system.domain.vo.ProjectStaticVO; +import com.gkhy.assess.system.enums.ProgressPhaseEnum; +import com.gkhy.assess.system.enums.ReportProgressEnum; +import com.gkhy.assess.system.mapper.AssPlanPersonMapper; +import com.gkhy.assess.system.mapper.AssProjectMapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gkhy.assess.system.domain.SysUser; +import com.gkhy.assess.system.service.AssProjectService; +import com.gkhy.assess.system.utils.ShiroUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.time.LocalDateTime; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.stream.Collectors; + +/** + * <p> + * 项目表 服务实现类 + * </p> + * + * @author kzy + * @since 2023-12-11 14:16:18 + */ +@Service +public class AssProjectServiceImpl extends ServiceImpl<AssProjectMapper, AssProject> implements AssProjectService { + @Autowired + private AssPlanPersonMapper planPersonMapper; + + @Override + public CommonPage projectList(AssProject project) { + SysUser user= ShiroUtils.getSysUser(); + if(!user.getIdentity().equals(UserIdentityEnum.MONITOR.getCode())){ + //机构用户只能查看本机构的项目 + if(user.getAgencyId()==null){ + throw new ApiException("用户机构id为空"); + } + project.setAgencyId(user.getAgencyId()); + } + PageUtil.startPage(); + List<AssProject> projects=baseMapper.projectList(project); + //获取签字确认人数 + return CommonPage.restPage(projects); + } + + @Override + public AssProject getProjectById(Long projectId) { + return baseMapper.getProjectById(projectId); + } + + @Override + public int addProject(AssProject project) { + //todo 校验用户,只有机构账号有权限创建项目 + SysUser user= ShiroUtils.getSysUser(); + if(!user.getIdentity().equals(UserIdentityEnum.AGENCY.getCode())){ + throw new ApiException("无权操作,只有机构用户可以创建项目"); + } + if(user.getAgencyId()==null){ + throw new ApiException("用户机构id为空"); + } + if(!checkNameUnique(project)){ + throw new ApiException("项目名已存在"); + } + project.setAgencyId(user.getAgencyId()); + project.setReportProgress(ReportProgressEnum.ADD.getCode()); + project.setCreateBy(ShiroUtils.getSysUser().getUsername()); + int row=baseMapper.insert(project); + return row; + } + + @Override + public int deleteProjectById(Long projectId) { + //todo 权限校验 + SysUser user= ShiroUtils.getSysUser(); + checkUserAllowed(projectId); + AssProject project=new AssProject() + .setId(projectId) + .setDelFlag(DeleteFlagEnum.DELETED.getCode()); + project.setUpdateBy(user.getUsername()); + return baseMapper.updateById(project); + } + + @Override + public int editProject(AssProject project) { + Long projectId=project.getId(); + if(projectId==null){ + throw new ApiException("项目id不能为空"); + } + checkUserAllowed(projectId); + if(!checkNameUnique(project)){ + throw new ApiException("项目名已存在"); + } + project.setAgencyId(null);//机构id不能修改 + project.setReportProgress(null);//项目状态不能修改 + project.setUpdateBy(ShiroUtils.getSysUser().getUsername()); + int row =baseMapper.updateById(project); + return row; + } + + @Override + public AssProject checkProjectDataScope(Long projectId) { + return null; + } + + @Override + public Integer getProjectReportProgress(Long projectId) { + checkUserAllowed(projectId); + return baseMapper.getReportProgress(projectId); + } + + + @Override + public boolean checkNameUnique(AssProject project) { + Long projectId = project.getId()==null? -1L : project.getId(); + AssProject pro = baseMapper.getProjectByName(project.getName()); + if (pro!=null && pro.getId().longValue() != projectId.longValue()) + { + return false; + } + return true; + } + + @Override + public void checkReportProgress(Long projectId, ReportProgressEnum reportProgressEnum) { + Integer reportProgress= getProjectReportProgress(projectId); + if(reportProgressEnum.getCode()!=reportProgress){ + throw new ApiException(String.format("项目状态不是%s,不能操作", reportProgressEnum.getInfo())); + } + } + + @Override + public int changeReportProgress(Long projectId, ReportProgressEnum reportProgressEnum) { + AssProject project=new AssProject().setId(projectId) + .setReportProgress(reportProgressEnum.getCode()) + .setPhase(ProgressPhaseEnum.getPhaseByProcess(reportProgressEnum.getCode())); + project.setUpdateBy(ShiroUtils.getSysUser().getUsername()); + if(reportProgressEnum.getCode().equals(ReportProgressEnum.CONFIRM_FINAL.getCode())){ + project.setFilingDate(LocalDateTime.now()); + } + return baseMapper.updateById(project); + } + + @Override + public CommonPage memberProjects(Long personId, Integer finish) { + SysUser user= ShiroUtils.getSysUser(); + if(!user.getIdentity().equals(UserIdentityEnum.EXPERT.getCode())){ + throw new ApiException("无权限,只有专家用户才能操作"); + } + + PageUtil.startPage(); + List<AssProject> projects=baseMapper.getMemberProjectByUserId(personId,finish,user.getAgencyId()); + if(projects.size()>0) { + getProjectPlanPerson(projects); + } + return CommonPage.restPage(projects); + } + + @Override + public CommonPage leaderProjects(Long personId) { + SysUser user= ShiroUtils.getSysUser(); + if(!user.getIdentity().equals(UserIdentityEnum.EXPERT.getCode())){ + throw new ApiException("无权限,只有专家用户才能操作"); + } + PageUtil.startPage(); + List<AssProject> projects=baseMapper.getLeaderProjectByUserId(personId,user.getAgencyId()); + return CommonPage.restPage(projects); + } + + private void getProjectPlanPerson(List<AssProject> projects){ + List<Long> planPersonIds=projects.stream().map(AssProject::getPlanPersonId).collect(Collectors.toList()); + List<AssPlanPerson> planPersonList=planPersonMapper.getPlanPersonsByIds(planPersonIds); + Map<Long,AssPlanPerson> maps=planPersonList.stream().collect(Collectors.toMap(AssPlanPerson::getId,a -> a)); + for(AssProject project:projects){ + project.setPlanPerson(maps.get(project.getPlanPersonId())); + } + } + + @Override + public ProjectStaticVO projectStat(AssProject project) { + SysUser user=ShiroUtils.getSysUser(); + if(!user.getIdentity().equals(UserIdentityEnum.MONITOR.getCode())){ + if(user.getAgencyId()==null){ + throw new ApiException("用户机构id为空"); + } + project.setAgencyId(user.getAgencyId()); + } + Integer projectTotal=baseMapper.getProjectCount(project); + project.setPhase(ProgressPhaseEnum.RISK.getCode()); + Integer riskTotal=baseMapper.getProjectCount(project); + + project.setPhase(ProgressPhaseEnum.INVESTIGATION.getCode()); + Integer investigationTotal=baseMapper.getProjectCount(project); + + project.setPhase(ProgressPhaseEnum.REVIEW.getCode()); + Integer reviewTotal=baseMapper.getProjectCount(project); + + project.setPhase(ProgressPhaseEnum.REPORT.getCode()); + Integer reportTotal=baseMapper.getProjectCount(project); + + project.setPhase(ProgressPhaseEnum.ARCHIVE.getCode()); + Integer archiveTotal=baseMapper.getProjectCount(project); + + ProjectStaticVO projectStaticVO=new ProjectStaticVO() + .setProjectTotal(projectTotal) + .setRiskTotal(riskTotal) + .setInvestigationTotal(investigationTotal) + .setReviewTotal(reviewTotal) + .setReportTotal(reportTotal) + .setArchiveTotal(archiveTotal); + return projectStaticVO; + } + + @Override + public Long getProjectAgencyId(Long projectId) { + AssProject project=getOne(Wrappers.<AssProject>lambdaQuery() + .select(AssProject::getAgencyId) + .eq(AssProject::getId,projectId) + .eq(AssProject::getDelFlag, DeleteFlagEnum.UN_DELETE.getCode())); + if(project==null){ + throw new ApiException("项目不存在"); + } + return project.getAgencyId(); + } + + @Override + public void checkUserAllowed(Long projectId) { + if(projectId==null){ + throw new ApiException("项目id不能为空"); + } + SysUser currentUser=ShiroUtils.getSysUser(); + if(!Objects.equals(currentUser.getIdentity(),UserIdentityEnum.MONITOR.getCode())){ + if(!Objects.equals(currentUser.getAgencyId(), getProjectAgencyId(projectId))){ + throw new ApiException("没有权限操作其他机构数据"); + } + } + } +} diff --git a/assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssRecitificationServiceImpl.java b/assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssRecitificationServiceImpl.java new file mode 100644 index 0000000..7a156c2 --- /dev/null +++ b/assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssRecitificationServiceImpl.java @@ -0,0 +1,69 @@ +package com.gkhy.assess.system.service.impl; + +import com.gkhy.assess.common.api.CommonPage; +import com.gkhy.assess.common.enums.DeleteFlagEnum; +import com.gkhy.assess.common.utils.PageUtil; +import com.gkhy.assess.system.domain.AssProcessAudit; +import com.gkhy.assess.system.domain.AssRecitification; +import com.gkhy.assess.system.mapper.AssRecitificationMapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gkhy.assess.system.service.AssProjectService; +import com.gkhy.assess.system.service.AssRecitificationService; +import com.gkhy.assess.system.utils.ShiroUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * <p> + * 项目整改情况说明表 服务实现类 + * </p> + * + * @author kzy + * @since 2023-12-12 10:46:54 + */ +@Service +public class AssRecitificationServiceImpl extends ServiceImpl<AssRecitificationMapper, AssRecitification> implements AssRecitificationService { + @Autowired + private AssProjectService projectService; + @Override + public CommonPage recitificationList(Long projectId) { + projectService.checkUserAllowed(projectId); + PageUtil.startPage(); + List<AssRecitification> recitifications=baseMapper.recitificationList(projectId); + return CommonPage.restPage(recitifications); + } + + @Override + public int addRecitification(AssRecitification recitification) { + projectService.checkUserAllowed(recitification.getProjectId()); + recitification.setCreateBy(ShiroUtils.getSysUser().getUsername()); + int row=baseMapper.insert(recitification); + return row; + } + + @Override + public int editRecitification(AssRecitification recitification) { + projectService.checkUserAllowed(recitification.getProjectId()); + recitification.setUpdateBy(ShiroUtils.getSysUser().getUsername()); + int row =baseMapper.updateById(recitification); + return row; + } + + @Override + public int deleteById(Long recitificationId) { + AssRecitification recitification=getById(recitificationId); + projectService.checkUserAllowed(recitification.getProjectId()); + recitification=new AssRecitification() + .setId(recitificationId) + .setDelFlag(DeleteFlagEnum.DELETED.getCode()); + recitification.setUpdateBy(ShiroUtils.getSysUser().getUsername()); + return baseMapper.updateById(recitification); + } + + @Override + public AssRecitification getRecitificationById(Long recitificationId) { + return getById(recitificationId); + } +} diff --git a/assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssReviewRecordServiceImpl.java b/assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssReviewRecordServiceImpl.java new file mode 100644 index 0000000..224f303 --- /dev/null +++ b/assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssReviewRecordServiceImpl.java @@ -0,0 +1,24 @@ +package com.gkhy.assess.system.service.impl; + +import com.gkhy.assess.system.enums.ReportProgressEnum; +import com.gkhy.assess.system.service.AssProjectService; +import com.gkhy.assess.system.service.AssReviewRecordService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.Map; + +@Service +public class AssReviewRecordServiceImpl implements AssReviewRecordService { + @Autowired + private AssProjectService projectService; + @Override + public void doReview(Map map) { + Long projectId= Long.parseLong(map.get("projectId").toString()); + projectService.checkUserAllowed(projectId); + //校验项目状态 + projectService.checkReportProgress(projectId, ReportProgressEnum.TECH_AUDIT); + //更新项目状态 + projectService.changeReportProgress(projectId,ReportProgressEnum.REVIEW_RECORD); + } +} diff --git a/assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssRiskEstimateServiceImpl.java b/assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssRiskEstimateServiceImpl.java new file mode 100644 index 0000000..735c168 --- /dev/null +++ b/assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssRiskEstimateServiceImpl.java @@ -0,0 +1,89 @@ +package com.gkhy.assess.system.service.impl; + +import com.gkhy.assess.common.exception.ApiException; +import com.gkhy.assess.system.domain.AssProject; +import com.gkhy.assess.system.domain.AssRiskEstimate; +import com.gkhy.assess.system.enums.ReportProgressEnum; +import com.gkhy.assess.system.mapper.AssRiskEstimateMapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gkhy.assess.system.domain.SysUser; +import com.gkhy.assess.system.service.AssProjectService; +import com.gkhy.assess.system.service.AssRiskEstimateService; +import com.gkhy.assess.system.utils.ShiroUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +/** + * <p> + * 风险评估表 服务实现类 + * </p> + * + * @author kzy + * @since 2023-12-12 10:46:54 + */ +@Service +public class AssRiskEstimateServiceImpl extends ServiceImpl<AssRiskEstimateMapper, AssRiskEstimate> implements AssRiskEstimateService { + @Autowired + private AssProjectService projectService; + @Override + @Transactional(rollbackFor = RuntimeException.class) + public Long addRiskEstimate(AssRiskEstimate riskEstimate) { + SysUser user= ShiroUtils.getSysUser(); + if(user.getAgencyId()==null){ + throw new ApiException("无权操作,只有机构用户有权操作"); + } + AssProject project=riskEstimate.getProject(); + project.setAgencyId(user.getAgencyId()); + projectService.addProject(project); + Long projectId=project.getId(); + riskEstimate.setProjectId(projectId); + riskEstimate.setCreateBy(ShiroUtils.getSysUser().getUsername()); + int row=baseMapper.insert(riskEstimate); + if(row>0){ + //更新项目状态 + projectService.changeReportProgress(projectId,ReportProgressEnum.RISK_ESTIMATE); + } + return projectId; + } + + public void checkRiskEstimateCount(Long projectId){ + //校验项目下风险评估数量 + int contractCount= baseMapper.getCountByProjectId(projectId); + if(contractCount>0){ + throw new ApiException("项目下已存在风险评估信息"); + } + } + + @Override + @Transactional(rollbackFor = RuntimeException.class) + public int editRiskEstimate(AssRiskEstimate riskEstimate) { + AssProject project=riskEstimate.getProject(); + projectService.editProject(project); + Long riskId=riskEstimate.getId(); + if(riskId==null){ + throw new ApiException("项目风险分析id不能为空"); + } + riskEstimate.setUpdateBy(ShiroUtils.getSysUser().getUsername()); + int row =baseMapper.updateById(riskEstimate); + return row; + } + + @Override + public AssRiskEstimate getRiskEstimateByProjectId(Long projectId) { + projectService.checkUserAllowed(projectId); + AssRiskEstimate riskEstimate= baseMapper.getRiskEstimateByProjectId(projectId); + if(riskEstimate==null){ + throw new ApiException("项目风险分析不存在"); + } + riskEstimate.setProject(projectService.getProjectById(riskEstimate.getProjectId())); + return riskEstimate; + } + + + @Override + public AssRiskEstimate getRiskEstimateById(Long riskId) { + return baseMapper.getRiskEstimateById(riskId); + } + +} diff --git a/assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssWorkNotificationServiceImpl.java b/assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssWorkNotificationServiceImpl.java new file mode 100644 index 0000000..b422bac --- /dev/null +++ b/assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssWorkNotificationServiceImpl.java @@ -0,0 +1,71 @@ +package com.gkhy.assess.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gkhy.assess.common.exception.ApiException; +import com.gkhy.assess.system.domain.AssWorkNotification; +import com.gkhy.assess.system.enums.ReportProgressEnum; +import com.gkhy.assess.system.mapper.AssWorkNotificationMapper; +import com.gkhy.assess.system.service.AssProjectService; +import com.gkhy.assess.system.service.AssWorkNotificationService; +import com.gkhy.assess.system.utils.ShiroUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +/** + * <p> + * 从业告知表 服务实现类 + * </p> + * + * @author kzy + * @since 2023-12-12 10:46:54 + */ +@Service +public class AssWorkNotificationServiceImpl extends ServiceImpl<AssWorkNotificationMapper, AssWorkNotification> implements AssWorkNotificationService { + @Autowired + private AssProjectService projectService; + + @Override + @Transactional(rollbackFor = RuntimeException.class) + public int addWorkNotification(AssWorkNotification workNotification) { + Long projectId=workNotification.getProjectId(); + projectService.checkUserAllowed(projectId); + checkWorkNotificationCount(projectId); + //校验项目状态 + projectService.checkReportProgress(projectId, ReportProgressEnum.ESTIMATE_PLAN); + workNotification.setCreateBy(ShiroUtils.getSysUser().getUsername()); + int row=baseMapper.insert(workNotification); + if(row>0) { + //更新项目状态 + projectService.changeReportProgress(projectId,ReportProgressEnum.WORK_NOTIFICATION); + } + return row; + } + + public void checkWorkNotificationCount(Long projectId){ + //校验项目下从业告知数量 + int count= baseMapper.getCountByProjectId(projectId); + if(count>0){ + throw new ApiException("项目下已存在从业告知"); + } + } + + @Override + public int editWorkNotification(AssWorkNotification workNotification) { + projectService.checkUserAllowed(workNotification.getProjectId()); + workNotification.setUpdateBy(ShiroUtils.getSysUser().getUsername()); + int row=baseMapper.updateById(workNotification); + return row; + } + + @Override + public AssWorkNotification getWorkNotificationByProjectId(Long projectId) { + projectService.checkUserAllowed(projectId); + return baseMapper.getWorkNotificationByProjectId(projectId); + } + + @Override + public AssWorkNotification getWorkNotificationById(Long workNotificationId) { + return baseMapper.getWorkNotificationById(workNotificationId); + } +} diff --git a/assess-system/src/main/java/com/gkhy/assess/system/service/impl/SysAgencyServiceImpl.java b/assess-system/src/main/java/com/gkhy/assess/system/service/impl/SysAgencyServiceImpl.java index 65803ab..6ce89ad 100644 --- a/assess-system/src/main/java/com/gkhy/assess/system/service/impl/SysAgencyServiceImpl.java +++ b/assess-system/src/main/java/com/gkhy/assess/system/service/impl/SysAgencyServiceImpl.java @@ -3,6 +3,7 @@ import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.gkhy.assess.common.api.CommonPage; +import com.gkhy.assess.common.enums.DeleteFlagEnum; import com.gkhy.assess.common.exception.ApiException; import com.gkhy.assess.common.utils.PageUtil; import com.gkhy.assess.system.domain.SysAgency; @@ -58,6 +59,14 @@ return updateById(ay); } + @Override + public int deleteAgencyById(Long agencyId) { + SysAgency agency=new SysAgency().setId(agencyId) + .setDelFlag(DeleteFlagEnum.DELETED.getCode()); + agency.setUpdateBy(ShiroUtils.getSysUser().getUsername()); + return baseMapper.updateById(agency); + } + public SysAgency checkAgencyDataScope(Long agencyId) { if(agencyId==null){ throw new ApiException("机构id为空!"); diff --git a/assess-system/src/main/java/com/gkhy/assess/system/service/impl/SysAttachServiceImpl.java b/assess-system/src/main/java/com/gkhy/assess/system/service/impl/SysAttachServiceImpl.java index 24130a5..5bac989 100644 --- a/assess-system/src/main/java/com/gkhy/assess/system/service/impl/SysAttachServiceImpl.java +++ b/assess-system/src/main/java/com/gkhy/assess/system/service/impl/SysAttachServiceImpl.java @@ -29,5 +29,10 @@ return baseMapper.deleteAttachsByUserId(userId,type); } + @Override + public int deleteAttachsByIds(List<Long> ids) { + return baseMapper.deleteAttachsByIds(ids); + } + } diff --git a/assess-system/src/main/java/com/gkhy/assess/system/service/impl/SysCommonServiceImpl.java b/assess-system/src/main/java/com/gkhy/assess/system/service/impl/SysCommonServiceImpl.java index 25f68bd..c957622 100644 --- a/assess-system/src/main/java/com/gkhy/assess/system/service/impl/SysCommonServiceImpl.java +++ b/assess-system/src/main/java/com/gkhy/assess/system/service/impl/SysCommonServiceImpl.java @@ -7,10 +7,9 @@ import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.web.multipart.MultipartFile; +import sun.misc.BASE64Decoder; -import java.io.File; -import java.io.FileNotFoundException; -import java.io.IOException; +import java.io.*; import java.util.Date; import java.util.UUID; @@ -22,6 +21,9 @@ @Override public UploadObjectVO uploadFile(MultipartFile file) { + if(file==null){ + throw new ApiException("上传文件不能为空"); + } UploadObjectVO uploadObjectVO=doUpload(file); return uploadObjectVO; } @@ -41,8 +43,10 @@ return true; } + @Override public UploadObjectVO doUpload(MultipartFile file){ - String filename=file.getOriginalFilename(); + String originName=file.getOriginalFilename(); + String filename=originName; String subfix=filename.substring(filename.lastIndexOf(".")); filename= UUID.randomUUID().toString().replace("-","")+subfix; String systemDir=System.getProperty("user.dir"); @@ -62,24 +66,47 @@ } filePath=filePath.replace("\\","/"); UploadObjectVO uploadObjectVO=new UploadObjectVO().setFilename(filename) - .setPath(filePath); + .setPath(filePath).setOriginName(originName); return uploadObjectVO; } - - public boolean checkImageType(String subfix){ - if(".jpg".equalsIgnoreCase(subfix)|| - ".jpeg".equalsIgnoreCase(subfix)|| - ".png".equalsIgnoreCase(subfix)|| - ".bmp".equalsIgnoreCase(subfix)|| - ".tif".equalsIgnoreCase(subfix)|| - ".jfif".equalsIgnoreCase(subfix)|| - ".webp".equalsIgnoreCase(subfix)|| - ".gif".equalsIgnoreCase(subfix) - ){ - return true; + @Override + public UploadObjectVO doUpload(String imageBase64) { + String originName=""; + String filename=originName; + String subfix=".png"; + filename= UUID.randomUUID().toString().replace("-","")+subfix; + String systemDir=System.getProperty("user.dir"); + String dateStr= DateUtil.format(new Date(),"yyyyMMdd"); + String filePath=uploadPath+File.separator+dateStr; + File dirFile=new File(filePath); + if(!dirFile.exists()){ + dirFile.mkdirs(); } - return false; + filePath=filePath+File.separator+filename; + BASE64Decoder decoder = new BASE64Decoder(); + try { + // Base64解码 + byte[] bytes = decoder.decodeBuffer(imageBase64); + for (int i = 0; i < bytes.length; ++i) { + if (bytes[i] < 0) {// 调整异常数据 + bytes[i] += 256; + } + } + // 生成jpeg图片 + OutputStream out = new FileOutputStream(systemDir+File.separator+filePath); + out.write(bytes); + out.flush(); + out.close(); + } catch (FileNotFoundException e) { + throw new ApiException("找不到文件"); + } catch (IOException e) { + throw new ApiException("发生错误,请联系管理员"); + } + filePath=filePath.replace("\\","/"); + UploadObjectVO uploadObjectVO=new UploadObjectVO().setFilename(filename) + .setPath(filePath).setOriginName(originName); + return uploadObjectVO; } } diff --git a/assess-system/src/main/java/com/gkhy/assess/system/service/impl/SysDictDataServiceImpl.java b/assess-system/src/main/java/com/gkhy/assess/system/service/impl/SysDictDataServiceImpl.java index 0cf0828..c7aa3fc 100644 --- a/assess-system/src/main/java/com/gkhy/assess/system/service/impl/SysDictDataServiceImpl.java +++ b/assess-system/src/main/java/com/gkhy/assess/system/service/impl/SysDictDataServiceImpl.java @@ -1,12 +1,16 @@ package com.gkhy.assess.system.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.gkhy.assess.common.api.CommonPage; +import com.gkhy.assess.common.enums.DeleteFlagEnum; import com.gkhy.assess.common.exception.ApiException; import com.gkhy.assess.common.utils.PageUtil; import com.gkhy.assess.system.domain.SysDictData; import com.gkhy.assess.system.mapper.SysDictDataMapper; import com.gkhy.assess.system.service.SysDictDataService; +import com.gkhy.assess.system.utils.ShiroUtils; import org.springframework.stereotype.Service; import java.util.List; @@ -29,6 +33,10 @@ @Override public int addDictData(SysDictData dictData) { + if(!checkDictDataUnique(dictData)){ + throw new ApiException("已存在相同字典数据"); + } + dictData.setCreateBy(ShiroUtils.getSysUser().getUsername()); boolean b=save(dictData); if(!b){ throw new ApiException("新增字典数据失败"); @@ -36,8 +44,27 @@ return 1; } + public boolean checkDictDataUnique(SysDictData dictData) { + LambdaQueryWrapper<SysDictData> lambdaQueryWrapper = Wrappers.<SysDictData>lambdaQuery() + .eq(SysDictData::getDictType, dictData.getDictType()) + .eq(SysDictData::getDelFlag, DeleteFlagEnum.UN_DELETE) + .eq(SysDictData::getLabel, dictData.getLabel()); + if(dictData.getId()!=null){ + lambdaQueryWrapper.ne(SysDictData::getId,dictData.getId()); + } + long existCount= count(lambdaQueryWrapper); + if(existCount>0){ + return false; + } + return true; + } + @Override public int editDictData(SysDictData dictData) { + if(!checkDictDataUnique(dictData)){ + throw new ApiException("已存在相同字典数据"); + } + dictData.setUpdateBy(ShiroUtils.getSysUser().getUsername()); boolean b=updateById(dictData); if(!b){ throw new ApiException("修改字典数据失败"); @@ -47,7 +74,10 @@ @Override public int deleteDictDataById(Long dictId) { - boolean b=removeById(dictId); + SysDictData sysDictData=new SysDictData().setId(dictId) + .setDelFlag(DeleteFlagEnum.DELETED.getCode()); + sysDictData.setUpdateBy(ShiroUtils.getSysUser().getName()); + boolean b=updateById(sysDictData); if(!b){ throw new ApiException("删除字典数据失败"); } diff --git a/assess-system/src/main/java/com/gkhy/assess/system/service/impl/SysDictTypeServiceImpl.java b/assess-system/src/main/java/com/gkhy/assess/system/service/impl/SysDictTypeServiceImpl.java index f26be53..b088ff1 100644 --- a/assess-system/src/main/java/com/gkhy/assess/system/service/impl/SysDictTypeServiceImpl.java +++ b/assess-system/src/main/java/com/gkhy/assess/system/service/impl/SysDictTypeServiceImpl.java @@ -1,20 +1,21 @@ package com.gkhy.assess.system.service.impl; import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.gkhy.assess.common.api.CommonPage; +import com.gkhy.assess.common.enums.DeleteFlagEnum; import com.gkhy.assess.common.exception.ApiException; import com.gkhy.assess.common.utils.PageUtil; import com.gkhy.assess.system.domain.SysDictData; import com.gkhy.assess.system.domain.SysDictType; -import com.gkhy.assess.system.domain.SysLaw; import com.gkhy.assess.system.mapper.SysDictDataMapper; import com.gkhy.assess.system.mapper.SysDictTypeMapper; import com.gkhy.assess.system.service.SysDictTypeService; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.gkhy.assess.system.utils.ShiroUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; import java.util.List; @@ -45,6 +46,10 @@ @Override public int addDictType(SysDictType dictType) { + if(!checkDictTypeUnique(dictType)){ + throw new ApiException("新增字典类型已存在"); + } + dictType.setCreateBy(ShiroUtils.getSysUser().getUsername()); boolean b=save(dictType); if(!b){ throw new ApiException("新增字典类型失败"); @@ -55,8 +60,12 @@ @Override // @Transactional(rollbackFor = RuntimeException.class) public int editDictType(SysDictType dict) { + if(!checkDictTypeUnique(dict)){ + throw new ApiException("字典类型已存在"); + } SysDictType oldDict= baseMapper.getDictTypeById(dict.getId()); dict.setDictType(oldDict.getDictType());//字典类型不能修改 + dict.setUpdateBy(ShiroUtils.getSysUser().getUsername()); boolean b=updateById(dict); if(!b){ throw new ApiException("修改数据字典类型失败"); @@ -70,7 +79,10 @@ if(dictDataMapper.countDictDataByType(dictType.getDictType())>0){ throw new ApiException(String.format("%1$s已分配,不能删除", dictType.getName())); } - boolean b=removeById(dictId); + SysDictType sysDictType=new SysDictType().setId(dictId) + .setDelFlag(DeleteFlagEnum.DELETED.getCode()); + sysDictType.setUpdateBy(ShiroUtils.getSysUser().getName()); + boolean b=updateById(sysDictType); if(!b){ throw new ApiException("删除字典类型失败"); } @@ -87,7 +99,7 @@ @Override public boolean checkDictTypeUnique(SysDictType dict) { Long dictId = ObjectUtil.isNull(dict.getId()) ? -1L : dict.getId(); - SysDictType dictType = baseMapper.checkDictTypeUnique(dict.getDictType()); + SysDictType dictType = baseMapper.checkDictTypeUnique(dict.getDictType(),dict.getName()); if (ObjectUtil.isNotNull(dictType) && dictType.getId().longValue() != dictId.longValue()) { return false; diff --git a/assess-system/src/main/java/com/gkhy/assess/system/service/impl/SysExpertClassifyServiceImpl.java b/assess-system/src/main/java/com/gkhy/assess/system/service/impl/SysExpertClassifyServiceImpl.java index c3f44fd..d452bcc 100644 --- a/assess-system/src/main/java/com/gkhy/assess/system/service/impl/SysExpertClassifyServiceImpl.java +++ b/assess-system/src/main/java/com/gkhy/assess/system/service/impl/SysExpertClassifyServiceImpl.java @@ -33,6 +33,7 @@ if(StringUtils.isNotBlank(expertClassify.getClassifyName())){ lambdaQueryWrapper.like(SysExpertClassify::getClassifyName,expertClassify.getClassifyName()); } + lambdaQueryWrapper.eq(SysExpertClassify::getDelFlag,DeleteFlagEnum.UN_DELETE.getCode()); List<SysExpertClassify> classifies= list(lambdaQueryWrapper); //筛选出所有一级标签 return classifies.stream() @@ -44,7 +45,7 @@ public List<SysExpertClassify> listClassifyChildren(SysExpertClassify classify,List<SysExpertClassify> classifies){ //递归查找子类 return classifies.stream() - .filter(classifyEntity -> Objects.equals(classifyEntity.getParentId(), classify.getClassifyId())) + .filter(classifyEntity -> Objects.equals(classifyEntity.getParentId(), classify.getId())) .peek(classifyEntity -> classifyEntity.setChildren(this.listClassifyChildren(classifyEntity,classifies))) .collect(Collectors.toList()); } @@ -63,8 +64,9 @@ @Override public int delClassify(Long classifyId) { SysExpertClassify classify = new SysExpertClassify(); - classify.setClassifyId(classifyId); + classify.setId(classifyId); classify.setDelFlag(DeleteFlagEnum.DELETED.getCode()); + classify.setUpdateBy(ShiroUtils.getSysUser().getUsername()); boolean b=updateById(classify); if(!b){ throw new ApiException("删除专家分类失败"); diff --git a/assess-system/src/main/java/com/gkhy/assess/system/service/impl/SysExpertInfoServiceImpl.java b/assess-system/src/main/java/com/gkhy/assess/system/service/impl/SysExpertInfoServiceImpl.java index ce0272d..fe922cb 100644 --- a/assess-system/src/main/java/com/gkhy/assess/system/service/impl/SysExpertInfoServiceImpl.java +++ b/assess-system/src/main/java/com/gkhy/assess/system/service/impl/SysExpertInfoServiceImpl.java @@ -1,6 +1,8 @@ package com.gkhy.assess.system.service.impl; +import cn.hutool.core.util.ObjectUtil; import com.gkhy.assess.common.api.CommonPage; +import com.gkhy.assess.common.enums.DeleteFlagEnum; import com.gkhy.assess.common.exception.ApiException; import com.gkhy.assess.common.utils.PageUtil; import com.gkhy.assess.system.domain.SysAgency; @@ -50,6 +52,7 @@ if(!checkIdCardUnique(expertInfo)){ throw new ApiException(expertInfo.getIdCard()+"身份证号码已经存在"); } + expertInfo.setUpdateBy(ShiroUtils.getSysUser().getUsername()); boolean b=updateById(expertInfo); if(!b){ throw new ApiException("修改专家信息失败"); @@ -60,8 +63,9 @@ @Override public int delExpertInfo(Long expertId) { SysExpertInfo expertInfo = new SysExpertInfo(); - expertInfo.setExpertId(expertId); - expertInfo.setDelFlag(1); + expertInfo.setId(expertId); + expertInfo.setDelFlag(DeleteFlagEnum.DELETED.getCode()); + expertInfo.setUpdateBy(ShiroUtils.getSysUser().getUsername()); boolean b= updateById(expertInfo); if(!b){ throw new ApiException("删除专家信息失败"); @@ -74,10 +78,37 @@ return baseMapper.deleteBatchByIds(expertIds); } + @Override + public SysExpertInfo exportInfoDetail(Long expertId) { + return baseMapper.getExpertInfoById(expertId); + } + + + + public SysExpertInfo checkExpertInfoDataScope(Long expertId) { + if(expertId==null){ + throw new ApiException("专家id为空!"); + } + SysExpertInfo expertInfo = baseMapper.getExpertInfoById(expertId); + if (ObjectUtil.isNull(expertInfo)) + { + throw new ApiException("专家数据不存在!"); + } + return expertInfo; + } + + @Override + public boolean changeApprove(SysExpertInfo expertInfo) { + checkExpertInfoDataScope(expertInfo.getId()); + SysExpertInfo se=new SysExpertInfo().setId(expertInfo.getId()).setState(expertInfo.getState()); + se.setUpdateBy(ShiroUtils.getSysUser().getUsername()); + return updateById(se); + } + public boolean checkIdCardUnique(SysExpertInfo expertInfo){ - Long expertId = expertInfo.getExpertId()==null? -1L : expertInfo.getExpertId(); + Long expertId = expertInfo.getId()==null? -1L : expertInfo.getId(); SysExpertInfo info = baseMapper.checkIdcardUnique(expertInfo.getIdCard()); - if (info!=null && info.getExpertId().longValue() != expertId.longValue()) + if (info!=null && info.getId().longValue() != expertId.longValue()) { return false; } diff --git a/assess-system/src/main/java/com/gkhy/assess/system/service/impl/SysLawServiceImpl.java b/assess-system/src/main/java/com/gkhy/assess/system/service/impl/SysLawServiceImpl.java index 22b85e0..13a83e1 100644 --- a/assess-system/src/main/java/com/gkhy/assess/system/service/impl/SysLawServiceImpl.java +++ b/assess-system/src/main/java/com/gkhy/assess/system/service/impl/SysLawServiceImpl.java @@ -1,14 +1,14 @@ package com.gkhy.assess.system.service.impl; import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.gkhy.assess.common.api.CommonPage; +import com.gkhy.assess.common.enums.DeleteFlagEnum; import com.gkhy.assess.common.exception.ApiException; import com.gkhy.assess.common.utils.PageUtil; import com.gkhy.assess.system.domain.SysLaw; -import com.gkhy.assess.system.domain.SysNotice; import com.gkhy.assess.system.mapper.SysLawMapper; import com.gkhy.assess.system.service.SysLawService; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.gkhy.assess.system.utils.ShiroUtils; import org.springframework.stereotype.Service; @@ -40,6 +40,7 @@ @Override public int addLaw(SysLaw law) { boolean b=save(law); + law.setCreateBy(ShiroUtils.getSysUser().getUsername()); if(!b){ throw new ApiException("新增法律法规失败"); } @@ -48,6 +49,7 @@ @Override public int editLaw(SysLaw law) { + law.setUpdateBy(ShiroUtils.getSysUser().getUsername()); boolean b=updateById(law); if(!b){ throw new ApiException("修改法律法规失败"); @@ -57,7 +59,10 @@ @Override public int deleteLawById(Long lawId) { - boolean b=removeById(lawId); + SysLaw sysLaw=new SysLaw().setId(lawId) + .setDelFlag(DeleteFlagEnum.DELETED.getCode()); + sysLaw.setUpdateBy(ShiroUtils.getSysUser().getUsername()); + boolean b=updateById(sysLaw); if(!b){ throw new ApiException("删除法律法规失败"); } diff --git a/assess-system/src/main/java/com/gkhy/assess/system/service/impl/SysNoticeServiceImpl.java b/assess-system/src/main/java/com/gkhy/assess/system/service/impl/SysNoticeServiceImpl.java index 51c50e9..acab316 100644 --- a/assess-system/src/main/java/com/gkhy/assess/system/service/impl/SysNoticeServiceImpl.java +++ b/assess-system/src/main/java/com/gkhy/assess/system/service/impl/SysNoticeServiceImpl.java @@ -3,8 +3,10 @@ import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.gkhy.assess.common.api.CommonPage; +import com.gkhy.assess.common.enums.DeleteFlagEnum; import com.gkhy.assess.common.exception.ApiException; import com.gkhy.assess.common.utils.PageUtil; +import com.gkhy.assess.system.domain.SysLaw; import com.gkhy.assess.system.domain.SysNotice; import com.gkhy.assess.system.domain.SysUser; import com.gkhy.assess.system.mapper.SysNoticeMapper; @@ -57,7 +59,10 @@ @Override public int deleteNoticeById(Long noticeId) { - boolean b=removeById(noticeId); + SysNotice sysNotice=new SysNotice().setId(noticeId) + .setDelFlag(DeleteFlagEnum.DELETED.getCode()); + sysNotice.setUpdateBy(ShiroUtils.getSysUser().getName()); + boolean b=updateById(sysNotice); if(!b){ throw new ApiException("删除通知失败"); } diff --git a/assess-system/src/main/java/com/gkhy/assess/system/service/impl/SysRegionServiceImpl.java b/assess-system/src/main/java/com/gkhy/assess/system/service/impl/SysRegionServiceImpl.java index 6baaa09..5556dca 100644 --- a/assess-system/src/main/java/com/gkhy/assess/system/service/impl/SysRegionServiceImpl.java +++ b/assess-system/src/main/java/com/gkhy/assess/system/service/impl/SysRegionServiceImpl.java @@ -11,6 +11,7 @@ import com.gkhy.assess.system.domain.SysRegion; import com.gkhy.assess.system.mapper.SysRegionMapper; import com.gkhy.assess.system.service.SysRegionService; +import com.gkhy.assess.system.utils.ShiroUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -76,6 +77,7 @@ throw new ApiException("已存在相同地区名称"); } region.setRegionType(RegionTypeEnum.INSIDE.getCode()); + region.setCreateBy(ShiroUtils.getSysUser().getUsername()); boolean b=save(region); if(!b){ throw new ApiException("新增地区失败"); @@ -107,6 +109,7 @@ if(!checkRegionUnique(region)){ throw new ApiException("已存在相同地区名称"); } + region.setUpdateBy(ShiroUtils.getSysUser().getUsername()); boolean b=updateById(region); if(!b){ throw new ApiException("修改地区失败"); diff --git a/assess-system/src/main/java/com/gkhy/assess/system/service/impl/SysUserFaceServiceImpl.java b/assess-system/src/main/java/com/gkhy/assess/system/service/impl/SysUserFaceServiceImpl.java new file mode 100644 index 0000000..c384eb1 --- /dev/null +++ b/assess-system/src/main/java/com/gkhy/assess/system/service/impl/SysUserFaceServiceImpl.java @@ -0,0 +1,50 @@ +package com.gkhy.assess.system.service.impl; + +import com.gkhy.assess.system.domain.SysUser; +import com.gkhy.assess.system.domain.SysUserFace; +import com.gkhy.assess.system.domain.vo.UploadObjectVO; +import com.gkhy.assess.system.mapper.SysUserFaceMapper; +import com.gkhy.assess.system.mapper.SysUserMapper; +import com.gkhy.assess.system.service.SysCommonService; +import com.gkhy.assess.system.service.SysUserFaceService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +/** + * <p> + * 用户人脸数据表 服务实现类 + * </p> + * + * @author kzy + * @since 2024-01-09 17:10:01 + */ +@Service +public class SysUserFaceServiceImpl extends ServiceImpl<SysUserFaceMapper, SysUserFace> implements SysUserFaceService { + @Autowired + private SysCommonService commonService; + @Autowired + private SysUserMapper userMapper; + @Override + @Transactional + public int addUserFace(SysUserFace userFace) { + int row=0; + SysUserFace oldUserFace=baseMapper.getFaceByUserId(userFace.getUserId()); + UploadObjectVO uploadObjectVO =commonService.doUpload(userFace.getFile()); + if(oldUserFace==null){ + row= baseMapper.insert(userFace); + }else{ + row= baseMapper.updateById(new SysUserFace().setId(oldUserFace.getId()).setFaceBase(userFace.getFaceBase())); + } + userMapper.updateById(new SysUser().setId(userFace.getUserId()).setIdPhoto(uploadObjectVO.getPath())); + return row; + } + + @Override + public SysUserFace getFaceByUserId(Long userId) { + return baseMapper.getFaceByUserId(userId); + } + + +} diff --git a/assess-system/src/main/java/com/gkhy/assess/system/service/impl/SysUserServiceImpl.java b/assess-system/src/main/java/com/gkhy/assess/system/service/impl/SysUserServiceImpl.java index a552f44..5004259 100644 --- a/assess-system/src/main/java/com/gkhy/assess/system/service/impl/SysUserServiceImpl.java +++ b/assess-system/src/main/java/com/gkhy/assess/system/service/impl/SysUserServiceImpl.java @@ -2,19 +2,22 @@ import cn.hutool.core.codec.Base64; import cn.hutool.core.util.ObjectUtil; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.gkhy.assess.common.api.CommonPage; import com.gkhy.assess.common.constant.CacheConstant; import com.gkhy.assess.common.domain.vo.AccountVO; import com.gkhy.assess.common.domain.vo.LoginBody; import com.gkhy.assess.common.enums.AttachTypeEnum; +import com.gkhy.assess.common.enums.DeleteFlagEnum; import com.gkhy.assess.common.enums.UserIdentityEnum; import com.gkhy.assess.common.exception.ApiException; import com.gkhy.assess.common.utils.*; -import com.gkhy.assess.system.domain.SysAgency; -import com.gkhy.assess.system.domain.SysAttach; -import com.gkhy.assess.system.domain.SysUser; -import com.gkhy.assess.system.mapper.SysAgencyMapper; +import com.gkhy.assess.system.domain.*; +import com.gkhy.assess.system.domain.vo.PersonProjectVO; +import com.gkhy.assess.system.mapper.AssProjectMapper; +import com.gkhy.assess.system.mapper.SysUserFaceMapper; import com.gkhy.assess.system.mapper.SysUserMapper; import com.gkhy.assess.system.service.SysAgencyService; import com.gkhy.assess.system.service.SysAttachService; @@ -24,6 +27,7 @@ import org.apache.shiro.SecurityUtils; import org.apache.shiro.authc.*; import org.apache.shiro.subject.Subject; +import org.checkerframework.checker.units.qual.A; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -31,9 +35,8 @@ import javax.servlet.http.HttpServletRequest; import javax.validation.Validator; -import java.util.ArrayList; -import java.util.List; -import java.util.Objects; +import java.util.*; +import java.util.stream.Collectors; /** @@ -55,18 +58,20 @@ @Autowired private HttpServletRequest request; - @Autowired - private SysAgencyMapper agencyMapper; + @Autowired private SysAgencyService agencyService; @Autowired private SysAttachService attachService; - + @Autowired + private SysUserFaceMapper userFaceMapper; + @Autowired + private AssProjectMapper projectMapper; @Override public AccountVO login(LoginBody loginBody) { // 验证码校验 - // validateCaptcha(loginBody.getUsername(), loginBody.getCode(), loginBody.getUuid()); + //validateCaptcha(loginBody.getUsername(), loginBody.getCode(), loginBody.getUuid()); UsernamePasswordToken usernamePasswordToken = new UsernamePasswordToken(loginBody.getUsername(), Base64.decodeStr(loginBody.getPassword()), false); Subject subject= SecurityUtils.getSubject(); String msg ; @@ -75,10 +80,52 @@ SysUser sysUser = (SysUser) subject.getPrincipal(); AccountVO accountVO = new AccountVO(); BeanUtils.copyProperties(sysUser, accountVO); - + if(sysUser.getAgencyId()!=null){ + SysAgency agency=agencyService.getOne(Wrappers.<SysAgency>lambdaQuery() + .select(SysAgency::getId,SysAgency::getName) + .eq(SysAgency::getId,sysUser.getAgencyId())); + accountVO.setAgentName(agency.getName()); + accountVO.setAgentId(agency.getId()); + } String token = JwtTokenUtil.sign(sysUser.getUsername(),sysUser.getPassword()); accountVO.setToken(token); cacheUserToken(sysUser.getUsername(),token); + return accountVO; + }catch (UnknownAccountException | IncorrectCredentialsException uae){ + throw new ApiException("用户名/密码错误,请重新输入"); + } catch (LockedAccountException lae) { // 账号已被锁定 + msg = "账号已被锁定"; + throw new ApiException(msg); + }catch (AuthenticationException ae) { // 其他身份验证异常 + msg = "用户认证失败:"+ae.getMessage(); + throw new ApiException(msg); + } + } + + + + @Override + public AccountVO appLogin(LoginBody loginBody) { + // 验证码校验 + UsernamePasswordToken usernamePasswordToken = new UsernamePasswordToken(loginBody.getUsername(), Base64.decodeStr(loginBody.getPassword()), false); + Subject subject= SecurityUtils.getSubject(); + String msg ; + try { + subject.login(usernamePasswordToken); + SysUser sysUser = (SysUser) subject.getPrincipal(); + AccountVO accountVO = new AccountVO(); + BeanUtils.copyProperties(sysUser, accountVO); + if(sysUser.getAgencyId()!=null){ + SysAgency agency=agencyService.getOne(Wrappers.<SysAgency>lambdaQuery() + .select(SysAgency::getId,SysAgency::getName) + .eq(SysAgency::getId,sysUser.getAgencyId())); + accountVO.setAgentName(agency.getName()); + accountVO.setAgentId(agency.getId()); + } + String token = JwtTokenUtil.sign(sysUser.getUsername(),sysUser.getPassword()); + accountVO.setToken(token); + cacheUserToken(sysUser.getUsername(),token); + accountVO.setUserFace(userFaceMapper.getFaceByUserId(sysUser.getId())); return accountVO; }catch (UnknownAccountException | IncorrectCredentialsException uae){ throw new ApiException("用户名/密码错误,请重新输入"); @@ -97,14 +144,14 @@ */ public void cacheUserToken(String username,String newToken){ -// String userKey = redisUtils.generateKey(CacheConstant.SYS_USER_TOKEN + ":" + username); -// String oldToken = (String) redisUtils.get(userKey); -// if (StrUtil.isNotBlank(oldToken)) { -// String oldTokenkey = redisUtils.generateKey(CacheConstant.SYS_USER_TOKEN + ":" + JwtTokenUtil.md5Encode(oldToken)); -// redisUtils.del(oldTokenkey); -// redisUtils.del(userKey); -// } -// redisUtils.set(userKey, newToken,(JwtTokenUtil.EXPIRATION*2/1000)+2); + String userKey = redisUtils.generateKey(CacheConstant.SYS_USER_TOKEN + ":" + username); + String oldToken = (String) redisUtils.get(userKey); + if (StringUtils.isNotBlank(oldToken)) { + String oldTokenkey = redisUtils.generateKey(CacheConstant.SYS_USER_TOKEN + ":" + JwtTokenUtil.md5Encode(oldToken)); + redisUtils.del(oldTokenkey); + redisUtils.del(userKey); + } + redisUtils.set(userKey, newToken,(JwtTokenUtil.EXPIRATION*2/1000)+2); String tokenKey= redisUtils.generateKey(CacheConstant.SYS_USER_TOKEN+":"+JwtTokenUtil.md5Encode(newToken)); @@ -142,9 +189,14 @@ @Override public void logout() { String jwtToken = request.getHeader(JwtTokenUtil.USER_LOGIN_TOKEN); - String key= redisUtils.generateKey(CacheConstant.SYS_USER_TOKEN+":"+JwtTokenUtil.md5Encode(jwtToken)); - //删除redis缓存 - redisUtils.del(key); + if(StringUtils.isNotBlank(jwtToken)){ + String username=JwtTokenUtil.getUsername(jwtToken); + String userKey = redisUtils.generateKey(CacheConstant.SYS_USER_TOKEN + ":" + username); + String tokenKey= redisUtils.generateKey(CacheConstant.SYS_USER_TOKEN+":"+JwtTokenUtil.md5Encode(jwtToken)); + //删除redis缓存 + redisUtils.del(tokenKey); + redisUtils.del(userKey); + } } @Override @@ -163,8 +215,25 @@ @Override public CommonPage<SysUser> expertList(SysUser user) { + SysUser currentUser= ShiroUtils.getSysUser(); + if(!currentUser.getIdentity().equals(UserIdentityEnum.MONITOR.getCode())){ + //机构用户只能查看本机构的专家 + if(currentUser.getAgencyId()==null){ + throw new ApiException("用户机构id为空"); + } + user.setAgencyId(currentUser.getAgencyId()); + } PageUtil.startPage(); List<SysUser> users=baseMapper.expertList(user); + if(users.size()>0) { + //统计用户参与项目的信息 + List<Long> userIds = users.stream().map(item -> item.getId()).collect(Collectors.toList()); + List<PersonProjectVO> personProjectVOList = projectMapper.getProjectByPersonIds(userIds); + Map<Long, PersonProjectVO> maps = personProjectVOList.stream().collect(Collectors.toMap(PersonProjectVO::getPersonId, a -> a)); + for (SysUser sysUser : users) { + sysUser.setPersonProjectVO(maps.get(sysUser.getId())); + } + } return CommonPage.restPage(users); } @@ -216,8 +285,10 @@ } String originPsword=Base64.decodeStr(user.getPassword()); validatorPassword(originPsword); + //密码生成规则:md5(username+password+salt) user.setPassword(JwtTokenUtil.encryptPassword(user.getUsername(),originPsword,user.getSalt())); user.setIdentity(UserIdentityEnum.MONITOR.getCode()); + user.setCreateBy(ShiroUtils.getSysUser().getUsername()); boolean b=save(user); if(!b){ throw new ApiException("创建监管用户信息失败"); @@ -246,15 +317,16 @@ if(!agencyService.checkAgencyNameUnique(new SysAgency().setName(agency.getName()))){ throw new ApiException("机构名称已存在"); } - int i=agencyMapper.insert(agency); - if(i<1){ + agency.setCreateBy(ShiroUtils.getSysUser().getUsername()); + boolean b=agencyService.save(agency); + if(!b){ throw new ApiException("保存机构信息失败"); } user.setIdentity(UserIdentityEnum.AGENCY.getCode()); user.setAgencyId(agency.getId()); user.setPassword(JwtTokenUtil.encryptPassword(user.getUsername(),originPsword,user.getSalt())); - - boolean b=save(user); + user.setCreateBy(ShiroUtils.getSysUser().getUsername()); + b=save(user); if(!b){ throw new ApiException("创建机构用户信息失败"); } @@ -264,6 +336,8 @@ @Override @Transactional(rollbackFor = RuntimeException.class) public int addExpert(SysUser user) { + user.setIdentity(UserIdentityEnum.EXPERT.getCode()); + checkUserAllowed(user); //校验用户信息 if(!checkUsernameUnique(new SysUser().setUsername(user.getUsername()))){ throw new ApiException("用户名已存在"); @@ -271,11 +345,19 @@ if(!checkPhoneUnique(new SysUser().setUsername(user.getPhone()))){ throw new ApiException("手机号已存在"); } + String major=user.getMajor(); + List<Integer> majors=new ArrayList<>(); + JSONObject jsonObject=JSONObject.parseObject(major); + jsonObject.forEach((key,value)-> { + majors.add(Integer.valueOf(key)); + }); + user.setMajor(StringUtils.join(",",majors)); + user.setCertificateNo(major); String originPsword=Base64.decodeStr(user.getPassword()); validatorPassword(originPsword); - user.setIdentity(UserIdentityEnum.EXPERT.getCode()); user.setCreateBy(ShiroUtils.getSysUser().getUsername()); user.setPassword(JwtTokenUtil.encryptPassword(user.getUsername(),originPsword,user.getSalt())); + boolean b=save(user); if(!b){ throw new ApiException("创建专家信息失败"); @@ -322,22 +404,31 @@ @Override @Transactional(rollbackFor = RuntimeException.class) public int deleteUserById(Long userId) { - SysUser user=getUserById(userId); - if(user==null){ - throw new ApiException("用户不存在"); - } + SysUser currentUser=ShiroUtils.getSysUser(); + SysUser user=checkUserDataScope(userId); if(Objects.equals(ShiroUtils.getUserId(), userId)){ throw new ApiException("不能删除自己账号"); } - //机构用户,将机构信息设置成删除状态 - if(user.getIdentity().equals(UserIdentityEnum.AGENCY.getCode())){ - if(user.getAgencyId()==null){ - throw new ApiException("获取机构id为空"); + if(user.getIdentity().equals(UserIdentityEnum.AGENCY.getCode())||user.getIdentity().equals(UserIdentityEnum.MONITOR.getCode())){ + if(!currentUser.getIdentity().equals(UserIdentityEnum.MONITOR.getCode())){ + throw new ApiException("没有权限,只有监管用户才能操作"); } - agencyMapper.deleteAgencyById(user.getAgencyId()); + //机构用户,将机构信息设置成删除状态 + if(user.getIdentity().equals(UserIdentityEnum.AGENCY.getCode())) { + if (user.getAgencyId() == null) { + throw new ApiException("获取机构id为空"); + } + SysAgency agency=new SysAgency().setId(user.getAgencyId()); + agency.setUpdateBy(ShiroUtils.getSysUser().getUsername()); + agency.setDelFlag(DeleteFlagEnum.DELETED.getCode()); + agencyService.updateById(agency); + } } delCacheByUsername(user.getUsername()); - return baseMapper.deleteUserById(userId); + user=new SysUser().setId(userId); + user.setUpdateBy(ShiroUtils.getSysUser().getUsername()); + user.setDelFlag(DeleteFlagEnum.DELETED.getCode()); + return baseMapper.updateById(user); } @Override @@ -351,6 +442,7 @@ } delCacheByUsername(user.getUsername()); user.setPassword(null); + user.setUpdateBy(ShiroUtils.getSysUser().getUsername()); boolean b=updateById(user); if(!b){ throw new ApiException("更新监管用户信息失败"); @@ -380,8 +472,10 @@ } delCacheByUsername(user.getUsername()); + agency.setUpdateBy(ShiroUtils.getSysUser().getUsername()); agencyService.updateById(agency); user.setPassword(null); + user.setUpdateBy(ShiroUtils.getSysUser().getUsername()); boolean b=updateById(user); if(!b){ throw new ApiException("更新用户失败"); @@ -391,6 +485,7 @@ @Override public int editExpert(SysUser user) { + checkUserDataScope(user.getId()); //校验用户信息 if(!checkUsernameUnique(user)){ throw new ApiException("用户名已存在"); @@ -398,13 +493,23 @@ if(!checkPhoneUnique(user)){ throw new ApiException("手机号已存在"); } - user.setPassword(null); - boolean b=updateById(user); - if(!b){ - throw new ApiException("更新专家信息失败"); + String major=user.getMajor(); + if(StringUtils.isNotBlank(major)){ + List<Integer> majors=new ArrayList<>(); + JSONObject jsonObject=JSONObject.parseObject(major); + jsonObject.forEach((key,value)-> { + majors.add(Integer.valueOf(key)); + }); + user.setMajor(StringUtils.join(",",majors)); + user.setCertificateNo(major); } - //刪除旧数据 - attachService.deleteAttachsByUserId(user.getId(),null); + user.setPassword(null); + user.setUpdateBy(ShiroUtils.getSysUser().getUsername()); + int row=baseMapper.updateById(user); + + List<SysAttach> existAttaches=attachService.getAttachsByUserId(user.getId(),null); + // 刪除旧数据 + // attachService.deleteAttachsByUserId(user.getId(),null); List<SysAttach> socialAttach=user.getSocialAttach(); List<SysAttach> medicalAttach=user.getMedicalAttach(); @@ -425,9 +530,20 @@ attach.setUserId(user.getId()); attaches.add(attach); } - attachService.saveBatch(attaches); + attachService.saveOrUpdateBatch(attaches); + + List<Long> newIds=attaches.stream().map(SysAttach::getId).collect(Collectors.toList()); + List<Long> delIds=new ArrayList<>(); + for(SysAttach attach:existAttaches){ + if(!newIds.contains(attach.getId())){ + delIds.add(attach.getId()); + } + } + if(!delIds.isEmpty()){ + attachService.deleteAttachsByIds(delIds); + } delCacheByUsername(user.getUsername()); - return 1; + return row; } @@ -435,7 +551,6 @@ public boolean resetUserPwd(SysUser user) { String originPsword=Base64.decodeStr(user.getPassword()); validatorPassword(originPsword); - checkUserAllowed(user); SysUser oldUser=checkUserDataScope(user.getId()); SysUser newUser=new SysUser().setId(user.getId()).setPassword(JwtTokenUtil.encryptPassword(oldUser.getUsername(),originPsword,oldUser.getSalt())); newUser.setUpdateBy(ShiroUtils.getSysUser().getUsername()); @@ -478,7 +593,15 @@ @Override public void checkUserAllowed(SysUser user) { - + SysUser currentUser=ShiroUtils.getSysUser(); + if(!Objects.equals(currentUser.getIdentity(), UserIdentityEnum.MONITOR.getCode())){ + if(Objects.equals(user.getIdentity(), UserIdentityEnum.MONITOR.getCode())){ + throw new ApiException("无权操作监管用户"); + } + if(!Objects.equals(currentUser.getAgencyId(), user.getAgencyId())){ + throw new ApiException("无权操作其他机构用户"); + } + } } @Override @@ -486,67 +609,19 @@ if(userId==null){ throw new ApiException("用户id为空!"); } - SysUser user = baseMapper.getUserById(userId); + SysUser user = getById(userId); if (ObjectUtil.isNull(user)) { throw new ApiException("用户数据不存在!"); } + checkUserAllowed(user); return user; } - @Override - public String importUser(List<SysUser> userList,Boolean isUpdateSupport) { - if(ObjectUtil.isEmpty(userList)||userList.size()==0){ - throw new ApiException("导入用户数据不能为空"); - } - int successNum=0; - int failureNum=0; - StringBuilder successMsg=new StringBuilder(); - StringBuilder failureMsg=new StringBuilder(); - String password=configService.getConfigByKey("sys.user.initPassword"); - for(SysUser user:userList){ - try { - SysUser u = baseMapper.getUserByUsername(user.getUsername()); - if (ObjectUtil.isNull(u)) { - BeanValidators.validateWithException(validator, user); - user.setPassword(JwtTokenUtil.md5Encode(user.getUsername() + password)); - user.setCreateBy(""); - save(user); - successNum++; - successMsg.append("<br/>" + successNum + "、账号 " + user.getUsername() + " 导入成功"); - } else if (isUpdateSupport) { - BeanValidators.validateWithException(validator, user); - checkUserAllowed(u); - checkUserDataScope(u.getId()); - user.setId(u.getId()); - user.setUpdateBy(""); - updateById(user); - successNum++; - successMsg.append("<br/>" + successNum + "、账号 " + user.getUsername() + " 更新成功"); - } else { - failureNum++; - failureMsg.append("<br/>" + failureNum + "、账号 " + user.getUsername() + " 已存在"); - } - }catch (Exception e){ - failureNum++; - String msg = "<br/>" + failureNum + "、账号 " + user.getUsername() + " 导入失败:"; - failureMsg.append(msg + e.getMessage()); - log.error(msg, e); - } - } - if (failureNum > 0){ - failureMsg.insert(0, "很抱歉,导入失败!共 " + failureNum + " 条数据格式不正确,错误如下:"); - throw new ApiException(failureMsg.toString()); - }else{ - successMsg.insert(0, "恭喜您,数据已全部导入成功!共 " + successNum + " 条,数据如下:"); - } - return successMsg.toString(); - } @Override public boolean changeUserStatus(SysUser user) { - checkUserAllowed(user); SysUser existUser=checkUserDataScope(user.getId()); SysUser su=new SysUser().setId(user.getId()).setStatus(user.getStatus()); su.setUpdateBy(ShiroUtils.getSysUser().getUsername()); @@ -556,7 +631,6 @@ @Override public boolean changeApprove(SysUser user) { - checkUserAllowed(user); SysUser existUser=checkUserDataScope(user.getId()); SysUser su=new SysUser().setId(user.getId()).setState(user.getState()); su.setUpdateBy(ShiroUtils.getSysUser().getUsername()); diff --git a/assess-system/src/main/resources/mapper/AssAccessoryFileMapper.xml b/assess-system/src/main/resources/mapper/AssAccessoryFileMapper.xml new file mode 100644 index 0000000..ac9b382 --- /dev/null +++ b/assess-system/src/main/resources/mapper/AssAccessoryFileMapper.xml @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.gkhy.assess.system.mapper.AssAccessoryFileMapper"> + <update id="deleteAccessoryFileById" parameterType="java.lang.Long"> + update ass_accessory_file set del_flag=1 where id=#{accessoryFileId} + </update> + + + <select id="getAccessoryFileByProjectId" resultType="com.gkhy.assess.system.domain.AssAccessoryFile"> + select id,file_name,path,module_type,project_id,del_flag,origin_name,create_time from ass_accessory_file + where project_id=#{projectId} and del_flag=0 and module_type=#{moduleType} + </select> + + <select id="getAccessoryFileCountByProjectId" resultType="java.lang.Integer"> + select count(1) from ass_accessory_file + where project_id=#{projectId} and del_flag=0 and module_type=#{moduleType} + </select> +</mapper> diff --git a/assess-system/src/main/resources/mapper/AssAuditMapper.xml b/assess-system/src/main/resources/mapper/AssAuditMapper.xml new file mode 100644 index 0000000..794d6bb --- /dev/null +++ b/assess-system/src/main/resources/mapper/AssAuditMapper.xml @@ -0,0 +1,71 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.gkhy.assess.system.mapper.AssAuditMapper"> + <resultMap type="com.gkhy.assess.system.domain.AssAudit" id="auditResult"> + <id property="id" column="id" /> + <result property="auditDate" column="audit_date" /> + <result property="affirmDate" column="affirm_date" /> + <result property="projectId" column="project_id" /> + <result property="auditType" column="audit_type" /> + <result property="assessorId" column="assessor_id" /> + <result property="isAmendFinish" column="is_amend_finish" /> + <result property="isBasis" column="is_basis" /> + <result property="isConclusion" column="is_conclusion" /> + <result property="isDangerOverall" column="is_danger_overall" /> + <result property="isFile" column="is_file" /> + <result property="isFormat" column="is_format" /> + <result property="isMeasure" column="is_measure" /> + <result property="isMethodSelection" column="is_method_selection" /> + <result property="isReportAudit" column="is_report_audit" /> + <result property="isScope" column="is_scope" /> + <result property="isText" column="is_text" /> + <result property="isUnitDivision" column="is_unit_division" /> + <result property="isBasisQuote" column="is_basis_quote" /> + <result property="isConclusionRight" column="is_conclusion_right" /> + <result property="isDangerFull" column="is_danger_full" /> + <result property="isData" column="is_data" /> + <result property="isOmission" column="is_omission" /> + <result property="isMeasureEquitable" column="is_measure_equitable" /> + <result property="isMethodRational" column="is_method_rational" /> + <result property="suggestions" column="suggestions" /> + <result property="delFlag" column="del_flag" /> + <result property="version" column="version" /> + <result property="createBy" column="create_by" /> + <result property="createTime" column="create_time" /> + <result property="updateBy" column="update_by" /> + <result property="updateTime" column="update_time" /> + <result property="remark" column="remark" /> + <association property="assessor" javaType="com.gkhy.assess.system.domain.SysUser" resultMap="userResult" /> + </resultMap> + + <resultMap id="userResult" type="com.gkhy.assess.system.domain.SysUser"> + <id property="id" column="assessor_id" /> + <result property="name" column="assessor_name" /> + </resultMap> + + <sql id="selectAuditVo"> + select a.id,a.audit_date,a.affirm_date,a.project_id,a.audit_type,a.assessor_id,a.is_amend_finish, + a.is_basis,a.is_conclusion,a.is_danger_overall,a.is_file,a.is_format,a.is_measure,a.is_method_selection, + a.is_method_selection,a.is_report_audit,a.is_scope,a.is_text,a.is_unit_division,a.is_basis_quote, + a.is_conclusion_right,a.is_conclusion_right,a.is_danger_full,a.is_data,a.is_omission,a.is_measure_equitable, + a.is_method_rational,a.is_method_rational,a.suggestions, + a.version,a.del_flag,a.create_by,a.create_time,a.update_by,a.update_time,a.remark,u.name as assessor_name + from ass_audit a + left join sys_user u on u.id=a.assessor_id + </sql> + + + <select id="getCountByProjectId" resultType="java.lang.Integer"> + select count(1) from ass_audit where project_id=#{projectId} and audit_type=#{auditType} and del_flag=0 + </select> + + <select id="getAuditByProjectId" resultMap="auditResult"> + <include refid="selectAuditVo"/> + where a.project_id=#{projectId} and a.del_flag=0 and a.audit_type=#{auditType} + </select> + + <select id="getAuditById" resultMap="auditResult"> + <include refid="selectAuditVo"/> + where a.id=#{auditId} + </select> +</mapper> diff --git a/assess-system/src/main/resources/mapper/AssConclusionMapper.xml b/assess-system/src/main/resources/mapper/AssConclusionMapper.xml new file mode 100644 index 0000000..ad211a8 --- /dev/null +++ b/assess-system/src/main/resources/mapper/AssConclusionMapper.xml @@ -0,0 +1,39 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.gkhy.assess.system.mapper.AssConclusionMapper"> + <resultMap type="com.gkhy.assess.system.domain.AssConclusion" id="conclusionResult"> + <id property="id" column="id" /> + <result property="conclusion" column="conclusion" /> + <result property="isReviseManual" column="is_revise_manual" /> + <result property="projectId" column="project_id" /> + <result property="delFlag" column="del_flag" /> + <result property="version" column="version" /> + <result property="createBy" column="create_by" /> + <result property="createTime" column="create_time" /> + <result property="updateBy" column="update_by" /> + <result property="updateTime" column="update_time" /> + <result property="remark" column="remark" /> + </resultMap> + + <sql id="selectConclusionVo"> + select c.id,c.conclusion,c.is_revise_manual,c.project_id, + c.version,c.del_flag,c.create_by,c.create_time,c.update_by,c.update_time,c.remark + from ass_conclusion c + </sql> + + + + <select id="getCountByProjectId" resultType="java.lang.Integer" parameterType="java.lang.Long"> + select count(1) from ass_conclusion where project_id=#{projectId} and del_flag=0 + </select> + + <select id="getConclusionByProjectId" resultMap="conclusionResult"> + <include refid="selectConclusionVo"/> + where project_id=#{projectId} and del_flag=0 + </select> + + <select id="getConclusionById" resultMap="conclusionResult"> + <include refid="selectConclusionVo"/> + where id=#{conclusionId} + </select> +</mapper> diff --git a/assess-system/src/main/resources/mapper/AssContractMapper.xml b/assess-system/src/main/resources/mapper/AssContractMapper.xml new file mode 100644 index 0000000..f697100 --- /dev/null +++ b/assess-system/src/main/resources/mapper/AssContractMapper.xml @@ -0,0 +1,42 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.gkhy.assess.system.mapper.AssContractMapper"> + <resultMap type="com.gkhy.assess.system.domain.AssContract" id="ContractResult"> + <id property="id" column="id" /> + <result property="contractMoney" column="contract_money" /> + <result property="actualContractMoney" column="actual_contract_money" /> + <result property="contractSignDate" column="contract_sign_date" /> + <result property="projectId" column="project_id" /> + <result property="contractIntroduction" column="contract_introduction" /> + <result property="actualContractIntroduction" column="actual_contract_introduction" /> + <result property="delFlag" column="del_flag" /> + <result property="version" column="version" /> + <result property="createBy" column="create_by" /> + <result property="createTime" column="create_time" /> + <result property="updateBy" column="update_by" /> + <result property="updateTime" column="update_time" /> + <result property="remark" column="remark" /> + </resultMap> + + <sql id="selectContractVo"> + select c.id,c.contract_money, c.actual_contract_money,c.contract_sign_date,c.project_id,c.contract_introduction,c.actual_contract_introduction, + c.del_flag,c.create_by,c.create_time,c.update_by,c.update_time,c.remark + from ass_contract c + </sql> + + + <select id="getContractByProjectId" resultMap="ContractResult"> + <include refid="selectContractVo"/> + where project_id=#{projectId} and del_flag=0 limit 1 + </select> + + <select id="getContractById" resultMap="ContractResult"> + <include refid="selectContractVo"/> + where id=#{contractId} + </select> + + <select id="getCountByProjectId" resultType="java.lang.Integer"> + select count(1) from ass_contract where project_id=#{projectId} and del_flag=0 + </select> + +</mapper> diff --git a/assess-system/src/main/resources/mapper/AssDeviceMapper.xml b/assess-system/src/main/resources/mapper/AssDeviceMapper.xml new file mode 100644 index 0000000..f0e6eb3 --- /dev/null +++ b/assess-system/src/main/resources/mapper/AssDeviceMapper.xml @@ -0,0 +1,42 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.gkhy.assess.system.mapper.AssDeviceMapper"> + <resultMap type="com.gkhy.assess.system.domain.AssDevice" id="deviceResult"> + <id property="id" column="id" /> + <result property="deviceName" column="device_name" /> + <result property="startDate" column="start_date" /> + <result property="endDate" column="end_date" /> + <result property="projectId" column="project_id" /> + <result property="delFlag" column="del_flag" /> + <result property="version" column="version" /> + <result property="createBy" column="create_by" /> + <result property="createTime" column="create_time" /> + <result property="updateBy" column="update_by" /> + <result property="updateTime" column="update_time" /> + <result property="remark" column="remark" /> + </resultMap> + + <sql id="selectDeviceVo"> + select d.id,d.device_name,d.start_date,d.end_date,d.project_id, + d.version,d.del_flag,d.create_by,d.create_time,d.update_by,d.update_time,d.remark + from ass_device d + </sql> + + + <update id="deleteDeviceByIds"> + update ass_device set del_flag=1 where id in + <foreach collection="ids" item="id" open="(" separator="," close=")"> + #{id} + </foreach> + </update> + + <select id="getDeviceByName" resultMap="deviceResult"> + <include refid="selectDeviceVo"/> + where id=#{deviceId} + </select> + + <select id="getDevicesByProjectId" resultType="com.gkhy.assess.system.domain.AssDevice"> + <include refid="selectDeviceVo"/> + where project_id=#{projectId} and del_flag=0 + </select> +</mapper> diff --git a/assess-system/src/main/resources/mapper/AssEstimatePlanMapper.xml b/assess-system/src/main/resources/mapper/AssEstimatePlanMapper.xml new file mode 100644 index 0000000..784c604 --- /dev/null +++ b/assess-system/src/main/resources/mapper/AssEstimatePlanMapper.xml @@ -0,0 +1,50 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.gkhy.assess.system.mapper.AssEstimatePlanMapper"> + <resultMap type="com.gkhy.assess.system.domain.AssEstimatePlan" id="estimatePlanResult"> + <id property="id" column="id" /> + <result property="auserId" column="auser_id" /> + <result property="startDate" column="start_date" /> + <result property="endDate" column="end_date" /> + <result property="projectId" column="project_id" /> + <result property="delFlag" column="del_flag" /> + <result property="version" column="version" /> + <result property="createBy" column="create_by" /> + <result property="createTime" column="create_time" /> + <result property="updateBy" column="update_by" /> + <result property="updateTime" column="update_time" /> + <result property="remark" column="remark" /> + <association property="auser" javaType="com.gkhy.assess.system.domain.SysUser" resultMap="userResult" /> + </resultMap> + + <resultMap id="userResult" type="com.gkhy.assess.system.domain.SysUser"> + <id property="id" column="assessor_id" /> + <result property="name" column="assessor_name" /> + </resultMap> + + <sql id="selectEstimatePlanVo"> + select e.id,e.auser_id, e.start_date,e.end_date,e.project_id, + e.del_flag,e.create_by,e.create_time,e.update_by,e.update_time,e.remark,u.id as assessor_id,u.name as assessor_name + from ass_estimate_plan e + left join sys_user u on u.id=e.auser_id + </sql> + + + + <select id="getCountByProjectId" resultType="java.lang.Integer" parameterType="java.lang.Long"> + select count(1) from ass_estimate_plan + where project_id=#{projectId} and del_flag=0 + </select> + + <select id="getEstimatePlanByProjectId" resultMap="estimatePlanResult"> + <include refid="selectEstimatePlanVo"/> + where e.project_id=#{projectId} and e.del_flag=0 + </select> + + <select id="getEstimatePlanById" resultMap="estimatePlanResult"> + <include refid="selectEstimatePlanVo"/> + where e.id=#{estimatePlanId} + </select> + + +</mapper> diff --git a/assess-system/src/main/resources/mapper/AssEstimateScheduleMapper.xml b/assess-system/src/main/resources/mapper/AssEstimateScheduleMapper.xml new file mode 100644 index 0000000..c9f35b9 --- /dev/null +++ b/assess-system/src/main/resources/mapper/AssEstimateScheduleMapper.xml @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.gkhy.assess.system.mapper.AssEstimateScheduleMapper"> + + <update id="deleteEstimateScheduleByIds"> + update ass_estimate_schedule set del_flag=1 + where id in + <foreach collection="ids" item="id" open="(" separator="," close=")"> + #{id} + </foreach> + </update> + + <select id="getEstimateScheduleByProjectId" resultType="com.gkhy.assess.system.domain.AssEstimateSchedule"> + select * from ass_estimate_schedule + where project_id=#{projectId} and del_flag=0 order by sort asc + </select> +</mapper> diff --git a/assess-system/src/main/resources/mapper/AssEstimateTaskMapper.xml b/assess-system/src/main/resources/mapper/AssEstimateTaskMapper.xml new file mode 100644 index 0000000..e64f93f --- /dev/null +++ b/assess-system/src/main/resources/mapper/AssEstimateTaskMapper.xml @@ -0,0 +1,48 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.gkhy.assess.system.mapper.AssEstimateTaskMapper"> + <resultMap type="com.gkhy.assess.system.domain.AssEstimateTask" id="estimateTaskResult"> + <id property="id" column="id" /> + <result property="leaderId" column="leader_id" /> + <result property="linkMan" column="link_man" /> + <result property="linkPhone" column="link_phone" /> + <result property="projectId" column="project_id" /> + <result property="fax" column="fax" /> + <result property="transmitDate" column="transmit_date" /> + <result property="transmitPerson" column="transmit_person" /> + <result property="delFlag" column="del_flag" /> + <result property="version" column="version" /> + <result property="createBy" column="create_by" /> + <result property="createTime" column="create_time" /> + <result property="updateBy" column="update_by" /> + <result property="updateTime" column="update_time" /> + <result property="remark" column="remark" /> + <association property="leader" javaType="com.gkhy.assess.system.domain.SysUser" resultMap="userResult" /> + </resultMap> + + <resultMap id="userResult" type="com.gkhy.assess.system.domain.SysUser"> + <id property="id" column="leader_id" /> + <result property="name" column="leader_name" /> + </resultMap> + + <sql id="selectEstimateTaskVo"> + select e.id,e.leader_id,e.link_man,e.link_phone,e.project_id,e.fax,e.transmit_date,e.transmit_person, + e.del_flag,e.create_by,e.create_time,e.update_by,e.update_time,e.remark,u.name as leader_name + from ass_estimate_task e + left join sys_user u on u.id=e.leader_id + </sql> + + + <select id="getCountByProjectId" resultType="java.lang.Integer" parameterType="java.lang.Long"> + select count(1) from ass_estimate_task where project_id=#{projectId} and del_flag=0 + </select> + + <select id="getTaskByProjectId" resultMap="estimateTaskResult"> + <include refid="selectEstimateTaskVo"/> + where e.project_id=#{projectId} and e.del_flag=0 limit 1 + </select> + + <select id="getTaskById" resultType="com.gkhy.assess.system.domain.AssEstimateTask"> + select * from ass_estimate_task where id=#{taskId} + </select> +</mapper> diff --git a/assess-system/src/main/resources/mapper/AssFaceRecognitionMapper.xml b/assess-system/src/main/resources/mapper/AssFaceRecognitionMapper.xml new file mode 100644 index 0000000..7465df5 --- /dev/null +++ b/assess-system/src/main/resources/mapper/AssFaceRecognitionMapper.xml @@ -0,0 +1,68 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.gkhy.assess.system.mapper.AssFaceRecognitionMapper"> + <resultMap type="com.gkhy.assess.system.domain.AssFaceRecognition" id="faceRecognitionResult"> + <id property="id" column="id" /> + <result property="personId" column="person_id" /> + <result property="projectId" column="project_id" /> + <result property="signPath" column="sign_path" /> + <result property="insurancePicId" column="insurance_pic_id" /> + <result property="delFlag" column="del_flag" /> + <result property="version" column="version" /> + <result property="createBy" column="create_by" /> + <result property="createTime" column="create_time" /> + <result property="updateBy" column="update_by" /> + <result property="updateTime" column="update_time" /> + <result property="remark" column="remark" /> + <association property="faceRecord" javaType="com.gkhy.assess.system.domain.AssFaceRecord" resultMap="faceRecordesult" /> + <association property="person" javaType="com.gkhy.assess.system.domain.SysUser" resultMap="userResult" /> + </resultMap> + + <resultMap id="faceRecordesult" type="com.gkhy.assess.system.domain.AssFaceRecord"> + <id property="id" column="person_id" /> + <result property="facePath" column="face_path" /> + <result property="updateTime" column="face_time" /> + </resultMap> + + <resultMap id="userResult" type="com.gkhy.assess.system.domain.SysUser"> + <id property="id" column="person_id" /> + <result property="name" column="person_name" /> + <result property="major" column="person_major" /> + <result property="phone" column="person_phone" /> + <result property="post" column="person_post" /> + <result property="level" column="person_level" /> + </resultMap> + + <sql id="selectFaceRecognitionVo"> + select f.id,f.person_id,f.project_id,f.sign_path,f.insurance_pic_id, + f.version,f.del_flag,f.create_by,f.create_time,f.update_by,f.update_time,f.remark, + u.name as person_name,u.major as person_major,u.phone as person_phone,u.post as person_post,u.level as person_level, + a.face_path,a.update_time as face_time + from ass_face_recognition f + left join sys_user u on u.id=f.person_id + left join ass_face_record a on a.person_id=f.person_id + + </sql> + + + + <select id="getCountByProjectId" resultType="java.lang.Integer" parameterType="java.lang.Long"> + select count(1) from ass_face_recognition where project_id=#{projectId} and del_flag=0 + + </select> + + <select id="getFaceRecognitionByProjectId" resultMap="faceRecognitionResult"> + <include refid="selectFaceRecognitionVo"/> + where f.project_id=#{projectId} and f.del_flag=0 and a.del_flag=0 + </select> + + <select id="getFaceRecognitionById" resultMap="faceRecognitionResult"> + <include refid="selectFaceRecognitionVo"/> + where f.id=#{faceRecognitionId} and a.del_flag=0 + </select> + + <select id="getFaceRecognitionCount" resultType="java.lang.Integer"> + select count(1) from ass_face_recognition where project_id=#{projectId} and del_flag=0 + </select> + +</mapper> diff --git a/assess-system/src/main/resources/mapper/AssFaceRecordMapper.xml b/assess-system/src/main/resources/mapper/AssFaceRecordMapper.xml new file mode 100644 index 0000000..68e1ba6 --- /dev/null +++ b/assess-system/src/main/resources/mapper/AssFaceRecordMapper.xml @@ -0,0 +1,53 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.gkhy.assess.system.mapper.AssFaceRecordMapper"> + <resultMap type="com.gkhy.assess.system.domain.AssFaceRecord" id="faceResult"> + <id property="id" column="id" /> + <result property="personId" column="person_id" /> + <result property="facePath" column="face_path" /> + <result property="projectId" column="project_id" /> + <result property="location" column="location" /> + <result property="scene" column="scene" /> + <result property="delFlag" column="del_flag" /> + <result property="version" column="version" /> + <result property="createBy" column="create_by" /> + <result property="createTime" column="create_time" /> + <result property="updateBy" column="update_by" /> + <result property="updateTime" column="update_time" /> + <result property="remark" column="remark" /> + <result property="investLocation" column="invest_location" /> + <association property="person" javaType="com.gkhy.assess.system.domain.SysUser" resultMap="userResult" /> + <association property="planPerson" javaType="com.gkhy.assess.system.domain.AssPlanPerson" resultMap="planPersonResult" /> + </resultMap> + + + <resultMap id="userResult" type="com.gkhy.assess.system.domain.SysUser"> + <id property="id" column="person_id" /> + <result property="name" column="person_name" /> + <result property="major" column="person_major" /> + </resultMap> + + <resultMap id="planPersonResult" type="com.gkhy.assess.system.domain.AssPlanPerson"> + <id property="id" column="person_id" /> + <result property="laterPromise" column="later_promise" /> + <result property="work" column="work" /> + </resultMap> + + <sql id="selectFaceRecordVo"> + select f.id,f.person_id, f.face_path,f.project_id,f.location,f.scene, + f.del_flag,f.create_by,f.create_time,f.update_by,f.update_time,f.remark,a.origin_name,a.file_name,a.path, + u.name as person_name,u.major as person_major,p.later_promise,p.work,i.location as invest_location + from ass_face_record f + left join sys_user u on u.id=f.person_id + left join ass_plan_person p on p.project_id=f.project_id + left join ass_investigation i on i.project_id=f.project_id + </sql> + + + <select id="faceRecordList" resultMap="faceResult"> + <include refid="selectFaceRecordVo"/> + where f.project_id=#{projectId} and f.del_flag=0 + and f.scene=#{scene} and p.del_flag=0 and i.del_flag=0 + + </select> +</mapper> diff --git a/assess-system/src/main/resources/mapper/AssFilingApplyMapper.xml b/assess-system/src/main/resources/mapper/AssFilingApplyMapper.xml new file mode 100644 index 0000000..e8875a4 --- /dev/null +++ b/assess-system/src/main/resources/mapper/AssFilingApplyMapper.xml @@ -0,0 +1,37 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.gkhy.assess.system.mapper.AssFilingApplyMapper"> + <resultMap type="com.gkhy.assess.system.domain.AssFilingApply" id="filingApplyResult"> + <id property="id" column="id" /> + <result property="projectId" column="project_id" /> + <result property="fileId" column="file_id" /> + <result property="delFlag" column="del_flag" /> + <result property="version" column="version" /> + <result property="createBy" column="create_by" /> + <result property="createTime" column="create_time" /> + <result property="updateBy" column="update_by" /> + <result property="updateTime" column="update_time" /> + <result property="remark" column="remark" /> + <association property="accessoryFile" javaType="com.gkhy.assess.system.domain.AssAccessoryFile" resultMap="fileResult" /> + </resultMap> + + <resultMap id="fileResult" type="com.gkhy.assess.system.domain.AssAccessoryFile"> + <id property="id" column="file_id" /> + <result property="originName" column="origin_name" /> + <result property="fileName" column="file_name" /> + <result property="path" column="path" /> + </resultMap> + + <sql id="selectFilingApplyVo"> + select f.id,f.file_id,f.project_id, + f.version,f.del_flag,f.create_by,f.create_time,f.update_by,f.update_time,f.remark + from ass_filing_apply f + left join ass_accessory_file a on a.id=f.file_id + </sql> + + + <select id="getFilingApplyByProjectId" resultMap="filingApplyResult"> + <include refid="selectFilingApplyVo"/> + where f.project_id=#{projectId} and f.del_flag=0 + </select> +</mapper> diff --git a/assess-system/src/main/resources/mapper/AssInvestigationMapper.xml b/assess-system/src/main/resources/mapper/AssInvestigationMapper.xml new file mode 100644 index 0000000..44c6e9d --- /dev/null +++ b/assess-system/src/main/resources/mapper/AssInvestigationMapper.xml @@ -0,0 +1,41 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.gkhy.assess.system.mapper.AssInvestigationMapper"> + <resultMap type="com.gkhy.assess.system.domain.AssInvestigation" id="investigationResult"> + <id property="id" column="id" /> + <result property="investigationDate" column="investigation_date" /> + <result property="isFirst" column="is_first" /> + <result property="isSafetyCheck" column="is_safety_check" /> + <result property="projectId" column="project_id" /> + <result property="recordData" column="record_data" /> + <result property="location" column="location" /> + <result property="delFlag" column="del_flag" /> + <result property="version" column="version" /> + <result property="createBy" column="create_by" /> + <result property="createTime" column="create_time" /> + <result property="updateBy" column="update_by" /> + <result property="updateTime" column="update_time" /> + <result property="remark" column="remark" /> + </resultMap> + + <sql id="selectInvestigationVo"> + select i.id,i.investigation_date, i.is_first,i.is_safety_check,i.project_id,i.record_data,i.location, + i.del_flag,i.create_by,i.create_time,i.update_by,i.update_time,i.remark + from ass_investigation i + </sql> + + + <select id="getCountByProjectId" resultType="java.lang.Integer" parameterType="java.lang.Long"> + select count(1) from ass_investigation where project_id=#{projectId} and del_flag=0 + </select> + + <select id="getInvestigationByProjectId" resultMap="investigationResult"> + <include refid="selectInvestigationVo"/> + where project_id=#{projectId} and del_flag=0 + </select> + + <select id="getInvestigationById" resultMap="investigationResult"> + <include refid="selectInvestigationVo"/> + where id=#{investigationId} + </select> +</mapper> diff --git a/assess-system/src/main/resources/mapper/AssPlanPersonMapper.xml b/assess-system/src/main/resources/mapper/AssPlanPersonMapper.xml new file mode 100644 index 0000000..c9b183c --- /dev/null +++ b/assess-system/src/main/resources/mapper/AssPlanPersonMapper.xml @@ -0,0 +1,75 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.gkhy.assess.system.mapper.AssPlanPersonMapper"> + <resultMap type="com.gkhy.assess.system.domain.AssPlanPerson" id="planPersonResult"> + <id property="id" column="id" /> + <result property="personId" column="person_id" /> + <result property="jobType" column="job_type" /> + <result property="laterPromise" column="later_promise" /> + <result property="work" column="work" /> + <result property="informed" column="informed" /> + <result property="sort" column="sort" /> + <result property="playRole" column="play_role" /> + <result property="reason" column="reason" /> + <result property="projectId" column="project_id" /> + <result property="delFlag" column="del_flag" /> + <result property="version" column="version" /> + <result property="createBy" column="create_by" /> + <result property="createTime" column="create_time" /> + <result property="updateBy" column="update_by" /> + <result property="updateTime" column="update_time" /> + <result property="remark" column="remark" /> + <association property="person" javaType="com.gkhy.assess.system.domain.SysUser" resultMap="userResult" /> + </resultMap> + + <resultMap id="userResult" type="com.gkhy.assess.system.domain.SysUser"> + <id property="id" column="person_id" /> + <result property="name" column="person_name" /> + <result property="major" column="person_major" /> + <result property="certificateNo" column="certificate_no" /> + <collection property="majorNames" ofType="java.lang.String" select="getMajorById" column="{major=person_major}"/> + </resultMap> + + <sql id="selectPlanPersonVo"> + select p.id,p.person_id, p.job_type,p.later_promise,p.informed,p.work,p.sort,p.reason,p.project_id,p.play_role, + p.del_flag,p.create_by,p.create_time,p.update_by,p.update_time,p.remark,u.name as person_name,u.major as person_major,u.certificate_no + from ass_plan_person p + left join sys_user u on u.id=p.person_id + </sql> + + <update id="deletePlanPersonByIds"> + update ass_plan_person set del_flag=1 where id in + <foreach collection="ids" item="id" open="(" separator="," close=")"> + #{id} + </foreach> + </update> + + + + <select id="getPlanPersonByProjectId" resultMap="planPersonResult"> + <include refid="selectPlanPersonVo"/> + where p.project_id=#{projectId} and p.del_flag=0 and p.play_role=2 + </select> + + + <select id="getAllPlanPersonByProjectId" resultMap="planPersonResult"> + <include refid="selectPlanPersonVo"/> + where p.project_id=#{projectId} and p.del_flag=0 + </select> + + <select id="getPlanPersonsByIds" resultType="com.gkhy.assess.system.domain.AssPlanPerson"> + select * from ass_plan_person + where id in + <foreach collection="ids" item="id" open="(" separator="," close=")"> + #{id} + </foreach> + </select> + + <select id="getMajorById" resultType="java.lang.String"> + select label from sys_dict_data where id in + <foreach item="item" index="index" collection="major.split(',')" open="(" separator="," close=")"> + #{item} + </foreach> + </select> + +</mapper> diff --git a/assess-system/src/main/resources/mapper/AssProcessAuditMapper.xml b/assess-system/src/main/resources/mapper/AssProcessAuditMapper.xml new file mode 100644 index 0000000..9b6a8e3 --- /dev/null +++ b/assess-system/src/main/resources/mapper/AssProcessAuditMapper.xml @@ -0,0 +1,80 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.gkhy.assess.system.mapper.AssProcessAuditMapper"> + <resultMap type="com.gkhy.assess.system.domain.AssProcessAudit" id="processAuditResult"> + <id property="id" column="id" /> + <result property="auditDate" column="audit_date" /> + <result property="processLeaderId" column="process_leader_id" /> + <result property="suggestions" column="suggestions" /> + <result property="isEstimatePlan" column="is_estimate_plan" /> + <result property="isEstimateTask" column="is_estimate_task" /> + <result property="isSignContract" column="is_sign_contract" /> + <result property="isExteriorAudit" column="is_exterior_audit" /> + <result property="isFullMaterials" column="is_full_materials" /> + <result property="isInteriorAudit" column="is_interior_audit" /> + <result property="isInvestigationSite" column="is_investigation_site" /> + <result property="isOpenInformation" column="is_open_information" /> + <result property="isProvideMaterials" column="is_provide_materials" /> + <result property="isRiskAnalyse" column="is_risk_analyse" /> + <result property="isTechnolgyAudit" column="is_technolgy_audit" /> + <result property="isUseQrcode" column="is_use_qrcode" /> + <result property="isWorkNotification" column="is_work_notification" /> + <result property="estimatePlanDes" column="estimate_plan_des" /> + <result property="estimateTaskDes" column="estimate_task_des" /> + <result property="signContractDes" column="sign_contract_des" /> + <result property="exteriorAuditDes" column="exterior_audit_des" /> + <result property="fullMaterialsDes" column="full_materials_des" /> + <result property="interiorAuditDes" column="interior_audit_des" /> + <result property="investigationSiteDes" column="investigation_site_des" /> + <result property="openInformationDes" column="open_information_des" /> + <result property="provideMaterialsDes" column="provide_materials_des" /> + <result property="riskAnalyseDes" column="risk_analyse_des" /> + <result property="technolgyAuditDes" column="technolgy_audit_des" /> + <result property="useQrcodeDes" column="use_qrcode_des" /> + <result property="workNotificationDes" column="work_notification_des" /> + <result property="isFullProcess" column="is_full_process" /> + <result property="projectId" column="project_id" /> + <result property="delFlag" column="del_flag" /> + <result property="version" column="version" /> + <result property="createBy" column="create_by" /> + <result property="createTime" column="create_time" /> + <result property="updateBy" column="update_by" /> + <result property="updateTime" column="update_time" /> + <result property="remark" column="remark" /> + <association property="processLeader" javaType="com.gkhy.assess.system.domain.SysUser" resultMap="userResult" /> + + </resultMap> + + <resultMap id="userResult" type="com.gkhy.assess.system.domain.SysUser"> + <id property="id" column="process_leader_id" /> + <result property="name" column="leader_name" /> + </resultMap> + + + <sql id="selectProcessAuditVo"> + select p.id,p.audit_date,p.process_leader_id,p.suggestions,p.is_estimate_plan,p.is_estimate_task,p.is_sign_contract, + p.is_exterior_audit,p.is_full_materials,p.is_interior_audit,p.is_investigation_site,p.is_open_information, + p.is_provide_materials,p.is_risk_analyse,p.is_technolgy_audit,p.is_use_qrcode,p.is_work_notification, + p.estimate_plan_des,p.estimate_task_des,p.sign_contract_des,p.exterior_audit_des,p.full_materials_des, + p.interior_audit_des,p.investigation_site_des,p.open_information_des,p.provide_materials_des,p.risk_analyse_des, + p.technolgy_audit_des,p.use_qrcode_des,p.work_notification_des,p.is_full_process,p.project_id, + p.version,p.del_flag,p.create_by,p.create_time,p.update_by,p.update_time,p.remark,u.name as leader_name + from ass_process_audit p + left join sys_user u on u.id=p.process_leader_id + </sql> + + + <select id="getCountByProjectId" resultType="java.lang.Integer" parameterType="java.lang.Long"> + select count(1) from ass_process_audit where project_id=#{projectId} and del_flag=0 + </select> + + <select id="getProcessAuditByProjectId" resultMap="processAuditResult"> + <include refid="selectProcessAuditVo"/> + where p.project_id=#{projectId} and p.del_flag=0 + </select> + + <select id="getProcessAuditById" resultMap="processAuditResult"> + <include refid="selectProcessAuditVo"/> + where p.id=#{processAuditId} + </select> +</mapper> diff --git a/assess-system/src/main/resources/mapper/AssProjectMapper.xml b/assess-system/src/main/resources/mapper/AssProjectMapper.xml new file mode 100644 index 0000000..5aa9f2a --- /dev/null +++ b/assess-system/src/main/resources/mapper/AssProjectMapper.xml @@ -0,0 +1,235 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.gkhy.assess.system.mapper.AssProjectMapper"> + + <resultMap type="com.gkhy.assess.system.domain.AssProject" id="projectResult"> + <id property="id" column="id" /> + <result property="name" column="name" /> + <result property="code" column="code" /> + <result property="client" column="client" /> + <result property="province" column="province" /> + <result property="city" column="city" /> + <result property="district" column="district" /> + <result property="business" column="business" /> + <result property="invest" column="invest" /> + <result property="address" column="address" /> + <result property="actualLocation" column="actual_location" /> + <result property="location" column="location" /> + <result property="materialCnt" column="material_cnt" /> + <result property="estimateType" column="estimate_type" /> + <result property="filingDate" column="filing_date" /> + <result property="creditCode" column="credit_code" /> + <result property="reportProgress" column="report_progress" /> + <result property="phase" column="phase" /> + <result property="state" column="state" /> + <result property="agencyId" column="agency_id" /> + <result property="introduction" column="introduction" /> + <result property="isReview" column="is_review" /> + <result property="delFlag" column="del_flag" /> + <result property="version" column="version" /> + <result property="createBy" column="create_by" /> + <result property="createTime" column="create_time" /> + <result property="updateBy" column="update_by" /> + <result property="updateTime" column="update_time" /> + <result property="remark" column="remark" /> + <result property="businessName" column="business_name" /> + <result property="leaderId" column="leader_id" /> + <result property="estimateTypeName" column="estimate_type_name" /> + <association property="leader" javaType="com.gkhy.assess.system.domain.SysUser" resultMap="userResult" /> + <association property="contract" javaType="com.gkhy.assess.system.domain.AssContract" resultMap="contractResult" /> + </resultMap> + + <resultMap id="userResult" type="com.gkhy.assess.system.domain.SysUser"> + <id property="id" column="leader_id" /> + <result property="name" column="leader_name" /> + </resultMap> + + <resultMap id="contractResult" type="com.gkhy.assess.system.domain.AssContract"> + <id property="id" column="contract_id" /> + <result property="contractMoney" column="contract_money" /> + <result property="actualContractMoney" column="actual_contract_money" /> + </resultMap> + + <sql id="selectProjectVo"> + select distinct p.id,p.name, p.code,p.client,p.province,p.city,p.district,p.business,p.invest,p.address,p.agency_id, + p.actual_location,p.location,p.estimate_type,p.filing_date, + p.credit_code,p.report_progress,p.phase,p.state,p.introduction,p.is_review,p.del_flag,p.create_by,p.create_time, + p.update_by,p.update_time,p.remark,d1.label as business_name,d2.label as estimate_type_name,e.leader_id,u.name as leader_name, + c.id as contract_id,c.contract_money,c.actual_contract_money, + (select count(*) from ass_project_material m where m.project_id=p.id and m.file_id is not null) as material_cnt + from ass_project p + left join ass_estimate_task e on e.project_id=p.id + left join sys_user u on u.id=e.leader_id + left join sys_dict_data d1 on d1.id=p.business + left join sys_dict_data d2 on d2.id=p.estimate_type + left join ass_contract c on c.project_id=p.id + </sql> + + + <select id="projectList" resultMap="projectResult"> + <include refid="selectProjectVo"/> + <if test="params.personId != null and params.personId != ''"> + left join ass_plan_person a on a.project_id=p.id + </if> + <if test="params.lostMaterial != null"> + left join ass_project_material m on m.project_id=p.id + </if> + <where> + and p.del_flag = 0 + <if test="name != null and name != ''"> + AND p.name like concat('%', #{name}, '%') + </if> + <if test="client != null and client != ''"> + AND p.client like concat('%', #{client}, '%') + </if> + <if test="business != null and business != ''"> + AND p.business = #{business} + </if> + <if test="estimateType != null and estimateType != ''"> + AND p.estimate_type = #{estimateType} + </if> + <if test="province != null and province != ''"> + AND p.province = #{province} + </if> + <if test="city != null and city != ''"> + AND p.city = #{city} + </if> + <if test="district != null and district != ''"> + AND p.district = #{district} + </if> + <if test="agencyId!=null and agencyId!=''"> + AND p.agency_id=#{agencyId} + </if> + <if test="phase!=null and phase!=''"> + AND p.phase=#{phase} + </if> + <if test="params.startTime != null "><!-- 开始时间检索 --> + and date_format(p.create_time,'%y%m%d') >= date_format(#{params.startTime},'%y%m%d') + </if> + <if test="params.endTime != null "><!-- 结束时间检索 --> + and date_format(p.create_time,'%y%m%d') <= date_format(#{params.endTime},'%y%m%d') + </if> + <if test="params.personId != null and params.personId != ''"> + and a.person_id=#{params.personId} and a.del_flag=0 + </if> + <if test="params.lostMaterial != null and params.lostMaterial==1"> + and (m.file_id is null) + </if> + <if test="params.lostMaterial != null and params.lostMaterial==0"> + and (m.file_id is not null) + </if> + </where> + order by p.create_time desc + </select> + + <select id="getProjectById" resultMap="projectResult"> + <include refid="selectProjectVo"/> + where p.id=#{projectId} + </select> + + <select id="getProjectByName" resultType="com.gkhy.assess.system.domain.AssProject"> + select id,name from ass_project + where name=#{name} + </select> + + <select id="getReportProgress" resultType="java.lang.Integer"> + select report_progress from ass_project + where id=#{projectId} + </select> + + <select id="getMemberProjectByUserId" resultMap="projectResult"> + select p.id,p.name,p.report_progress,p.code,p.client,p.province,p.city,p.district,p.business,p.create_time,a.id as plan_person_id, + e.leader_id,u.name as leader_name + from ass_project p + left join ass_plan_person a on a.project_id=p.id + left join ass_estimate_task e on e.project_id=p.id + left join sys_user u on u.id=e.leader_id + <where> + and a.person_id=#{personId} and p.del_flag=0 and a.del_flag=0 + <if test="finish!=null and finish==1"> + and p.report_progress=14 + </if> + <if test="finish!=null and finish==0"> + and p.report_progress!=14 + </if> + <if test="agencyId!=null and agencyId!=''"> + AND p.agency_id=#{agencyId} + </if> + </where> + order by p.create_time desc + </select> + + <select id="getLeaderProjectByUserId" resultMap="projectResult"> + select p.id,p.name,p.report_progress,p.code,p.client,p.province,p.city,p.district,p.business,p.create_time,a.id as plan_person_id, + e.leader_id,u.name as leader_name + from ass_project p + left join ass_plan_person a on a.project_id=p.id + left join ass_estimate_task e on e.project_id=p.id + left join sys_user u on u.id=e.leader_id + where a.person_id=#{personId} and p.del_flag=0 and a.job_type=2 and a.del_flag=0 + <if test="agencyId!=null and agencyId!=''"> + and p.agency_id=#{agencyId} + </if> + order by p.create_time desc + </select> + + <select id="getProjectCount" resultType="java.lang.Integer"> + select count(distinct p.id) from ass_project p + <if test="params.lostMaterial != null"> + left join ass_project_material m on m.project_id=p.id + </if> + <where> + and p.del_flag=0 + <if test="agencyId!=null and agencyId!=''"> + and p.agency_id=#{agencyId} + </if> + <if test="name != null and name != ''"> + AND p.name like concat('%', #{name}, '%') + </if> + <if test="client != null and client != ''"> + AND p.client like concat('%', #{client}, '%') + </if> + <if test="business != null and business != ''"> + AND p.business = #{business} + </if> + <if test="estimateType != null and estimateType != ''"> + AND p.estimate_type = #{estimateType} + </if> + <if test="province != null and province != ''"> + AND p.province = #{province} + </if> + <if test="city != null and city != ''"> + AND p.city = #{city} + </if> + <if test="district != null and district != ''"> + AND p.district = #{district} + </if> + <if test="phase!=null and phase!=''"> + AND p.phase=#{phase} + </if> + <if test="params.startTime != null "><!-- 开始时间检索 --> + and date_format(p.create_time,'%y%m%d') >= date_format(#{params.startTime},'%y%m%d') + </if> + <if test="params.endTime != null "><!-- 结束时间检索 --> + and date_format(p.create_time,'%y%m%d') <= date_format(#{params.endTime},'%y%m%d') + </if> + <if test="params.lostMaterial != null and params.lostMaterial==1"> + and (m.file_id is null) + </if> + <if test="params.lostMaterial != null and params.lostMaterial==0"> + and (m.file_id is not null) + </if> + </where> + </select> + + <select id="getProjectByPersonIds" resultType="com.gkhy.assess.system.domain.vo.PersonProjectVO"> + select a.person_id,count(*) as project_count,max(p.create_time) as last_estimate_time from ass_project p + left join ass_plan_person a on a.project_id=p.id + where a.del_flag=0 and p.del_flag=0 and a.person_id in + <foreach collection="personIds" item="personId" open="(" separator="," close=")"> + #{personId} + </foreach> + group by a.person_id + </select> + +</mapper> diff --git a/assess-system/src/main/resources/mapper/AssProjectMaterialMapper.xml b/assess-system/src/main/resources/mapper/AssProjectMaterialMapper.xml new file mode 100644 index 0000000..b384925 --- /dev/null +++ b/assess-system/src/main/resources/mapper/AssProjectMaterialMapper.xml @@ -0,0 +1,50 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.gkhy.assess.system.mapper.AssProjectMaterialMapper"> + <resultMap type="com.gkhy.assess.system.domain.AssProjectMaterial" id="projectMaterialResult"> + <id property="id" column="id" /> + <result property="name" column="name" /> + <result property="type" column="type" /> + <result property="projectId" column="project_id" /> + <result property="fileId" column="file_id" /> + <result property="delFlag" column="del_flag" /> + <result property="version" column="version" /> + <result property="createBy" column="create_by" /> + <result property="createTime" column="create_time" /> + <result property="updateBy" column="update_by" /> + <result property="updateTime" column="update_time" /> + <result property="remark" column="remark" /> + <association property="accessoryFile" javaType="com.gkhy.assess.system.domain.AssAccessoryFile" resultMap="fileResult" /> + + </resultMap> + + <resultMap id="fileResult" type="com.gkhy.assess.system.domain.AssAccessoryFile"> + <id property="id" column="file_id" /> + <result property="originName" column="origin_name" /> + <result property="fileName" column="file_name" /> + <result property="path" column="path" /> + </resultMap> + + + <sql id="selectProjectMaterialVo"> + select p.id,p.name,p.type,p.project_id,p.file_id, + p.version,p.del_flag,p.create_by,p.create_time,p.update_by,p.update_time,p.remark,a.origin_name,a.file_name,a.path + from ass_project_material p + left join ass_accessory_file a on a.id=p.file_id + </sql> + + + <select id="getCountByProjectId" resultType="java.lang.Integer" parameterType="java.lang.Long"> + select count(1) from ass_project_material where project_id=#{projectId} and del_flag=0 + </select> + + <select id="getProjectMaterialByProjectId" resultMap="projectMaterialResult"> + <include refid="selectProjectMaterialVo"/> + where p.project_id=#{projectId} and p.del_flag=0 + </select> + + <select id="getProjectMaterialById" resultMap="projectMaterialResult"> + <include refid="selectProjectMaterialVo"/> + where p.id=#{projectMaterialId} + </select> +</mapper> diff --git a/assess-system/src/main/resources/mapper/AssRecitificationMapper.xml b/assess-system/src/main/resources/mapper/AssRecitificationMapper.xml new file mode 100644 index 0000000..32cd96b --- /dev/null +++ b/assess-system/src/main/resources/mapper/AssRecitificationMapper.xml @@ -0,0 +1,41 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.gkhy.assess.system.mapper.AssRecitificationMapper"> + <resultMap type="com.gkhy.assess.system.domain.AssRecitification" id="recitifyResult"> + <id property="id" column="id" /> + <result property="rectifyPerson" column="rectify_person" /> + <result property="rectifyTime" column="rectify_time" /> + <result property="projectId" column="project_id" /> + <result property="fileId" column="file_id" /> + <result property="reason" column="reason" /> + <result property="delFlag" column="del_flag" /> + <result property="version" column="version" /> + <result property="createBy" column="create_by" /> + <result property="createTime" column="create_time" /> + <result property="updateBy" column="update_by" /> + <result property="updateTime" column="update_time" /> + <result property="remark" column="remark" /> + <association property="accessoryFile" javaType="com.gkhy.assess.system.domain.AssAccessoryFile" resultMap="fileResult" /> + </resultMap> + + <resultMap id="fileResult" type="com.gkhy.assess.system.domain.AssAccessoryFile"> + <id property="id" column="file_id" /> + <result property="originName" column="origin_name" /> + <result property="fileName" column="file_name" /> + <result property="path" column="path" /> + </resultMap> + + <sql id="selectProjectMaterialVo"> + select r.id,r.rectify_person,r.rectify_person,r.project_id,r.file_id,r.reason, + r.version,r.del_flag,r.create_by,r.create_time,r.update_by,r.update_time,r.remark,a.origin_name,a.file_name,a.path + from ass_recitification r + left join ass_accessory_file a on a.id=r.file_id + </sql> + + + + <select id="recitificationList" resultMap="recitifyResult"> + <include refid="selectProjectMaterialVo"/> + where r.project_id=#{projectId} and r.del_flag=0 + </select> +</mapper> diff --git a/assess-system/src/main/resources/mapper/AssRiskEstimateMapper.xml b/assess-system/src/main/resources/mapper/AssRiskEstimateMapper.xml new file mode 100644 index 0000000..c9bfe07 --- /dev/null +++ b/assess-system/src/main/resources/mapper/AssRiskEstimateMapper.xml @@ -0,0 +1,59 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.gkhy.assess.system.mapper.AssRiskEstimateMapper"> + <resultMap type="com.gkhy.assess.system.domain.AssRiskEstimate" id="riskEstimateResult"> + <id property="id" column="id" /> + <result property="projectId" column="project_id" /> + <result property="riskCharacter" column="risk_character" /> + <result property="surroundings" column="surroundings" /> + <result property="equipment" column="equipment" /> + <result property="technology" column="technology" /> + <result property="isAcceptChargess" column="is_accept_chargess" /> + <result property="isFeasibility" column="is_feasibility" /> + <result property="isFinishReport" column="is_finish_report" /> + <result property="isInBusiness" column="is_in_business" /> + <result property="isNeedExpert" column="is_need_expert" /> + <result property="isSatisfyNeed" column="is_satisfy_need" /> + <result property="estimateDate" column="estimate_date" /> + <result property="techOpinion" column="tech_opinion" /> + <result property="riskOpinion" column="risk_opinion" /> + <result property="agencyOpinon" column="agency_opinon" /> + <result property="state" column="state" /> + <result property="delFlag" column="del_flag" /> + <result property="version" column="version" /> + <result property="createBy" column="create_by" /> + <result property="createTime" column="create_time" /> + <result property="updateBy" column="update_by" /> + <result property="updateTime" column="update_time" /> + <result property="remark" column="remark" /> + </resultMap> + + <sql id="selectRiskEstimateVo"> + select r.id,r.project_id,r.risk_character,r.surroundings,r.equipment,r.technology,r.is_accept_chargess,r.is_feasibility, + r.is_finish_report,r.is_in_business,r.is_need_expert,r.is_satisfy_need,r.estimate_date,r.tech_opinion,r.risk_opinion, + r.agency_opinon,r.state,r.del_flag,r.version,r.del_flag,r.create_by,r.create_time,r.update_by,r.update_time,r.remark + from ass_risk_estimate r + </sql> + + <select id="getRiskEstimateByProjectId" resultType="com.gkhy.assess.system.domain.AssRiskEstimate"> + <include refid="selectRiskEstimateVo"/> + where project_id=#{projectId} and del_flag=0 + </select> + + <select id="getRiskEstimateById" resultType="com.gkhy.assess.system.domain.AssRiskEstimate"> + <include refid="selectRiskEstimateVo"/> + where r.id=#{riskId} + </select> + + <select id="getProjectByRiskId" resultType="com.gkhy.assess.system.domain.AssProject"> + select p.id,p.name,p.report_progress from ass_project p + left join ass_risk_estimate r on r.project_id=p.id + where r.id=${riskId} + </select> + + + <select id="getCountByProjectId" resultType="java.lang.Integer"> + select count(1) from ass_risk_estimate where project_id=#{projectId} and del_flag=0 + </select> + +</mapper> diff --git a/assess-system/src/main/resources/mapper/AssWorkNotificationMapper.xml b/assess-system/src/main/resources/mapper/AssWorkNotificationMapper.xml new file mode 100644 index 0000000..50d886f --- /dev/null +++ b/assess-system/src/main/resources/mapper/AssWorkNotificationMapper.xml @@ -0,0 +1,41 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.gkhy.assess.system.mapper.AssWorkNotificationMapper"> + <resultMap type="com.gkhy.assess.system.domain.AssWorkNotification" id="WorkNotificationResult"> + <id property="id" column="id" /> + <result property="serviceStartDate" column="service_start_date" /> + <result property="serviceEndDate" column="service_end_date" /> + <result property="investigationPlanDate" column="investigation_plan_date" /> + <result property="projectId" column="project_id" /> + <result property="auditId" column="audit_id" /> + <result property="state" column="state" /> + <result property="delFlag" column="del_flag" /> + <result property="version" column="version" /> + <result property="createBy" column="create_by" /> + <result property="createTime" column="create_time" /> + <result property="updateBy" column="update_by" /> + <result property="updateTime" column="update_time" /> + <result property="remark" column="remark" /> + </resultMap> + + <sql id="selectWorkNotificationVo"> + select w.id,w.service_start_date, w.service_end_date,w.investigation_plan_date,w.project_id,w.state,w.audit_id, + w.del_flag,w.create_by,w.create_time,w.update_by,w.update_time,w.remark + from ass_work_notification w + </sql> + + + <select id="getCountByProjectId" resultType="java.lang.Integer" parameterType="java.lang.Long"> + select count(1) from ass_work_notification where project_id=#{projectId} and del_flag=0 + </select> + + <select id="getWorkNotificationByProjectId" resultMap="WorkNotificationResult"> + <include refid="selectWorkNotificationVo"/> + where project_id=#{projectId} and del_flag=0 + </select> + + <select id="getWorkNotificationById" resultMap="WorkNotificationResult"> + <include refid="selectWorkNotificationVo"/> + where id=#{workNotificationId} + </select> +</mapper> diff --git a/assess-system/src/main/resources/mapper/system/SysAgencyMapper.xml b/assess-system/src/main/resources/mapper/SysAgencyMapper.xml similarity index 92% rename from assess-system/src/main/resources/mapper/system/SysAgencyMapper.xml rename to assess-system/src/main/resources/mapper/SysAgencyMapper.xml index cab000a..8afaa7e 100644 --- a/assess-system/src/main/resources/mapper/system/SysAgencyMapper.xml +++ b/assess-system/src/main/resources/mapper/SysAgencyMapper.xml @@ -59,11 +59,20 @@ <if test="name != null and name != ''"> AND a.name like concat('%', #{name}, '%') </if> + <if test="province != null and province != ''"> + AND a.province=#{province} + </if> <if test="city != null and city != ''"> AND a.city=#{city} </if> + <if test="district != null and district != ''"> + AND a.district=#{district} + </if> <if test="business != null and business != ''"> AND a.business like concat("%",#{business},"%") + </if> + <if test="publication != null"> + AND a.publication =#{publication} </if> </where> order by a.create_time desc @@ -73,10 +82,6 @@ <include refid="selectAgencyVo"/> where a.del_flag = 0 and a.id=#{agencyId} </select> - - <delete id="deleteAgencyById" parameterType="java.lang.Long"> - update sys_agency set del_flag=1 where id=#{agencyId} - </delete> <select id="getBusinessById" resultType="java.lang.String"> diff --git a/assess-system/src/main/resources/mapper/system/SysAttachMapper.xml b/assess-system/src/main/resources/mapper/SysAttachMapper.xml similarity index 65% rename from assess-system/src/main/resources/mapper/system/SysAttachMapper.xml rename to assess-system/src/main/resources/mapper/SysAttachMapper.xml index abdd9ff..b9e3450 100644 --- a/assess-system/src/main/resources/mapper/system/SysAttachMapper.xml +++ b/assess-system/src/main/resources/mapper/SysAttachMapper.xml @@ -1,6 +1,7 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.gkhy.assess.system.mapper.SysAttachMapper"> + <delete id="deleteAttachsByUserId"> delete from sys_attach <where> @@ -14,13 +15,17 @@ </where> </delete> + <delete id="deleteAttachsByIds"> + delete from sys_attach where id in + <foreach collection="ids" item="id" separator="," open="(" close=")"> + #{id} + </foreach> + </delete> + <select id="getAttachsByUserId" resultType="com.gkhy.assess.system.domain.SysAttach"> - select * from sys_attach - <where> - and user_id=#{userId} - <if test="type!=null and type!=''"> - and type=#{type} - </if> - </where> + select * from sys_attach where user_id=#{userId} + <if test="type!=null and type!=''"> + and type=#{type} + </if> </select> </mapper> diff --git a/assess-system/src/main/resources/mapper/system/SysConfigMapper.xml b/assess-system/src/main/resources/mapper/SysConfigMapper.xml similarity index 100% rename from assess-system/src/main/resources/mapper/system/SysConfigMapper.xml rename to assess-system/src/main/resources/mapper/SysConfigMapper.xml diff --git a/assess-system/src/main/resources/mapper/system/SysDictDataMapper.xml b/assess-system/src/main/resources/mapper/SysDictDataMapper.xml similarity index 90% rename from assess-system/src/main/resources/mapper/system/SysDictDataMapper.xml rename to assess-system/src/main/resources/mapper/SysDictDataMapper.xml index 4fa0e8a..3d6e404 100644 --- a/assess-system/src/main/resources/mapper/system/SysDictDataMapper.xml +++ b/assess-system/src/main/resources/mapper/SysDictDataMapper.xml @@ -12,12 +12,12 @@ </update> <select id="countDictDataByType" resultType="java.lang.Integer"> - select count(1) from sys_dict_data where dict_type=#{dictType} + select count(1) from sys_dict_data where dict_type=#{dictType} and del_flag=0 </select> <select id="getDictDataByType" resultType="com.gkhy.assess.system.domain.SysDictData"> <include refid="selectDictDataVo"/> - where d.dict_type=#{dictType} and d.status=0 + where d.dict_type=#{dictType} and d.status=0 and d.del_flag=0 order by d.sort asc </select> @@ -29,13 +29,14 @@ <select id="dictDataList" resultType="com.gkhy.assess.system.domain.SysDictData"> <include refid="selectDictDataVo"/> <where> + and del_flag=0 <if test="dictType != null and dictType != ''"> AND dict_type = #{dictType} </if> <if test="label != null and label != ''"> AND label like concat('%', #{label}, '%') </if> - <if test="status != null and status != ''"> + <if test="status != null"> AND status = #{status} </if> </where> diff --git a/assess-system/src/main/resources/mapper/system/SysDictTypeMapper.xml b/assess-system/src/main/resources/mapper/SysDictTypeMapper.xml similarity index 79% rename from assess-system/src/main/resources/mapper/system/SysDictTypeMapper.xml rename to assess-system/src/main/resources/mapper/SysDictTypeMapper.xml index bd85203..2622601 100644 --- a/assess-system/src/main/resources/mapper/system/SysDictTypeMapper.xml +++ b/assess-system/src/main/resources/mapper/SysDictTypeMapper.xml @@ -9,10 +9,11 @@ <select id="dictTypeList" resultType="com.gkhy.assess.system.domain.SysDictType"> <include refid="selectDictTypeVo"/> <where> + and d.del_flag=0 <if test="name != null and name != ''"> AND d.name like concat('%', #{name}, '%') </if> - <if test="status != null and status != ''"> + <if test="status != null"> AND d.status = #{status} </if> <if test="dictType != null and dictType != ''"> @@ -28,12 +29,19 @@ <select id="checkDictTypeUnique" resultType="com.gkhy.assess.system.domain.SysDictType"> <include refid="selectDictTypeVo"/> - where d.dict_type = #{dictType} limit 1 + <where> + and (d.dict_type = #{dictType} + <if test="name!=null and name!=''"> + or name=#{name} + </if> + ) + and d.del_flag=0 limit 1 + </where> </select> <select id="getDictTypeByType" resultType="com.gkhy.assess.system.domain.SysDictType"> <include refid="selectDictTypeVo"/> - where d.dict_type = #{dictType} + where d.dict_type = #{dictType} and d.del_flag=0 </select> diff --git a/assess-system/src/main/resources/mapper/system/SysExpertClassifyMapper.xml b/assess-system/src/main/resources/mapper/SysExpertClassifyMapper.xml similarity index 100% rename from assess-system/src/main/resources/mapper/system/SysExpertClassifyMapper.xml rename to assess-system/src/main/resources/mapper/SysExpertClassifyMapper.xml diff --git a/assess-system/src/main/resources/mapper/system/SysExpertInfoMapper.xml b/assess-system/src/main/resources/mapper/SysExpertInfoMapper.xml similarity index 72% rename from assess-system/src/main/resources/mapper/system/SysExpertInfoMapper.xml rename to assess-system/src/main/resources/mapper/SysExpertInfoMapper.xml index 1bd95ed..36bc8ef 100644 --- a/assess-system/src/main/resources/mapper/system/SysExpertInfoMapper.xml +++ b/assess-system/src/main/resources/mapper/SysExpertInfoMapper.xml @@ -3,24 +3,24 @@ <mapper namespace="com.gkhy.assess.system.mapper.SysExpertInfoMapper"> <sql id="selectExpertInfoVo"> - select expert_id,name,sex,birthday,phone,title,electronic_photo,id_card,duty_status, + select id,name,sex,birthday,phone,title,state,electronic_photo,id_card,duty_status, company_name,company_address,dept_name,job,company_telephone,fax_num,email, graduation_school,degree,speciality,current_profession,support_direction_safety, support_direction_prevention,support_direction_emergency,resume_key,paper_situation_key, reward_key,achievement_key,personal_opinion_key,recommend_unit_opinion_key,remark,create_by, - create_time,big_classify,small_classify,del_flag - from sys_agency + create_time,big_classify,small_classify,del_flag,source + from sys_expert_info </sql> - <delete id="deleteBatchByIds"> - update expert_info set del_flag = 1 where expert_id in + <update id="deleteBatchByIds"> + update expert_info set del_flag = 1 where id in <foreach collection="expertIds" item="expertId" separator="," open="(" close=")"> #{expertId} </foreach> - </delete> + </update> <select id="expertInfoList" resultType="com.gkhy.assess.system.domain.SysExpertInfo"> - <include refid="selectExpertInfoVo"/> + select id,name,sex,birthday,phone,title,degree,state,speciality,big_classify,small_classify,create_time from sys_expert_info <where> and del_flag = 0 <if test="name != null and name != ''"> @@ -35,6 +35,9 @@ <if test="dutyStatus != null"> and duty_status = #{dutyStatus} </if> + <if test="state != null"> + and state = #{state} + </if> <if test="params.startTime != null "><!-- 开始时间检索 --> and date_format(create_time,'%y%m%d') >= date_format(#{params.startTime},'%y%m%d') </if> @@ -45,6 +48,11 @@ order by create_time desc </select> <select id="checkIdcardUnique" resultType="com.gkhy.assess.system.domain.SysExpertInfo"> - select expert_id,name from sys_expert_info where del_flag=0 limit 1 + select id,name from sys_expert_info where id_card=#{idCard} and del_flag=0 limit 1 + </select> + + <select id="getExpertInfoById" resultType="com.gkhy.assess.system.domain.SysExpertInfo"> + <include refid="selectExpertInfoVo"/> + where id=#{expertId} </select> </mapper> diff --git a/assess-system/src/main/resources/mapper/system/SysLawMapper.xml b/assess-system/src/main/resources/mapper/SysLawMapper.xml similarity index 93% rename from assess-system/src/main/resources/mapper/system/SysLawMapper.xml rename to assess-system/src/main/resources/mapper/SysLawMapper.xml index 679233f..875265d 100644 --- a/assess-system/src/main/resources/mapper/system/SysLawMapper.xml +++ b/assess-system/src/main/resources/mapper/SysLawMapper.xml @@ -9,10 +9,11 @@ <select id="lawList" resultType="com.gkhy.assess.system.domain.SysLaw"> select l.id,l.title,l.sub_title,l.law_type,l.pub_agency,l.pub_date,l.create_time from sys_law l <where> + and l.del_flag=0 <if test="title != null and title != ''"> AND l.title like concat('%', #{title}, '%') </if> - <if test="status != null and status != ''"> + <if test="status != null"> AND l.status = #{status} </if> </where> diff --git a/assess-system/src/main/resources/mapper/system/SysNoticeMapper.xml b/assess-system/src/main/resources/mapper/SysNoticeMapper.xml similarity index 93% rename from assess-system/src/main/resources/mapper/system/SysNoticeMapper.xml rename to assess-system/src/main/resources/mapper/SysNoticeMapper.xml index 290bbcf..73b31c1 100644 --- a/assess-system/src/main/resources/mapper/system/SysNoticeMapper.xml +++ b/assess-system/src/main/resources/mapper/SysNoticeMapper.xml @@ -10,10 +10,11 @@ <select id="noticeList" resultType="com.gkhy.assess.system.domain.SysNotice"> select n.id,n.title,n.create_time,n.update_time from sys_notice n <where> + and n.del_flag=0 <if test="title != null and title != ''"> AND n.title like concat('%', #{title}, '%') </if> - <if test="status != null and status != ''"> + <if test="status != null"> AND n.status = #{status} </if> </where> diff --git a/assess-system/src/main/resources/mapper/system/SysRegionMapper.xml b/assess-system/src/main/resources/mapper/SysRegionMapper.xml similarity index 100% rename from assess-system/src/main/resources/mapper/system/SysRegionMapper.xml rename to assess-system/src/main/resources/mapper/SysRegionMapper.xml diff --git a/assess-system/src/main/resources/mapper/SysUserFaceMapper.xml b/assess-system/src/main/resources/mapper/SysUserFaceMapper.xml new file mode 100644 index 0000000..71bc06c --- /dev/null +++ b/assess-system/src/main/resources/mapper/SysUserFaceMapper.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.gkhy.assess.system.mapper.SysUserFaceMapper"> + + <select id="getFaceByUserId" resultType="com.gkhy.assess.system.domain.SysUserFace"> + select * from sys_user_face where del_flag=0 and user_id=#{userId} limit 1 + </select> +</mapper> diff --git a/assess-system/src/main/resources/mapper/system/SysUserMapper.xml b/assess-system/src/main/resources/mapper/SysUserMapper.xml similarity index 80% rename from assess-system/src/main/resources/mapper/system/SysUserMapper.xml rename to assess-system/src/main/resources/mapper/SysUserMapper.xml index f42a7e2..5ebd431 100644 --- a/assess-system/src/main/resources/mapper/system/SysUserMapper.xml +++ b/assess-system/src/main/resources/mapper/SysUserMapper.xml @@ -22,6 +22,9 @@ <result property="expertType" column="expert_type" /> <result property="jobTitle" column="job_title" /> <result property="major" column="major" /> + <result property="level" column="level" /> + <result property="idPhoto" column="id_photo" /> + <result property="certificateNo" column="certificate_no" /> <result property="state" column="state" /> <result property="loginIp" column="login_ip" /> <result property="loginDate" column="login_date" /> @@ -35,6 +38,7 @@ <collection property="socialAttach" ofType="com.gkhy.assess.system.domain.SysAttach" select="getSocialAttachByUserId" column="{userId=id}"/> <collection property="medicalAttach" ofType="com.gkhy.assess.system.domain.SysAttach" select="getMedicalAttachByUserId" column="{userId=id}"/> <collection property="salaryAttach" ofType="com.gkhy.assess.system.domain.SysAttach" select="getSalaryAttachByUserId" column="{userId=id}"/> + <collection property="majorNames" ofType="java.lang.String" select="getMajorById" column="{major=major}"/> </resultMap> @@ -45,23 +49,17 @@ </resultMap> <sql id="selectUserVo"> - select u.id,u.username, u.name,u.identity,u.user_type,u.phone,u.sex,u.status,u.del_flag,u.manage_region,u.expert_type,u.agency_id,u.post,u.job_title,u.major,u.state,u.create_time,u.remark,a.id as agency_id,a.name as agency_name,a.credit_code + select u.id,u.username, u.name,u.identity,u.user_type,u.phone,u.sex,u.status, + u.del_flag,u.manage_region,u.expert_type,u.agency_id,u.post,u.job_title, + u.major,u.state,u.create_time,u.remark,u.level,u.id_photo,u.certificate_no, + a.id as agency_id,a.name as agency_name,a.credit_code from sys_user u left join sys_agency a on u.agency_id=a.id </sql> - <delete id="deleteUserById" parameterType="java.lang.Long"> - update sys_user set del_flag=1 where id=#{userId} - </delete> - <delete id="deleteUserByIds"> - update sys_user set del_flag = 1 where id in - <foreach collection="userIds" item="userId" open="(" separator="," close=")"> - #{userId} - </foreach> - </delete> <select id="getUserByUsername" resultMap="SysUserResult"> - select id,username,name,password,salt,identity,state,status,del_flag from sys_user + select id,username,name,password,salt,identity,state,status,del_flag,agency_id,major from sys_user where username=#{username} and del_flag=0 </select> @@ -72,7 +70,7 @@ <if test="username != null and username != ''"> AND u.username like concat('%', #{username}, '%') </if> - <if test="status != null and status != ''"> + <if test="status != null"> AND u.status = #{status} </if> <if test="phone != null and phone != ''"> @@ -89,7 +87,7 @@ <if test="username != null and username != ''"> AND u.username like concat('%', #{username}, '%') </if> - <if test="status != null and status != ''"> + <if test="status != null"> AND u.status = #{status} </if> <if test="phone != null and phone != ''"> @@ -106,8 +104,14 @@ <if test="username != null and username != ''"> AND u.username like concat('%', #{username}, '%') </if> - <if test="status != null and status != ''"> + <if test="name != null and name != ''"> + AND u.name like concat('%', #{name}, '%') + </if> + <if test="status != null"> AND u.status = #{status} + </if> + <if test="level != null and level!=''"> + AND u.level = #{level} </if> <if test="phone != null and phone != ''"> AND u.phone like concat('%', #{phone}, '%') @@ -115,6 +119,16 @@ <if test="expertType != null and expertType != ''"> AND u.expert_type =#{expertType} </if> + <if test="agencyId != null and agencyId != ''"> + AND u.agency_id =#{agencyId} + </if> + <if test="major != null and major != ''"> + AND u.major like concat("%",#{major},"%") + </if> + <if test="post != null and post != ''"> + AND u.post =#{post} + </if> + </where> order by u.create_time desc </select> @@ -122,17 +136,17 @@ <select id="getUserByPhone" resultMap="SysUserResult"> - select id,username,name,password,salt,identity,state,status,del_flag from sys_user + select id,username,name,password,salt,identity,state,status,del_flag,major from sys_user where phone=#{phone} and del_flag=0 </select> <select id="getUserByEmail" resultMap="SysUserResult"> - select id,username,name,password,salt,identity,state,status,del_flag from sys_user + select id,username,name,password,salt,identity,state,status,del_flag,major from sys_user where email=#{email} and del_flag=0 </select> <select id="getUserById" resultMap="SysUserResult"> - select id,username,name,password,salt,identity,status,del_flag,agency_id from sys_user + select id,username,name,password,salt,identity,status,del_flag,agency_id,major from sys_user where id=#{userId} </select> @@ -149,7 +163,7 @@ </select> <select id="getUserByUsernamePhone" resultType="com.gkhy.assess.system.domain.SysUser"> - select id,username,name,password,salt,identity,state,status,del_flag from sys_user + select id,username,name,password,salt,identity,state,status,del_flag,agency_id from sys_user where (username=#{username} or phone=#{username}) and del_flag=0 </select> @@ -166,6 +180,13 @@ select id,name,path,type,user_id,create_time from sys_attach where user_id=#{userId} and type=3 order by create_time desc </select> + <select id="getMajorById" resultType="java.lang.String"> + select label from sys_dict_data where id in + <foreach item="item" index="index" collection="major.split(',')" open="(" separator="," close=")"> + #{item} + </foreach> + </select> + <select id="getUserInfoById" resultMap="SysUserResult"> <include refid="selectUserVo"/> where u.id=#{userId} diff --git a/assess-system/src/test/java/com/gkhy/system/MybatisPlusGenerator.java b/assess-system/src/test/java/com/gkhy/system/MybatisPlusGenerator.java index 8c72f52..2617aab 100644 --- a/assess-system/src/test/java/com/gkhy/system/MybatisPlusGenerator.java +++ b/assess-system/src/test/java/com/gkhy/system/MybatisPlusGenerator.java @@ -13,10 +13,10 @@ public class MybatisPlusGenerator { public static void main(String[] args) { System.out.println(System.getProperty("user.dir")); - String model="/gkhy-system"; + String model="/assess-system"; // 数据库配置 DataSourceConfig.Builder dataSourceConfigBuilder = new DataSourceConfig - .Builder("jdbc:mysql://localhost:3306/gkhy" + + .Builder("jdbc:mysql://localhost:3306/smart_assess" + "?useSSL=false&allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&autoReconnect=true" , "root", "password"); FastAutoGenerator.create(dataSourceConfigBuilder) @@ -40,7 +40,7 @@ // 包配置 .packageConfig((scanner, builder) -> { // 父包名 - builder.parent("com.gkhy") + builder.parent("com.gkhy.assess") // 模块名 .moduleName("system") // Entity 包名 @@ -54,7 +54,7 @@ // Mapper 包名 .mapper("mapper") // MapperXML 包名 - .xml("mapper.system") + .xml("mapper") // 路径配置信息 .pathInfo(Collections.singletonMap(OutputFile.mapperXml, System.getProperty("user.dir") +model+ "/src/main/resources/mapper/")); }) diff --git a/pom.xml b/pom.xml index 5fbb586..10f15ac 100644 --- a/pom.xml +++ b/pom.xml @@ -64,7 +64,6 @@ <artifactId>assess-admin</artifactId> <version>${assess.version}</version> </dependency> - <!--MyBatis分页插件--> <dependency> <groupId>com.github.pagehelper</groupId> -- Gitblit v1.9.2