Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
C
cloud-fb
Overview
Overview
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
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
王衍超
cloud-fb
Commits
e2d1d0e7
Commit
e2d1d0e7
authored
Apr 20, 2021
by
shiwenbo
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
新建区域公司时自动新建同名的部门与其关联
parent
3d841a3a
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
64 additions
and
6 deletions
+64
-6
OrganizationDataInitializer.java
.../com/xyst/dinas/biz/init/OrganizationDataInitializer.java
+3
-6
DinasOrganizationServiceImpl.java
...as/biz/internal/service/DinasOrganizationServiceImpl.java
+46
-0
DinasOrganizationService.java
.../com/xyst/dinas/biz/service/DinasOrganizationService.java
+2
-0
DinasOrganizationController.java
...a/com/xyst/dinas/biz/web/DinasOrganizationController.java
+13
-0
No files found.
backend/xyst.dinas.biz/src/main/java/com/xyst/dinas/biz/init/OrganizationDataInitializer.java
View file @
e2d1d0e7
...
...
@@ -4,10 +4,9 @@ import java.util.Date;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.UUID
;
import
java.util.Map.Entry
;
import
java.util.UUID
;
import
com.beecode.inz.common.BaseConstants
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.core.io.Resource
;
...
...
@@ -18,10 +17,10 @@ import com.beecode.bcp.type.KClass;
import
com.beecode.bcp.type.KObject
;
import
com.beecode.inz.basis.init.DataInitializer
;
import
com.beecode.inz.basis.init.exception.DataInitException
;
import
com.beecode.inz.common.BaseConstants
;
import
com.fasterxml.jackson.databind.JsonNode
;
import
com.fasterxml.jackson.databind.ObjectMapper
;
import
com.xyst.dinas.biz.constant.DinasOrganizationConstant
;
import
com.xyst.dinas.biz.dao.DinasOrganizationDao
;
import
com.xyst.dinas.biz.service.DinasOrganizationService
;
public
class
OrganizationDataInitializer
implements
DataInitializer
{
...
...
@@ -30,9 +29,6 @@ public class OrganizationDataInitializer implements DataInitializer {
private
DinasOrganizationService
dinasOrganizationService
;
@Autowired
private
DinasOrganizationDao
dinasOrganizationDao
;
@Autowired
private
StaffDAO
staffDAO
;
private
ObjectMapper
objectMapper
=
new
ObjectMapper
();
...
...
@@ -57,6 +53,7 @@ public class OrganizationDataInitializer implements DataInitializer {
kObject
.
set
(
BaseConstants
.
CREATE_TIME
,
new
Date
());
dinasOrganizationService
.
save
(
kObject
);
saveFollower
(
kObject
);
dinasOrganizationService
.
createRelDepartment
(
kObject
.
getUuid
(
"id"
));
}
else
{
KObject
organizationByName
=
dinasOrganizationService
.
queryOrganizationByName
(
kObject
.
getString
(
"name"
));
saveFollower
(
organizationByName
);
...
...
backend/xyst.dinas.biz/src/main/java/com/xyst/dinas/biz/internal/service/DinasOrganizationServiceImpl.java
View file @
e2d1d0e7
package
com
.
xyst
.
dinas
.
biz
.
internal
.
service
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.UUID
;
import
javax.transaction.Transactional
;
import
org.json.JSONObject
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.context.request.RequestContextHolder
;
import
org.springframework.web.context.request.ServletRequestAttributes
;
import
com.beecode.amino.core.Amino
;
import
com.beecode.bap.department.service.DepartmentService
;
import
com.beecode.bap.department.util.ChineseToEnglishUtil
;
import
com.beecode.bap.staff.BapContext
;
import
com.beecode.bap.staff.dao.StaffDAO
;
import
com.beecode.bcp.type.KClass
;
import
com.beecode.bcp.type.KObject
;
import
com.beecode.bcp.type.json.JSONObjectUtils
;
import
com.beecode.inz.basis.team.pojo.ResponseObj
;
import
com.xyst.dinas.biz.dao.DinasOrganizationDao
;
import
com.xyst.dinas.biz.service.DinasOrganizationService
;
...
...
@@ -25,6 +35,9 @@ public class DinasOrganizationServiceImpl implements DinasOrganizationService {
@Autowired
public
BapContext
bapContext
;
@Autowired
public
DepartmentService
departmentService
;
@Override
public
KObject
queryOrganizationByName
(
String
name
)
{
return
dinasOrganizationDao
.
queryOrganizationByName
(
name
);
...
...
@@ -81,4 +94,37 @@ public class DinasOrganizationServiceImpl implements DinasOrganizationService {
return
UUID
.
fromString
(
obj
.
getString
(
"id"
));
}
@Override
@Transactional
public
UUID
createRelDepartment
(
UUID
id
)
{
KObject
kobj
=
dinasOrganizationDao
.
load
(
id
);
KObject
quangongsi
=
departmentService
.
getByName
(
"全公司"
).
get
(
0
);
KObject
department
=
Amino
.
getApplicationMetadataContext
().
getBean
(
"com.beecode.bap.department.datamodel.Department"
,
KClass
.
class
).
newInstance
();
department
.
set
(
"name"
,
kobj
.
getString
(
"name"
));
department
.
set
(
"shortname"
,
ChineseToEnglishUtil
.
getPinYinHeadChar
(
kobj
.
getString
(
"name"
)));
department
.
set
(
"code"
,
departmentService
.
getLastDeptCode
());
department
.
set
(
"parentId"
,
quangongsi
.
getUuid
(
"id"
));
department
.
set
(
"orgId"
,
quangongsi
.
getUuid
(
"orgId"
));
department
.
set
(
"level"
,
1
);
department
.
set
(
"createTime"
,
new
Date
());
department
.
set
(
"createUser"
,
getCurrentLoginStaff
().
getUuid
(
"id"
));
department
.
set
(
"paths"
,
quangongsi
.
getString
(
"paths"
)
+
"$"
+
department
.
getUuid
(
"id"
));
department
.
set
(
"enable"
,
true
);
departmentService
.
create
(
department
);
kobj
.
set
(
"department"
,
department
);
dinasOrganizationDao
.
save
(
kobj
);
return
department
.
getUuid
(
"id"
);
}
private
KObject
getCurrentLoginStaff
(){
String
currentStaff
=
(
String
)
((
ServletRequestAttributes
)
RequestContextHolder
.
getRequestAttributes
())
.
getRequest
().
getSession
().
getAttribute
(
"currentStaff"
);
if
(
null
==
currentStaff
||
currentStaff
.
trim
().
length
()
==
0
)
{
throw
new
RuntimeException
(
"从session中获取职员失败"
);
}
KClass
kClass
=
Amino
.
getApplicationMetadataContext
().
getBean
(
"com.beecode.bap.staff.datamodel.Staff"
,
KClass
.
class
);
KObject
staff
=
JSONObjectUtils
.
toObject
(
currentStaff
,
kClass
);
return
staff
;
}
}
backend/xyst.dinas.biz/src/main/java/com/xyst/dinas/biz/service/DinasOrganizationService.java
View file @
e2d1d0e7
...
...
@@ -28,4 +28,6 @@ public interface DinasOrganizationService {
UUID
getCurrentRegionalCompanyId
();
UUID
createRelDepartment
(
UUID
id
);
}
backend/xyst.dinas.biz/src/main/java/com/xyst/dinas/biz/web/DinasOrganizationController.java
View file @
e2d1d0e7
...
...
@@ -11,6 +11,7 @@ import org.springframework.web.bind.annotation.RequestMethod;
import
org.springframework.web.bind.annotation.ResponseBody
;
import
org.springframework.web.bind.annotation.RestController
;
import
com.beecode.inz.basis.team.pojo.ResponseObj
;
import
com.xyst.dinas.biz.service.DinasOrganizationService
;
@RestController
...
...
@@ -43,4 +44,16 @@ public class DinasOrganizationController {
public
Object
queryPositionIsUse
(
@PathVariable
(
"id"
)
String
id
)
{
return
dinasOrganizationService
.
queryStaffByRegionalCompany
(
UUID
.
fromString
(
id
));
}
/**
* 根据区域公司自动生成对应的部门并关联起来
* @param id 区域公司id
* @return
*/
@ResponseBody
@RequestMapping
(
value
=
"/dinasBiz/organization/createRelDepartment"
,
method
=
RequestMethod
.
POST
,
consumes
=
"application/json"
)
public
Object
createRelDepartment
(
@RequestBody
String
body
)
{
String
id
=
new
JSONObject
(
body
).
getString
(
"id"
);
return
ResponseObj
.
success
(
"关联部门生成成功"
,
dinasOrganizationService
.
createRelDepartment
(
UUID
.
fromString
(
id
)));
}
}
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