|
|
@ -2,13 +2,11 @@ package com.ccsens.carbasics.service; |
|
|
|
|
|
|
|
import cn.hutool.core.lang.Snowflake; |
|
|
|
import cn.hutool.core.util.ObjectUtil; |
|
|
|
import com.ccsens.carbasics.bean.dto.PatientDto; |
|
|
|
import com.ccsens.carbasics.bean.dto.ProjectDto; |
|
|
|
import com.ccsens.carbasics.bean.dto.QuestionnaireDto; |
|
|
|
import com.ccsens.carbasics.bean.po.*; |
|
|
|
import com.ccsens.carbasics.persist.dao.OrganizationDao; |
|
|
|
import com.ccsens.carbasics.persist.dao.OrganizationDepartmentDao; |
|
|
|
import com.ccsens.carbasics.persist.dao.OrganizationMemberDao; |
|
|
|
import com.ccsens.carbasics.persist.dao.OrganizationProjectDao; |
|
|
|
import com.ccsens.carbasics.persist.dao.*; |
|
|
|
import com.ccsens.carbasics.persist.mapper.OrganizationMemberPositionMapper; |
|
|
|
import com.ccsens.carbasics.util.Constant; |
|
|
|
import com.ccsens.common.bean.dto.CMemberDto; |
|
|
@ -56,8 +54,9 @@ public class AsyncService implements IAsyncService { |
|
|
|
@Resource |
|
|
|
private OrganizationProjectDao organizationProjectDao; |
|
|
|
@Resource |
|
|
|
private OrganizationMemberPositionMapper organizationMemberPositionMapper; |
|
|
|
|
|
|
|
private OrganizationMemberPositionDao organizationMemberPositionDao; |
|
|
|
@Resource |
|
|
|
private IFirstAidService firstAidService; |
|
|
|
@Resource |
|
|
|
private RedisUtil redisUtil; |
|
|
|
|
|
|
@ -91,6 +90,7 @@ public class AsyncService implements IAsyncService { |
|
|
|
newOrganization.setId(snowflake.nextId()); |
|
|
|
newOrganization.setName(param.getHospitalName()); |
|
|
|
newOrganization.setLevel(param.getHospitalLevel()); |
|
|
|
newOrganization.setOrganizationType(Constant.OrganizationType.HOSPITAL.status); |
|
|
|
organizationDao.insertSelective(newOrganization); |
|
|
|
//创建部门
|
|
|
|
OrganizationDepartment department = new OrganizationDepartment(); |
|
|
@ -100,22 +100,44 @@ public class AsyncService implements IAsyncService { |
|
|
|
department.setOrganizationId(newOrganization.getId()); |
|
|
|
departmentDao.insertSelective(department); |
|
|
|
//创建用户
|
|
|
|
OrganizationMember member = new OrganizationMember(); |
|
|
|
member.setId(snowflake.nextId()); |
|
|
|
member.setUserId(userId); |
|
|
|
member.setName(param.getName()); |
|
|
|
member.setContact(param.getPhone()); |
|
|
|
organizationMemberDao.insertSelective(member); |
|
|
|
//查询用户是否存在
|
|
|
|
OrganizationMember organizationMember = organizationMemberDao.queryExistByUserId(userId); |
|
|
|
Long memberId = 0L; |
|
|
|
if (ObjectUtil.isNull(organizationMember)) { |
|
|
|
OrganizationMember member = new OrganizationMember(); |
|
|
|
member.setId(snowflake.nextId()); |
|
|
|
member.setUserId(userId); |
|
|
|
member.setName(param.getName()); |
|
|
|
member.setContact(param.getPhone()); |
|
|
|
organizationMemberDao.insertSelective(member); |
|
|
|
memberId = member.getId(); |
|
|
|
}else { |
|
|
|
memberId = organizationMember.getId(); |
|
|
|
} |
|
|
|
//添加成员职位
|
|
|
|
OrganizationMemberPosition position = new OrganizationMemberPosition(); |
|
|
|
position.setId(snowflake.nextId()); |
|
|
|
position.setPositionId(param.getPositionId()); |
|
|
|
position.setDepartmentId(department.getId()); |
|
|
|
organizationMemberPositionMapper.insertSelective(position); |
|
|
|
//判断成员职位是否存在
|
|
|
|
Long isExist = organizationMemberPositionDao.queryByExistByMember(memberId,param.getPositionId(),department.getId()); |
|
|
|
if (isExist == 0) { |
|
|
|
OrganizationMemberPosition position = new OrganizationMemberPosition(); |
|
|
|
position.setId(snowflake.nextId()); |
|
|
|
position.setPositionId(param.getPositionId()); |
|
|
|
position.setDepartmentId(department.getId()); |
|
|
|
position.setMemberId(memberId); |
|
|
|
organizationMemberPositionDao.insertSelective(position); |
|
|
|
} |
|
|
|
//创建项目
|
|
|
|
createProject(newOrganization.getId(),param,userId); |
|
|
|
PatientDto.SavePatient savePatient = new PatientDto.SavePatient(); |
|
|
|
firstAidService.getFirstAid(savePatient,userId,(byte)1,newOrganization.getId()); |
|
|
|
}else { |
|
|
|
OrganizationDepartment department = departmentDao.queryByOrganization(organization.getId(),departmentCode); |
|
|
|
//查询项目机构是否绑定项目
|
|
|
|
OrganizationProject project = organizationProjectDao.queryByOrganizationId(organization.getId()); |
|
|
|
if (ObjectUtil.isNull(project)) { |
|
|
|
createProject(organization.getId(),param,userId); |
|
|
|
PatientDto.SavePatient savePatient = new PatientDto.SavePatient(); |
|
|
|
firstAidService.getFirstAid(savePatient,userId,(byte)1,organization.getId()); |
|
|
|
} |
|
|
|
if (ObjectUtil.isNull(department)) { |
|
|
|
//创建部门
|
|
|
|
OrganizationDepartment newDepartment = new OrganizationDepartment(); |
|
|
@ -124,36 +146,59 @@ public class AsyncService implements IAsyncService { |
|
|
|
newDepartment.setName(param.getDepartments()); |
|
|
|
newDepartment.setOrganizationId(organization.getId()); |
|
|
|
departmentDao.insertSelective(newDepartment); |
|
|
|
//添加人员
|
|
|
|
OrganizationMember member = new OrganizationMember(); |
|
|
|
member.setId(snowflake.nextId()); |
|
|
|
member.setUserId(userId); |
|
|
|
member.setName(param.getName()); |
|
|
|
member.setContact(param.getPhone()); |
|
|
|
organizationMemberDao.insertSelective(member); |
|
|
|
//创建用户
|
|
|
|
//查询用户是否存在
|
|
|
|
OrganizationMember organizationMember = organizationMemberDao.queryExistByUserId(userId); |
|
|
|
Long memberId = 0L; |
|
|
|
if (ObjectUtil.isNull(organizationMember)) { |
|
|
|
OrganizationMember member = new OrganizationMember(); |
|
|
|
member.setId(snowflake.nextId()); |
|
|
|
member.setUserId(userId); |
|
|
|
member.setName(param.getName()); |
|
|
|
member.setContact(param.getPhone()); |
|
|
|
organizationMemberDao.insertSelective(member); |
|
|
|
memberId = member.getId(); |
|
|
|
}else { |
|
|
|
memberId = organizationMember.getId(); |
|
|
|
} |
|
|
|
//添加成员职位
|
|
|
|
OrganizationMemberPosition position = new OrganizationMemberPosition(); |
|
|
|
position.setId(snowflake.nextId()); |
|
|
|
position.setPositionId(param.getPositionId()); |
|
|
|
position.setDepartmentId(department.getId()); |
|
|
|
organizationMemberPositionMapper.insertSelective(position); |
|
|
|
//创建项目
|
|
|
|
createProject(organization.getId(),param,userId); |
|
|
|
//判断成员职位是否存在
|
|
|
|
Long isExist = organizationMemberPositionDao.queryByExistByMember(memberId,param.getPositionId(),department.getId()); |
|
|
|
if (isExist == 0) { |
|
|
|
OrganizationMemberPosition position = new OrganizationMemberPosition(); |
|
|
|
position.setId(snowflake.nextId()); |
|
|
|
position.setPositionId(param.getPositionId()); |
|
|
|
position.setDepartmentId(department.getId()); |
|
|
|
position.setMemberId(memberId); |
|
|
|
organizationMemberPositionDao.insertSelective(position); |
|
|
|
} |
|
|
|
}else { |
|
|
|
OrganizationMember member = new OrganizationMember(); |
|
|
|
member.setId(snowflake.nextId()); |
|
|
|
member.setUserId(userId); |
|
|
|
member.setName(param.getName()); |
|
|
|
member.setContact(param.getPhone()); |
|
|
|
organizationMemberDao.insertSelective(member); |
|
|
|
//创建用户
|
|
|
|
//查询用户是否存在
|
|
|
|
OrganizationMember organizationMember = organizationMemberDao.queryExistByUserId(userId); |
|
|
|
Long memberId = 0L; |
|
|
|
if (ObjectUtil.isNull(organizationMember)) { |
|
|
|
OrganizationMember member = new OrganizationMember(); |
|
|
|
member.setId(snowflake.nextId()); |
|
|
|
member.setUserId(userId); |
|
|
|
member.setName(param.getName()); |
|
|
|
member.setContact(param.getPhone()); |
|
|
|
organizationMemberDao.insertSelective(member); |
|
|
|
memberId = member.getId(); |
|
|
|
}else { |
|
|
|
memberId = organizationMember.getId(); |
|
|
|
} |
|
|
|
//添加成员职位
|
|
|
|
OrganizationMemberPosition position = new OrganizationMemberPosition(); |
|
|
|
position.setId(snowflake.nextId()); |
|
|
|
position.setPositionId(param.getPositionId()); |
|
|
|
position.setDepartmentId(department.getId()); |
|
|
|
organizationMemberPositionMapper.insertSelective(position); |
|
|
|
//创建项目
|
|
|
|
createProject(organization.getId(),param,userId); |
|
|
|
//判断成员职位是否存在
|
|
|
|
Long isExist = organizationMemberPositionDao.queryByExistByMember(memberId,param.getPositionId(),department.getId()); |
|
|
|
if (isExist == 0) { |
|
|
|
OrganizationMemberPosition position = new OrganizationMemberPosition(); |
|
|
|
position.setId(snowflake.nextId()); |
|
|
|
position.setPositionId(param.getPositionId()); |
|
|
|
position.setDepartmentId(department.getId()); |
|
|
|
position.setMemberId(memberId); |
|
|
|
organizationMemberPositionDao.insertSelective(position); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
@ -176,6 +221,12 @@ public class AsyncService implements IAsyncService { |
|
|
|
saveMember.setPhone(param.getPhone()); |
|
|
|
saveMember.setUserId(userId); |
|
|
|
memberService.addMemberForProject(saveMember); |
|
|
|
//绑定机构和项目
|
|
|
|
OrganizationProject organizationProject = new OrganizationProject(); |
|
|
|
organizationProject.setId(snowflake.nextId()); |
|
|
|
organizationProject.setOrganizationId(organizationId); |
|
|
|
organizationProject.setProjectId(copyProjectInfo.getId()); |
|
|
|
organizationProjectDao.insertSelective(organizationProject); |
|
|
|
}else { |
|
|
|
CMemberDto.SaveMember saveMember = new CMemberDto.SaveMember(); |
|
|
|
saveMember.setProjectId(project.getProjectId()); |
|
|
|