刘光辉
6 小时以前 06f314545ac3514d7ce28939920866ae8188d31c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
package jnpf.elnService.cross;
 
import jnpf.elnEntity.field.ElnFieldVersionEntity;
import jnpf.elnEntity.template.ElnTemplateBindingEntity;
 
/** Eligibility is deliberately narrow for the first cross-template tracer bullet. */
public final class ElnCrossTemplateScalarReferencePolicy {
 
    private ElnCrossTemplateScalarReferencePolicy() {
    }
 
    public static boolean isEligible(String targetTemplateId, String sourceTemplateId,
                                     String sourceTemplateStatus, String fieldScope,
                                     ElnFieldVersionEntity version,
                                     ElnTemplateBindingEntity binding) {
        return targetTemplateId != null && !targetTemplateId.equals(sourceTemplateId)
                && "PUBLISHED".equals(sourceTemplateStatus)
                && "GLOBAL".equals(fieldScope)
                && version != null && "PUBLISHED".equals(version.getBizStatus())
                && isSupportedScalar(version.getShujuLeixing())
                && binding != null && "ACTIVE".equals(binding.getBangdingZhuangtai())
                && "PRIMARY".equals(binding.getKongjianJuese())
                && (binding.getRepeatGroupCode() == null || binding.getRepeatGroupCode().trim().isEmpty());
    }
 
    public static boolean isSupportedScalar(String dataType) {
        return "TEXT".equals(dataType) || "TEXTAREA".equals(dataType)
                || "DECIMAL".equals(dataType) || "DATE".equals(dataType)
                || "DATETIME".equals(dataType) || "SELECT".equals(dataType)
                || "CHECKBOX".equals(dataType);
    }
}