Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Sign in
Toggle navigation
F
feo-jobs
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Packages
Packages
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
探普后端
feo-jobs
Commits
cd15ebb8
Commit
cd15ebb8
authored
May 28, 2021
by
吴泽佳
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
代码优化
parent
4b057ea0
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
17 changed files
with
198 additions
and
59 deletions
+198
-59
BaseConstant.java
...main/java/com/tanpu/feo/feojob/constant/BaseConstant.java
+44
-0
EmployeeDutyEnum.java
...ain/java/com/tanpu/feo/feojob/enums/EmployeeDutyEnum.java
+31
-0
RoleTypeEnum.java
src/main/java/com/tanpu/feo/feojob/enums/RoleTypeEnum.java
+33
-0
OrgSyncByWxcpJob.java
...main/java/com/tanpu/feo/feojob/jobs/OrgSyncByWxcpJob.java
+8
-5
DepartmentEmployeeService.java
...m/tanpu/feo/feojob/service/DepartmentEmployeeService.java
+4
-1
DepartmentService.java
.../java/com/tanpu/feo/feojob/service/DepartmentService.java
+4
-1
EmployeeRoleService.java
...ava/com/tanpu/feo/feojob/service/EmployeeRoleService.java
+5
-1
EmployeeService.java
...in/java/com/tanpu/feo/feojob/service/EmployeeService.java
+2
-1
OrgExtService.java
...main/java/com/tanpu/feo/feojob/service/OrgExtService.java
+2
-1
OrgService.java
src/main/java/com/tanpu/feo/feojob/service/OrgService.java
+2
-1
OrgSyncByJyzyService.java
...va/com/tanpu/feo/feojob/service/OrgSyncByJyzyService.java
+11
-5
OrgSyncByWxcpService.java
...va/com/tanpu/feo/feojob/service/OrgSyncByWxcpService.java
+39
-38
RoleService.java
src/main/java/com/tanpu/feo/feojob/service/RoleService.java
+2
-1
UserInfoService.java
...in/java/com/tanpu/feo/feojob/service/UserInfoService.java
+2
-1
JyzyOrgService.java
...ava/com/tanpu/feo/feojob/service/jyzy/JyzyOrgService.java
+2
-1
JyzyTeamService.java
...va/com/tanpu/feo/feojob/service/jyzy/JyzyTeamService.java
+5
-1
JyzyUserInfoService.java
...om/tanpu/feo/feojob/service/jyzy/JyzyUserInfoService.java
+2
-1
No files found.
src/main/java/com/tanpu/feo/feojob/constant/BaseConstant.java
0 → 100644
View file @
cd15ebb8
package
com
.
tanpu
.
feo
.
feojob
.
constant
;
/**
* @program: feo-job
* @description: 基础枚举
* @author: zejia zj wu
* @create: 2021-05-28 20:23
**/
public
class
BaseConstant
{
/** 删除状态 String类型 */
public
class
DeleteTagStr
{
/** 未删除 */
public
static
final
String
NOT_DELETED
=
"0"
;
/** 已删除 */
public
static
final
String
DELETED
=
"1"
;
}
/** 删除状态 Int类型 */
public
class
DeleteTagInt
{
/** 未删除 */
public
static
final
int
NOT_DELETED
=
0
;
/** 已删除 */
public
static
final
int
DELETED
=
1
;
}
/** 员工状态 */
public
class
EmployeeStatus
{
/** 在职 */
public
static
final
String
ON_JOB
=
"on"
;
/** 已离职 */
public
static
final
String
DEPARTED
=
"off"
;
}
/** 性别 */
public
class
Gender
{
/** 在职 */
public
static
final
String
MAN
=
"0"
;
/** 已离职 */
public
static
final
String
WOMEN
=
"1"
;
}
/** 系统创建者 */
public
static
final
String
SYS
=
"SYS"
;
}
src/main/java/com/tanpu/feo/feojob/enums/EmployeeDutyEnum.java
0 → 100644
View file @
cd15ebb8
package
com
.
tanpu
.
feo
.
feojob
.
enums
;
import
org.apache.commons.lang3.StringUtils
;
import
java.util.LinkedHashMap
;
import
java.util.Map
;
public
enum
EmployeeDutyEnum
{
/**
* 老板
*/
BOSS
(
1
,
"b"
),
/**
* 部门负责人
*/
DIRECTOR
(
2
,
"d"
),
/**
* 普通职员
*/
STAFF
(
3
,
"s"
);
public
final
int
type
;
public
final
String
code
;
EmployeeDutyEnum
(
int
type
,
String
code
)
{
this
.
type
=
type
;
this
.
code
=
code
;
}
}
src/main/java/com/tanpu/feo/feojob/enums/RoleTypeEnum.java
0 → 100644
View file @
cd15ebb8
package
com
.
tanpu
.
feo
.
feojob
.
enums
;
import
org.apache.commons.lang3.StringUtils
;
import
java.util.LinkedHashMap
;
import
java.util.Map
;
public
enum
RoleTypeEnum
{
/**
* 管理员对应的角色类型
*/
ADMIN
(
1
,
"m"
),
/**
* 团队长对于的角色类型
*/
TEAM
(
2
,
"t"
),
/**
* 管理员对应的角色类型
*/
IFA
(
3
,
"i"
);
public
final
int
type
;
public
final
String
code
;
RoleTypeEnum
(
int
type
,
String
code
)
{
this
.
type
=
type
;
this
.
code
=
code
;
}
}
src/main/java/com/tanpu/feo/feojob/jobs/OrgSyncByWxcpJob.java
View file @
cd15ebb8
...
@@ -5,9 +5,12 @@ import cn.hutool.core.util.ObjectUtil;
...
@@ -5,9 +5,12 @@ import cn.hutool.core.util.ObjectUtil;
import
cn.hutool.core.util.StrUtil
;
import
cn.hutool.core.util.StrUtil
;
import
cn.hutool.crypto.digest.MD5
;
import
cn.hutool.crypto.digest.MD5
;
import
cn.hutool.json.JSONUtil
;
import
cn.hutool.json.JSONUtil
;
import
com.tanpu.feo.feojob.constant.BaseConstant
;
import
com.tanpu.feo.feojob.dto.WorkDataDto
;
import
com.tanpu.feo.feojob.dto.WorkDataDto
;
import
com.tanpu.feo.feojob.dto.WxCpDepartDto
;
import
com.tanpu.feo.feojob.dto.WxCpDepartDto
;
import
com.tanpu.feo.feojob.entity.*
;
import
com.tanpu.feo.feojob.entity.*
;
import
com.tanpu.feo.feojob.enums.EmployeeDutyEnum
;
import
com.tanpu.feo.feojob.enums.RoleTypeEnum
;
import
com.tanpu.feo.feojob.service.*
;
import
com.tanpu.feo.feojob.service.*
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
me.chanjar.weixin.common.error.WxErrorException
;
import
me.chanjar.weixin.common.error.WxErrorException
;
...
@@ -142,7 +145,7 @@ public class OrgSyncByWxcpJob {
...
@@ -142,7 +145,7 @@ public class OrgSyncByWxcpJob {
List
<
WxCpUser
>
wxCpUserList
=
wxCpDepartDto
.
getWxCpUserList
();
List
<
WxCpUser
>
wxCpUserList
=
wxCpDepartDto
.
getWxCpUserList
();
for
(
WxCpUser
wxCpUser
:
wxCpUserList
)
{
for
(
WxCpUser
wxCpUser
:
wxCpUserList
)
{
// key employee_id + '&' + role_id
// key employee_id + '&' + role_id
String
type
=
wxCpUser
.
getIsLeader
()
==
1
?
"t"
:
"i"
;
String
type
=
wxCpUser
.
getIsLeader
()
==
1
?
RoleTypeEnum
.
TEAM
.
code
:
RoleTypeEnum
.
IFA
.
code
;
hashMap
.
put
(
corpId
+
"_"
+
wxCpUser
.
getUserId
()
+
"&"
+
roleMap
.
get
(
type
),
wxCpUser
);
hashMap
.
put
(
corpId
+
"_"
+
wxCpUser
.
getUserId
()
+
"&"
+
roleMap
.
get
(
type
),
wxCpUser
);
}
}
}
}
...
@@ -210,7 +213,7 @@ public class OrgSyncByWxcpJob {
...
@@ -210,7 +213,7 @@ public class OrgSyncByWxcpJob {
continue
;
continue
;
}
}
//更新
//更新
String
type
=
wxCpUser
.
getIsLeader
()
==
1
?
"d"
:
"s"
;
String
type
=
wxCpUser
.
getIsLeader
()
==
1
?
EmployeeDutyEnum
.
DIRECTOR
.
code
:
EmployeeDutyEnum
.
STAFF
.
code
;
if
(!
departmentEmployee
.
getType
().
equals
(
type
))
{
if
(!
departmentEmployee
.
getType
().
equals
(
type
))
{
departmentEmployee
.
setType
(
type
);
departmentEmployee
.
setType
(
type
);
updateList
.
add
(
departmentEmployee
);
updateList
.
add
(
departmentEmployee
);
...
@@ -219,7 +222,7 @@ public class OrgSyncByWxcpJob {
...
@@ -219,7 +222,7 @@ public class OrgSyncByWxcpJob {
}
}
for
(
String
s
:
hashMap
.
keySet
())
{
for
(
String
s
:
hashMap
.
keySet
())
{
WxCpUser
wxCpUser
=
hashMap
.
get
(
s
);
WxCpUser
wxCpUser
=
hashMap
.
get
(
s
);
String
type
=
wxCpUser
.
getIsLeader
()
==
1
?
"d"
:
"s"
;
String
type
=
wxCpUser
.
getIsLeader
()
==
1
?
EmployeeDutyEnum
.
DIRECTOR
.
code
:
EmployeeDutyEnum
.
STAFF
.
code
;
String
[]
split
=
s
.
split
(
"&"
);
String
[]
split
=
s
.
split
(
"&"
);
String
departmentId
=
split
[
0
];
String
departmentId
=
split
[
0
];
String
employeeId
=
split
[
1
];
String
employeeId
=
split
[
1
];
...
@@ -366,7 +369,7 @@ public class OrgSyncByWxcpJob {
...
@@ -366,7 +369,7 @@ public class OrgSyncByWxcpJob {
employee
.
setNumber
(
null
);
employee
.
setNumber
(
null
);
employee
.
setOrgId
(
orgId
);
employee
.
setOrgId
(
orgId
);
employee
.
setBoundWechat
(
orgId
+
"_"
+
wxCpUser
.
getUserId
());
employee
.
setBoundWechat
(
orgId
+
"_"
+
wxCpUser
.
getUserId
());
employee
.
setStatus
(
wxCpUser
.
getStatus
()
==
1
?
"on"
:
"off"
);
employee
.
setStatus
(
wxCpUser
.
getStatus
()
==
1
?
BaseConstant
.
EmployeeStatus
.
ON_JOB
:
BaseConstant
.
EmployeeStatus
.
DEPARTED
);
insertList
.
add
(
employee
);
insertList
.
add
(
employee
);
}
}
workDataDto
.
setDeleteList
(
deleteList
);
workDataDto
.
setDeleteList
(
deleteList
);
...
@@ -427,7 +430,7 @@ public class OrgSyncByWxcpJob {
...
@@ -427,7 +430,7 @@ public class OrgSyncByWxcpJob {
userInfo
.
setUiTelphone
(
wxCpUser
.
getMobile
());
userInfo
.
setUiTelphone
(
wxCpUser
.
getMobile
());
userInfo
.
setUiUsername
(
wxCpUser
.
getName
());
userInfo
.
setUiUsername
(
wxCpUser
.
getName
());
Gender
gender
=
wxCpUser
.
getGender
();
Gender
gender
=
wxCpUser
.
getGender
();
String
sex
=
gender
.
getCode
().
equals
(
"1"
)
?
"0"
:
"1"
;
String
sex
=
gender
.
getCode
().
equals
(
"1"
)
?
BaseConstant
.
Gender
.
MAN
:
BaseConstant
.
Gender
.
WOMEN
;
userInfo
.
setUiSex
(
sex
);
userInfo
.
setUiSex
(
sex
);
userInfo
.
setUiHeadimg
(
wxCpUser
.
getThumbAvatar
());
userInfo
.
setUiHeadimg
(
wxCpUser
.
getThumbAvatar
());
userInfo
.
setUiHeadimgMp
(
wxCpUser
.
getThumbAvatar
());
userInfo
.
setUiHeadimgMp
(
wxCpUser
.
getThumbAvatar
());
...
...
src/main/java/com/tanpu/feo/feojob/service/DepartmentEmployeeService.java
View file @
cd15ebb8
...
@@ -6,6 +6,7 @@ import java.util.List;
...
@@ -6,6 +6,7 @@ import java.util.List;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.tanpu.feo.feojob.constant.BaseConstant
;
import
com.tanpu.feo.feojob.dto.DepartmentEmployeeDTO
;
import
com.tanpu.feo.feojob.dto.DepartmentEmployeeDTO
;
import
com.tanpu.feo.feojob.entity.DepartmentEmployeeEntity
;
import
com.tanpu.feo.feojob.entity.DepartmentEmployeeEntity
;
import
com.tanpu.feo.feojob.mapper.DepartmentEmployeeMapper
;
import
com.tanpu.feo.feojob.mapper.DepartmentEmployeeMapper
;
...
@@ -47,6 +48,8 @@ public class DepartmentEmployeeService extends ServiceImpl<DepartmentEmployeeMap
...
@@ -47,6 +48,8 @@ public class DepartmentEmployeeService extends ServiceImpl<DepartmentEmployeeMap
}
}
public
List
<
DepartmentEmployeeEntity
>
findInfoByOrgId
(
String
orgId
)
{
public
List
<
DepartmentEmployeeEntity
>
findInfoByOrgId
(
String
orgId
)
{
return
departmentEmployeeMapper
.
selectList
(
Wrappers
.
lambdaQuery
(
DepartmentEmployeeEntity
.
class
).
eq
(
DepartmentEmployeeEntity:
:
getOrgId
,
orgId
).
eq
(
DepartmentEmployeeEntity:
:
getDeleteTag
,
"0"
));
return
departmentEmployeeMapper
.
selectList
(
Wrappers
.
lambdaQuery
(
DepartmentEmployeeEntity
.
class
)
.
eq
(
DepartmentEmployeeEntity:
:
getOrgId
,
orgId
)
.
eq
(
DepartmentEmployeeEntity:
:
getDeleteTag
,
BaseConstant
.
DeleteTagStr
.
NOT_DELETED
));
}
}
}
}
src/main/java/com/tanpu/feo/feojob/service/DepartmentService.java
View file @
cd15ebb8
...
@@ -2,6 +2,7 @@ package com.tanpu.feo.feojob.service;
...
@@ -2,6 +2,7 @@ package com.tanpu.feo.feojob.service;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.tanpu.feo.feojob.constant.BaseConstant
;
import
com.tanpu.feo.feojob.entity.DepartmentEntity
;
import
com.tanpu.feo.feojob.entity.DepartmentEntity
;
import
com.tanpu.feo.feojob.mapper.DepartmentMapper
;
import
com.tanpu.feo.feojob.mapper.DepartmentMapper
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
...
@@ -24,6 +25,8 @@ public class DepartmentService extends ServiceImpl<DepartmentMapper, DepartmentE
...
@@ -24,6 +25,8 @@ public class DepartmentService extends ServiceImpl<DepartmentMapper, DepartmentE
private
DepartmentMapper
departmentMapper
;
private
DepartmentMapper
departmentMapper
;
public
List
<
DepartmentEntity
>
findDepartmentByOrgId
(
String
orgId
)
{
public
List
<
DepartmentEntity
>
findDepartmentByOrgId
(
String
orgId
)
{
return
departmentMapper
.
selectList
(
Wrappers
.
lambdaQuery
(
DepartmentEntity
.
class
).
eq
(
DepartmentEntity:
:
getOrgId
,
orgId
).
eq
(
DepartmentEntity:
:
getDeleteTag
,
"0"
));
return
departmentMapper
.
selectList
(
Wrappers
.
lambdaQuery
(
DepartmentEntity
.
class
)
.
eq
(
DepartmentEntity:
:
getOrgId
,
orgId
)
.
eq
(
DepartmentEntity:
:
getDeleteTag
,
BaseConstant
.
DeleteTagStr
.
NOT_DELETED
));
}
}
}
}
src/main/java/com/tanpu/feo/feojob/service/EmployeeRoleService.java
View file @
cd15ebb8
...
@@ -5,6 +5,7 @@ import java.util.stream.Collectors;
...
@@ -5,6 +5,7 @@ import java.util.stream.Collectors;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.tanpu.feo.feojob.constant.BaseConstant
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
...
@@ -30,7 +31,10 @@ public class EmployeeRoleService extends ServiceImpl<EmployeeRoleMapper, Employe
...
@@ -30,7 +31,10 @@ public class EmployeeRoleService extends ServiceImpl<EmployeeRoleMapper, Employe
}
}
public
List
<
String
>
findInfoByOrgIdAndAdmin
(
String
orgId
,
String
roleId
)
{
public
List
<
String
>
findInfoByOrgIdAndAdmin
(
String
orgId
,
String
roleId
)
{
List
<
EmployeeRoleEntity
>
employeeRoleList
=
employeeRoleMapper
.
selectList
(
Wrappers
.
lambdaQuery
(
EmployeeRoleEntity
.
class
).
eq
(
EmployeeRoleEntity:
:
getOrgId
,
orgId
).
eq
(
EmployeeRoleEntity:
:
getDeleteTag
,
"0"
).
eq
(
EmployeeRoleEntity:
:
getRoleId
,
roleId
));
List
<
EmployeeRoleEntity
>
employeeRoleList
=
employeeRoleMapper
.
selectList
(
Wrappers
.
lambdaQuery
(
EmployeeRoleEntity
.
class
)
.
eq
(
EmployeeRoleEntity:
:
getOrgId
,
orgId
)
.
eq
(
EmployeeRoleEntity:
:
getDeleteTag
,
BaseConstant
.
DeleteTagStr
.
NOT_DELETED
)
.
eq
(
EmployeeRoleEntity:
:
getRoleId
,
roleId
));
List
<
String
>
employeeIdList
=
employeeRoleList
.
stream
().
map
(
employeeRoleEntity
->
employeeRoleEntity
.
getEmployeeId
()).
collect
(
Collectors
.
toList
());
List
<
String
>
employeeIdList
=
employeeRoleList
.
stream
().
map
(
employeeRoleEntity
->
employeeRoleEntity
.
getEmployeeId
()).
collect
(
Collectors
.
toList
());
return
employeeIdList
;
return
employeeIdList
;
}
}
...
...
src/main/java/com/tanpu/feo/feojob/service/EmployeeService.java
View file @
cd15ebb8
...
@@ -2,6 +2,7 @@ package com.tanpu.feo.feojob.service;
...
@@ -2,6 +2,7 @@ package com.tanpu.feo.feojob.service;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.tanpu.feo.feojob.constant.BaseConstant
;
import
com.tanpu.feo.feojob.entity.EmployeeEntity
;
import
com.tanpu.feo.feojob.entity.EmployeeEntity
;
import
com.tanpu.feo.feojob.mapper.EmployeeMapper
;
import
com.tanpu.feo.feojob.mapper.EmployeeMapper
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
...
@@ -24,6 +25,6 @@ public class EmployeeService extends ServiceImpl<EmployeeMapper, EmployeeEntity>
...
@@ -24,6 +25,6 @@ public class EmployeeService extends ServiceImpl<EmployeeMapper, EmployeeEntity>
private
EmployeeMapper
employeeMapper
;
private
EmployeeMapper
employeeMapper
;
public
List
<
EmployeeEntity
>
getEmployeeSListByOrgId
(
String
orgId
)
{
public
List
<
EmployeeEntity
>
getEmployeeSListByOrgId
(
String
orgId
)
{
return
employeeMapper
.
selectList
(
Wrappers
.
lambdaQuery
(
EmployeeEntity
.
class
).
eq
(
EmployeeEntity:
:
getOrgId
,
orgId
).
eq
(
EmployeeEntity:
:
getDeleteTag
,
"0"
));
return
employeeMapper
.
selectList
(
Wrappers
.
lambdaQuery
(
EmployeeEntity
.
class
).
eq
(
EmployeeEntity:
:
getOrgId
,
orgId
).
eq
(
EmployeeEntity:
:
getDeleteTag
,
BaseConstant
.
DeleteTagStr
.
NOT_DELETED
));
}
}
}
}
src/main/java/com/tanpu/feo/feojob/service/OrgExtService.java
View file @
cd15ebb8
...
@@ -2,6 +2,7 @@ package com.tanpu.feo.feojob.service;
...
@@ -2,6 +2,7 @@ package com.tanpu.feo.feojob.service;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.tanpu.feo.feojob.constant.BaseConstant
;
import
com.tanpu.feo.feojob.entity.OrgExtEntity
;
import
com.tanpu.feo.feojob.entity.OrgExtEntity
;
import
com.tanpu.feo.feojob.mapper.OrgExtMapper
;
import
com.tanpu.feo.feojob.mapper.OrgExtMapper
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
...
@@ -27,7 +28,7 @@ public class OrgExtService extends ServiceImpl<OrgExtMapper, OrgExtEntity> {
...
@@ -27,7 +28,7 @@ public class OrgExtService extends ServiceImpl<OrgExtMapper, OrgExtEntity> {
public
List
<
OrgExtEntity
>
findOrgExtByAyto
()
{
public
List
<
OrgExtEntity
>
findOrgExtByAyto
()
{
return
orgExtMapper
.
selectList
(
Wrappers
.
lambdaQuery
(
OrgExtEntity
.
class
).
eq
(
OrgExtEntity:
:
getModel
,
"1"
).
eq
(
OrgExtEntity:
:
getDeleteTag
,
"0"
));
return
orgExtMapper
.
selectList
(
Wrappers
.
lambdaQuery
(
OrgExtEntity
.
class
).
eq
(
OrgExtEntity:
:
getModel
,
"1"
).
eq
(
OrgExtEntity:
:
getDeleteTag
,
BaseConstant
.
DeleteTagStr
.
NOT_DELETED
));
}
}
@Transactional
@Transactional
...
...
src/main/java/com/tanpu/feo/feojob/service/OrgService.java
View file @
cd15ebb8
...
@@ -2,6 +2,7 @@ package com.tanpu.feo.feojob.service;
...
@@ -2,6 +2,7 @@ package com.tanpu.feo.feojob.service;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.tanpu.feo.feojob.constant.BaseConstant
;
import
com.tanpu.feo.feojob.entity.OrgEntity
;
import
com.tanpu.feo.feojob.entity.OrgEntity
;
import
com.tanpu.feo.feojob.mapper.OrgMapper
;
import
com.tanpu.feo.feojob.mapper.OrgMapper
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
...
@@ -28,6 +29,6 @@ public class OrgService extends ServiceImpl<OrgMapper, OrgEntity> {
...
@@ -28,6 +29,6 @@ public class OrgService extends ServiceImpl<OrgMapper, OrgEntity> {
}
}
public
OrgEntity
findByOrgCode
(
String
feoOrgCode
)
{
public
OrgEntity
findByOrgCode
(
String
feoOrgCode
)
{
return
orgMapper
.
selectOne
(
new
LambdaQueryWrapper
<>(
OrgEntity
.
class
).
eq
(
OrgEntity:
:
getOrgCode
,
feoOrgCode
).
eq
(
OrgEntity:
:
getDeleteTag
,
"0"
));
return
orgMapper
.
selectOne
(
new
LambdaQueryWrapper
<>(
OrgEntity
.
class
).
eq
(
OrgEntity:
:
getOrgCode
,
feoOrgCode
).
eq
(
OrgEntity:
:
getDeleteTag
,
BaseConstant
.
DeleteTagStr
.
NOT_DELETED
));
}
}
}
}
src/main/java/com/tanpu/feo/feojob/service/OrgSyncByJyzyService.java
View file @
cd15ebb8
...
@@ -13,11 +13,12 @@ import com.tanpu.feo.feojob.entity.*;
...
@@ -13,11 +13,12 @@ import com.tanpu.feo.feojob.entity.*;
import
com.tanpu.feo.feojob.entity.jyzy.JyzyOrgEntity
;
import
com.tanpu.feo.feojob.entity.jyzy.JyzyOrgEntity
;
import
com.tanpu.feo.feojob.entity.jyzy.JyzyTeamEntity
;
import
com.tanpu.feo.feojob.entity.jyzy.JyzyTeamEntity
;
import
com.tanpu.feo.feojob.entity.jyzy.JyzyUserInfoEntity
;
import
com.tanpu.feo.feojob.entity.jyzy.JyzyUserInfoEntity
;
import
com.tanpu.feo.feojob.enums.EmployeeDutyEnum
;
import
com.tanpu.feo.feojob.enums.RoleTypeEnum
;
import
com.tanpu.feo.feojob.service.jyzy.JyzyOrgService
;
import
com.tanpu.feo.feojob.service.jyzy.JyzyOrgService
;
import
com.tanpu.feo.feojob.service.jyzy.JyzyTeamService
;
import
com.tanpu.feo.feojob.service.jyzy.JyzyTeamService
;
import
com.tanpu.feo.feojob.service.jyzy.JyzyUserInfoService
;
import
com.tanpu.feo.feojob.service.jyzy.JyzyUserInfoService
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
javax.annotation.Resource
;
import
javax.annotation.Resource
;
...
@@ -143,7 +144,7 @@ public class OrgSyncByJyzyService {
...
@@ -143,7 +144,7 @@ public class OrgSyncByJyzyService {
// employee_role
// employee_role
EmployeeRoleEntity
employeeRoleEntity
=
new
EmployeeRoleEntity
();
EmployeeRoleEntity
employeeRoleEntity
=
new
EmployeeRoleEntity
();
employeeRoleEntity
.
setEmployeeId
(
userInfoEntity
.
getId
());
employeeRoleEntity
.
setEmployeeId
(
userInfoEntity
.
getId
());
employeeRoleEntity
.
setRoleId
(
infoNoAdmin
.
get
(
"1"
.
equals
(
userInfoEntity
.
getUiShenfen
())
?
"t"
:
"i"
));
employeeRoleEntity
.
setRoleId
(
infoNoAdmin
.
get
(
"1"
.
equals
(
userInfoEntity
.
getUiShenfen
())
?
RoleTypeEnum
.
TEAM
.
code
:
RoleTypeEnum
.
IFA
.
code
));
employeeRoleEntity
.
setOrgId
(
orgInfoDto
.
getOrgId
());
employeeRoleEntity
.
setOrgId
(
orgInfoDto
.
getOrgId
());
insertEmployeeRoleList
.
add
(
employeeRoleEntity
);
insertEmployeeRoleList
.
add
(
employeeRoleEntity
);
...
@@ -151,7 +152,7 @@ public class OrgSyncByJyzyService {
...
@@ -151,7 +152,7 @@ public class OrgSyncByJyzyService {
DepartmentEmployeeEntity
departmentEmployee
=
new
DepartmentEmployeeEntity
();
DepartmentEmployeeEntity
departmentEmployee
=
new
DepartmentEmployeeEntity
();
departmentEmployee
.
setEmployeeId
(
userInfoEntity
.
getId
());
departmentEmployee
.
setEmployeeId
(
userInfoEntity
.
getId
());
departmentEmployee
.
setDepartmentId
(
userInfoEntity
.
getTeamId
());
departmentEmployee
.
setDepartmentId
(
userInfoEntity
.
getTeamId
());
departmentEmployee
.
setType
(
"1"
.
equals
(
userInfoEntity
.
getUiShenfen
())
?
"d"
:
"s"
);
departmentEmployee
.
setType
(
"1"
.
equals
(
userInfoEntity
.
getUiShenfen
())
?
EmployeeDutyEnum
.
DIRECTOR
.
code
:
EmployeeDutyEnum
.
STAFF
.
code
);
departmentEmployee
.
setOrgId
(
orgInfoDto
.
getOrgId
());
departmentEmployee
.
setOrgId
(
orgInfoDto
.
getOrgId
());
insertDepartmentEmployeeList
.
add
(
departmentEmployee
);
insertDepartmentEmployeeList
.
add
(
departmentEmployee
);
...
@@ -182,7 +183,7 @@ public class OrgSyncByJyzyService {
...
@@ -182,7 +183,7 @@ public class OrgSyncByJyzyService {
Optional
<
EmployeeRoleEntity
>
employeeRoleEntityOptional
=
orgInfoDto
.
getEmployeeRoleList
().
stream
().
filter
(
employeeRole
->
employeeRole
.
getEmployeeId
().
equals
(
userInfoEntity
.
getId
())).
findFirst
();
Optional
<
EmployeeRoleEntity
>
employeeRoleEntityOptional
=
orgInfoDto
.
getEmployeeRoleList
().
stream
().
filter
(
employeeRole
->
employeeRole
.
getEmployeeId
().
equals
(
userInfoEntity
.
getId
())).
findFirst
();
if
(
employeeRoleEntityOptional
.
isPresent
())
{
if
(
employeeRoleEntityOptional
.
isPresent
())
{
EmployeeRoleEntity
employeeRoleEntity
=
employeeRoleEntityOptional
.
get
();
EmployeeRoleEntity
employeeRoleEntity
=
employeeRoleEntityOptional
.
get
();
String
role
=
"1"
.
equals
(
userInfoEntity
.
getUiShenfen
())
?
"t"
:
"i"
;
String
role
=
"1"
.
equals
(
userInfoEntity
.
getUiShenfen
())
?
RoleTypeEnum
.
TEAM
.
code
:
RoleTypeEnum
.
IFA
.
code
;
if
(
StrUtil
.
compare
(
infoNoAdmin
.
get
(
role
),
employeeRoleEntity
.
getRoleId
(),
true
)
!=
0
)
{
if
(
StrUtil
.
compare
(
infoNoAdmin
.
get
(
role
),
employeeRoleEntity
.
getRoleId
(),
true
)
!=
0
)
{
employeeRoleEntity
.
setRoleId
(
infoNoAdmin
.
get
(
role
));
employeeRoleEntity
.
setRoleId
(
infoNoAdmin
.
get
(
role
));
updateEmployeeRoleList
.
add
(
employeeRoleEntity
);
updateEmployeeRoleList
.
add
(
employeeRoleEntity
);
...
@@ -277,13 +278,18 @@ public class OrgSyncByJyzyService {
...
@@ -277,13 +278,18 @@ public class OrgSyncByJyzyService {
// 新增
// 新增
jyzyTeamEntityMap
.
forEach
((
id
,
jyzyTeamEntity
)
->
{
jyzyTeamEntityMap
.
forEach
((
id
,
jyzyTeamEntity
)
->
{
int
memberNums
=
0
;
Optional
<
JyzyTeamDto
>
jyzyTeamDtoOptional
=
jyzyTeamDtoList
.
stream
().
filter
(
jyzyTeamDto
->
jyzyTeamDto
.
getJyzyTeam
().
getId
().
equals
(
id
)).
findFirst
();
if
(
jyzyTeamDtoOptional
.
isPresent
())
{
memberNums
=
jyzyTeamDtoOptional
.
get
().
getJyzyUserInfos
().
size
();
}
DepartmentEntity
department
=
new
DepartmentEntity
();
DepartmentEntity
department
=
new
DepartmentEntity
();
department
.
setDepartmentId
(
id
);
department
.
setDepartmentId
(
id
);
department
.
setParentDepartId
(
jyzyTeamEntity
.
getPId
());
department
.
setParentDepartId
(
jyzyTeamEntity
.
getPId
());
department
.
setDepartmentName
(
jyzyTeamEntity
.
getTeamName
());
department
.
setDepartmentName
(
jyzyTeamEntity
.
getTeamName
());
int
length
=
jyzyTeamEntity
.
getFullPathId
().
split
(
"/"
).
length
;
int
length
=
jyzyTeamEntity
.
getFullPathId
().
split
(
"/"
).
length
;
department
.
setLevel
(
length
-
1
);
department
.
setLevel
(
length
-
1
);
department
.
setMembers
(
jyzyTeamEntity
.
getTeamPersonNum
()
);
department
.
setMembers
(
memberNums
);
department
.
setOrgId
(
orgInfoDto
.
getOrgId
());
department
.
setOrgId
(
orgInfoDto
.
getOrgId
());
insertDepartmentList
.
add
(
department
);
insertDepartmentList
.
add
(
department
);
});
});
...
...
src/main/java/com/tanpu/feo/feojob/service/OrgSyncByWxcpService.java
View file @
cd15ebb8
This diff is collapsed.
Click to expand it.
src/main/java/com/tanpu/feo/feojob/service/RoleService.java
View file @
cd15ebb8
...
@@ -2,6 +2,7 @@ package com.tanpu.feo.feojob.service;
...
@@ -2,6 +2,7 @@ package com.tanpu.feo.feojob.service;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.tanpu.feo.feojob.constant.BaseConstant
;
import
com.tanpu.feo.feojob.entity.RoleEntity
;
import
com.tanpu.feo.feojob.entity.RoleEntity
;
import
com.tanpu.feo.feojob.mapper.RoleMapper
;
import
com.tanpu.feo.feojob.mapper.RoleMapper
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
...
@@ -27,7 +28,7 @@ public class RoleService extends ServiceImpl<RoleMapper, RoleEntity> {
...
@@ -27,7 +28,7 @@ public class RoleService extends ServiceImpl<RoleMapper, RoleEntity> {
public
Map
<
String
,
String
>
findInfoNoAdmin
()
{
public
Map
<
String
,
String
>
findInfoNoAdmin
()
{
List
<
RoleEntity
>
roleEntityList
=
roleMapper
.
selectList
(
Wrappers
.
lambdaQuery
(
RoleEntity
.
class
).
eq
(
RoleEntity:
:
getDeleteTag
,
"0"
));
List
<
RoleEntity
>
roleEntityList
=
roleMapper
.
selectList
(
Wrappers
.
lambdaQuery
(
RoleEntity
.
class
).
eq
(
RoleEntity:
:
getDeleteTag
,
BaseConstant
.
DeleteTagStr
.
NOT_DELETED
));
Map
<
String
,
String
>
roleMap
=
roleEntityList
.
stream
().
collect
(
Collectors
.
toMap
(
RoleEntity:
:
getType
,
RoleEntity:
:
getRoleId
));
Map
<
String
,
String
>
roleMap
=
roleEntityList
.
stream
().
collect
(
Collectors
.
toMap
(
RoleEntity:
:
getType
,
RoleEntity:
:
getRoleId
));
return
roleMap
;
return
roleMap
;
}
}
...
...
src/main/java/com/tanpu/feo/feojob/service/UserInfoService.java
View file @
cd15ebb8
...
@@ -2,6 +2,7 @@ package com.tanpu.feo.feojob.service;
...
@@ -2,6 +2,7 @@ package com.tanpu.feo.feojob.service;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.tanpu.feo.feojob.constant.BaseConstant
;
import
com.tanpu.feo.feojob.entity.UserInfoEntity
;
import
com.tanpu.feo.feojob.entity.UserInfoEntity
;
import
com.tanpu.feo.feojob.mapper.UserInfoMapper
;
import
com.tanpu.feo.feojob.mapper.UserInfoMapper
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
...
@@ -24,6 +25,6 @@ public class UserInfoService extends ServiceImpl<UserInfoMapper, UserInfoEntity>
...
@@ -24,6 +25,6 @@ public class UserInfoService extends ServiceImpl<UserInfoMapper, UserInfoEntity>
private
UserInfoMapper
userInfoMapper
;
private
UserInfoMapper
userInfoMapper
;
public
List
<
UserInfoEntity
>
getUserInfoListByOrgId
(
String
orgId
)
{
public
List
<
UserInfoEntity
>
getUserInfoListByOrgId
(
String
orgId
)
{
return
userInfoMapper
.
selectList
(
Wrappers
.
lambdaQuery
(
UserInfoEntity
.
class
).
eq
(
UserInfoEntity:
:
getOrgId
,
orgId
).
eq
(
UserInfoEntity:
:
getDeletetag
,
"0"
));
return
userInfoMapper
.
selectList
(
Wrappers
.
lambdaQuery
(
UserInfoEntity
.
class
).
eq
(
UserInfoEntity:
:
getOrgId
,
orgId
).
eq
(
UserInfoEntity:
:
getDeletetag
,
BaseConstant
.
DeleteTagStr
.
NOT_DELETED
));
}
}
}
}
src/main/java/com/tanpu/feo/feojob/service/jyzy/JyzyOrgService.java
View file @
cd15ebb8
...
@@ -3,6 +3,7 @@ package com.tanpu.feo.feojob.service.jyzy;
...
@@ -3,6 +3,7 @@ package com.tanpu.feo.feojob.service.jyzy;
import
com.baomidou.dynamic.datasource.annotation.DS
;
import
com.baomidou.dynamic.datasource.annotation.DS
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.tanpu.feo.feojob.constant.BaseConstant
;
import
com.tanpu.feo.feojob.entity.jyzy.JyzyOrgEntity
;
import
com.tanpu.feo.feojob.entity.jyzy.JyzyOrgEntity
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
...
@@ -29,7 +30,7 @@ public class JyzyOrgService {
...
@@ -29,7 +30,7 @@ public class JyzyOrgService {
public
JyzyOrgEntity
getOrgByOrgCode
(
String
jyzyOrgCode
)
{
public
JyzyOrgEntity
getOrgByOrgCode
(
String
jyzyOrgCode
)
{
LambdaQueryWrapper
<
JyzyOrgEntity
>
jyzyOrgLambdaQueryWrapper
=
Wrappers
.
lambdaQuery
(
JyzyOrgEntity
.
class
);
LambdaQueryWrapper
<
JyzyOrgEntity
>
jyzyOrgLambdaQueryWrapper
=
Wrappers
.
lambdaQuery
(
JyzyOrgEntity
.
class
);
jyzyOrgLambdaQueryWrapper
.
eq
(
JyzyOrgEntity:
:
getOrgCode
,
jyzyOrgCode
).
eq
(
JyzyOrgEntity:
:
getDeleteTag
,
0
);
jyzyOrgLambdaQueryWrapper
.
eq
(
JyzyOrgEntity:
:
getOrgCode
,
jyzyOrgCode
).
eq
(
JyzyOrgEntity:
:
getDeleteTag
,
BaseConstant
.
DeleteTagInt
.
NOT_DELETED
);
return
jyzyOrgMapper
.
selectOne
(
jyzyOrgLambdaQueryWrapper
);
return
jyzyOrgMapper
.
selectOne
(
jyzyOrgLambdaQueryWrapper
);
}
}
}
}
src/main/java/com/tanpu/feo/feojob/service/jyzy/JyzyTeamService.java
View file @
cd15ebb8
...
@@ -4,6 +4,7 @@ package com.tanpu.feo.feojob.service.jyzy;
...
@@ -4,6 +4,7 @@ package com.tanpu.feo.feojob.service.jyzy;
import
com.baomidou.dynamic.datasource.annotation.DS
;
import
com.baomidou.dynamic.datasource.annotation.DS
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.tanpu.feo.feojob.constant.BaseConstant
;
import
com.tanpu.feo.feojob.entity.jyzy.JyzyTeamEntity
;
import
com.tanpu.feo.feojob.entity.jyzy.JyzyTeamEntity
;
import
com.tanpu.feo.feojob.mapper.jyzy.JyzyTeamMapper
;
import
com.tanpu.feo.feojob.mapper.jyzy.JyzyTeamMapper
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
@@ -28,7 +29,10 @@ public class JyzyTeamService {
...
@@ -28,7 +29,10 @@ public class JyzyTeamService {
private
JyzyTeamMapper
JyzyTeamMapper
;
private
JyzyTeamMapper
JyzyTeamMapper
;
public
List
<
JyzyTeamEntity
>
getTeamListByOrgId
(
String
orgId
)
{
public
List
<
JyzyTeamEntity
>
getTeamListByOrgId
(
String
orgId
)
{
LambdaQueryWrapper
<
JyzyTeamEntity
>
queryWrapper
=
Wrappers
.
lambdaQuery
(
JyzyTeamEntity
.
class
).
eq
(
JyzyTeamEntity:
:
getOrgId
,
orgId
).
eq
(
JyzyTeamEntity:
:
getDeleteTag
,
0
).
eq
(
JyzyTeamEntity:
:
getTeamCategory
,
1
);
LambdaQueryWrapper
<
JyzyTeamEntity
>
queryWrapper
=
Wrappers
.
lambdaQuery
(
JyzyTeamEntity
.
class
)
.
eq
(
JyzyTeamEntity:
:
getOrgId
,
orgId
)
.
eq
(
JyzyTeamEntity:
:
getDeleteTag
,
BaseConstant
.
DeleteTagInt
.
NOT_DELETED
)
.
eq
(
JyzyTeamEntity:
:
getTeamCategory
,
1
);
return
JyzyTeamMapper
.
selectList
(
queryWrapper
);
return
JyzyTeamMapper
.
selectList
(
queryWrapper
);
}
}
}
}
src/main/java/com/tanpu/feo/feojob/service/jyzy/JyzyUserInfoService.java
View file @
cd15ebb8
...
@@ -4,6 +4,7 @@ package com.tanpu.feo.feojob.service.jyzy;
...
@@ -4,6 +4,7 @@ package com.tanpu.feo.feojob.service.jyzy;
import
com.baomidou.dynamic.datasource.annotation.DS
;
import
com.baomidou.dynamic.datasource.annotation.DS
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.tanpu.feo.feojob.constant.BaseConstant
;
import
com.tanpu.feo.feojob.entity.jyzy.JyzyUserInfoEntity
;
import
com.tanpu.feo.feojob.entity.jyzy.JyzyUserInfoEntity
;
import
com.tanpu.feo.feojob.mapper.jyzy.JyzyUserInfoMapper
;
import
com.tanpu.feo.feojob.mapper.jyzy.JyzyUserInfoMapper
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
@@ -30,7 +31,7 @@ public class JyzyUserInfoService {
...
@@ -30,7 +31,7 @@ public class JyzyUserInfoService {
public
List
<
JyzyUserInfoEntity
>
getUserListByOrgId
(
String
orgId
)
{
public
List
<
JyzyUserInfoEntity
>
getUserListByOrgId
(
String
orgId
)
{
LambdaQueryWrapper
<
JyzyUserInfoEntity
>
queryWrapper
=
Wrappers
.
lambdaQuery
(
JyzyUserInfoEntity
.
class
)
LambdaQueryWrapper
<
JyzyUserInfoEntity
>
queryWrapper
=
Wrappers
.
lambdaQuery
(
JyzyUserInfoEntity
.
class
)
.
eq
(
JyzyUserInfoEntity:
:
getOrgId
,
orgId
)
.
eq
(
JyzyUserInfoEntity:
:
getOrgId
,
orgId
)
.
eq
(
JyzyUserInfoEntity:
:
getDeletetag
,
"0"
)
.
eq
(
JyzyUserInfoEntity:
:
getDeletetag
,
BaseConstant
.
DeleteTagStr
.
NOT_DELETED
)
.
ne
(
JyzyUserInfoEntity:
:
getUiShenfen
,
2
);
.
ne
(
JyzyUserInfoEntity:
:
getUiShenfen
,
2
);
return
JyzyUserInfoMapper
.
selectList
(
queryWrapper
);
return
JyzyUserInfoMapper
.
selectList
(
queryWrapper
);
}
}
...
...
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