Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
T
templateService
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
1
Merge Requests
1
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Bazarbay Tulenov
templateService
Commits
d2fc4410
Commit
d2fc4410
authored
Dec 26, 2023
by
aimagambetov_an
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
issue-23 and filter in tempalate/getAll
parent
07def582
Pipeline
#343
failed with stage
Changes
4
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
77 additions
and
9 deletions
+77
-9
src/main/java/kz/project/printedFormsService/controller/TemplateController.java
...ct/printedFormsService/controller/TemplateController.java
+3
-2
src/main/java/kz/project/printedFormsService/data/repository/TemplateJdbcRepository.java
...dFormsService/data/repository/TemplateJdbcRepository.java
+61
-0
src/main/java/kz/project/printedFormsService/service/TemplateService.java
.../project/printedFormsService/service/TemplateService.java
+1
-1
src/main/java/kz/project/printedFormsService/service/impl/TemplateServiceImpl.java
...printedFormsService/service/impl/TemplateServiceImpl.java
+12
-6
No files found.
src/main/java/kz/project/printedFormsService/controller/TemplateController.java
View file @
d2fc4410
...
...
@@ -219,8 +219,9 @@ public class TemplateController {
@Operation
(
description
=
"Метод для получения всех шаблонов"
)
public
Page
<
TemplateShortDto
>
getAll
(
@Parameter
(
name
=
"isActive"
)
@RequestParam
(
value
=
"isActive"
,
required
=
false
)
Boolean
isActive
,
@Parameter
(
name
=
"page"
)
@RequestParam
(
value
=
"page"
,
defaultValue
=
"0"
)
Integer
page
,
@Parameter
(
name
=
"size"
)
@RequestParam
(
value
=
"size"
,
defaultValue
=
"50"
)
Integer
size
)
{
return
service
.
getAllTemplate
(
isActive
,
PageRequest
.
of
(
page
,
size
));
@Parameter
(
name
=
"size"
)
@RequestParam
(
value
=
"size"
,
defaultValue
=
"50"
)
Integer
size
,
@Parameter
(
name
=
"search"
)
@RequestParam
(
value
=
"search"
)
String
search
)
{
return
service
.
getAllTemplate
(
isActive
,
PageRequest
.
of
(
page
,
size
),
search
);
}
@GetMapping
(
GET_ALL_BY_CODE
)
...
...
src/main/java/kz/project/printedFormsService/data/repository/TemplateJdbcRepository.java
0 → 100644
View file @
d2fc4410
package
kz.project.printedFormsService.data.repository
;
import
kz.project.printedFormsService.data.entity.TemplateEntity
;
import
kz.project.printedFormsService.data.entity.dict.DTemplateType
;
import
lombok.RequiredArgsConstructor
;
import
org.apache.commons.lang3.ArrayUtils
;
import
org.springframework.data.domain.Page
;
import
org.springframework.data.domain.PageImpl
;
import
org.springframework.data.domain.Pageable
;
import
org.springframework.jdbc.core.JdbcTemplate
;
import
org.springframework.stereotype.Repository
;
import
java.util.List
;
@Repository
@RequiredArgsConstructor
public
class
TemplateJdbcRepository
{
private
final
JdbcTemplate
jdbcTemplate
;
public
Page
<
TemplateEntity
>
findAllByStatusAndFilter
(
Boolean
isActive
,
Pageable
pageable
,
String
search
,
List
<
String
>
projects
)
{
StringBuilder
inClause
=
new
StringBuilder
(
"t.project IN (?"
);
inClause
.
append
(
", ?"
.
repeat
(
Math
.
max
(
0
,
projects
.
size
()
-
1
)));
inClause
.
append
(
")"
);
String
sql
=
"SELECT t.*, type.id as typeId, type.code as typeCode, type.name as typeName FROM template_schema.template t "
+
"INNER JOIN template_schema.d_template_type type ON t.type_id = type.id "
+
"WHERE "
+
inClause
;
if
(
isActive
!=
null
)
{
sql
+=
" AND t.status = "
+
isActive
;
}
if
(
search
!=
null
)
{
sql
+=
" AND (t.code = '"
+
search
+
"' OR t.name = '"
+
search
+
"')"
;
}
sql
+=
" LIMIT ? OFFSET ?"
;
Object
[]
queryParams
=
projects
.
toArray
();
Object
[]
additionalParams
=
{
pageable
.
getPageSize
(),
pageable
.
getOffset
()};
Object
[]
allParams
=
ArrayUtils
.
addAll
(
queryParams
,
additionalParams
);
List
<
TemplateEntity
>
result
=
jdbcTemplate
.
query
(
sql
,
allParams
,
(
rs
,
rowNum
)
->
{
DTemplateType
type
=
new
DTemplateType
();
type
.
setId
(
rs
.
getLong
(
"typeId"
));
type
.
setCode
(
rs
.
getString
(
"typeCode"
));
type
.
setName
(
rs
.
getString
(
"typeName"
));
TemplateEntity
templateEntity
=
new
TemplateEntity
();
templateEntity
.
setId
(
rs
.
getLong
(
"id"
));
templateEntity
.
setCode
(
rs
.
getString
(
"code"
));
templateEntity
.
setName
(
rs
.
getString
(
"name"
));
templateEntity
.
setStatus
(
rs
.
getBoolean
(
"status"
));
templateEntity
.
setProject
(
rs
.
getString
(
"project"
));
templateEntity
.
setVersion
(
rs
.
getInt
(
"version"
));
templateEntity
.
setType
(
type
);
return
templateEntity
;
});
return
new
PageImpl
<>(
result
,
pageable
,
100L
);
}
}
src/main/java/kz/project/printedFormsService/service/TemplateService.java
View file @
d2fc4410
...
...
@@ -22,7 +22,7 @@ public interface TemplateService {
void
delete
(
String
code
)
throws
ValidationException
;
Page
<
TemplateShortDto
>
getAllTemplate
(
Boolean
isActive
,
Pageable
pageable
);
Page
<
TemplateShortDto
>
getAllTemplate
(
Boolean
isActive
,
Pageable
pageable
,
String
search
);
TemplateDto
getTemplateData
(
Long
id
)
throws
ValidationException
;
...
...
src/main/java/kz/project/printedFormsService/service/impl/TemplateServiceImpl.java
View file @
d2fc4410
package
kz.project.printedFormsService.service.impl
;
import
com.fasterxml.jackson.core.JsonProcessingException
;
import
kz.project.printedFormsService.config.SecurityContextUtils
;
import
kz.project.printedFormsService.data.dto.TemplateDataForReportDto
;
import
kz.project.printedFormsService.data.dto.TemplateDto
;
import
kz.project.printedFormsService.data.dto.TemplateResponseDto
;
...
...
@@ -20,6 +21,7 @@ import org.springframework.web.multipart.MultipartFile;
import
java.io.IOException
;
import
java.nio.charset.StandardCharsets
;
import
java.util.Arrays
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
...
...
@@ -28,6 +30,7 @@ import java.util.Map;
@RequiredArgsConstructor
public
class
TemplateServiceImpl
implements
TemplateService
{
private
final
TemplateRepository
repository
;
private
final
TemplateJdbcRepository
templateJdbcRepository
;
private
final
TemplateVersionRepository
versionRepository
;
private
final
DTemplateTypeRepository
dTemplateTypeRepository
;
...
...
@@ -100,12 +103,15 @@ public class TemplateServiceImpl implements TemplateService {
}
@Override
public
Page
<
TemplateShortDto
>
getAllTemplate
(
Boolean
isActive
,
Pageable
pageable
)
{
if
(
isActive
==
null
)
return
TemplateShortDto
.
toDtoList
(
repository
.
findAll
(
pageable
));
else
if
(
isActive
)
return
TemplateShortDto
.
toDtoList
(
repository
.
findAllByStatusTrue
(
pageable
));
else
return
TemplateShortDto
.
toDtoList
(
repository
.
findAllByStatusFalse
(
pageable
));
public
Page
<
TemplateShortDto
>
getAllTemplate
(
Boolean
isActive
,
Pageable
pageable
,
String
search
)
{
Map
<
String
,
List
<
String
>>
projectRoleMap
=
SecurityContextUtils
.
getProjectRoleMap
();
List
<
String
>
valuesToCheck
=
Arrays
.
asList
(
"creator"
,
"editor"
,
"delete"
,
"admin"
);
List
<
String
>
projects
=
projectRoleMap
.
entrySet
()
.
stream
()
.
filter
(
entry
->
valuesToCheck
.
stream
().
anyMatch
(
entry
.
getValue
()::
contains
))
.
map
(
Map
.
Entry
::
getKey
)
.
toList
();
return
TemplateShortDto
.
toDtoList
(
templateJdbcRepository
.
findAllByStatusAndFilter
(
isActive
,
pageable
,
search
,
projects
));
}
@Override
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment