diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/quality/BizQualityManagementOperationRepServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/quality/BizQualityManagementOperationRepServiceImpl.java index 59df4d4..ba814c8 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/quality/BizQualityManagementOperationRepServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/quality/BizQualityManagementOperationRepServiceImpl.java @@ -17,6 +17,7 @@ import com.casic.missiles.dto.certificate.RegisterCustomParameters; import com.casic.missiles.enums.quality.QualityTableEnum; import com.casic.missiles.mapper.quality.BizQualityManagementOperationRepMapper; +import com.casic.missiles.model.exception.ServiceException; import com.casic.missiles.model.quality.BizQualityManagementOperationRep; import com.casic.missiles.model.quality.BizQualityOperationRepContent; import com.casic.missiles.service.listeners.register.PrintFileRegister; @@ -167,7 +168,10 @@ entity.setCommanderName(user.getName()); entity.setCreateTime(new Date()); entity.setUpdateTime(new Date()); + //同一实验室同一部门只能提交一份质量体系报告 + checkOneDept(entity); + saveEntity(entity, QualityTableEnum.MANAGEMENT_OPERATION_REP, (tableEnum, queryCode) -> this.baseMapper.selectMaxNo(tableEnum.getCode(), tableEnum.getColumn(), queryCode)); checkFileCodeExists(baseMapper, entity.getFileCode(), entity.getId()); super.save(entity); @@ -176,8 +180,14 @@ return true; } - private void checkOnly() { - + private void checkOneDept(BizQualityManagementOperationRep entity) { + QueryWrapper query = new QueryWrapper<>(); + query.eq("dept_id", entity.getDeptId()); + query.eq("management_review_id", entity.getManagementReviewId()); + query.ne(entity.getId() != null, "id", entity.getId()); + if( count(query) > 0){ + throw new ServiceException(500,"当前关联管理评审的质量管理体系运行报告已提交"); + }; } @Override @@ -194,6 +204,8 @@ public boolean updateById(BizQualityManagementOperationRep entity) { entity.setUpdateTime(new Date()); BizQualityManagementOperationRep oldEntity = getById(entity.getId()); + //同一实验室同一部门只能提交一份质量体系报告 + checkOneDept(entity); updateEntity(entity, oldEntity, QualityTableEnum.MANAGEMENT_OPERATION_REP, (tableEnum, queryCode) -> this.baseMapper.selectMaxNo(tableEnum.getCode(), tableEnum.getColumn(), queryCode)); checkFileCodeExists(baseMapper, entity.getFileCode(), entity.getId()); super.updateById(entity); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/quality/BizQualityManagementOperationRepServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/quality/BizQualityManagementOperationRepServiceImpl.java index 59df4d4..ba814c8 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/quality/BizQualityManagementOperationRepServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/quality/BizQualityManagementOperationRepServiceImpl.java @@ -17,6 +17,7 @@ import com.casic.missiles.dto.certificate.RegisterCustomParameters; import com.casic.missiles.enums.quality.QualityTableEnum; import com.casic.missiles.mapper.quality.BizQualityManagementOperationRepMapper; +import com.casic.missiles.model.exception.ServiceException; import com.casic.missiles.model.quality.BizQualityManagementOperationRep; import com.casic.missiles.model.quality.BizQualityOperationRepContent; import com.casic.missiles.service.listeners.register.PrintFileRegister; @@ -167,7 +168,10 @@ entity.setCommanderName(user.getName()); entity.setCreateTime(new Date()); entity.setUpdateTime(new Date()); + //同一实验室同一部门只能提交一份质量体系报告 + checkOneDept(entity); + saveEntity(entity, QualityTableEnum.MANAGEMENT_OPERATION_REP, (tableEnum, queryCode) -> this.baseMapper.selectMaxNo(tableEnum.getCode(), tableEnum.getColumn(), queryCode)); checkFileCodeExists(baseMapper, entity.getFileCode(), entity.getId()); super.save(entity); @@ -176,8 +180,14 @@ return true; } - private void checkOnly() { - + private void checkOneDept(BizQualityManagementOperationRep entity) { + QueryWrapper query = new QueryWrapper<>(); + query.eq("dept_id", entity.getDeptId()); + query.eq("management_review_id", entity.getManagementReviewId()); + query.ne(entity.getId() != null, "id", entity.getId()); + if( count(query) > 0){ + throw new ServiceException(500,"当前关联管理评审的质量管理体系运行报告已提交"); + }; } @Override @@ -194,6 +204,8 @@ public boolean updateById(BizQualityManagementOperationRep entity) { entity.setUpdateTime(new Date()); BizQualityManagementOperationRep oldEntity = getById(entity.getId()); + //同一实验室同一部门只能提交一份质量体系报告 + checkOneDept(entity); updateEntity(entity, oldEntity, QualityTableEnum.MANAGEMENT_OPERATION_REP, (tableEnum, queryCode) -> this.baseMapper.selectMaxNo(tableEnum.getCode(), tableEnum.getColumn(), queryCode)); checkFileCodeExists(baseMapper, entity.getFileCode(), entity.getId()); super.updateById(entity); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/quality/BizQualityManagementReviewServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/quality/BizQualityManagementReviewServiceImpl.java index bfa1c01..74a4223 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/quality/BizQualityManagementReviewServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/quality/BizQualityManagementReviewServiceImpl.java @@ -148,6 +148,8 @@ reviewFile.setSourceType(target.getManagementFileType().getSourceTypeEnum().getCode()); reviewFile.setBizLabCode(target.getBizLabCode()); reviewFile.setDeptId(target.getDeptId()); + String deptName = permissionContext.getDeptService().getDeptName(target.getDeptId()); + reviewFile.setDeptName(deptName); return reviewFile; } @@ -157,6 +159,10 @@ update.set(BizQualityManagementReviewFile::getFileName, entity.getFileName()); update.set(BizQualityManagementReviewFile::getFileCode, entity.getFileCode()); update.set(BizQualityManagementReviewFile::getUpdateTime, new Date()); + String deptName = permissionContext.getDeptService().getDeptName(entity.getDeptId()); + update.set(BizQualityManagementReviewFile::getDeptName, deptName); + update.set(BizQualityManagementReviewFile::getDeptId, entity.getDeptId()); + update.eq(BizQualityManagementReviewFile::getTargetId, entity.getId()); reviewFileService.update(update); }