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
709456c1
Commit
709456c1
authored
Dec 25, 2023
by
George Novikov
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
отдельное сохранение списка версий, вывод версий через /api/template/allVersion/{code}
parent
66a9e279
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
122 additions
and
17 deletions
+122
-17
src/main/java/kz/project/printedFormsService/data/dto/TemplateDto.java
.../kz/project/printedFormsService/data/dto/TemplateDto.java
+20
-2
src/main/java/kz/project/printedFormsService/data/dto/TemplateResponseDto.java
...ect/printedFormsService/data/dto/TemplateResponseDto.java
+1
-1
src/main/java/kz/project/printedFormsService/data/entity/TemplateEntity.java
...oject/printedFormsService/data/entity/TemplateEntity.java
+38
-2
src/main/java/kz/project/printedFormsService/data/entity/TemplateFileInfoEntity.java
...intedFormsService/data/entity/TemplateFileInfoEntity.java
+30
-0
src/main/java/kz/project/printedFormsService/data/repository/TemplateVersionRepository.java
...rmsService/data/repository/TemplateVersionRepository.java
+10
-0
src/main/java/kz/project/printedFormsService/service/impl/TemplateServiceImpl.java
...printedFormsService/service/impl/TemplateServiceImpl.java
+23
-12
No files found.
src/main/java/kz/project/printedFormsService/data/dto/TemplateDto.java
View file @
709456c1
...
...
@@ -57,7 +57,7 @@ public class TemplateDto {
.
code
(
te
.
getCode
())
.
status
(
te
.
getStatus
())
.
templateFile
(
new
TemplateFileDataDto
(
te
.
getTemplate
().
getId
(),
te
.
getTemplate
().
getName
(),
te
.
getTemplate
().
getData
()))
.
headerFile
(
te
.
getTempl
eateHeader
()!=
null
?
new
TemplateFileDataDto
(
te
.
getTempleateHeader
().
getId
(),
te
.
getTempleateHeader
().
getName
(),
te
.
getTemple
ateHeader
().
getData
()):
null
)
.
headerFile
(
te
.
getTempl
ateHeader
()!=
null
?
new
TemplateFileDataDto
(
te
.
getTemplateHeader
().
getId
(),
te
.
getTemplateHeader
().
getName
(),
te
.
getTempl
ateHeader
().
getData
()):
null
)
.
type
(
te
.
getType
().
getCode
())
.
project
(
te
.
getProject
())
.
version
(
te
.
getVersion
())
...
...
@@ -72,7 +72,7 @@ public class TemplateDto {
.
status
(
te
.
getStatus
())
.
project
(
te
.
getProject
())
.
templateFile
(
new
TemplateFileDataDto
(
te
.
getTemplate
().
getId
(),
te
.
getTemplate
().
getName
(),
te
.
getTemplate
().
getData
()))
.
headerFile
(
te
.
getTempl
eateHeader
()!=
null
?
new
TemplateFileDataDto
(
te
.
getTempleateHeader
().
getId
(),
te
.
getTempleateHeader
().
getName
(),
te
.
getTemple
ateHeader
().
getData
()):
null
)
.
headerFile
(
te
.
getTempl
ateHeader
()!=
null
?
new
TemplateFileDataDto
(
te
.
getTemplateHeader
().
getId
(),
te
.
getTemplateHeader
().
getName
(),
te
.
getTempl
ateHeader
().
getData
()):
null
)
.
type
(
te
.
getType
().
getCode
())
.
version
(
te
.
getVersion
())
.
build
();
...
...
@@ -99,6 +99,24 @@ public class TemplateDto {
return
new
PageImpl
<>(
dtos
,
PageRequest
.
of
(
all
.
getNumber
(),
all
.
getSize
()),
all
.
getTotalElements
());
}
public
static
Page
<
TemplateDto
>
toDtoList
(
Page
<
TemplateEntity
>
all
,
Page
<
TemplateEntity
>
versions
){
if
(
all
.
getContent
()
==
null
&&
versions
.
getContent
()
==
null
)
return
null
;
List
<
TemplateDto
>
dtos
=
new
ArrayList
<>();
if
(
all
.
getContent
()
!=
null
){
for
(
TemplateEntity
te:
all
.
getContent
())
{
dtos
.
add
(
TemplateDto
.
toDtoAll
(
te
));
}
}
if
(
versions
.
getContent
()
!=
null
){
for
(
TemplateEntity
ver:
versions
.
getContent
())
{
dtos
.
add
(
TemplateDto
.
toDtoAll
(
ver
));
}
}
return
new
PageImpl
<>(
dtos
,
PageRequest
.
of
(
all
.
getNumber
(),
all
.
getSize
()),
all
.
getTotalElements
());
}
@Data
@AllArgsConstructor
@NoArgsConstructor
...
...
src/main/java/kz/project/printedFormsService/data/dto/TemplateResponseDto.java
View file @
709456c1
...
...
@@ -46,7 +46,7 @@ public class TemplateResponseDto {
.
status
(
te
.
getStatus
())
.
project
(
te
.
getProject
())
.
templateFile
(
new
TemplateDto
.
TemplateFileDataDto
(
te
.
getTemplate
().
getId
(),
te
.
getTemplate
().
getName
(),
te
.
getTemplate
().
getData
()))
.
headerFile
(
te
.
getTempl
eateHeader
()
!=
null
?
new
TemplateDto
.
TemplateFileDataDto
(
te
.
getTempleateHeader
().
getId
(),
te
.
getTempleateHeader
().
getName
(),
te
.
getTemple
ateHeader
().
getData
())
:
null
)
.
headerFile
(
te
.
getTempl
ateHeader
()
!=
null
?
new
TemplateDto
.
TemplateFileDataDto
(
te
.
getTemplateHeader
().
getId
(),
te
.
getTemplateHeader
().
getName
(),
te
.
getTempl
ateHeader
().
getData
())
:
null
)
.
type
(
te
.
getType
().
getCode
())
.
version
(
te
.
getVersion
())
.
build
();
...
...
src/main/java/kz/project/printedFormsService/data/entity/TemplateEntity.java
View file @
709456c1
...
...
@@ -19,9 +19,45 @@ public class TemplateEntity {
@ManyToOne
private
DTemplateType
type
;
@OneToOne
private
TemplateFileInfoEntity
template
;
private
TemplateFileInfoEntity
template
;
@OneToOne
private
TemplateFileInfoEntity
templ
e
ateHeader
;
private
TemplateFileInfoEntity
templateHeader
;
@Override
public
boolean
equals
(
Object
o
){
if
(
this
==
o
)
return
true
;
if
(
o
==
null
||
!(
o
instanceof
TemplateEntity
))
return
false
;
TemplateEntity
other
=
(
TemplateEntity
)
o
;
/* Примитивы */
boolean
isCodeEqual
=
this
.
code
==
other
.
getCode
()
||
(
this
.
code
!=
null
&&
this
.
code
.
equals
(
other
.
getCode
()));
boolean
isNameEqual
=
this
.
name
==
other
.
getName
()
||
(
this
.
name
!=
null
&&
this
.
name
.
equals
(
other
.
getName
()));
boolean
isStatusEqual
=
this
.
status
==
other
.
getStatus
()
||
(
this
.
status
!=
null
&&
this
.
status
.
equals
(
other
.
getStatus
()));
boolean
isProjectEqual
=
this
.
project
==
other
.
getProject
()
||
(
this
.
project
!=
null
&&
this
.
project
.
equals
(
other
.
getProject
()));
/* Сложные типы */
boolean
isTypeEqual
=
this
.
type
==
other
.
getType
()
||
(
this
.
type
!=
null
&&
this
.
type
.
equals
(
other
.
getType
()));
boolean
isTemplateEqual
=
this
.
template
==
other
.
getTemplate
()
||
(
this
.
template
!=
null
&&
this
.
template
.
equals
(
other
.
getTemplate
()));
boolean
isHeaderEqual
=
this
.
templateHeader
==
other
.
getTemplateHeader
()
||
(
this
.
templateHeader
!=
null
&&
this
.
templateHeader
.
equals
(
other
.
getTemplateHeader
()));
return
isCodeEqual
&&
isNameEqual
&&
isStatusEqual
&&
isProjectEqual
&&
isTypeEqual
&&
isTemplateEqual
&&
isHeaderEqual
;
}
@Override
public
int
hashCode
(){
int
hash
=
17
;
if
(
code
!=
null
)
hash
=
31
*
hash
*
code
.
hashCode
();
if
(
name
!=
null
)
hash
=
31
*
hash
*
name
.
hashCode
();
if
(
status
!=
null
)
hash
=
31
*
hash
*
status
.
hashCode
();
if
(
project
!=
null
)
hash
=
31
*
hash
*
project
.
hashCode
();
if
(
type
!=
null
)
hash
=
31
*
hash
*
type
.
hashCode
();
if
(
template
!=
null
)
hash
=
31
*
hash
*
template
.
hashCode
();
if
(
templateHeader
!=
null
)
hash
=
31
*
hash
*
templateHeader
.
hashCode
();
return
hash
;
}
}
src/main/java/kz/project/printedFormsService/data/entity/TemplateFileInfoEntity.java
View file @
709456c1
...
...
@@ -21,4 +21,34 @@ public class TemplateFileInfoEntity {
private
String
path
;
private
Integer
hash
;
private
byte
[]
data
;
@Override
public
boolean
equals
(
Object
o
){
if
(
this
==
o
)
return
true
;
if
(
o
==
null
||
!(
o
instanceof
TemplateFileInfoEntity
))
return
false
;
TemplateFileInfoEntity
other
=
(
TemplateFileInfoEntity
)
o
;
boolean
isNameEqual
=
this
.
name
==
other
.
getName
()
||
(
this
.
name
!=
null
&&
this
.
name
.
equals
(
other
.
getName
()));
boolean
isHeaderEqual
=
this
.
isHeader
==
other
.
getIsHeader
()
||
(
this
.
isHeader
!=
null
&&
this
.
isHeader
.
equals
(
other
.
getIsHeader
()));
boolean
isPathEqual
=
this
.
path
==
other
.
getPath
()
||
(
this
.
path
!=
null
&&
this
.
path
.
equals
(
other
.
getPath
()));
boolean
isHashEqual
=
this
.
hash
==
other
.
getHash
()
||
(
this
.
hash
!=
null
&&
this
.
hash
.
equals
(
other
.
getHash
()));
boolean
isDataEqual
=
this
.
data
==
other
.
getData
()
||
(
this
.
data
!=
null
&&
this
.
data
.
equals
(
other
.
getData
()));
return
isNameEqual
&&
isHeaderEqual
&&
isPathEqual
&&
isHashEqual
&&
isDataEqual
;
}
@Override
public
int
hashCode
(){
int
hashResult
=
17
;
if
(
name
!=
null
)
hashResult
=
31
*
hashResult
*
name
.
hashCode
();
if
(
isHeader
!=
null
)
hashResult
=
31
*
hashResult
*
isHeader
.
hashCode
();
if
(
path
!=
null
)
hashResult
=
31
*
hashResult
*
path
.
hashCode
();
if
(
hash
!=
null
)
hashResult
=
31
*
hashResult
*
hash
.
hashCode
();
if
(
data
!=
null
)
hashResult
=
31
*
hashResult
*
data
.
hashCode
();
return
hashResult
;
}
}
src/main/java/kz/project/printedFormsService/data/repository/TemplateVersionRepository.java
0 → 100644
View file @
709456c1
package
kz.project.printedFormsService.data.repository
;
import
kz.project.printedFormsService.data.entity.TemplateEntity
;
import
org.springframework.data.domain.Page
;
import
org.springframework.data.domain.Pageable
;
import
org.springframework.data.jpa.repository.JpaRepository
;
public
interface
TemplateVersionRepository
extends
JpaRepository
<
TemplateEntity
,
Long
>
{
Page
<
TemplateEntity
>
findAllByCode
(
Pageable
pageable
,
String
code
);
}
src/main/java/kz/project/printedFormsService/service/impl/TemplateServiceImpl.java
View file @
709456c1
...
...
@@ -5,13 +5,9 @@ import kz.project.printedFormsService.data.dto.TemplateDataForReportDto;
import
kz.project.printedFormsService.data.dto.TemplateDto
;
import
kz.project.printedFormsService.data.dto.TemplateResponseDto
;
import
kz.project.printedFormsService.data.dto.TemplateShortDto
;
import
kz.project.printedFormsService.data.entity.DocumentEntity
;
import
kz.project.printedFormsService.data.entity.TemplateEntity
;
import
kz.project.printedFormsService.data.entity.TemplateFileInfoEntity
;
import
kz.project.printedFormsService.data.repository.DTemplateTypeRepository
;
import
kz.project.printedFormsService.data.repository.DocumentRepository
;
import
kz.project.printedFormsService.data.repository.TemplateFileInfoRepository
;
import
kz.project.printedFormsService.data.repository.TemplateRepository
;
import
kz.project.printedFormsService.data.repository.*
;
import
kz.project.printedFormsService.exception.ValidationException
;
import
kz.project.printedFormsService.service.TemplateService
;
import
lombok.RequiredArgsConstructor
;
...
...
@@ -23,7 +19,6 @@ import org.springframework.web.multipart.MultipartFile;
import
java.io.IOException
;
import
java.nio.charset.StandardCharsets
;
import
java.time.LocalDateTime
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
...
...
@@ -32,6 +27,7 @@ import java.util.Map;
@RequiredArgsConstructor
public
class
TemplateServiceImpl
implements
TemplateService
{
private
final
TemplateRepository
repository
;
private
final
TemplateVersionRepository
versionRepository
;
private
final
DTemplateTypeRepository
dTemplateTypeRepository
;
private
final
TemplateFileInfoRepository
fileInfoRepository
;
...
...
@@ -42,7 +38,7 @@ public class TemplateServiceImpl implements TemplateService {
Map
<
String
,
byte
[]>
params
=
new
HashMap
<>();
TemplateEntity
templateEntity
=
repository
.
findById
(
id
).
orElse
(
null
);
if
(
templateEntity
==
null
)
throw
new
ValidationException
(
"по данному параметру отсутствуют данные: "
+
id
,
13
);
TemplateDataForReportDto
templ
=
new
TemplateDataForReportDto
(
templateEntity
.
getType
().
getCode
(),
templateEntity
.
getTemplate
().
getData
(),
templateEntity
.
getTempl
eateHeader
()
!=
null
?
templateEntity
.
getTemple
ateHeader
().
getData
()
:
null
);
TemplateDataForReportDto
templ
=
new
TemplateDataForReportDto
(
templateEntity
.
getType
().
getCode
(),
templateEntity
.
getTemplate
().
getData
(),
templateEntity
.
getTempl
ateHeader
()
!=
null
?
templateEntity
.
getTempl
ateHeader
().
getData
()
:
null
);
params
.
put
(
"type"
,
templ
.
getType
().
getBytes
(
StandardCharsets
.
UTF_8
));
params
.
put
(
"body"
,
templ
.
getBody
());
params
.
put
(
"header"
,
templ
.
getHeader
());
...
...
@@ -80,7 +76,15 @@ public class TemplateServiceImpl implements TemplateService {
}
if
(
repository
.
findById
(
dto
.
getTemplateId
()).
isEmpty
())
throw
new
ValidationException
(
"Cо значением templateId="
+
dto
.
getTemplateId
()
+
"запись не существует"
,
13
);
return
TemplateResponseDto
.
toDto
(
repository
.
save
(
createTemplateEntity
(
dto
,
files
)));
TemplateEntity
existingEntity
=
repository
.
findById
(
dto
.
getTemplateId
()).
get
();
TemplateEntity
receivedEntity
=
createTemplateEntity
(
dto
,
files
);
if
(!
existingEntity
.
equals
(
receivedEntity
)){
versionRepository
.
save
(
existingEntity
);
}
return
TemplateResponseDto
.
toDto
(
repository
.
save
(
receivedEntity
));
}
...
...
@@ -113,8 +117,15 @@ public class TemplateServiceImpl implements TemplateService {
public
Page
<
TemplateDto
>
getAllTemplateByCode
(
String
code
,
Pageable
pageable
)
throws
ValidationException
{
if
(
code
!=
null
)
{
Page
<
TemplateEntity
>
allByCode
=
repository
.
findAllByCode
(
pageable
,
code
);
if
(
allByCode
!=
null
)
return
TemplateDto
.
toDtoList
(
allByCode
);
Page
<
TemplateEntity
>
allVersionsByCode
=
versionRepository
.
findAllByCode
(
pageable
,
code
);
if
(
allByCode
!=
null
&&
allVersionsByCode
!=
null
)
return
TemplateDto
.
toDtoList
(
allByCode
,
allVersionsByCode
);
Page
<
TemplateEntity
>
existingPage
=
allByCode
!=
null
?
allByCode
:
allVersionsByCode
;
if
(
existingPage
!=
null
)
return
TemplateDto
.
toDtoList
(
existingPage
);
}
throw
new
ValidationException
(
"Не переданы обязательные поля"
,
13
);
}
...
...
@@ -142,9 +153,9 @@ public class TemplateServiceImpl implements TemplateService {
templateEntity
.
setVersion
(
dto
.
getVersion
()
+
1
);
if
(
files
!=
null
&&
files
.
size
()
==
2
&&
files
.
get
(
1
)
!=
null
)
{
if
(
dto
.
getHeaderFileId
()
!=
null
)
{
templateEntity
.
setTempl
e
ateHeader
(
updateTemplateFiles
(
files
.
get
(
1
),
dto
.
getHeaderFileId
(),
true
));
templateEntity
.
setTemplateHeader
(
updateTemplateFiles
(
files
.
get
(
1
),
dto
.
getHeaderFileId
(),
true
));
}
else
{
templateEntity
.
setTempl
e
ateHeader
(
createTemplateFiles
(
files
.
get
(
1
),
true
));
templateEntity
.
setTemplateHeader
(
createTemplateFiles
(
files
.
get
(
1
),
true
));
}
}
templateEntity
.
setStatus
(
dto
.
getStatus
());
...
...
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