Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
A
attendance-performance-platform
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
0
Merge Requests
0
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
赵啸非
attendance-performance-platform
Commits
bbde3214
Commit
bbde3214
authored
Jan 29, 2024
by
赵啸非
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/master'
parents
30f3f48c
8814b9b9
Changes
8
Show whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
177 additions
and
6 deletions
+177
-6
attendance-performance-manager/src/main/java/com/mortals/xhx/module/check/service/CheckWindowPerformService.java
...s/xhx/module/check/service/CheckWindowPerformService.java
+11
-0
attendance-performance-manager/src/main/java/com/mortals/xhx/module/check/service/CheckWindowWorkmanPerformService.java
...odule/check/service/CheckWindowWorkmanPerformService.java
+12
-1
attendance-performance-manager/src/main/java/com/mortals/xhx/module/check/service/impl/CheckWindowPerformServiceImpl.java
...ule/check/service/impl/CheckWindowPerformServiceImpl.java
+41
-3
attendance-performance-manager/src/main/java/com/mortals/xhx/module/check/service/impl/CheckWindowWorkmanPerformServiceImpl.java
...ck/service/impl/CheckWindowWorkmanPerformServiceImpl.java
+27
-1
attendance-performance-manager/src/main/java/com/mortals/xhx/module/check/web/CheckWindowPerformController.java
...ls/xhx/module/check/web/CheckWindowPerformController.java
+32
-0
attendance-performance-manager/src/main/java/com/mortals/xhx/module/check/web/CheckWindowWorkmanPerformController.java
...module/check/web/CheckWindowWorkmanPerformController.java
+32
-0
attendance-performance-manager/src/main/java/com/mortals/xhx/module/window/service/impl/WindowPerformServiceImpl.java
.../module/window/service/impl/WindowPerformServiceImpl.java
+11
-0
attendance-performance-manager/src/main/java/com/mortals/xhx/module/window/service/impl/WindowWorkmanPerformServiceImpl.java
.../window/service/impl/WindowWorkmanPerformServiceImpl.java
+11
-1
No files found.
attendance-performance-manager/src/main/java/com/mortals/xhx/module/check/service/CheckWindowPerformService.java
View file @
bbde3214
package
com.mortals.xhx.module.check.service
;
package
com.mortals.xhx.module.check.service
;
import
com.mortals.framework.exception.AppException
;
import
com.mortals.framework.model.Context
;
import
com.mortals.framework.service.ICRUDService
;
import
com.mortals.framework.service.ICRUDService
;
import
com.mortals.xhx.module.check.model.CheckWindowPerformEntity
;
import
com.mortals.xhx.module.check.model.CheckWindowPerformEntity
;
import
com.mortals.xhx.module.check.dao.CheckWindowPerformDao
;
import
com.mortals.xhx.module.check.dao.CheckWindowPerformDao
;
...
@@ -13,4 +15,13 @@ import com.mortals.xhx.module.check.dao.CheckWindowPerformDao;
...
@@ -13,4 +15,13 @@ import com.mortals.xhx.module.check.dao.CheckWindowPerformDao;
public
interface
CheckWindowPerformService
extends
ICRUDService
<
CheckWindowPerformEntity
,
Long
>{
public
interface
CheckWindowPerformService
extends
ICRUDService
<
CheckWindowPerformEntity
,
Long
>{
CheckWindowPerformDao
getDao
();
CheckWindowPerformDao
getDao
();
/**
* 核查人工审核
* @param entity
* @param context
* @throws AppException
*/
void
examine
(
CheckWindowPerformEntity
entity
,
Context
context
)
throws
AppException
;
}
}
\ No newline at end of file
attendance-performance-manager/src/main/java/com/mortals/xhx/module/check/service/CheckWindowWorkmanPerformService.java
View file @
bbde3214
package
com.mortals.xhx.module.check.service
;
package
com.mortals.xhx.module.check.service
;
import
com.mortals.framework.exception.AppException
;
import
com.mortals.framework.model.Context
;
import
com.mortals.framework.service.ICRUDService
;
import
com.mortals.framework.service.ICRUDService
;
import
com.mortals.xhx.module.check.model.CheckWindowWorkmanPerformEntity
;
import
com.mortals.xhx.module.check.dao.CheckWindowWorkmanPerformDao
;
import
com.mortals.xhx.module.check.dao.CheckWindowWorkmanPerformDao
;
import
com.mortals.xhx.module.check.model.CheckWindowWorkmanPerformEntity
;
/**
/**
* CheckWindowWorkmanPerformService
* CheckWindowWorkmanPerformService
*
*
...
@@ -13,4 +16,12 @@ import com.mortals.xhx.module.check.dao.CheckWindowWorkmanPerformDao;
...
@@ -13,4 +16,12 @@ import com.mortals.xhx.module.check.dao.CheckWindowWorkmanPerformDao;
public
interface
CheckWindowWorkmanPerformService
extends
ICRUDService
<
CheckWindowWorkmanPerformEntity
,
Long
>{
public
interface
CheckWindowWorkmanPerformService
extends
ICRUDService
<
CheckWindowWorkmanPerformEntity
,
Long
>{
CheckWindowWorkmanPerformDao
getDao
();
CheckWindowWorkmanPerformDao
getDao
();
/**
* 核查人工审核
* @param entity
* @param context
* @throws AppException
*/
void
examine
(
CheckWindowWorkmanPerformEntity
entity
,
Context
context
)
throws
AppException
;
}
}
\ No newline at end of file
attendance-performance-manager/src/main/java/com/mortals/xhx/module/check/service/impl/CheckWindowPerformServiceImpl.java
View file @
bbde3214
package
com.mortals.xhx.module.check.service.impl
;
package
com.mortals.xhx.module.check.service.impl
;
import
org.springframework.stereotype.Service
;
import
com.mortals.framework.service.impl.AbstractCRUDServiceImpl
;
import
com.mortals.framework.exception.AppException
;
import
com.mortals.framework.exception.AppException
;
import
com.mortals.framework.model.Context
;
import
com.mortals.framework.model.Context
;
import
com.mortals.framework.service.IUser
;
import
com.mortals.framework.service.impl.AbstractCRUDServiceImpl
;
import
com.mortals.framework.util.StringUtils
;
import
com.mortals.xhx.common.code.CheckStatusEnum
;
import
com.mortals.xhx.module.check.dao.CheckWindowPerformDao
;
import
com.mortals.xhx.module.check.dao.CheckWindowPerformDao
;
import
com.mortals.xhx.module.check.model.CheckWindowPerformEntity
;
import
com.mortals.xhx.module.check.model.CheckWindowPerformEntity
;
import
com.mortals.xhx.module.check.service.CheckWindowPerformService
;
import
com.mortals.xhx.module.check.service.CheckWindowPerformService
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.stereotype.Service
;
import
java.util.Date
;
/**
/**
* CheckWindowPerformService
* CheckWindowPerformService
* 窗口考核核查 service实现
* 窗口考核核查 service实现
...
@@ -18,4 +25,35 @@ import lombok.extern.slf4j.Slf4j;
...
@@ -18,4 +25,35 @@ import lombok.extern.slf4j.Slf4j;
@Slf4j
@Slf4j
public
class
CheckWindowPerformServiceImpl
extends
AbstractCRUDServiceImpl
<
CheckWindowPerformDao
,
CheckWindowPerformEntity
,
Long
>
implements
CheckWindowPerformService
{
public
class
CheckWindowPerformServiceImpl
extends
AbstractCRUDServiceImpl
<
CheckWindowPerformDao
,
CheckWindowPerformEntity
,
Long
>
implements
CheckWindowPerformService
{
@Override
public
void
examine
(
CheckWindowPerformEntity
entity
,
Context
context
)
throws
AppException
{
if
(
entity
.
getId
()
==
null
)
{
throw
new
AppException
(
"核查记录ID不能为空"
);
}
CheckWindowPerformEntity
temp
=
this
.
get
(
entity
.
getId
());
if
(
temp
==
null
)
{
throw
new
AppException
(
"核查记录ID不正确"
);
}
if
(
StringUtils
.
isNotEmpty
(
entity
.
getLeaderCheckResult
())){
if
(
context
!=
null
&&
context
.
getUser
()
!=
null
)
{
IUser
user
=
context
.
getUser
();
entity
.
setUpdateUserId
(
user
.
getId
());
entity
.
setLeaderCheckPerson
(
user
.
getRealName
());
}
entity
.
setLeaderCheckTime
(
new
Date
());
}
if
(
StringUtils
.
isNotEmpty
(
entity
.
getManageCheckResult
())){
if
(
context
!=
null
&&
context
.
getUser
()
!=
null
)
{
IUser
user
=
context
.
getUser
();
entity
.
setUpdateUserId
(
user
.
getId
());
entity
.
setManageCheckPerson
(
user
.
getRealName
());
}
entity
.
setManageCheckTime
(
new
Date
());
}
entity
.
setUpdateTime
(
new
Date
());
if
(
StringUtils
.
isNotEmpty
(
entity
.
getLeaderCheckResult
())&&
StringUtils
.
isNotEmpty
(
entity
.
getManageCheckResult
()))
{
entity
.
setCheckStatus
(
CheckStatusEnum
.
已处理
.
getValue
());
//处理状态(1.未处理,2.已处理)
}
dao
.
update
(
entity
);
}
}
}
\ No newline at end of file
attendance-performance-manager/src/main/java/com/mortals/xhx/module/check/service/impl/CheckWindowWorkmanPerformServiceImpl.java
View file @
bbde3214
package
com.mortals.xhx.module.check.service.impl
;
package
com.mortals.xhx.module.check.service.impl
;
import
com.mortals.framework.service.IUser
;
import
com.mortals.xhx.common.code.CheckStatusEnum
;
import
com.mortals.xhx.module.check.model.CheckWindowPerformEntity
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
com.mortals.framework.service.impl.AbstractCRUDServiceImpl
;
import
com.mortals.framework.service.impl.AbstractCRUDServiceImpl
;
import
com.mortals.framework.exception.AppException
;
import
com.mortals.framework.exception.AppException
;
...
@@ -7,6 +10,9 @@ import com.mortals.xhx.module.check.dao.CheckWindowWorkmanPerformDao;
...
@@ -7,6 +10,9 @@ import com.mortals.xhx.module.check.dao.CheckWindowWorkmanPerformDao;
import
com.mortals.xhx.module.check.model.CheckWindowWorkmanPerformEntity
;
import
com.mortals.xhx.module.check.model.CheckWindowWorkmanPerformEntity
;
import
com.mortals.xhx.module.check.service.CheckWindowWorkmanPerformService
;
import
com.mortals.xhx.module.check.service.CheckWindowWorkmanPerformService
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
java.util.Date
;
/**
/**
* CheckWindowWorkmanPerformService
* CheckWindowWorkmanPerformService
* 窗口人员考核汇总核查 service实现
* 窗口人员考核汇总核查 service实现
...
@@ -18,4 +24,24 @@ import lombok.extern.slf4j.Slf4j;
...
@@ -18,4 +24,24 @@ import lombok.extern.slf4j.Slf4j;
@Slf4j
@Slf4j
public
class
CheckWindowWorkmanPerformServiceImpl
extends
AbstractCRUDServiceImpl
<
CheckWindowWorkmanPerformDao
,
CheckWindowWorkmanPerformEntity
,
Long
>
implements
CheckWindowWorkmanPerformService
{
public
class
CheckWindowWorkmanPerformServiceImpl
extends
AbstractCRUDServiceImpl
<
CheckWindowWorkmanPerformDao
,
CheckWindowWorkmanPerformEntity
,
Long
>
implements
CheckWindowWorkmanPerformService
{
@Override
public
void
examine
(
CheckWindowWorkmanPerformEntity
entity
,
Context
context
)
throws
AppException
{
if
(
entity
.
getId
()
==
null
)
{
throw
new
AppException
(
"核查记录ID不能为空"
);
}
CheckWindowWorkmanPerformEntity
temp
=
this
.
get
(
entity
.
getId
());
if
(
temp
==
null
)
{
throw
new
AppException
(
"核查记录ID不正确"
);
}
if
(
context
!=
null
&&
context
.
getUser
()
!=
null
)
{
IUser
user
=
context
.
getUser
();
entity
.
setUpdateUserId
(
user
.
getId
());
entity
.
setManageCheckPerson
(
user
.
getRealName
());
}
entity
.
setManageCheckTime
(
new
Date
());
entity
.
setUpdateTime
(
new
Date
());
entity
.
setCheckStatus
(
CheckStatusEnum
.
已处理
.
getValue
());
//处理状态(1.未处理,2.已处理)
dao
.
update
(
entity
);
}
}
}
\ No newline at end of file
attendance-performance-manager/src/main/java/com/mortals/xhx/module/check/web/CheckWindowPerformController.java
View file @
bbde3214
...
@@ -49,5 +49,37 @@ public class CheckWindowPerformController extends BaseCRUDJsonBodyMappingControl
...
@@ -49,5 +49,37 @@ public class CheckWindowPerformController extends BaseCRUDJsonBodyMappingControl
super
.
init
(
model
,
context
);
super
.
init
(
model
,
context
);
}
}
/**
* 审核
*
* @param entity
* @return
*/
@PostMapping
({
"examine"
})
public
String
examine
(
@RequestBody
CheckWindowPerformEntity
entity
){
Map
<
String
,
Object
>
model
=
new
HashMap
();
Context
context
=
this
.
getContext
();
int
code
=
1
;
String
busiDesc
=
"窗口考核核查"
;
try
{
this
.
service
.
examine
(
entity
,
context
);
model
.
put
(
"id"
,
entity
.
getId
());
model
.
put
(
"entity"
,
entity
);
model
.
put
(
"message_info"
,
busiDesc
+
"成功"
);
this
.
recordSysLog
(
this
.
request
,
busiDesc
+
" 【成功】 [id:"
+
entity
.
getId
()
+
"]"
);
}
catch
(
Exception
var9
)
{
this
.
doException
(
this
.
request
,
busiDesc
,
model
,
var9
);
model
.
put
(
"entity"
,
entity
);
this
.
init
(
model
,
context
);
code
=
this
.
saveException
(
entity
,
model
,
context
,
var9
);
}
this
.
init
(
model
,
context
);
JSONObject
ret
=
new
JSONObject
();
ret
.
put
(
"code"
,
code
);
ret
.
put
(
"msg"
,
model
.
remove
(
"message_info"
));
ret
.
put
(
"data"
,
model
);
return
ret
.
toJSONString
();
}
}
}
\ No newline at end of file
attendance-performance-manager/src/main/java/com/mortals/xhx/module/check/web/CheckWindowWorkmanPerformController.java
View file @
bbde3214
package
com.mortals.xhx.module.check.web
;
package
com.mortals.xhx.module.check.web
;
import
com.mortals.framework.web.BaseCRUDJsonBodyMappingController
;
import
com.mortals.framework.web.BaseCRUDJsonBodyMappingController
;
import
com.mortals.xhx.base.system.param.service.ParamService
;
import
com.mortals.xhx.base.system.param.service.ParamService
;
import
com.mortals.xhx.module.check.model.CheckWindowPerformEntity
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
org.springframework.web.bind.annotation.RestController
;
...
@@ -48,5 +49,36 @@ public class CheckWindowWorkmanPerformController extends BaseCRUDJsonBodyMapping
...
@@ -48,5 +49,36 @@ public class CheckWindowWorkmanPerformController extends BaseCRUDJsonBodyMapping
super
.
init
(
model
,
context
);
super
.
init
(
model
,
context
);
}
}
/**
* 审核
*
* @param entity
* @return
*/
@PostMapping
({
"examine"
})
public
String
examine
(
@RequestBody
CheckWindowWorkmanPerformEntity
entity
){
Map
<
String
,
Object
>
model
=
new
HashMap
();
Context
context
=
this
.
getContext
();
int
code
=
1
;
String
busiDesc
=
"窗口人员考核汇总核查"
;
try
{
this
.
service
.
examine
(
entity
,
context
);
model
.
put
(
"id"
,
entity
.
getId
());
model
.
put
(
"entity"
,
entity
);
model
.
put
(
"message_info"
,
busiDesc
+
"成功"
);
this
.
recordSysLog
(
this
.
request
,
busiDesc
+
" 【成功】 [id:"
+
entity
.
getId
()
+
"]"
);
}
catch
(
Exception
var9
)
{
this
.
doException
(
this
.
request
,
busiDesc
,
model
,
var9
);
model
.
put
(
"entity"
,
entity
);
this
.
init
(
model
,
context
);
code
=
this
.
saveException
(
entity
,
model
,
context
,
var9
);
}
this
.
init
(
model
,
context
);
JSONObject
ret
=
new
JSONObject
();
ret
.
put
(
"code"
,
code
);
ret
.
put
(
"msg"
,
model
.
remove
(
"message_info"
));
ret
.
put
(
"data"
,
model
);
return
ret
.
toJSONString
();
}
}
}
\ No newline at end of file
attendance-performance-manager/src/main/java/com/mortals/xhx/module/window/service/impl/WindowPerformServiceImpl.java
View file @
bbde3214
...
@@ -9,6 +9,8 @@ import com.mortals.xhx.module.check.model.CheckWindowPerformQuery;
...
@@ -9,6 +9,8 @@ import com.mortals.xhx.module.check.model.CheckWindowPerformQuery;
import
com.mortals.xhx.module.check.model.CheckWindowWorkmanPerformEntity
;
import
com.mortals.xhx.module.check.model.CheckWindowWorkmanPerformEntity
;
import
com.mortals.xhx.module.check.model.CheckWindowWorkmanPerformQuery
;
import
com.mortals.xhx.module.check.model.CheckWindowWorkmanPerformQuery
;
import
com.mortals.xhx.module.check.service.CheckWindowPerformService
;
import
com.mortals.xhx.module.check.service.CheckWindowPerformService
;
import
com.mortals.xhx.module.staff.model.StaffEntity
;
import
com.mortals.xhx.module.staff.service.StaffService
;
import
com.mortals.xhx.module.window.model.*
;
import
com.mortals.xhx.module.window.model.*
;
import
com.mortals.xhx.module.window.model.vo.WindowPerformAllVo
;
import
com.mortals.xhx.module.window.model.vo.WindowPerformAllVo
;
import
com.mortals.xhx.module.window.service.WindowWorkmanPerformService
;
import
com.mortals.xhx.module.window.service.WindowWorkmanPerformService
;
...
@@ -42,11 +44,20 @@ public class WindowPerformServiceImpl extends AbstractCRUDServiceImpl<WindowPerf
...
@@ -42,11 +44,20 @@ public class WindowPerformServiceImpl extends AbstractCRUDServiceImpl<WindowPerf
private
CheckWindowPerformService
checkWindowPerformService
;
private
CheckWindowPerformService
checkWindowPerformService
;
@Autowired
@Autowired
private
WindowWorkmanPerformService
windowWorkmanPerformService
;
private
WindowWorkmanPerformService
windowWorkmanPerformService
;
@Autowired
private
StaffService
staffService
;
@Override
@Override
protected
void
saveBefore
(
WindowPerformEntity
entity
,
Context
context
)
throws
AppException
{
protected
void
saveBefore
(
WindowPerformEntity
entity
,
Context
context
)
throws
AppException
{
super
.
saveBefore
(
entity
,
context
);
super
.
saveBefore
(
entity
,
context
);
StaffEntity
staff
=
staffService
.
get
(
entity
.
getOwnerId
());
if
(
staff
!=
null
){
entity
.
setDeptId
(
staff
.
getDeptId
());
entity
.
setDeptName
(
staff
.
getDeptName
());
entity
.
setSalaId
(
staff
.
getSalaId
());
entity
.
setSalaName
(
staff
.
getSalaName
());
}
deleteExistBill
(
entity
,
context
);
deleteExistBill
(
entity
,
context
);
}
}
...
...
attendance-performance-manager/src/main/java/com/mortals/xhx/module/window/service/impl/WindowWorkmanPerformServiceImpl.java
View file @
bbde3214
...
@@ -12,6 +12,8 @@ import com.mortals.xhx.module.check.model.CheckWindowWorkmanPerformEntity;
...
@@ -12,6 +12,8 @@ import com.mortals.xhx.module.check.model.CheckWindowWorkmanPerformEntity;
import
com.mortals.xhx.module.check.model.CheckWindowWorkmanPerformQuery
;
import
com.mortals.xhx.module.check.model.CheckWindowWorkmanPerformQuery
;
import
com.mortals.xhx.module.check.service.CheckWindowPerformService
;
import
com.mortals.xhx.module.check.service.CheckWindowPerformService
;
import
com.mortals.xhx.module.check.service.CheckWindowWorkmanPerformService
;
import
com.mortals.xhx.module.check.service.CheckWindowWorkmanPerformService
;
import
com.mortals.xhx.module.staff.model.StaffEntity
;
import
com.mortals.xhx.module.staff.service.StaffService
;
import
com.mortals.xhx.module.window.model.WindowWorkmanPerformDetailEntity
;
import
com.mortals.xhx.module.window.model.WindowWorkmanPerformDetailEntity
;
import
com.mortals.xhx.module.window.model.WindowWorkmanPerformDetailQuery
;
import
com.mortals.xhx.module.window.model.WindowWorkmanPerformDetailQuery
;
import
com.mortals.xhx.module.window.service.WindowWorkmanPerformDetailService
;
import
com.mortals.xhx.module.window.service.WindowWorkmanPerformDetailService
;
...
@@ -47,6 +49,8 @@ public class WindowWorkmanPerformServiceImpl extends AbstractCRUDServiceImpl<Win
...
@@ -47,6 +49,8 @@ public class WindowWorkmanPerformServiceImpl extends AbstractCRUDServiceImpl<Win
private
WindowWorkmanPerformDetailService
windowWorkmanPerformDetailService
;
private
WindowWorkmanPerformDetailService
windowWorkmanPerformDetailService
;
@Autowired
@Autowired
private
CheckWindowWorkmanPerformService
checkWindowWorkmanPerformService
;
private
CheckWindowWorkmanPerformService
checkWindowWorkmanPerformService
;
@Autowired
private
StaffService
staffService
;
@Autowired
@Autowired
...
@@ -56,7 +60,13 @@ public class WindowWorkmanPerformServiceImpl extends AbstractCRUDServiceImpl<Win
...
@@ -56,7 +60,13 @@ public class WindowWorkmanPerformServiceImpl extends AbstractCRUDServiceImpl<Win
@Override
@Override
protected
void
saveBefore
(
WindowWorkmanPerformEntity
entity
,
Context
context
)
throws
AppException
{
protected
void
saveBefore
(
WindowWorkmanPerformEntity
entity
,
Context
context
)
throws
AppException
{
buildWindowInfo
(
entity
);
buildWindowInfo
(
entity
);
StaffEntity
staff
=
staffService
.
get
(
entity
.
getOwnerId
());
if
(
staff
!=
null
){
entity
.
setDeptId
(
staff
.
getDeptId
());
entity
.
setDeptName
(
staff
.
getDeptName
());
entity
.
setSalaId
(
staff
.
getSalaId
());
entity
.
setSalaName
(
staff
.
getSalaName
());
}
super
.
saveBefore
(
entity
,
context
);
super
.
saveBefore
(
entity
,
context
);
}
}
...
...
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