|
@@ -6,6 +6,7 @@ import com.jeeplus.common.service.TreeService;
|
|
import com.jeeplus.common.utils.StringUtils;
|
|
import com.jeeplus.common.utils.StringUtils;
|
|
import com.jeeplus.modules.areaStaff.dao.AreaStaffDao;
|
|
import com.jeeplus.modules.areaStaff.dao.AreaStaffDao;
|
|
import com.jeeplus.modules.areaStaff.entity.AreaStaffInfo;
|
|
import com.jeeplus.modules.areaStaff.entity.AreaStaffInfo;
|
|
|
|
+import com.jeeplus.modules.areaStaff.entity.AreaStaffUserInfo;
|
|
import com.jeeplus.modules.signatureManagement.electronicSignature.entity.DistrictDirectorApplication;
|
|
import com.jeeplus.modules.signatureManagement.electronicSignature.entity.DistrictDirectorApplication;
|
|
import com.jeeplus.modules.sys.entity.Area;
|
|
import com.jeeplus.modules.sys.entity.Area;
|
|
import com.jeeplus.modules.sys.entity.Office;
|
|
import com.jeeplus.modules.sys.entity.Office;
|
|
@@ -74,6 +75,17 @@ public class AreaStaffService extends TreeService<AreaStaffDao, AreaStaffInfo>
|
|
projectAccessoryInfoList.addAll(0,this.fingIds(parentIdSet,"0"));
|
|
projectAccessoryInfoList.addAll(0,this.fingIds(parentIdSet,"0"));
|
|
projectAccessoryInfoList.addAll(0,this.fingIds(parentIdSet,UserUtils.getSelectCompany().getId()));
|
|
projectAccessoryInfoList.addAll(0,this.fingIds(parentIdSet,UserUtils.getSelectCompany().getId()));
|
|
}
|
|
}
|
|
|
|
+ //查询所有人员信息
|
|
|
|
+ List<String> idList = Lists.newArrayList();
|
|
|
|
+ for (AreaStaffInfo areaStaffInfo : list) {
|
|
|
|
+ idList.add(areaStaffInfo.getId());
|
|
|
|
+ }
|
|
|
|
+ //根据id查询人员信息
|
|
|
|
+ List<AreaStaffInfo> userListByIdList = dao.getUserListByIdList(idList);
|
|
|
|
+
|
|
|
|
+ if (userListByIdList!=null && userListByIdList.size()!=0){
|
|
|
|
+ projectAccessoryInfoList.addAll(userListByIdList);
|
|
|
|
+ }
|
|
sortList(listReturn,projectAccessoryInfoList,"0",true);
|
|
sortList(listReturn,projectAccessoryInfoList,"0",true);
|
|
return listReturn;
|
|
return listReturn;
|
|
}
|
|
}
|
|
@@ -139,7 +151,31 @@ public class AreaStaffService extends TreeService<AreaStaffDao, AreaStaffInfo>
|
|
areaStaffInfo.setStandardDetail(areaStaffInfo.getOffice().getId());
|
|
areaStaffInfo.setStandardDetail(areaStaffInfo.getOffice().getId());
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ //判定是否填写管理地区和地区责任人
|
|
|
|
+ AreaStaffInfo secondAreaStaffInfo = new AreaStaffInfo();
|
|
|
|
+ Boolean secondFlag = false;
|
|
|
|
+ if(StringUtils.isNotBlank(areaStaffInfo.getAreaManagement()) && StringUtils.isNotBlank(areaStaffInfo.getAreaLeaderId())){
|
|
|
|
+ secondAreaStaffInfo.setAreaManagement(areaStaffInfo.getAreaManagement());
|
|
|
|
+ secondAreaStaffInfo.setAreaLeaderId(areaStaffInfo.getAreaLeaderId());
|
|
|
|
+ areaStaffInfo.setAreaManagement("");
|
|
|
|
+ areaStaffInfo.setAreaLeaderId("");
|
|
|
|
+ secondFlag = true;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ //根据所选部门查询是否已经存在
|
|
|
|
+ AreaStaffInfo officeAreaStaffInfo = dao.getOfficeInfo(areaStaffInfo.getOffice().getId());
|
|
|
|
+ if(null != officeAreaStaffInfo){
|
|
|
|
+ areaStaffInfo.setId(officeAreaStaffInfo.getId());
|
|
|
|
+ }
|
|
super.save(areaStaffInfo);
|
|
super.save(areaStaffInfo);
|
|
|
|
+
|
|
|
|
+ if(secondFlag){
|
|
|
|
+ secondAreaStaffInfo.setParent(areaStaffInfo);
|
|
|
|
+ secondAreaStaffInfo.setOffice(areaStaffInfo.getOffice());
|
|
|
|
+ secondAreaStaffInfo.setHierarchy("2");
|
|
|
|
+ this.secondSave(secondAreaStaffInfo);
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -175,7 +211,7 @@ public class AreaStaffService extends TreeService<AreaStaffDao, AreaStaffInfo>
|
|
//对数据进行保存
|
|
//对数据进行保存
|
|
super.save(areaStaffInfo);
|
|
super.save(areaStaffInfo);
|
|
//添加地区负责人和区域员工分支
|
|
//添加地区负责人和区域员工分支
|
|
- AreaStaffInfo areaMasterInfo = new AreaStaffInfo();
|
|
|
|
|
|
+ /*AreaStaffInfo areaMasterInfo = new AreaStaffInfo();
|
|
areaMasterInfo.setParent(areaStaffInfo);
|
|
areaMasterInfo.setParent(areaStaffInfo);
|
|
if(StringUtils.isNotBlank(areaStaffInfo.getHierarchy())){
|
|
if(StringUtils.isNotBlank(areaStaffInfo.getHierarchy())){
|
|
areaMasterInfo.setHierarchy(String.valueOf(Integer.parseInt(areaStaffInfo.getHierarchy()) + 1));
|
|
areaMasterInfo.setHierarchy(String.valueOf(Integer.parseInt(areaStaffInfo.getHierarchy()) + 1));
|
|
@@ -192,10 +228,10 @@ public class AreaStaffService extends TreeService<AreaStaffDao, AreaStaffInfo>
|
|
if(masterInfoList.size()==0){
|
|
if(masterInfoList.size()==0){
|
|
//对数据进行保存
|
|
//对数据进行保存
|
|
super.save(areaMasterInfo);
|
|
super.save(areaMasterInfo);
|
|
- }
|
|
|
|
|
|
+ }*/
|
|
|
|
|
|
//添加地区负责人和区域员工分支
|
|
//添加地区负责人和区域员工分支
|
|
- AreaStaffInfo areaGeneralInfo = new AreaStaffInfo();
|
|
|
|
|
|
+ /*AreaStaffInfo areaGeneralInfo = new AreaStaffInfo();
|
|
areaGeneralInfo.setParent(areaStaffInfo);
|
|
areaGeneralInfo.setParent(areaStaffInfo);
|
|
if(StringUtils.isNotBlank(areaStaffInfo.getHierarchy())){
|
|
if(StringUtils.isNotBlank(areaStaffInfo.getHierarchy())){
|
|
areaGeneralInfo.setHierarchy(String.valueOf(Integer.parseInt(areaStaffInfo.getHierarchy()) + 1));
|
|
areaGeneralInfo.setHierarchy(String.valueOf(Integer.parseInt(areaStaffInfo.getHierarchy()) + 1));
|
|
@@ -212,7 +248,7 @@ public class AreaStaffService extends TreeService<AreaStaffDao, AreaStaffInfo>
|
|
if(generalInfoList.size()==0){
|
|
if(generalInfoList.size()==0){
|
|
//对数据进行保存
|
|
//对数据进行保存
|
|
super.save(areaGeneralInfo);
|
|
super.save(areaGeneralInfo);
|
|
- }
|
|
|
|
|
|
+ }*/
|
|
}
|
|
}
|
|
|
|
|
|
@Transactional(readOnly = false)
|
|
@Transactional(readOnly = false)
|
|
@@ -350,8 +386,23 @@ public class AreaStaffService extends TreeService<AreaStaffDao, AreaStaffInfo>
|
|
@Transactional(readOnly = false)
|
|
@Transactional(readOnly = false)
|
|
public User saveUser(AreaStaffInfo areaStaffInfo,User user){
|
|
public User saveUser(AreaStaffInfo areaStaffInfo,User user){
|
|
areaStaffInfo = this.get(areaStaffInfo.getId());
|
|
areaStaffInfo = this.get(areaStaffInfo.getId());
|
|
|
|
+
|
|
|
|
+ AreaStaffUserInfo areaStaffUserInfo = new AreaStaffUserInfo();
|
|
|
|
+ areaStaffUserInfo.setAreaStaffId(areaStaffInfo.getId());
|
|
|
|
+ areaStaffUserInfo.setUserId(user.getId());
|
|
|
|
+ //判定该节点下是否存在该成员信息
|
|
|
|
+ Integer existsUserCount = dao.getExistsUser(areaStaffUserInfo);
|
|
|
|
+ if (existsUserCount>0){
|
|
|
|
+ //该节点下存在人员信息,无需进行添加
|
|
|
|
+
|
|
|
|
+ }else{
|
|
|
|
+ areaStaffUserInfo.preInsert();
|
|
|
|
+ dao.insertAreaStaffUser(areaStaffUserInfo);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
//查询节点下是否存在该人员信息
|
|
//查询节点下是否存在该人员信息
|
|
- areaStaffInfo.setStandardDetail(user.getId());
|
|
|
|
|
|
+ /*areaStaffInfo.setStandardDetail(user.getId());
|
|
List<User> userByParentId = dao.getUserByParentIdAndStandardDetail(areaStaffInfo);
|
|
List<User> userByParentId = dao.getUserByParentIdAndStandardDetail(areaStaffInfo);
|
|
if(userByParentId.size()==0){
|
|
if(userByParentId.size()==0){
|
|
//添加地区负责人和区域员工分支
|
|
//添加地区负责人和区域员工分支
|
|
@@ -368,7 +419,7 @@ public class AreaStaffService extends TreeService<AreaStaffDao, AreaStaffInfo>
|
|
|
|
|
|
//对数据进行保存
|
|
//对数据进行保存
|
|
super.save(areaMasterInfo);
|
|
super.save(areaMasterInfo);
|
|
- }
|
|
|
|
|
|
+ }*/
|
|
|
|
|
|
return user;
|
|
return user;
|
|
}
|
|
}
|
|
@@ -394,7 +445,6 @@ public class AreaStaffService extends TreeService<AreaStaffDao, AreaStaffInfo>
|
|
Map<String,Object> map = new HashMap<>();
|
|
Map<String,Object> map = new HashMap<>();
|
|
//判定是否存在部门信息,若存在则先验证该部门是否存在在表中
|
|
//判定是否存在部门信息,若存在则先验证该部门是否存在在表中
|
|
if(null ==directorApplication.getOffice() || StringUtils.isBlank(directorApplication.getOffice().getId())
|
|
if(null ==directorApplication.getOffice() || StringUtils.isBlank(directorApplication.getOffice().getId())
|
|
- || null ==directorApplication.getArea() || StringUtils.isBlank(directorApplication.getArea().getId())
|
|
|
|
|| null ==directorApplication.getCreateBy() || StringUtils.isBlank(directorApplication.getCreateBy().getId())){
|
|
|| null ==directorApplication.getCreateBy() || StringUtils.isBlank(directorApplication.getCreateBy().getId())){
|
|
map.put("success",false);
|
|
map.put("success",false);
|
|
map.put("message","申请人、申请部门或申请地区错误,无法添加地区管理员");
|
|
map.put("message","申请人、申请部门或申请地区错误,无法添加地区管理员");
|
|
@@ -412,44 +462,14 @@ public class AreaStaffService extends TreeService<AreaStaffDao, AreaStaffInfo>
|
|
AreaStaffInfo officeInfo = dao.getOfficeInfo(directorApplication.getOffice().getId());
|
|
AreaStaffInfo officeInfo = dao.getOfficeInfo(directorApplication.getOffice().getId());
|
|
if(null != officeInfo){
|
|
if(null != officeInfo){
|
|
//如果部门不为空,则验证该部门下 的地区是否存在
|
|
//如果部门不为空,则验证该部门下 的地区是否存在
|
|
- List<AreaStaffInfo> areaInfo = dao.getAreaStaffInfoByParentIdAndStandardDetail(directorApplication.getArea().getId(), officeInfo.getId());
|
|
|
|
|
|
+ List<AreaStaffInfo> areaInfo = dao.getAreaStaffInfoByParentIdAndAreaManagement(directorApplication.getAreaDirector(), officeInfo.getId());
|
|
if(null != areaInfo && areaInfo.size()>0){
|
|
if(null != areaInfo && areaInfo.size()>0){
|
|
- //如果地区不为空,则查询地区下是否存在地区负责人项,若存在,则直接添加人员信息
|
|
|
|
- List<AreaStaffInfo> masterType = dao.getAreaStaffInfoByParentIdAndType("master", areaInfo.get(0).getId());
|
|
|
|
- if(null != masterType && masterType.size()>0){
|
|
|
|
- //查询该地区下是否已经存在该人员信息
|
|
|
|
- //如果地区负责人标签存在则直接添加人员信息
|
|
|
|
- List<AreaStaffInfo> userList = dao.getAreaStaffInfoByParentIdAndStandardDetail(user.getId(), masterType.get(0).getId());
|
|
|
|
- if(userList.size() == 0){
|
|
|
|
- this.saveUser(masterType.get(0),user);
|
|
|
|
- }else{
|
|
|
|
- map.put("success",false);
|
|
|
|
- map.put("message","申请人已经是该地区负责人,无法重复添加");
|
|
|
|
- return map;
|
|
|
|
- }
|
|
|
|
- }else{
|
|
|
|
- //如果地区负责人标签不存在,则需添加标签后再添加人员信息
|
|
|
|
- //添加地区负责人和区域员工分支
|
|
|
|
- AreaStaffInfo areaMasterInfo = this.saveMasterType(areaInfo.get(0));
|
|
|
|
- this.saveUser(areaMasterInfo,user);
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- List<AreaStaffInfo> staffType = dao.getAreaStaffInfoByParentIdAndType("staff", areaInfo.get(0).getId());
|
|
|
|
-
|
|
|
|
- if(null != staffType && staffType.size()>0){
|
|
|
|
-
|
|
|
|
- }else{
|
|
|
|
- //如果地区员工标签不存在,则需添加标签
|
|
|
|
- this.saveStaffType(areaInfo.get(0));
|
|
|
|
- }
|
|
|
|
|
|
+ map.put("success",false);
|
|
|
|
+ map.put("message","该地区已存在,无法重复添加");
|
|
|
|
+ return map;
|
|
}else{
|
|
}else{
|
|
//如果地区为空则进行地区添加和地区负责人添加
|
|
//如果地区为空则进行地区添加和地区负责人添加
|
|
- AreaStaffInfo areaStaffInfo = this.saveAreaType(officeInfo, directorApplication.getArea().getId());
|
|
|
|
- //添加地区负责人和区域员工分支
|
|
|
|
- AreaStaffInfo areaMasterInfo = this.saveMasterType(areaStaffInfo);
|
|
|
|
- //如果地区员工标签不存在,则需添加标签
|
|
|
|
- this.saveStaffType(areaStaffInfo);
|
|
|
|
- this.saveUser(areaMasterInfo,user);
|
|
|
|
|
|
+ AreaStaffInfo areaStaffInfo = this.saveAreaType(officeInfo, directorApplication.getArea().getId(),directorApplication);
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
@@ -457,12 +477,7 @@ public class AreaStaffService extends TreeService<AreaStaffDao, AreaStaffInfo>
|
|
//如果部门不存在,则进行新增部门信息,区域信息,地区负责人信息
|
|
//如果部门不存在,则进行新增部门信息,区域信息,地区负责人信息
|
|
AreaStaffInfo areaOfficeInfo = this.saveOfficeType(directorApplication.getOffice().getId());
|
|
AreaStaffInfo areaOfficeInfo = this.saveOfficeType(directorApplication.getOffice().getId());
|
|
//如果地区为空则进行地区添加和地区负责人添加
|
|
//如果地区为空则进行地区添加和地区负责人添加
|
|
- AreaStaffInfo areaStaffInfo = this.saveAreaType(areaOfficeInfo, directorApplication.getArea().getId());
|
|
|
|
- //添加地区负责人和区域员工分支
|
|
|
|
- AreaStaffInfo areaMasterInfo = this.saveMasterType(areaStaffInfo);
|
|
|
|
- //如果地区员工标签不存在,则需添加标签
|
|
|
|
- this.saveStaffType(areaStaffInfo);
|
|
|
|
- this.saveUser(areaMasterInfo,user);
|
|
|
|
|
|
+ AreaStaffInfo areaStaffInfo = this.saveAreaType(areaOfficeInfo, directorApplication.getArea().getId(),directorApplication);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
map.put("success",true);
|
|
map.put("success",true);
|
|
@@ -471,55 +486,12 @@ public class AreaStaffService extends TreeService<AreaStaffDao, AreaStaffInfo>
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|
|
- * 添加地区负责人层级参数
|
|
|
|
- * @param areaInfo
|
|
|
|
- * @return
|
|
|
|
- */
|
|
|
|
- public AreaStaffInfo saveMasterType(AreaStaffInfo areaInfo){
|
|
|
|
- AreaStaffInfo areaMasterInfo = new AreaStaffInfo();
|
|
|
|
- areaMasterInfo.setParent(areaInfo);
|
|
|
|
- if(StringUtils.isNotBlank(areaInfo.getHierarchy())){
|
|
|
|
- areaMasterInfo.setHierarchy(String.valueOf(Integer.parseInt(areaInfo.getHierarchy()) + 1));
|
|
|
|
- }else{
|
|
|
|
- areaMasterInfo.setHierarchy("3");
|
|
|
|
- }
|
|
|
|
- areaMasterInfo.setStandardDetail("地区负责人");
|
|
|
|
- areaMasterInfo.setType("master");
|
|
|
|
- areaMasterInfo.setOrderNum(areaMasterInfo.getParent().getOrderNum() + "01");
|
|
|
|
- areaMasterInfo.setCompanyId(UserUtils.getSelectCompany().getId());
|
|
|
|
- super.save(areaMasterInfo);
|
|
|
|
- return areaMasterInfo;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
-
|
|
|
|
- /**
|
|
|
|
- * 添加地区负责人层级参数
|
|
|
|
- * @param areaInfo
|
|
|
|
- * @return
|
|
|
|
- */
|
|
|
|
- public AreaStaffInfo saveStaffType(AreaStaffInfo areaInfo){
|
|
|
|
- AreaStaffInfo areaMasterInfo = new AreaStaffInfo();
|
|
|
|
- areaMasterInfo.setParent(areaInfo);
|
|
|
|
- if(StringUtils.isNotBlank(areaInfo.getHierarchy())){
|
|
|
|
- areaMasterInfo.setHierarchy(String.valueOf(Integer.parseInt(areaInfo.getHierarchy()) + 1));
|
|
|
|
- }else{
|
|
|
|
- areaMasterInfo.setHierarchy("3");
|
|
|
|
- }
|
|
|
|
- areaMasterInfo.setStandardDetail("地区员工");
|
|
|
|
- areaMasterInfo.setType("staff");
|
|
|
|
- areaMasterInfo.setOrderNum(areaMasterInfo.getParent().getOrderNum() + "01");
|
|
|
|
- areaMasterInfo.setCompanyId(UserUtils.getSelectCompany().getId());
|
|
|
|
- super.save(areaMasterInfo);
|
|
|
|
- return areaMasterInfo;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- /**
|
|
|
|
* 添加地区信息参数
|
|
* 添加地区信息参数
|
|
* @param officeInfo
|
|
* @param officeInfo
|
|
* @param areaId
|
|
* @param areaId
|
|
* @return
|
|
* @return
|
|
*/
|
|
*/
|
|
- public AreaStaffInfo saveAreaType(AreaStaffInfo officeInfo, String areaId){
|
|
|
|
|
|
+ public AreaStaffInfo saveAreaType(AreaStaffInfo officeInfo, String areaId,DistrictDirectorApplication directorApplication){
|
|
AreaStaffInfo areaMasterInfo = new AreaStaffInfo();
|
|
AreaStaffInfo areaMasterInfo = new AreaStaffInfo();
|
|
areaMasterInfo.setParent(officeInfo);
|
|
areaMasterInfo.setParent(officeInfo);
|
|
if(StringUtils.isNotBlank(officeInfo.getHierarchy())){
|
|
if(StringUtils.isNotBlank(officeInfo.getHierarchy())){
|
|
@@ -530,6 +502,8 @@ public class AreaStaffService extends TreeService<AreaStaffDao, AreaStaffInfo>
|
|
areaMasterInfo.setStandardDetail(areaId);
|
|
areaMasterInfo.setStandardDetail(areaId);
|
|
areaMasterInfo.setOrderNum(areaMasterInfo.getParent().getOrderNum() + "01");
|
|
areaMasterInfo.setOrderNum(areaMasterInfo.getParent().getOrderNum() + "01");
|
|
areaMasterInfo.setCompanyId(UserUtils.getSelectCompany().getId());
|
|
areaMasterInfo.setCompanyId(UserUtils.getSelectCompany().getId());
|
|
|
|
+ areaMasterInfo.setAreaLeaderId(directorApplication.getCreateBy().getId());
|
|
|
|
+ areaMasterInfo.setAreaManagement(directorApplication.getAreaDirector());
|
|
super.save(areaMasterInfo);
|
|
super.save(areaMasterInfo);
|
|
return areaMasterInfo;
|
|
return areaMasterInfo;
|
|
}
|
|
}
|