@ -5,7 +5,6 @@ import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.lang.Snowflake ;
import cn.hutool.core.util.ObjectUtil ;
import cn.hutool.core.util.StrUtil ;
import com.ccsens.carbasics.bean.dto.PatientDto ;
import com.ccsens.carbasics.bean.dto.QuestionnaireDto ;
import com.ccsens.carbasics.bean.po.* ;
import com.ccsens.carbasics.bean.vo.ButtonVO ;
@ -13,19 +12,17 @@ import com.ccsens.carbasics.bean.vo.CodeVo;
import com.ccsens.carbasics.bean.vo.OrganizationMemberVo ;
import com.ccsens.carbasics.bean.vo.QuestionnaireVo ;
import com.ccsens.carbasics.persist.dao.* ;
import com.ccsens.carbasics.persist.mapper.OrganizationDepartmentTemplateMapper ;
import com.ccsens.carbasics.persist.mapper.OrganizationPositionTypeRelationMapper ;
import com.ccsens.carbasics.util.Constant ;
import com.ccsens.carbasics.util.DefaultCodeError ;
import com.ccsens.cloudutil.bean.tall.dto.ProjectDto ;
import com.ccsens.cloudutil.feign.Tall3FeignClient ;
import com.ccsens.common.bean.dto.CMemberDto ;
import com.ccsens.common.bean.dto.CProjectDto ;
import com.ccsens.common.bean.vo.CProjectVo ;
import com.ccsens.common.service.IMemberService ;
import com.ccsens.common.service.IProjectService ;
import com.ccsens.util.PoiUtil ;
import com.ccsens.util.PropUtil ;
import com.ccsens.util.RedisUtil ;
import com.ccsens.util.exception.BaseException ;
import com.itextpdf.text.pdf.PdfDiv ;
import lombok.extern.slf4j.Slf4j ;
import org.apache.poi.ss.usermodel.Workbook ;
import org.apache.poi.xssf.usermodel.XSSFWorkbook ;
@ -36,6 +33,7 @@ import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource ;
import java.io.IOException ;
import java.util.* ;
import java.util.stream.Collectors ;
@Slf4j
@ -56,8 +54,6 @@ public class QuestionnaireService implements IQuestionnaireService{
@Resource
private OrganizationDao organizationDao ;
@Resource
private IAsyncService asyncService ;
@Resource
private OrganizationPositionDao positionDao ;
@Resource
private QuestionnaireRecordDao recordDao ;
@ -66,18 +62,10 @@ public class QuestionnaireService implements IQuestionnaireService{
@Resource
private OrganizationMemberDao organizationMemberDao ;
@Resource
private IProjectService projectService ;
@Resource
private IMemberService memberService ;
@Resource
private OrganizationProjectDao organizationProjectDao ;
@Resource
private OrganizationMemberPositionDao organizationMemberPositionDao ;
@Resource
private QuestionnaireRecordDao questionnaireRecordDao ;
@Resource
private IFirstAidService firstAidService ;
@Resource
private CodeDictionariesDao codeDictionariesDao ;
@Resource
private ButtonConfigDao buttonConfigDao ;
@ -88,7 +76,9 @@ public class QuestionnaireService implements IQuestionnaireService{
@Resource
private AccountManageDao accountManageDao ;
@Resource
private CodeNameDao codeNameDao ;
private OrganizationPositionTypeDao positionTypeDao ;
@Resource
private OrganizationPositionTypeRelationMapper positionTypeRelationMapper ;
@Override
public List < QuestionnaireVo . AreaInfo > queryArea ( QuestionnaireDto . QueryArea param , Long userId ) {
@ -359,202 +349,128 @@ public class QuestionnaireService implements IQuestionnaireService{
/ * *
* 提交问卷后的后续操作
* @param phone 手机号
* @param userId 用户id
* @throws Exception 异常
* /
public Long createHospitalOfNotExit ( String phone , Long userId ) throws Exception {
//查询基本信息的code与答案
HashMap < String , String > codeAndAnswer = new HashMap < > ( ) ;
List < QuestionnaireVo . QuestionnaireInfo > infoList = questionnaireRecordDao . queryInfo ( userId ) ;
if ( CollectionUtil . isNotEmpty ( infoList ) ) {
for ( QuestionnaireVo . QuestionnaireInfo questionnaireInfo : infoList ) {
c odeAndAnswer. put ( questionnaireInfo . getCode ( ) , questionnaireInfo . getAnswer ( ) ) ;
}
}
//医院名称
String hospitalName = codeAndAnswer . get ( Constant . BasicInformation . hospitalName . code ) ;
//部门名称
String departmentName = codeAndAnswer . get ( Constant . BasicInformation . department . code ) ;
//成员名称
String memberName = codeAndAnswer . get ( Constant . BasicInformation . person . code ) ;
//查询职位id
Long positionId = positionDao . queryByName ( codeAndAnswer . get ( Constant . BasicInformation . position . code ) ) ;
//医院等级
String hospitalLevel = codeAndAnswer . get ( Constant . BasicInformation . hospitalLevel . code ) ;
//部门code
String departmentCode = "" ;
if ( Constant . DepartmentAndCode . SHEN_NEI . name . equals ( departmentName ) ) {
departmentCode = Constant . DepartmentAndCode . SHEN_NEI . code ;
}
if ( Constant . DepartmentAndCode . NEI_KE . name . equals ( departmentName ) ) {
departmentCode = Constant . DepartmentAndCode . NEI_KE . code ;
}
if ( Constant . DepartmentAndCode . SHEN_WAI . name . equals ( departmentName ) ) {
departmentCode = Constant . DepartmentAndCode . SHEN_WAI . code ;
}
return createHospitalAndProject ( phone , userId , hospitalLevel , hospitalName , departmentName , memberName , positionId , departmentCode ) ;
}
// public Long createHospitalOfNotExit(String phone, Long userId) throws Exception {
// //查询基本信息的code与答案
// HashMap<String, String> codeAndAnswer = new HashMap<>();
// List<QuestionnaireVo.QuestionnaireInfo> infoList = questionnaireRecordDao.queryInfo(userId);
// if (CollectionUtil.isNotEmpty(infoList)) {
// for (QuestionnaireVo.QuestionnaireInfo questionnaireInfo : infoList) {
// c odeAndAnswer.put(questionnaireInfo.getCode(),questionnaireInfo.getAnswer());
// }
// }
// //医院名称
// String hospitalName = codeAndAnswer.get(Constant.BasicInformation.hospitalName.code);
// //部门名称
// String departmentName = codeAndAnswer.get(Constant.BasicInformation.department.code);
// //成员名称
// String memberName = codeAndAnswer.get(Constant.BasicInformation.person.code);
// //查询职位id
// Long positionId = positionDao.queryByName(codeAndAnswer.get(Constant.BasicInformation.position.code));
// //医院等级
// String hospitalLevel = codeAndAnswer.get(Constant.BasicInformation.hospitalLevel.code);
//
// //部门code
// String departmentCode = "";
// if (Constant.DepartmentAndCode.SHEN_NEI.name.equals(departmentName)) {
// departmentCode = Constant.DepartmentAndCode.SHEN_NEI.code;
// }
// if (Constant.DepartmentAndCode.NEI_KE.name.equals(departmentName)) {
// departmentCode = Constant.DepartmentAndCode.NEI_KE.code;
// }
// if (Constant.DepartmentAndCode.SHEN_WAI.name.equals(departmentName)) {
// departmentCode = Constant.DepartmentAndCode.SHEN_WAI.code;
// }
// return createOrganization(hospitalName,departmentName,userId,memberName,phone,positionId);
//// return createHospitalAndProject(phone, userId, hospitalLevel, hospitalName, departmentName, memberName, positionId, departmentCode);
// }
public Long createHospitalAndProject ( String phone , Long userId , String hospitalLevel , String hospitalName , String departmentName , String memberName , Long positionId , String departmentCode ) {
Organization organization = organizationDao . queryByName ( hospitalName ) ;
public Long createOrganization ( String organizationName , String departmentName , Long userId , String memberName , String memberPhone , Long positionId
, String positionName , String positionCode ) {
//机构创建
boolean create = false ;
Organization organization = organizationDao . queryByName ( organizationName ) ;
if ( ObjectUtil . isNull ( organization ) ) {
//创建医院
Organization newOrganization = new Organization ( ) ;
newOrganization . setId ( snowflake . nextId ( ) ) ;
newOrganization . setName ( hospitalName ) ;
if ( Constant . HospitalLevel . two . explain . equals ( hospitalLevel ) ) {
newOrganization . setLevel ( Constant . HospitalLevel . two . level ) ;
} else if ( Constant . HospitalLevel . three . explain . equals ( hospitalLevel ) ) {
newOrganization . setLevel ( Constant . HospitalLevel . three . level ) ;
} else {
newOrganization . setLevel ( Constant . HospitalLevel . four . level ) ;
}
newOrganization . setOrganizationType ( Constant . OrganizationType . HOSPITAL . status ) ;
organizationDao . insertSelective ( newOrganization ) ;
//创建部门
OrganizationDepartment department = new OrganizationDepartment ( ) ;
department . setId ( snowflake . nextId ( ) ) ;
department . setName ( departmentName ) ;
department . setCode ( departmentCode ) ;
department . setOrganizationId ( newOrganization . getId ( ) ) ;
departmentDao . insertSelective ( department ) ;
//创建用户
//查询用户是否存在
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 ( memberName ) ;
member . setContact ( phone ) ;
organizationMemberDao . insertSelective ( member ) ;
memberId = member . getId ( ) ;
} else {
memberId = organizationMember . getId ( ) ;
}
//添加成员职位
//判断成员职位是否存在
Long isExist = organizationMemberPositionDao . queryByExistByMember ( memberId , positionId , department . getId ( ) ) ;
if ( isExist = = 0 ) {
OrganizationMemberPosition position = new OrganizationMemberPosition ( ) ;
position . setId ( snowflake . nextId ( ) ) ;
position . setPositionId ( positionId ) ;
position . setDepartmentId ( department . getId ( ) ) ;
position . setMemberId ( memberId ) ;
organizationMemberPositionDao . insertSelective ( position ) ;
}
//创建项目
return createProject ( newOrganization . getId ( ) , hospitalName , memberName , phone , userId , positionId , departmentCode ) ;
} else {
log . info ( "创建机构:{}" , organizationName ) ;
create = true ;
Organization organizationNew = new Organization ( ) ;
organizationNew . setId ( snowflake . nextId ( ) ) ;
organization . setOrganizationType ( Constant . OrganizationType . HOSPITAL . status ) ;
organizationNew . setName ( organizationName ) ;
//TODO 医院等级
//organization.setLevelId();
organizationDao . insertSelective ( organization ) ;
organization = organizationNew ;
}
//部门创建
OrganizationDepartment department = departmentDao . queryByOrganization ( organization . getId ( ) , departmentName ) ;
if ( ObjectUtil . isNull ( department ) ) {
//创建部门
OrganizationDepartment newDepartment = new OrganizationDepartment ( ) ;
newDepartment . setId ( snowflake . nextId ( ) ) ;
newDepartment . setCode ( departmentCode ) ;
newDepartment . setName ( departmentName ) ;
newDepartment . setOrganizationId ( organization . getId ( ) ) ;
departmentDao . insertSelective ( newDepartment ) ;
//创建用户
//查询用户是否存在
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 ( memberName ) ;
member . setContact ( phone ) ;
organizationMemberDao . insertSelective ( member ) ;
memberId = member . getId ( ) ;
} else {
memberId = organizationMember . getId ( ) ;
}
//添加成员职位
//判断成员职位是否存在
Long isExist = organizationMemberPositionDao . queryByExistByMember ( memberId , positionId , newDepartment . getId ( ) ) ;
if ( isExist = = 0 ) {
OrganizationMemberPosition position = new OrganizationMemberPosition ( ) ;
position . setId ( snowflake . nextId ( ) ) ;
position . setPositionId ( positionId ) ;
position . setDepartmentId ( newDepartment . getId ( ) ) ;
position . setMemberId ( memberId ) ;
organizationMemberPositionDao . insertSelective ( position ) ;
}
//创建项目
return createProject ( organization . getId ( ) , hospitalName , memberName , phone , userId , positionId , departmentCode ) ;
} else {
//创建用户
//查询用户是否存在
log . info ( "创建一级部门:{},不存在的部门名:{}" , organizationName , departmentName ) ;
List < OrganizationDepartmentTemplate > departmentTemplateList = departmentDao . queryTemplate ( ) ;
List < OrganizationDepartment > departmentList = departmentDao . queryAllByOid ( organization . getId ( ) ) ;
List < String > departmentNameList = departmentList . stream ( ) . map ( OrganizationDepartment : : getName ) . collect ( Collectors . toList ( ) ) ;
for ( OrganizationDepartmentTemplate departmentTemplate : departmentTemplateList ) {
if ( departmentNameList . contains ( departmentTemplate . getName ( ) ) ) {
continue ;
}
OrganizationDepartment departmentOne = new OrganizationDepartment ( ) ;
departmentOne . setId ( snowflake . nextId ( ) ) ;
departmentOne . setOrganizationId ( organization . getId ( ) ) ;
departmentOne . setCode ( departmentTemplate . getCode ( ) ) ;
departmentOne . setName ( departmentTemplate . getName ( ) ) ;
departmentDao . insertSelective ( departmentOne ) ;
if ( departmentName . equals ( departmentTemplate . getName ( ) ) ) {
department = departmentOne ;
}
}
}
//创建职位
OrganizationPosition position = positionDao . queryIsExist ( positionName , positionCode , department . getId ( ) ) ;
if ( ObjectUtil . isNull ( position ) ) {
OrganizationPosition positionNew = new OrganizationPosition ( ) ;
positionNew . setId ( snowflake . nextId ( ) ) ;
positionNew . setName ( positionName ) ;
positionNew . setRoleName ( positionName ) ;
positionNew . setDepartmentId ( department . getId ( ) ) ;
positionDao . insertSelective ( positionNew ) ;
//绑定职位类型
OrganizationPositionType positionType = positionTypeDao . queryByCode ( positionCode ) ;
if ( ObjectUtil . isNotNull ( positionType ) ) {
OrganizationPositionTypeRelation positionTypeRelation = new OrganizationPositionTypeRelation ( ) ;
positionTypeRelation . setId ( snowflake . nextId ( ) ) ;
positionTypeRelation . setPositionId ( positionNew . getId ( ) ) ;
positionTypeRelation . setPositionTypeId ( positionType . getId ( ) ) ;
positionTypeRelationMapper . insertSelective ( positionTypeRelation ) ;
}
}
//成员创建
OrganizationMember organizationMember = organizationMemberDao . queryExistByUserId ( userId ) ;
Long memberId = 0L ;
if ( ObjectUtil . isNull ( organizationMember ) ) {
log . info ( "添加成员:{}" , userId ) ;
OrganizationMember member = new OrganizationMember ( ) ;
member . setId ( snowflake . nextId ( ) ) ;
member . setUserId ( userId ) ;
member . setName ( memberName ) ;
member . setContact ( p hone) ;
member . setContact ( memberP hone) ;
organizationMemberDao . insertSelective ( member ) ;
memberId = member . getId ( ) ;
} else {
memberId = organizationMember . getId ( ) ;
organizationMember = member ;
}
//添加成员职位
//判断成员职位是否存在
Long isExist = organizationMemberPositionDao . queryByExistByMember ( memberId , positionId , department . getId ( ) ) ;
Long isExist = organizationMemberPositionDao . queryByExistByMember ( organizationMember . getId ( ) , positionId , department . getId ( ) ) ;
if ( isExist = = 0 ) {
OrganizationMemberPosition position = new OrganizationMemberPosition ( ) ;
position . setId ( snowflake . nextId ( ) ) ;
position . setPositionId ( positionId ) ;
position . setDepartmentId ( department . getId ( ) ) ;
position . setMemberId ( memberId ) ;
organizationMemberPositionDao . insertSelective ( position ) ;
}
//创建项目
return createProject ( organization . getId ( ) , hospitalName , memberName , phone , userId , positionId , departmentCode ) ;
}
}
}
public Long createProject ( Long organizationId , String hospitalName , String memberName , String phone , Long userId , Long positionId , String departmentCode ) {
OrganizationProject project = organizationProjectDao . queryByOrganizationId ( organizationId ) ;
if ( ObjectUtil . isNull ( project ) ) {
//创建项目
CProjectDto . CopyProject copyProject = new CProjectDto . CopyProject ( ) ;
log . info ( "模板项目id:{}" , redisUtil . get ( Constant . TEMPLATE_PROJECT_KEY_ORGANIZATION ) ) ;
copyProject . setProjectId ( ( Long ) redisUtil . get ( Constant . TEMPLATE_PROJECT_KEY_ORGANIZATION ) ) ;
copyProject . setProjectName ( hospitalName ) ;
CProjectVo . CopyProjectInfo copyProjectInfo = projectService . copyProject ( copyProject , userId ) ;
//添加角色
CMemberDto . SaveMember saveMember = new CMemberDto . SaveMember ( ) ;
saveMember . setProjectId ( copyProjectInfo . getId ( ) ) ;
//查询角色code
OrganizationPosition position = positionDao . selectByPrimaryKey ( positionId ) ;
String roleName = codeNameDao . queryRoleName ( position . getCode ( ) , departmentCode ) ;
saveMember . setRoleName ( roleName ) ;
// saveMember.setRoleName(Constant.RoleName.SHEN_NEI);
saveMember . setName ( memberName ) ;
saveMember . setPhone ( phone ) ;
saveMember . setUserId ( userId ) ;
memberService . addMemberForProject ( saveMember ) ;
//绑定机构和项目
OrganizationProject organizationProject = new OrganizationProject ( ) ;
organizationProject . setId ( snowflake . nextId ( ) ) ;
organizationProject . setOrganizationId ( organizationId ) ;
organizationProject . setProjectId ( copyProjectInfo . getId ( ) ) ;
organizationProjectDao . insertSelective ( organizationProject ) ;
//创建病例
PatientDto . SavePatient savePatient = new PatientDto . SavePatient ( ) ;
firstAidService . getFirstAid ( savePatient , userId , ( byte ) 1 , organizationId , ( byte ) 0 ) ;
//tall3添加项目,关联项目
log . info ( "添加成员职位:{}" , organizationMember . getId ( ) ) ;
OrganizationMemberPosition memberPosition = new OrganizationMemberPosition ( ) ;
memberPosition . setId ( snowflake . nextId ( ) ) ;
memberPosition . setPositionId ( positionId ) ;
memberPosition . setDepartmentId ( department . getId ( ) ) ;
memberPosition . setMemberId ( organizationMember . getId ( ) ) ;
organizationMemberPositionDao . insertSelective ( memberPosition ) ;
}
//调用tall3 方法 TODO 待处理异常
if ( create ) {
log . info ( "tall3创建项目:{}" , organization . getId ( ) ) ;
ProjectDto . SaveProjectDto saveProjectDto = new ProjectDto . SaveProjectDto ( ) ;
saveProjectDto . setId ( c opyP rojectI nfo . getId ( ) ) ;
saveProjectDto . setName ( copyProject . getProjec tName ( ) ) ;
saveProjectDto . setId ( organization . getId ( ) ) ;
saveProjectDto . setName ( organization . getName ( ) ) ;
saveProjectDto . setStartTime ( System . currentTimeMillis ( ) ) ;
saveProjectDto . setEndTime ( System . currentTimeMillis ( ) + 315360000000L ) ;
saveProjectDto . setUrl ( PropUtil . domain ) ;
@ -562,34 +478,215 @@ public class QuestionnaireService implements IQuestionnaireService{
userIds . add ( userId ) ;
saveProjectDto . setUserIdList ( userIds ) ;
tall3FeignClient . saveProjectList ( saveProjectDto ) ;
return copyProjectInfo . getId ( ) ;
} else {
CMemberDto . SaveMember saveMember = new CMemberDto . SaveMember ( ) ;
saveMember . setProjectId ( project . getProjectId ( ) ) ;
//查询角色code
OrganizationPosition position = positionDao . selectByPrimaryKey ( positionId ) ;
String roleName = codeNameDao . queryRoleName ( position . getCode ( ) , departmentCode ) ;
saveMember . setRoleName ( roleName ) ;
// saveMember.setRoleName(Constant.RoleName.SHEN_NEI);
saveMember . setName ( memberName ) ;
saveMember . setPhone ( phone ) ;
saveMember . setUserId ( userId ) ;
memberService . addMemberForProject ( saveMember ) ;
log . info ( "tall3添加成员:{}" , organization . getId ( ) ) ;
//tall3 用户关联项目
ProjectDto . SaveUserProject saveUserProject = new ProjectDto . SaveUserProject ( ) ;
ArrayList < Long > projectIds = new ArrayList < > ( ) ;
ArrayList < Long > userIds = new ArrayList < > ( ) ;
projectIds . add ( project . getProjec tId ( ) ) ;
projectIds . add ( organization . getId ( ) ) ;
userIds . add ( userId ) ;
saveUserProject . setProjectId ( projectIds ) ;
saveUserProject . setUserId ( userIds ) ;
tall3FeignClient . saveUserProject ( saveUserProject ) ;
return project . getProjectId ( ) ;
}
return organization . getId ( ) ;
}
// public Long createHospitalAndProject(String phone, Long userId, String hospitalLevel, String hospitalName, String departmentName, String memberName, Long positionId, String departmentCode) {
// Organization organization = organizationDao.queryByName(hospitalName);
// if (ObjectUtil.isNull(organization)) {
// //创建医院
// Organization newOrganization = new Organization();
// newOrganization.setId(snowflake.nextId());
// newOrganization.setName(hospitalName);
// if (Constant.HospitalLevel.two.explain.equals(hospitalLevel)) {
// newOrganization.setLevel(Constant.HospitalLevel.two.level);
// }else if (Constant.HospitalLevel.three.explain.equals(hospitalLevel)){
// newOrganization.setLevel(Constant.HospitalLevel.three.level);
// }else {
// newOrganization.setLevel(Constant.HospitalLevel.four.level);
// }
// newOrganization.setOrganizationType(Constant.OrganizationType.HOSPITAL.status);
// organizationDao.insertSelective(newOrganization);
// //创建部门
// OrganizationDepartment department = new OrganizationDepartment();
// department.setId(snowflake.nextId());
// department.setName(departmentName);
// department.setCode(departmentCode);
// department.setOrganizationId(newOrganization.getId());
// departmentDao.insertSelective(department);
// //创建用户
// //查询用户是否存在
// 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(memberName);
// member.setContact(phone);
// organizationMemberDao.insertSelective(member);
// memberId = member.getId();
// }else {
// memberId = organizationMember.getId();
// }
// //添加成员职位
// //判断成员职位是否存在
// Long isExist = organizationMemberPositionDao.queryByExistByMember(memberId,positionId,department.getId());
// if (isExist == 0) {
// OrganizationMemberPosition position = new OrganizationMemberPosition();
// position.setId(snowflake.nextId());
// position.setPositionId(positionId);
// position.setDepartmentId(department.getId());
// position.setMemberId(memberId);
// organizationMemberPositionDao.insertSelective(position);
// }
// //创建项目
// return createProject(newOrganization.getId(), hospitalName, memberName, phone, userId,positionId,departmentCode);
// }else {
// OrganizationDepartment department = departmentDao.queryByOrganization(organization.getId(),departmentName);
// if (ObjectUtil.isNull(department)) {
// //创建部门
// OrganizationDepartment newDepartment = new OrganizationDepartment();
// newDepartment.setId(snowflake.nextId());
// newDepartment.setCode(departmentCode);
// newDepartment.setName(departmentName);
// newDepartment.setOrganizationId(organization.getId());
// departmentDao.insertSelective(newDepartment);
// //创建用户
// //查询用户是否存在
// 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(memberName);
// member.setContact(phone);
// organizationMemberDao.insertSelective(member);
// memberId = member.getId();
// }else {
// memberId = organizationMember.getId();
// }
// //添加成员职位
// //判断成员职位是否存在
// Long isExist = organizationMemberPositionDao.queryByExistByMember(memberId,positionId,newDepartment.getId());
// if (isExist == 0) {
// OrganizationMemberPosition position = new OrganizationMemberPosition();
// position.setId(snowflake.nextId());
// position.setPositionId(positionId);
// position.setDepartmentId(newDepartment.getId());
// position.setMemberId(memberId);
// organizationMemberPositionDao.insertSelective(position);
// }
// //创建项目
// return createProject(organization.getId(),hospitalName,memberName,phone,userId,positionId,departmentCode);
// }else {
// //创建用户
// //查询用户是否存在
// 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(memberName);
// member.setContact(phone);
// organizationMemberDao.insertSelective(member);
// memberId = member.getId();
// }else {
// memberId = organizationMember.getId();
// }
// //添加成员职位
// //判断成员职位是否存在
// Long isExist = organizationMemberPositionDao.queryByExistByMember(memberId,positionId,department.getId());
// if (isExist == 0) {
// OrganizationMemberPosition position = new OrganizationMemberPosition();
// position.setId(snowflake.nextId());
// position.setPositionId(positionId);
// position.setDepartmentId(department.getId());
// position.setMemberId(memberId);
// organizationMemberPositionDao.insertSelective(position);
// }
// //创建项目
// return createProject(organization.getId(), hospitalName, memberName, phone, userId,positionId,departmentCode);
// }
// }
// }
// public Long createProject(Long organizationId,String hospitalName,String memberName,String phone,Long userId,Long positionId,String departmentCode) {
// OrganizationProject project = organizationProjectDao.queryByOrganizationId(organizationId);
// if (ObjectUtil.isNull(project)) {
// //创建项目
// CProjectDto.CopyProject copyProject = new CProjectDto.CopyProject();
// log.info("模板项目id:{}",redisUtil.get(Constant.TEMPLATE_PROJECT_KEY_ORGANIZATION));
// copyProject.setProjectId((Long) redisUtil.get(Constant.TEMPLATE_PROJECT_KEY_ORGANIZATION));
// copyProject.setProjectName(hospitalName);
// CProjectVo.CopyProjectInfo copyProjectInfo = projectService.copyProject(copyProject, userId);
// //添加角色
// CMemberDto.SaveMember saveMember = new CMemberDto.SaveMember();
// saveMember.setProjectId(copyProjectInfo.getId());
// //查询角色code
// OrganizationPosition position = positionDao.selectByPrimaryKey(positionId);
// String roleName = codeNameDao.queryRoleName(position.getCode(),departmentCode);
// saveMember.setRoleName(roleName);
//// saveMember.setRoleName(Constant.RoleName.SHEN_NEI);
// saveMember.setName(memberName);
// saveMember.setPhone(phone);
// saveMember.setUserId(userId);
// memberService.addMemberForProject(saveMember);
// //绑定机构和项目
// OrganizationProject organizationProject = new OrganizationProject();
// organizationProject.setId(snowflake.nextId());
// organizationProject.setOrganizationId(organizationId);
// organizationProject.setProjectId(copyProjectInfo.getId());
// organizationProjectDao.insertSelective(organizationProject);
// //创建病例
// PatientDto.SavePatient savePatient = new PatientDto.SavePatient();
// firstAidService.getFirstAid(savePatient,userId,(byte)1,organizationId, (byte) 0);
// //tall3添加项目,关联项目
// ProjectDto.SaveProjectDto saveProjectDto = new ProjectDto.SaveProjectDto();
// saveProjectDto.setId(copyProjectInfo.getId());
// saveProjectDto.setName(copyProject.getProjectName());
// saveProjectDto.setStartTime(System.currentTimeMillis());
// saveProjectDto.setEndTime(System.currentTimeMillis()+315360000000L);
// saveProjectDto.setUrl(PropUtil.domain);
// Set<Long> userIds = new HashSet<>();
// userIds.add(userId);
// saveProjectDto.setUserIdList(userIds);
// tall3FeignClient.saveProjectList(saveProjectDto);
// return copyProjectInfo.getId();
// }else {
// CMemberDto.SaveMember saveMember = new CMemberDto.SaveMember();
// saveMember.setProjectId(project.getProjectId());
// //查询角色code
// OrganizationPosition position = positionDao.selectByPrimaryKey(positionId);
// String roleName = codeNameDao.queryRoleName(position.getCode(),departmentCode);
// saveMember.setRoleName(roleName);
//// saveMember.setRoleName(Constant.RoleName.SHEN_NEI);
// saveMember.setName(memberName);
// saveMember.setPhone(phone);
// saveMember.setUserId(userId);
// memberService.addMemberForProject(saveMember);
//
// //tall3 用户关联项目
// ProjectDto.SaveUserProject saveUserProject = new ProjectDto.SaveUserProject();
// ArrayList<Long> projectIds = new ArrayList<>();
// ArrayList<Long> userIds = new ArrayList<>();
// projectIds.add(project.getProjectId());
// userIds.add(userId);
// saveUserProject.setProjectId(projectIds);
// saveUserProject.setUserId(userIds);
// tall3FeignClient.saveUserProject(saveUserProject);
// return project.getProjectId();
// }
// }
@Override
public List < ButtonVO . ButtonInfo > queryButton ( Long userId ) {
return buttonConfigDao . queryButtonInfo ( System . currentTimeMillis ( ) ) ;