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
31f5e8d1
Commit
31f5e8d1
authored
Jan 26, 2024
by
周亚武
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/master'
parents
067c7753
b34ad5e9
Changes
10
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
319 additions
and
118 deletions
+319
-118
attendance-performance-manager/src/main/bin/deploy.sh
attendance-performance-manager/src/main/bin/deploy.sh
+1
-0
attendance-performance-manager/src/main/java/com/mortals/xhx/module/window/service/WindowOwnerService.java
...mortals/xhx/module/window/service/WindowOwnerService.java
+11
-0
attendance-performance-manager/src/main/java/com/mortals/xhx/module/window/service/impl/WindowOwnerServiceImpl.java
...hx/module/window/service/impl/WindowOwnerServiceImpl.java
+80
-6
attendance-performance-manager/src/main/java/com/mortals/xhx/module/window/web/WindowOwnerController.java
.../mortals/xhx/module/window/web/WindowOwnerController.java
+49
-0
attendance-performance-manager/src/main/resources/sqlmap/module/window/WindowOwnerMapper.xml
...main/resources/sqlmap/module/window/WindowOwnerMapper.xml
+4
-112
common-lib/src/main/java/com/mortals/xhx/common/pdu/site/SiteHallPdu.java
...ain/java/com/mortals/xhx/common/pdu/site/SiteHallPdu.java
+59
-0
common-lib/src/main/java/com/mortals/xhx/common/pdu/window/WindowPdu.java
...ain/java/com/mortals/xhx/common/pdu/window/WindowPdu.java
+7
-0
common-lib/src/main/java/com/mortals/xhx/feign/site/ISiteHallFeign.java
.../main/java/com/mortals/xhx/feign/site/ISiteHallFeign.java
+103
-0
common-lib/src/main/java/com/mortals/xhx/feign/window/IWindowFeign.java
.../main/java/com/mortals/xhx/feign/window/IWindowFeign.java
+5
-0
doc/考勤绩效管理系统.docx
doc/考勤绩效管理系统.docx
+0
-0
No files found.
attendance-performance-manager/src/main/bin/deploy.sh
View file @
31f5e8d1
...
...
@@ -82,6 +82,7 @@ start_service() {
project_deploy
()
{
writelog
"
${
PROJECT_NAME
}
_deploy"
systemctl stop
${
PROJECT_NAME
}
sleep
5
clear_deploy
${
PROJECT_SERVICE
}
${
PROJECT_EXECPATH
}
writelog
"
${
PROJECT_NAME
}
_clear_finish"
tar
-zvxf
./
${
PROJECT_FILENAME
}
-C
${
PUBLISH_PATH
}
...
...
attendance-performance-manager/src/main/java/com/mortals/xhx/module/window/service/WindowOwnerService.java
View file @
31f5e8d1
package
com.mortals.xhx.module.window.service
;
import
com.mortals.framework.service.ICRUDService
;
import
com.mortals.xhx.common.pdu.window.WindowPdu
;
import
com.mortals.xhx.module.window.model.WindowOwnerEntity
;
import
com.mortals.xhx.module.window.dao.WindowOwnerDao
;
import
java.util.List
;
/**
* WindowOwnerService
*
...
...
@@ -13,4 +17,11 @@ import com.mortals.xhx.module.window.dao.WindowOwnerDao;
public
interface
WindowOwnerService
extends
ICRUDService
<
WindowOwnerEntity
,
Long
>{
WindowOwnerDao
getDao
();
/**
* 获取基础平台与考勤绩效系统已分配的窗口差集列表
* @param pdu
* @return
*/
List
<
WindowPdu
>
subWindowPduList
(
WindowPdu
pdu
);
}
\ No newline at end of file
attendance-performance-manager/src/main/java/com/mortals/xhx/module/window/service/impl/WindowOwnerServiceImpl.java
View file @
31f5e8d1
package
com.mortals.xhx.module.window.service.impl
;
import
com.alibaba.fastjson.JSONObject
;
import
com.mortals.framework.common.Rest
;
import
com.mortals.xhx.common.code.YesNoEnum
;
import
com.mortals.xhx.common.pdu.RespData
;
import
com.mortals.xhx.common.pdu.window.WindowPdu
;
import
com.mortals.xhx.feign.window.IWindowFeign
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.springframework.stereotype.Service
;
import
com.mortals.framework.service.impl.AbstractCRUDServiceImpl
;
import
com.mortals.framework.exception.AppException
;
...
...
@@ -11,10 +19,14 @@ import com.mortals.xhx.module.window.model.WindowOwnerDetailEntity;
import
com.mortals.xhx.module.window.model.WindowOwnerDetailQuery
;
import
com.mortals.xhx.module.window.service.WindowOwnerDetailService
;
import
org.springframework.util.ObjectUtils
;
import
java.util.ArrayList
;
import
java.util.Date
;
import
java.util.Arrays
;
import
java.util.List
;
import
lombok.extern.slf4j.Slf4j
;
/**
* WindowOwnerService
* 窗口负责人 service实现
...
...
@@ -25,13 +37,75 @@ import lombok.extern.slf4j.Slf4j;
@Service
(
"windowOwnerService"
)
@Slf4j
public
class
WindowOwnerServiceImpl
extends
AbstractCRUDServiceImpl
<
WindowOwnerDao
,
WindowOwnerEntity
,
Long
>
implements
WindowOwnerService
{
@Autowired
private
WindowOwnerDetailService
windowOwnerDetailService
;
@Autowired
private
IWindowFeign
windowFeign
;
@Override
protected
void
saveAfter
(
WindowOwnerEntity
entity
,
Context
context
)
throws
AppException
{
public
List
<
WindowPdu
>
subWindowPduList
(
WindowPdu
pdu
)
{
List
<
WindowPdu
>
subList
=
new
ArrayList
<>();
List
<
WindowPdu
>
ownerList
=
new
ArrayList
<>();
List
<
WindowOwnerDetailEntity
>
ownerDetail
=
windowOwnerDetailService
.
getAllList
();
if
(!
CollectionUtils
.
isEmpty
(
ownerDetail
))
{
Long
[]
windows
=
ownerDetail
.
stream
().
map
(
WindowOwnerDetailEntity:
:
getWindowId
).
toArray
(
Long
[]::
new
);
pdu
.
setIdNotList
(
Arrays
.
asList
(
windows
));
if
(
pdu
.
getSiteId
()
==
null
)
{
pdu
.
setSiteId
(
1
l
);
//默认只查宜宾市民中心
}
pdu
.
setSize
(-
1
);
Rest
<
RespData
<
List
<
WindowPdu
>>>
respDataRest
=
windowFeign
.
list
(
pdu
);
log
.
info
(
JSONObject
.
toJSONString
(
respDataRest
));
if
(
respDataRest
.
getCode
()
==
YesNoEnum
.
YES
.
getValue
())
{
subList
=
respDataRest
.
getData
().
getData
();
}
if
(!
ObjectUtils
.
isEmpty
(
pdu
.
getStaffId
())){
//查询当前负责人负责的窗口
WindowOwnerDetailQuery
detailQuery
=
new
WindowOwnerDetailQuery
();
detailQuery
.
setOwnerId
(
pdu
.
getStaffId
());
Long
[]
windowIds
=
windowOwnerDetailService
.
find
(
detailQuery
).
stream
().
map
(
WindowOwnerDetailEntity:
:
getId
).
toArray
(
Long
[]::
new
);
if
(!
ObjectUtils
.
isEmpty
(
windowIds
)){
WindowPdu
ownerWindowPdu
=
new
WindowPdu
();
ownerWindowPdu
.
setIdList
(
Arrays
.
asList
(
windowIds
));
Rest
<
RespData
<
List
<
WindowPdu
>>>
ownerRest
=
windowFeign
.
list
(
ownerWindowPdu
);
if
(
ownerRest
.
getCode
()
==
YesNoEnum
.
YES
.
getValue
())
{
ownerList
=
ownerRest
.
getData
().
getData
();
}
}
}
}
ownerList
.
addAll
(
subList
);
return
ownerList
;
}
@Override
protected
void
saveBefore
(
WindowOwnerEntity
entity
,
Context
context
)
throws
AppException
{
super
.
saveBefore
(
entity
,
context
);
if
(!
ObjectUtils
.
isEmpty
(
entity
.
getWindowOwnerDetailList
())){
entity
.
setWindowCount
(
entity
.
getWindowOwnerDetailList
().
size
());
}
}
@Override
protected
void
updateBefore
(
WindowOwnerEntity
entity
,
Context
context
)
throws
AppException
{
super
.
updateBefore
(
entity
,
context
);
if
(!
ObjectUtils
.
isEmpty
(
entity
.
getWindowOwnerDetailList
())){
entity
.
getWindowOwnerDetailList
().
stream
().
peek
(
item
->{
entity
.
setWindowCount
(
entity
.
getWindowOwnerDetailList
().
size
());
}
}
@Override
protected
void
saveAfter
(
WindowOwnerEntity
entity
,
Context
context
)
throws
AppException
{
if
(!
ObjectUtils
.
isEmpty
(
entity
.
getWindowOwnerDetailList
()))
{
entity
.
getWindowOwnerDetailList
().
stream
().
peek
(
item
->
{
item
.
setOwnerId
(
entity
.
getId
());
item
.
setCreateUserId
(
this
.
getContextUserId
(
context
));
item
.
setCreateTime
(
new
Date
());
...
...
@@ -43,10 +117,10 @@ public class WindowOwnerServiceImpl extends AbstractCRUDServiceImpl<WindowOwnerD
@Override
protected
void
updateAfter
(
WindowOwnerEntity
entity
,
Context
context
)
throws
AppException
{
if
(!
ObjectUtils
.
isEmpty
(
entity
.
getWindowOwnerDetailList
()))
{
if
(!
ObjectUtils
.
isEmpty
(
entity
.
getWindowOwnerDetailList
()))
{
Long
[]
windowOwnerDetailIds
=
windowOwnerDetailService
.
find
(
new
WindowOwnerDetailQuery
().
ownerId
(
entity
.
getId
())).
stream
().
map
(
WindowOwnerDetailEntity:
:
getId
).
toArray
(
Long
[]::
new
);
windowOwnerDetailService
.
remove
(
windowOwnerDetailIds
,
context
);
entity
.
getWindowOwnerDetailList
().
stream
().
peek
(
item
->{
windowOwnerDetailService
.
remove
(
windowOwnerDetailIds
,
context
);
entity
.
getWindowOwnerDetailList
().
stream
().
peek
(
item
->
{
item
.
setOwnerId
(
entity
.
getId
());
item
.
setCreateUserId
(
this
.
getContextUserId
(
context
));
item
.
setCreateTime
(
new
Date
());
...
...
@@ -61,7 +135,7 @@ public class WindowOwnerServiceImpl extends AbstractCRUDServiceImpl<WindowOwnerD
@Override
protected
void
removeAfter
(
Long
[]
ids
,
Context
context
,
int
result
)
throws
AppException
{
List
<
WindowOwnerDetailEntity
>
windowOwnerDetaillist
=
windowOwnerDetailService
.
find
(
new
WindowOwnerDetailQuery
().
ownerIdList
(
Arrays
.
asList
(
ids
)));
windowOwnerDetailService
.
removeList
(
windowOwnerDetaillist
,
context
);
windowOwnerDetailService
.
removeList
(
windowOwnerDetaillist
,
context
);
super
.
removeAfter
(
ids
,
context
,
result
);
}
}
\ No newline at end of file
attendance-performance-manager/src/main/java/com/mortals/xhx/module/window/web/WindowOwnerController.java
View file @
31f5e8d1
package
com.mortals.xhx.module.window.web
;
import
com.mortals.framework.common.Rest
;
import
com.mortals.framework.web.BaseCRUDJsonBodyMappingController
;
import
com.mortals.xhx.base.system.param.service.ParamService
;
import
com.mortals.xhx.base.system.user.model.UserQuery
;
import
com.mortals.xhx.base.system.user.service.UserService
;
import
com.mortals.xhx.common.code.YesNoEnum
;
import
com.mortals.xhx.common.pdu.RespData
;
import
com.mortals.xhx.common.pdu.site.SiteHallPdu
;
import
com.mortals.xhx.common.pdu.window.WindowPdu
;
import
com.mortals.xhx.feign.site.ISiteHallFeign
;
import
com.mortals.xhx.feign.window.IWindowFeign
;
import
com.mortals.xhx.module.dept.model.DeptQuery
;
import
com.mortals.xhx.module.dept.service.DeptService
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
...
@@ -52,6 +59,12 @@ public class WindowOwnerController extends BaseCRUDJsonBodyMappingController<Win
@Autowired
private
DeptService
deptService
;
@Autowired
private
IWindowFeign
windowFeign
;
@Autowired
private
ISiteHallFeign
siteHallFeign
;
public
WindowOwnerController
()
{
super
.
setModuleDesc
(
"窗口负责人"
);
}
...
...
@@ -59,6 +72,14 @@ public class WindowOwnerController extends BaseCRUDJsonBodyMappingController<Win
@Override
protected
void
init
(
Map
<
String
,
Object
>
model
,
Context
context
)
{
SiteHallPdu
siteHallPdu
=
new
SiteHallPdu
();
siteHallPdu
.
setSiteId
(
1L
);
Rest
<
RespData
<
List
<
SiteHallPdu
>>>
rest
=
siteHallFeign
.
list
(
siteHallPdu
);
if
(
YesNoEnum
.
YES
.
getValue
()==
rest
.
getCode
()){
Map
<
Long
,
String
>
hallMap
=
rest
.
getData
().
getData
().
stream
().
collect
(
Collectors
.
toMap
(
x
->
x
.
getId
(),
y
->
y
.
getHallName
(),
(
o
,
n
)
->
n
));
this
.
addDict
(
model
,
"hallId"
,
hallMap
);
}
// Map<String, String> collect = userService.find(new UserQuery(), getContext()).stream()
// .collect(Collectors.toMap(x -> x.getId().toString(), y -> y.getRealName(), (o, n) -> n));
// this.addDict(model, "updateUserId", collect);
...
...
@@ -68,5 +89,33 @@ public class WindowOwnerController extends BaseCRUDJsonBodyMappingController<Win
super
.
init
(
model
,
context
);
}
@PostMapping
({
"subWindowList"
})
public
Rest
<
Object
>
subWindowList
(
@RequestBody
WindowPdu
query
)
{
Rest
<
Object
>
ret
=
new
Rest
();
Map
<
String
,
Object
>
model
=
new
HashMap
();
Context
context
=
this
.
getContext
();
String
busiDesc
=
"查询待分配的窗口列表"
;
int
code
=
1
;
try
{
//查询所有可以选择的窗口
List
<
WindowPdu
>
result
=
this
.
getService
().
subWindowPduList
(
query
);
//查询当前负责人已经选择的窗口
model
.
put
(
"data"
,
result
);
model
.
put
(
"message_info"
,
busiDesc
+
"成功"
);
this
.
recordSysLog
(
this
.
request
,
busiDesc
+
" 【成功】"
);
}
catch
(
Exception
var9
)
{
code
=
-
1
;
this
.
doException
(
this
.
request
,
busiDesc
,
model
,
var9
);
}
this
.
init
(
model
,
context
);
ret
.
setCode
(
code
);
ret
.
setData
(
model
);
ret
.
setDict
(
model
.
get
(
"dict"
));
ret
.
setMsg
(
model
.
get
(
"message_info"
)
==
null
?
""
:
model
.
remove
(
"message_info"
).
toString
());
return
ret
;
}
}
\ No newline at end of file
attendance-performance-manager/src/main/resources/sqlmap/module/window/WindowOwnerMapper.xml
View file @
31f5e8d1
This diff is collapsed.
Click to expand it.
common-lib/src/main/java/com/mortals/xhx/common/pdu/site/SiteHallPdu.java
0 → 100644
View file @
31f5e8d1
package
com.mortals.xhx.common.pdu.site
;
import
com.mortals.framework.model.BaseEntityLong
;
import
lombok.Data
;
/**
* 站点大厅信息Pdu对象
*
* @author zxfei
* @date 2024-01-26
*/
@Data
public
class
SiteHallPdu
extends
BaseEntityLong
{
private
static
final
long
serialVersionUID
=
1L
;
/**
* 站点ID
*/
private
Long
siteId
;
/**
* 站点名称
*/
private
String
siteName
;
/**
* 大厅名称
*/
private
String
hallName
;
/**
* 地址
*/
private
String
address
;
/**
* 楼层
*/
private
Integer
floor
;
/**
* 楼栋
*/
private
Integer
build
;
/**
* 备注
*/
private
String
remark
;
public
void
initAttrValue
(){
this
.
siteId
=
null
;
this
.
siteName
=
""
;
this
.
hallName
=
""
;
this
.
address
=
""
;
this
.
floor
=
1
;
this
.
build
=
1
;
this
.
remark
=
""
;
}
}
\ No newline at end of file
common-lib/src/main/java/com/mortals/xhx/common/pdu/window/WindowPdu.java
View file @
31f5e8d1
...
...
@@ -7,6 +7,11 @@ import java.util.List;
@Data
public
class
WindowPdu
extends
BaseEntityLong
{
/**
* 窗口负责人ID
*/
private
Long
staffId
;
/**
* 站点ID
*/
...
...
@@ -92,4 +97,6 @@ public class WindowPdu extends BaseEntityLong {
/** 序号,主键,自增长排除列表 */
private
List
<
Long
>
idNotList
;
private
List
<
Long
>
idList
;
}
common-lib/src/main/java/com/mortals/xhx/feign/site/ISiteHallFeign.java
0 → 100644
View file @
31f5e8d1
package
com.mortals.xhx.feign.site
;
import
com.mortals.xhx.common.pdu.RespData
;
import
com.mortals.xhx.common.pdu.site.SiteHallPdu
;
import
com.alibaba.fastjson.JSON
;
import
com.mortals.framework.common.Rest
;
import
com.mortals.xhx.feign.IFeign
;
import
feign.hystrix.FallbackFactory
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.cloud.openfeign.FeignClient
;
import
org.springframework.stereotype.Component
;
import
org.springframework.web.bind.annotation.*
;
import
java.util.List
;
/**
* 站点大厅信息 Feign接口
*
* @author zxfei
* @date 2024-01-26
*/
@FeignClient
(
name
=
"base-manager"
,
path
=
"/base"
,
fallbackFactory
=
SiteHallFeignFallbackFactory
.
class
)
public
interface
ISiteHallFeign
extends
IFeign
{
/**
* 查看站点大厅信息列表
*
* @param siteHallPdu
* @return
*/
@PostMapping
(
value
=
"/site/hall/interlist"
)
Rest
<
RespData
<
List
<
SiteHallPdu
>>>
list
(
@RequestBody
SiteHallPdu
siteHallPdu
);
/**
* 查看站点大厅信息
*
* @param id
* @return
*/
@GetMapping
(
value
=
"/site/hall/interinfo"
)
Rest
<
SiteHallPdu
>
info
(
@RequestParam
(
value
=
"id"
)
Long
id
);
/**
* 删除站点大厅信息
*
* @param ids
* @return
*/
@GetMapping
(
value
=
"/site/hall/delete"
)
Rest
<
Void
>
delete
(
Long
[]
ids
,
@RequestHeader
(
"Authorization"
)
String
authorization
);
/**
* 站点大厅信息保存更新
*
* @param siteHallPdu
* @return
*/
@PostMapping
(
value
=
"/site/hall/save"
)
Rest
<
RespData
<
SiteHallPdu
>>
save
(
@RequestBody
SiteHallPdu
siteHallPdu
,
@RequestHeader
(
"Authorization"
)
String
authorization
);
}
@Slf4j
@Component
class
SiteHallFeignFallbackFactory
implements
FallbackFactory
<
ISiteHallFeign
>
{
@Override
public
ISiteHallFeign
create
(
Throwable
t
)
{
return
new
ISiteHallFeign
()
{
@Override
public
Rest
<
RespData
<
List
<
SiteHallPdu
>>>
list
(
SiteHallPdu
siteHallPdu
)
{
return
Rest
.
fail
(
"暂时无法获取站点大厅信息列表,请稍后再试!"
);
}
@Override
public
Rest
<
SiteHallPdu
>
info
(
Long
id
)
{
return
Rest
.
fail
(
"暂时无法获取站点大厅信息详细,请稍后再试!"
);
}
@Override
public
Rest
<
Void
>
delete
(
Long
[]
ids
,
String
authorization
)
{
return
Rest
.
fail
(
"暂时无法删除站点大厅信息,请稍后再试!"
);
}
@Override
public
Rest
<
RespData
<
SiteHallPdu
>>
save
(
SiteHallPdu
siteHallPdu
,
String
authorization
)
{
return
Rest
.
fail
(
"暂时无法保存站点大厅信息,请稍后再试!"
);
}
};
}
}
common-lib/src/main/java/com/mortals/xhx/feign/window/IWindowFeign.java
View file @
31f5e8d1
...
...
@@ -22,6 +22,11 @@ public interface IWindowFeign extends IFeign {
@PostMapping
(
value
=
"/window/interlist"
)
Rest
<
RespData
<
List
<
WindowPdu
>>>
list
(
@RequestBody
WindowPdu
windowPdu
);
}
@Slf4j
...
...
doc/考勤绩效管理系统.docx
View file @
31f5e8d1
No preview for this file type
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