| | |
| | | @GeneratedValue(strategy = GenerationType.IDENTITY) |
| | | private Long id; |
| | | private String name; |
| | | private String useFlag; |
| | | |
| | | @Enumerated(EnumType.STRING) |
| | | private CustomFieldType customFieldType; |
| | |
| | | @OneToMany(mappedBy = "customField", cascade = {CascadeType.ALL}, orphanRemoval = true) |
| | | private Set<IssueCustomFieldValue> issueCustomFieldValues = new HashSet<>(); |
| | | |
| | | private String useFlag; |
| | | |
| | | public CustomField() { |
| | | } |
| | |
| | | public void setIssueCustomFieldValues(Set<IssueCustomFieldValue> issueCustomFieldValues) { |
| | | this.issueCustomFieldValues = issueCustomFieldValues; |
| | | } |
| | | |
| | | public String getUseFlag() { |
| | | return useFlag; |
| | | } |
| | | |
| | | public void setUseFlag(String useFlag) { |
| | | this.useFlag = useFlag; |
| | | } |
| | | } |
| | |
| | | |
| | | public interface CustomFieldRepository extends JpaRepository<CustomField, Long> { |
| | | |
| | | CustomField findByNameAndWorkspaceId(@Param("name") String name, @Param("workspaceId") Long workspaceId); |
| | | CustomField findByNameAndWorkspaceIdAndUseFlag(@Param("name") String name, @Param("workspaceId") Long workspaceId, @Param("useFlag") String useFlag); |
| | | |
| | | CustomField findByNameAndWorkspaceIdAndIdNot(@Param("name") String name, @Param("workspaceId") Long workspaceId, @Param("id") Long id); |
| | | CustomField findByNameAndWorkspaceIdAndIdNotAndUseFlag(@Param("name") String name, @Param("workspaceId") Long workspaceId, @Param("id") Long id, @Param("useFlag") String useFlag); |
| | | |
| | | List<CustomField> findByWorkspaceId(@Param("workspaceId") Long workspaceId); |
| | | |
| | | |
| | | |
| | | } |
| | |
| | | |
| | | CustomField customField; |
| | | Long workspaceId = this.userService.getUser(this.webAppUtil.getLoginId()).getLastWorkspaceId(); |
| | | |
| | | String useFlag = "Y"; |
| | | if (id == null) { |
| | | customField = this.customFieldRepository.findByNameAndWorkspaceId(name, workspaceId); |
| | | customField = this.customFieldRepository.findByNameAndWorkspaceIdAndUseFlag(name, workspaceId, useFlag); |
| | | } |
| | | else { |
| | | customField = this.customFieldRepository.findByNameAndWorkspaceIdAndIdNot(name, workspaceId, id); |
| | | customField = this.customFieldRepository.findByNameAndWorkspaceIdAndIdNotAndUseFlag(name, workspaceId, id, useFlag); |
| | | } |
| | | |
| | | if (customField != null) { |
| | |
| | | @Override |
| | | @Transactional(readOnly = true) |
| | | public CustomField findByName(String name) { |
| | | return this.customFieldRepository.findByNameAndWorkspaceId(name, this.userService.getUser(this.webAppUtil.getLoginId()).getLastWorkspaceId()); |
| | | String useFlag = "Y"; |
| | | return this.customFieldRepository.findByNameAndWorkspaceIdAndUseFlag(name, this.userService.getUser(this.webAppUtil.getLoginId()).getLastWorkspaceId(), useFlag); |
| | | } |
| | | |
| | | // 사용자 정의 필드 목록을 엑셀로 다운로드 한다. |