Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
duckula
duckula-ops
提交
87e5bcfe
duckula-ops
项目概览
duckula
/
duckula-ops
通知
6
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
duckula-ops
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
87e5bcfe
编写于
6月 15, 2021
作者:
偏锋书生
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
职位指派与群组指派完成
上级
cd66bd13
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
86 addition
and
40 deletion
+86
-40
src/main/java/net/wicp/tams/duckula/ops/pages/tools/GroupAssign.java
...va/net/wicp/tams/duckula/ops/pages/tools/GroupAssign.java
+1
-1
src/main/java/net/wicp/tams/duckula/ops/pages/tools/PositionAssign.java
...net/wicp/tams/duckula/ops/pages/tools/PositionAssign.java
+82
-37
src/main/resources/net/wicp/tams/duckula/ops/pages/tools/PositionAssign.tml
.../net/wicp/tams/duckula/ops/pages/tools/PositionAssign.tml
+3
-2
未找到文件。
src/main/java/net/wicp/tams/duckula/ops/pages/tools/GroupAssign.java
浏览文件 @
87e5bcfe
...
...
@@ -191,7 +191,7 @@ public class GroupAssign extends ParentPage {
long
[]
oriIds
=
new
long
[
selGroup
.
size
()];
for
(
int
i
=
0
;
i
<
oriIds
.
length
;
i
++)
{
oriIds
[
i
]
=
Integer
.
parseInt
(
String
.
valueOf
(
selGroup
.
get
(
i
)));
oriIds
[
i
]
=
Long
.
parseLong
(
String
.
valueOf
(
selGroup
.
get
(
i
)));
}
long
[]
saveIds
=
new
long
[
selIds
.
size
()];
for
(
int
i
=
0
;
i
<
selIds
.
size
();
i
++)
{
...
...
src/main/java/net/wicp/tams/duckula/ops/pages/tools/PositionAssign.java
浏览文件 @
87e5bcfe
package
net.wicp.tams.duckula.ops.pages.tools
;
import
java.util.ArrayList
;
import
java.util.Arrays
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Set
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.apache.commons.lang3.ArrayUtils
;
...
...
@@ -14,12 +18,22 @@ import org.apache.tapestry5.json.JSONArray;
import
org.apache.tapestry5.json.JSONObject
;
import
org.apache.tapestry5.util.TextStreamResponse
;
import
net.wicp.tams.app.duckula.controller.bean.models.SysOrg
;
import
net.wicp.tams.app.duckula.controller.bean.models.SysPosition
;
import
net.wicp.tams.app.duckula.controller.bean.models.SysPositionExample
;
import
net.wicp.tams.app.duckula.controller.bean.models.SysUserPosition
;
import
net.wicp.tams.app.duckula.controller.bean.models.SysUserPositionExample
;
import
net.wicp.tams.app.duckula.controller.bean.models.SysUserPositionExample.Criteria
;
import
net.wicp.tams.app.duckula.controller.dao.SysPositionMapper
;
import
net.wicp.tams.app.duckula.controller.dao.SysUserPositionMapper
;
import
net.wicp.tams.app.duckula.controller.service.cas.IOrgService
;
import
net.wicp.tams.cas.constant.ColsSysOrg
;
import
net.wicp.tams.common.Result
;
import
net.wicp.tams.common.apiext.CollectionUtil
;
import
net.wicp.tams.common.apiext.StringUtil
;
import
net.wicp.tams.common.callback.IConvertValue
;
import
net.wicp.tams.common.jdbc.convert.ConvertValueMysql
;
import
net.wicp.tams.component.SymbolConstantsCus
;
import
net.wicp.tams.component.tools.TapestryAssist
;
import
net.wicp.tams.duckula.ops.pages.ParentPage
;
...
...
@@ -35,66 +49,96 @@ public class PositionAssign extends ParentPage {
private
JSONArray
orgs
;
@Property
private
List
<
Sys
User
Position
>
allPosition
;
// 已选中组织中拥有的群组
private
List
<
SysPosition
>
allPosition
;
// 已选中组织中拥有的群组
@Property
private
List
<
String
>
selPosition
;
// 已分派到的群组
// 如果不持久化onInitByOrg方法不能用
@Property
@Persist
private
Map
<
String
,
IConvertValue
<
String
>>
convmap
;
// 转换器
public
String
getAlias
()
{
return
"orgId,orgName1"
;
}
@Inject
private
SysUserPositionMapper
sysUserPositionMapper
;
@Inject
private
SysPositionMapper
sysPositionMapper
;
public
TextStreamResponse
onInitByOrg
()
{
JSONObject
params
=
TapestryAssist
.
packParams
(
request
,
false
);
orgs
=
TapestryAssist
.
getParams
(
params
,
"orgIds"
);
List
<
Object
>
orgIds
=
orgs
==
null
?
null
:
orgs
.
toList
();
JSONObject
params
=
TapestryAssist
.
packParams
(
request
,
false
);
orgs
=
TapestryAssist
.
getParams
(
params
,
"orgIds"
);
List
<
Object
>
orgIds
=
orgs
==
null
?
null
:
orgs
.
toList
();
selAll
(
params
.
getInt
(
"staffId"
),
orgIds
);
JSONObject
ret
=
TapestryAssist
.
buildSelGroupInit
(
allPosition
,
selPosition
,
new
String
[]
{
"caOrganization.orgName,orgName1"
},
null
);
JSONObject
ret
=
TapestryAssist
.
buildSelGroupInit
(
allPosition
,
selPosition
,
new
String
[]
{
getAlias
()
},
convmap
);
return
retStream
(
ret
.
toString
(
true
));
}
void
onActivate
(
int
staffId
)
{
this
.
staffId
=
staffId
;
orgTree
=
orgService
.
createOrgTree
(
I18NConvert
);
orgTree
=
orgService
.
createOrgTree
(
new
IConvertValue
<
Object
>()
{
@Override
public
String
getStr
(
Object
obj
)
{
SysOrg
org
=
(
SysOrg
)
obj
;
String
key
=
org
.
getOrgName
();
if
(
StringUtil
.
isNull
(
key
)
||
!
messages
.
contains
(
key
))
{
return
key
;
}
return
messages
.
get
(
key
);
}
});
convmap
=
new
HashMap
<
String
,
IConvertValue
<
String
>>();
//
convmap
.
put
(
"orgName1"
,
new
ConvertValueMysql
(
ColsSysOrg
.
db
,
ColsSysOrg
.
tb
,
ColsSysOrg
.
orgName
.
getOriColName
()));
selAll
(
staffId
,
null
);
}
private
void
selAll
(
long
staffId
,
List
<
Object
>
orgIds
)
{
// 参数转为list
List
<
Long
>
orgidsTrue
=
null
;
if
(
orgIds
!=
null
)
{
orgidsTrue
=
new
ArrayList
<
Long
>();
for
(
Object
ele
:
orgIds
)
{
orgidsTrue
.
add
(
Long
.
parseLong
(
String
.
valueOf
(
ele
)));
}
}
// SysUserPositionExample example=new SysUserPositionExample();
// Criteria createCriteria = example.createCriteria();
// createCriteria+
// sysUserPositionMapper.selectByExample(example);
//
//
// Criteria criteria = session.createCriteria(CaPosition.class);
// if (orgidsTrue != null) {
// criteria.add(Restrictions.in("caOrganization.id", orgidsTrue));
// }
allPosition
=
new
ArrayList
<
SysUserPosition
>();
}
SysPositionExample
example
=
new
SysPositionExample
();
SysPositionExample
.
Criteria
criteria
=
example
.
createCriteria
();
if
(
CollectionUtils
.
isNotEmpty
(
orgidsTrue
))
{
criteria
.
andOrgIdIn
(
orgidsTrue
);
}
allPosition
=
sysPositionMapper
.
selectByExample
(
example
);
findGroupId
(
staffId
,
orgidsTrue
);
}
private
void
findGroupId
(
long
staffId
,
List
<
Long
>
orgidsTrue
)
{
// 查询已选择的群组
// String alias = "group_"; //查询时的table别名
// Criteria criteriasel = session.createCriteria(CaStaffPosition.class);
// ProjectionList pList = Projections.projectionList();
// pList.add(Projections.property("caPosition.id").as("positionId"));
// criteriasel.setProjection(pList);
// criteriasel.add(Restrictions.eq("caStaff.id", staffId));
// if (orgidsTrue != null) {
// criteriasel.createAlias("caPosition", "g");
// criteriasel.add(Restrictions.in("g.caOrganization.id", orgidsTrue));
// }
selPosition
=
new
ArrayList
<
String
>();
SysUserPositionExample
example
=
new
SysUserPositionExample
();
SysUserPositionExample
.
Criteria
createCriteria
=
example
.
createCriteria
();
createCriteria
.
andUserIdEqualTo
(
staffId
);
if
(
orgidsTrue
!=
null
)
{
SysPositionExample
positionExample
=
new
SysPositionExample
();
SysPositionExample
.
Criteria
createCriteria2
=
positionExample
.
createCriteria
();
createCriteria2
.
andOrgIdIn
(
orgidsTrue
);
List
<
SysPosition
>
positions
=
sysPositionMapper
.
selectByExample
(
positionExample
);
Set
<
Long
>
positionIds
=
CollectionUtil
.
getColSetFromObj
(
positions
,
"id"
);
if
(
CollectionUtils
.
isNotEmpty
(
positionIds
))
{
createCriteria
.
andPositionIdIn
(
Arrays
.
asList
(
positionIds
.
toArray
(
new
Long
[
positionIds
.
size
()])));
}
}
List
<
SysUserPosition
>
selectByExample
=
sysUserPositionMapper
.
selectByExample
(
example
);
Set
<
Object
>
positionIdset
=
CollectionUtil
.
getColSetFromObj
(
selectByExample
,
"positionId"
);
List
<
String
>
retlist
=
new
ArrayList
<
String
>();
for
(
Object
ele
:
positionIdset
)
{
retlist
.
add
(
String
.
valueOf
(
ele
));
}
selPosition
=
retlist
;
}
/***
...
...
@@ -103,7 +147,8 @@ public class PositionAssign extends ParentPage {
* @param selIds
* @return
*/
@OnEvent
(
value
=
"save"
)
@SuppressWarnings
(
"unchecked"
)
@OnEvent
(
value
=
SymbolConstantsCus
.
EVENT_SAVE
)
private
Result
sava
(
JSONArray
selIds
)
{
if
(
selIds
==
null
)
{
return
Result
.
getError
(
"需要传入要保存的对象"
);
...
...
@@ -122,11 +167,11 @@ public class PositionAssign extends ParentPage {
long
[]
oriIds
=
new
long
[
selPosition
.
size
()];
for
(
int
i
=
0
;
i
<
oriIds
.
length
;
i
++)
{
oriIds
[
i
]
=
Integer
.
parseInt
(
String
.
valueOf
(
selPosition
.
get
(
i
)));
oriIds
[
i
]
=
Long
.
parseLong
(
String
.
valueOf
(
selPosition
.
get
(
i
)));
}
long
[]
saveIds
=
new
long
[
selIds
.
size
()];
for
(
int
i
=
0
;
i
<
selIds
.
size
();
i
++)
{
saveIds
[
i
]
=
Integer
.
parseInt
(
selIds
.
getString
(
i
));
saveIds
[
i
]
=
Long
.
parseLong
(
selIds
.
getString
(
i
));
}
List
<
Long
>
addList
=
new
ArrayList
<
Long
>();
// 新增
for
(
int
i
=
0
;
i
<
saveIds
.
length
;
i
++)
{
...
...
@@ -137,7 +182,7 @@ public class PositionAssign extends ParentPage {
if
(
CollectionUtils
.
isNotEmpty
(
addList
))
{
for
(
Long
positionId
:
addList
)
{
SysUserPosition
saveobj
=
new
SysUserPosition
();
saveobj
.
setPositionId
(
positionId
);
saveobj
.
setPositionId
(
positionId
);
saveobj
.
setUserId
(
staffId
);
sysUserPositionMapper
.
insert
(
saveobj
);
}
...
...
@@ -151,10 +196,10 @@ public class PositionAssign extends ParentPage {
}
if
(
CollectionUtils
.
isNotEmpty
(
delList
))
{
SysUserPositionExample
example
=
new
SysUserPositionExample
();
SysUserPositionExample
example
=
new
SysUserPositionExample
();
Criteria
createCriteria
=
example
.
createCriteria
();
createCriteria
.
andUserIdEqualTo
(
staffId
);
createCriteria
.
andPositionIdIn
(
delList
);
createCriteria
.
andPositionIdIn
(
delList
);
sysUserPositionMapper
.
deleteByExample
(
example
);
}
return
Result
.
getSuc
();
...
...
src/main/resources/net/wicp/tams/duckula/ops/pages/tools/PositionAssign.tml
浏览文件 @
87e5bcfe
...
...
@@ -22,7 +22,7 @@
</tr>
</table>
</r:panel2>
<r:selgroup
id=
"sel"
title=
"
selPositionTitle"
select=
"prop:selPosition"
objs=
"allPosition"
alias=
"caOrganization.orgName,orgName1"
style=
"width:100%"
titleleft=
"titleleft"
titleright=
"
titleright"
>
<r:selgroup
id=
"sel"
title=
"
message:selPositionTitle"
select=
"prop:selPosition"
objs=
"allPosition"
alias=
"prop:alias"
convert=
"prop:convmap"
style=
"width:100%"
titleleft=
"message:titleleft"
titleright=
"message:
titleright"
>
<table
border=
"1"
>
<tr>
<td>
职位名:
</td>
...
...
@@ -34,10 +34,11 @@
</r:selgroup>
<script>
function
init
(){
$
(
'
#q_query
'
).
unbind
(
'
click
'
);
$
(
'
#q_query
'
).
click
(
function
(){
var
orgidstr
=
$
(
'
#orgIdQuery
'
).
combotree
(
'
getValues
'
);
var
staffId
=
$
{
staffId
};
$
.
post
(
$
.
rjzjh
.
packurl
(
'
/
sys/common
/PositionAssign:initByOrg
'
),{
orgIds
:
orgidstr
,
staffId
:
staffId
},
function
(
data
){
$
.
post
(
$
.
rjzjh
.
packurl
(
'
/
tools
/PositionAssign:initByOrg
'
),{
orgIds
:
orgidstr
,
staffId
:
staffId
},
function
(
data
){
require
([
"
component/rjzjh/selgroup
"
],
function
(
sel
)
{
sel
.
init
(
'
sel
'
,
data
);
});
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录