Index: ssts-qualitymon/src/main/java/com/forgon/disinfectsystem/qualitymonitoring/definition/service/QualityMonitoringDefinitionManagerImpl.java =================================================================== diff -u -r41241 -r41368 --- ssts-qualitymon/src/main/java/com/forgon/disinfectsystem/qualitymonitoring/definition/service/QualityMonitoringDefinitionManagerImpl.java (.../QualityMonitoringDefinitionManagerImpl.java) (revision 41241) +++ ssts-qualitymon/src/main/java/com/forgon/disinfectsystem/qualitymonitoring/definition/service/QualityMonitoringDefinitionManagerImpl.java (.../QualityMonitoringDefinitionManagerImpl.java) (revision 41368) @@ -69,6 +69,14 @@ } //监测项字段“统计为不合格数”相关STDXYXYFSZ-41 optionValueRecoreDetails((QualityMonitoringDefinition) savedDefintion); + //抽检器械必填QYSQXQRMYY-12 + QualityMonitoringDefinition qualityMonitoringDefinition = (QualityMonitoringDefinition) savedDefintion; + if(StringUtils.equals(qualityMonitoringDefinition.getInspectMaterialRequired(), Constants.STR_YES)){ + if(!StringUtils.equals(qualityMonitoringDefinition.getScope(), QualityMonitoringDefinition.SCOPE_MATERIAL) + && !StringUtils.equals(qualityMonitoringDefinition.getScope(), QualityMonitoringDefinition.SCOPE_MATERIAL_AND_TOUSSE)){ + throw new RuntimeException(String.format("监测范围为“%s”,“抽检器械”不能为必填", qualityMonitoringDefinition.getScope())); + } + } } /** Index: ssts-qualitymon/src/main/java/com/forgon/disinfectsystem/qualitymonitoring/instance/service/QualityMonitoringInstanceManagerImpl.java =================================================================== diff -u -r41365 -r41368 --- ssts-qualitymon/src/main/java/com/forgon/disinfectsystem/qualitymonitoring/instance/service/QualityMonitoringInstanceManagerImpl.java (.../QualityMonitoringInstanceManagerImpl.java) (revision 41365) +++ ssts-qualitymon/src/main/java/com/forgon/disinfectsystem/qualitymonitoring/instance/service/QualityMonitoringInstanceManagerImpl.java (.../QualityMonitoringInstanceManagerImpl.java) (revision 41368) @@ -467,10 +467,19 @@ * @param qmInstance 质量监测记录 */ private void inspectMaterialRequired(QualityMonitoringInstance qmInstance) { + if(!StringUtils.equals(qmInstance.getType(), FormDefinition.FOMRTYPE_QUALITYMONITORING)){ + //质量监测记录才需要判断抽检器械必填 + return; + } QualityMonitoringDefinition qualityMonitoringDefinition = (QualityMonitoringDefinition) qmInstance.getFormDefinition(); if(!StringUtils.equals(qualityMonitoringDefinition.getInspectMaterialRequired(), Constants.STR_YES)){ return; } + if(!StringUtils.equals(qualityMonitoringDefinition.getScope(), QualityMonitoringDefinition.SCOPE_MATERIAL) + && !StringUtils.equals(qualityMonitoringDefinition.getScope(), QualityMonitoringDefinition.SCOPE_MATERIAL_AND_TOUSSE)){ + //监测范围为“材料”、“材料和器械包”,才允许设置字段“抽检器械必填” + return; + } List qualityMonitoringGoodsList = qmInstance.getQualityMonitoringGoodsList(); if(CollectionUtils.isEmpty(qualityMonitoringGoodsList)){ //只检查有抽检器械的情况。抽检器械允许为空(录入合格的检查记录,不需要抽检器械),则不需要再检查抽检器械必填