@ -11,6 +11,7 @@ import com.engine.core.impl.Service;
import com.engine.hrm.entity.RuleCodeType ;
import com.engine.hrm.entity.RuleCodeType ;
import com.engine.organization.component.OrganizationWeaTable ;
import com.engine.organization.component.OrganizationWeaTable ;
import com.engine.organization.entity.codesetting.po.CodeRulePO ;
import com.engine.organization.entity.codesetting.po.CodeRulePO ;
import com.engine.organization.entity.commom.RecordInfo ;
import com.engine.organization.entity.company.bo.CompBO ;
import com.engine.organization.entity.company.bo.CompBO ;
import com.engine.organization.entity.company.po.CompPO ;
import com.engine.organization.entity.company.po.CompPO ;
import com.engine.organization.entity.department.bo.DepartmentBO ;
import com.engine.organization.entity.department.bo.DepartmentBO ;
@ -32,10 +33,11 @@ import com.engine.organization.mapper.department.DepartmentMapper;
import com.engine.organization.mapper.extend.ExtDTMapper ;
import com.engine.organization.mapper.extend.ExtDTMapper ;
import com.engine.organization.mapper.extend.ExtMapper ;
import com.engine.organization.mapper.extend.ExtMapper ;
import com.engine.organization.mapper.extend.ExtendTitleMapper ;
import com.engine.organization.mapper.extend.ExtendTitleMapper ;
import com.engine.organization.mapper.hrmresource.SystemDataMapper ;
import com.engine.organization.mapper.job.JobMapper ;
import com.engine.organization.mapper.job.JobMapper ;
import com.engine.organization.service.DepartmentService ;
import com.engine.organization.service.DepartmentService ;
import com.engine.organization.service.ExtService ;
import com.engine.organization.service.ExtService ;
import com.engine.organization.thread.Organization Runable ;
import com.engine.organization.thread.Organization SyncEc ;
import com.engine.organization.util.* ;
import com.engine.organization.util.* ;
import com.engine.organization.util.coderule.CodeRuleUtil ;
import com.engine.organization.util.coderule.CodeRuleUtil ;
import com.engine.organization.util.db.MapperProxyFactory ;
import com.engine.organization.util.db.MapperProxyFactory ;
@ -87,6 +89,8 @@ public class DepartmentServiceImpl extends Service implements DepartmentService
* /
* /
private static final Long GROUP_ID = 2L ;
private static final Long GROUP_ID = 2L ;
private static final String HRM_DEPARTMENT = "hrmdepartment" ;
private static DepartmentMapper getDepartmentMapper ( ) {
private static DepartmentMapper getDepartmentMapper ( ) {
return MapperProxyFactory . getProxy ( DepartmentMapper . class ) ;
return MapperProxyFactory . getProxy ( DepartmentMapper . class ) ;
@ -100,6 +104,10 @@ public class DepartmentServiceImpl extends Service implements DepartmentService
return MapperProxyFactory . getProxy ( ExtendTitleMapper . class ) ;
return MapperProxyFactory . getProxy ( ExtendTitleMapper . class ) ;
}
}
private SystemDataMapper getSystemDataMapper ( ) {
return MapperProxyFactory . getProxy ( SystemDataMapper . class ) ;
}
private ExtService getExtService ( User user ) {
private ExtService getExtService ( User user ) {
return ServiceUtil . getService ( ExtServiceImpl . class , user ) ;
return ServiceUtil . getService ( ExtServiceImpl . class , user ) ;
}
}
@ -204,10 +212,13 @@ public class DepartmentServiceImpl extends Service implements DepartmentService
}
}
params . put ( "show_order" , maxShowOrder + 1 ) ;
params . put ( "show_order" , maxShowOrder + 1 ) ;
}
}
Long departmentId = getExtService ( user ) . updateExtForm ( user , EXTEND_TYPE , JCL_ORG_DEPT , params , "" , null ) ;
Map < String , Object > syncMap = new OrganizationSyncEc ( user , LogModuleNameEnum . DEPARTMENT , OperateTypeEnum . ADD , params ) . sync ( ) ;
params . put ( "id" , departmentId ) ;
String ecCompanyID = Util . null2String ( syncMap . get ( "id" ) ) ;
new Thread ( new OrganizationRunable ( user , LogModuleNameEnum . DEPARTMENT , OperateTypeEnum . ADD , params ) ) . start ( ) ;
OrganizationAssert . isTrue ( StringUtils . isNotBlank ( ecCompanyID ) , syncMap . get ( "message" ) . toString ( ) ) ;
return departmentId ;
// 查询UUID
RecordInfo recordInfo = getSystemDataMapper ( ) . getHrmObjectByID ( HRM_DEPARTMENT , ecCompanyID ) ;
params . put ( "uuid" , recordInfo . getUuid ( ) ) ;
return getExtService ( user ) . updateExtForm ( user , EXTEND_TYPE , JCL_ORG_DEPT , params , "" , null ) ;
}
}
@Override
@Override
@ -217,7 +228,7 @@ public class DepartmentServiceImpl extends Service implements DepartmentService
Map < String , Object > map = new HashMap < > ( ) ;
Map < String , Object > map = new HashMap < > ( ) ;
map . put ( "id" , departmentPO . getId ( ) ) ;
map . put ( "id" , departmentPO . getId ( ) ) ;
map . put ( "forbiddenTag" , departmentPO . getForbiddenTag ( ) ) ;
map . put ( "forbiddenTag" , departmentPO . getForbiddenTag ( ) ) ;
new Thread( new OrganizationRunable ( user , LogModuleNameEnum . DEPARTMENT , OperateTypeEnum . CANCELED , map ) ). start ( ) ;
new OrganizationSyncEc ( user , LogModuleNameEnum . DEPARTMENT , OperateTypeEnum . CANCELED , map ) .sync ( ) ;
return getDepartmentMapper ( ) . updateForbiddenTagById ( departmentPO ) ;
return getDepartmentMapper ( ) . updateForbiddenTagById ( departmentPO ) ;
}
}
@ -236,9 +247,9 @@ public class DepartmentServiceImpl extends Service implements DepartmentService
deptNo = repeatDetermine ( deptNo ) ;
deptNo = repeatDetermine ( deptNo ) ;
params . put ( "dept_no" , deptNo ) ;
params . put ( "dept_no" , deptNo ) ;
}
}
new OrganizationSyncEc ( user , LogModuleNameEnum . DEPARTMENT , OperateTypeEnum . UPDATE , params ) . sync ( ) ;
// 更新主表数据
// 更新主表数据
getExtService ( user ) . updateExtForm ( user , EXTEND_TYPE , JCL_ORG_DEPT , params , "" , searchParam . getId ( ) ) ;
getExtService ( user ) . updateExtForm ( user , EXTEND_TYPE , JCL_ORG_DEPT , params , "" , searchParam . getId ( ) ) ;
new Thread ( new OrganizationRunable ( user , LogModuleNameEnum . DEPARTMENT , OperateTypeEnum . UPDATE , params ) ) . start ( ) ;
// 更新主表拓展表
// 更新主表拓展表
getExtService ( user ) . updateExtForm ( user , EXTEND_TYPE , JCL_ORG_DEPTEXT , params , groupId , searchParam . getId ( ) ) ;
getExtService ( user ) . updateExtForm ( user , EXTEND_TYPE , JCL_ORG_DEPTEXT , params , groupId , searchParam . getId ( ) ) ;
//更新明细表
//更新明细表
@ -252,13 +263,15 @@ public class DepartmentServiceImpl extends Service implements DepartmentService
HasRightUtil . hasRight ( user , RIGHT_NAME , false ) ;
HasRightUtil . hasRight ( user , RIGHT_NAME , false ) ;
OrganizationAssert . notEmpty ( ids , "请选择要删除的数据" ) ;
OrganizationAssert . notEmpty ( ids , "请选择要删除的数据" ) ;
Map < String , Object > map = new HashMap < > ( ) ;
Map < String , Object > map = new HashMap < > ( ) ;
map . put ( "id" , StringUtils . join ( ids , "," ) ) ;
for ( Long id : ids ) {
for ( Long id : ids ) {
map . put ( "id" , id ) ;
new OrganizationSyncEc ( user , LogModuleNameEnum . DEPARTMENT , OperateTypeEnum . CANCELED , map ) . sync ( ) ;
// 删除拓展表、明细表
// 删除拓展表、明细表
MapperProxyFactory . getProxy ( ExtMapper . class ) . deleteByID ( "jcl_org_deptext" , id ) ;
MapperProxyFactory . getProxy ( ExtMapper . class ) . deleteByID ( "jcl_org_deptext" , id ) ;
MapperProxyFactory . getProxy ( ExtDTMapper . class ) . deleteByMainID ( "jcl_org_deptext_dt1" , id ) ;
MapperProxyFactory . getProxy ( ExtDTMapper . class ) . deleteByMainID ( "jcl_org_deptext_dt1" , id ) ;
}
}
new OrganizationRunable ( user , LogModuleNameEnum . DEPARTMENT , OperateTypeEnum . CANCELED , map ) . run ( ) ;
return getDepartmentMapper ( ) . deleteByIds ( ids ) ;
return getDepartmentMapper ( ) . deleteByIds ( ids ) ;
}
}
@ -326,7 +339,7 @@ public class DepartmentServiceImpl extends Service implements DepartmentService
if ( "0" . equals ( groupId ) ) {
if ( "0" . equals ( groupId ) ) {
groupId = GROUP_ID . toString ( ) ;
groupId = GROUP_ID . toString ( ) ;
}
}
List < ExtendTitlePO > extendTitles = getExtendTitleMapper ( ) . getTitlesByGroupID ( Long . parseLong ( groupId ) , "1" ) ;
List < ExtendTitlePO > extendTitles = getExtendTitleMapper ( ) . getTitlesByGroupID ( Long . parseLong ( groupId ) , "1" ) ;
if ( CollectionUtils . isNotEmpty ( extendTitles ) ) {
if ( CollectionUtils . isNotEmpty ( extendTitles ) ) {
for ( ExtendTitlePO extendTitle : extendTitles ) {
for ( ExtendTitlePO extendTitle : extendTitles ) {
List < SearchConditionItem > items = getExtService ( user ) . getExtForm ( user , EXTEND_TYPE + "" , GROUP_ID . equals ( Long . parseLong ( groupId ) ) ? JCL_ORG_DEPT : JCL_ORG_DEPTEXT , viewAttr , id , extendTitle . getId ( ) . toString ( ) , "" ) ;
List < SearchConditionItem > items = getExtService ( user ) . getExtForm ( user , EXTEND_TYPE + "" , GROUP_ID . equals ( Long . parseLong ( groupId ) ) ? JCL_ORG_DEPT : JCL_ORG_DEPTEXT , viewAttr , id , extendTitle . getId ( ) . toString ( ) , "" ) ;
@ -357,7 +370,7 @@ public class DepartmentServiceImpl extends Service implements DepartmentService
HasRightUtil . hasRight ( user , RIGHT_NAME , false ) ;
HasRightUtil . hasRight ( user , RIGHT_NAME , false ) ;
Map < String , Object > apiDatas = new HashMap < > ( ) ;
Map < String , Object > apiDatas = new HashMap < > ( ) ;
List < SearchConditionGroup > addGroups = new ArrayList < > ( ) ;
List < SearchConditionGroup > addGroups = new ArrayList < > ( ) ;
List < ExtendTitlePO > extendTitles = getExtendTitleMapper ( ) . getTitlesByGroupID ( GROUP_ID , "1" ) ;
List < ExtendTitlePO > extendTitles = getExtendTitleMapper ( ) . getTitlesByGroupID ( GROUP_ID , "1" ) ;
if ( CollectionUtils . isNotEmpty ( extendTitles ) ) {
if ( CollectionUtils . isNotEmpty ( extendTitles ) ) {
for ( ExtendTitlePO extendTitle : extendTitles ) {
for ( ExtendTitlePO extendTitle : extendTitles ) {
@ -416,9 +429,16 @@ public class DepartmentServiceImpl extends Service implements DepartmentService
deptById . setParentDept ( null ) ;
deptById . setParentDept ( null ) ;
// 显示顺序字段
// 显示顺序字段
deptById . setShowOrder ( maxShowOrder + i + 1 ) ;
deptById . setShowOrder ( maxShowOrder + i + 1 ) ;
insertCount + = getDepartmentMapper ( ) . insertIgnoreNull ( deptById ) ;
deptById. setCreateTime ( new Date ( ) ) ;
// 新增EC表部门
// 新增EC表部门
addEcDepartment ( deptById ) ;
Map < String , Object > syncMap = addEcDepartment ( deptById ) ;
String ecDepartmentID = Util . null2String ( syncMap . get ( "id" ) ) ;
OrganizationAssert . isTrue ( StringUtils . isNotBlank ( ecDepartmentID ) , syncMap . get ( "message" ) . toString ( ) ) ;
// 查询UUID
RecordInfo recordInfo = getSystemDataMapper ( ) . getHrmObjectByID ( HRM_DEPARTMENT , ecDepartmentID ) ;
deptById . setUuid ( recordInfo . getUuid ( ) ) ;
insertCount + = getDepartmentMapper ( ) . insertIgnoreNull ( deptById ) ;
// 新增岗位信息
// 新增岗位信息
if ( "1" . equals ( copyParam . getCopyJob ( ) ) ) {
if ( "1" . equals ( copyParam . getCopyJob ( ) ) ) {
List < JobPO > jobPOS = MapperProxyFactory . getProxy ( JobMapper . class ) . listJobsByDepartmentId ( idList . get ( i ) ) ;
List < JobPO > jobPOS = MapperProxyFactory . getProxy ( JobMapper . class ) . listJobsByDepartmentId ( idList . get ( i ) ) ;
@ -476,11 +496,12 @@ public class DepartmentServiceImpl extends Service implements DepartmentService
mergeDepartment . setParentComp ( parentComp ) ;
mergeDepartment . setParentComp ( parentComp ) ;
// 禁用
// 禁用
mergeDepartment . setForbiddenTag ( 1 ) ;
mergeDepartment . setForbiddenTag ( 1 ) ;
updateCount + = getDepartmentMapper ( ) . updateBaseDept ( mergeDepartment ) ;
// 更新EC表部门
// 更新EC表部门
updateEcDepartment ( mergeDepartment ) ;
updateEcDepartment ( mergeDepartment ) ;
// 封存EC表部门
// 封存EC表部门
cancelEcDepartment ( mergeDepartment . getId ( ) ) ;
cancelEcDepartment ( mergeDepartment . getId ( ) ) ;
updateCount = getDepartmentMapper ( ) . updateBaseDept ( mergeDepartment ) ;
// 合并后部门及子部门禁用
// 合并后部门及子部门禁用
List < DepartmentPO > deptList = getDepartmentMapper ( ) . getDeptListByPId ( mergeParam . getId ( ) ) ;
List < DepartmentPO > deptList = getDepartmentMapper ( ) . getDeptListByPId ( mergeParam . getId ( ) ) ;
forbiddenChildTag ( parentComp , deptList ) ;
forbiddenChildTag ( parentComp , deptList ) ;
@ -536,10 +557,10 @@ public class DepartmentServiceImpl extends Service implements DepartmentService
DepartmentPO parentDepartment = getDepartmentMapper ( ) . getDeptById ( department ) ;
DepartmentPO parentDepartment = getDepartmentMapper ( ) . getDeptById ( department ) ;
deptById . setParentComp ( parentDepartment . getParentComp ( ) ) ;
deptById . setParentComp ( parentDepartment . getParentComp ( ) ) ;
}
}
int updateBaseDept = getDepartmentMapper ( ) . updateBaseDept ( deptById ) ;
// 更新EC部门
// 更新EC部门
updateEcDepartment ( deptById ) ;
updateEcDepartment ( deptById ) ;
return updateBaseDept ;
return getDepartmentMapper ( ) . updateBaseDept ( deptById ) ;
}
}
/ * *
/ * *
@ -553,11 +574,12 @@ public class DepartmentServiceImpl extends Service implements DepartmentService
for ( DepartmentPO departmentPO : deptList ) {
for ( DepartmentPO departmentPO : deptList ) {
departmentPO . setParentComp ( parentComp ) ;
departmentPO . setParentComp ( parentComp ) ;
departmentPO . setForbiddenTag ( 1 ) ;
departmentPO . setForbiddenTag ( 1 ) ;
getDepartmentMapper ( ) . updateBaseDept ( departmentPO ) ;
// 更新EC表部门
// 更新EC表部门
updateEcDepartment ( departmentPO ) ;
updateEcDepartment ( departmentPO ) ;
// 封存EC表部门
// 封存EC表部门
cancelEcDepartment ( departmentPO . getId ( ) ) ;
cancelEcDepartment ( departmentPO . getId ( ) ) ;
getDepartmentMapper ( ) . updateBaseDept ( departmentPO ) ;
List < DepartmentPO > childList = getDepartmentMapper ( ) . getDeptListByPId ( departmentPO . getId ( ) ) ;
List < DepartmentPO > childList = getDepartmentMapper ( ) . getDeptListByPId ( departmentPO . getId ( ) ) ;
forbiddenChildTag ( parentComp , childList ) ;
forbiddenChildTag ( parentComp , childList ) ;
}
}
@ -689,15 +711,16 @@ public class DepartmentServiceImpl extends Service implements DepartmentService
map . put ( "dept_no" , departmentPO . getDeptNo ( ) ) ;
map . put ( "dept_no" , departmentPO . getDeptNo ( ) ) ;
map . put ( "dept_principal" , departmentPO . getDeptPrincipal ( ) ) ;
map . put ( "dept_principal" , departmentPO . getDeptPrincipal ( ) ) ;
map . put ( "id" , departmentPO . getId ( ) ) ;
map . put ( "id" , departmentPO . getId ( ) ) ;
new Thread( new OrganizationRunable ( user , LogModuleNameEnum . DEPARTMENT , OperateTypeEnum . UPDATE , map ) ). start ( ) ;
new OrganizationSyncEc ( user , LogModuleNameEnum . DEPARTMENT , OperateTypeEnum . UPDATE , map ) .sync ( ) ;
}
}
/ * *
/ * *
* 新 增 EC 表 部 门
* 新 增 EC 表 部 门
*
*
* @param departmentPO
* @param departmentPO
* @return
* /
* /
private void addEcDepartment ( DepartmentPO departmentPO ) {
private Map < String , Object > addEcDepartment ( DepartmentPO departmentPO ) {
Map < String , Object > map = new HashMap < > ( ) ;
Map < String , Object > map = new HashMap < > ( ) ;
map . put ( "dept_name_short" , departmentPO . getDeptNameShort ( ) ) ;
map . put ( "dept_name_short" , departmentPO . getDeptNameShort ( ) ) ;
map . put ( "dept_name" , departmentPO . getDeptName ( ) ) ;
map . put ( "dept_name" , departmentPO . getDeptName ( ) ) ;
@ -707,7 +730,7 @@ public class DepartmentServiceImpl extends Service implements DepartmentService
map . put ( "dept_no" , departmentPO . getDeptNo ( ) ) ;
map . put ( "dept_no" , departmentPO . getDeptNo ( ) ) ;
map . put ( "dept_principal" , departmentPO . getDeptPrincipal ( ) ) ;
map . put ( "dept_principal" , departmentPO . getDeptPrincipal ( ) ) ;
map . put ( "id" , departmentPO . getId ( ) ) ;
map . put ( "id" , departmentPO . getId ( ) ) ;
new Thread ( new OrganizationRunable ( user , LogModuleNameEnum . DEPARTMENT , OperateTypeEnum . ADD , map ) ). start ( ) ;
return new OrganizationSyncEc ( user , LogModuleNameEnum . DEPARTMENT , OperateTypeEnum . ADD , map ) .sync ( ) ;
}
}
/ * *
/ * *
@ -718,7 +741,8 @@ public class DepartmentServiceImpl extends Service implements DepartmentService
private void cancelEcDepartment ( Long id ) {
private void cancelEcDepartment ( Long id ) {
Map < String , Object > map = new HashMap < > ( ) ;
Map < String , Object > map = new HashMap < > ( ) ;
map . put ( "id" , id ) ;
map . put ( "id" , id ) ;
new Thread ( new OrganizationRunable ( user , LogModuleNameEnum . DEPARTMENT , OperateTypeEnum . CANCELED , map ) ) . start ( ) ;
map . put ( "forbiddenTag" , 1 ) ;
new OrganizationSyncEc ( user , LogModuleNameEnum . DEPARTMENT , OperateTypeEnum . CANCELED , map ) . sync ( ) ;
}
}
private void addDisableIds ( Set < Long > disableIds , List < DepartmentPO > deptListByPId ) {
private void addDisableIds ( Set < Long > disableIds , List < DepartmentPO > deptListByPId ) {