Browse Source

Merge branch 'master' of dd.tall.wiki:ccsens_wiki/carbasics

master
zhizhi wu 4 years ago
parent
commit
2a9bc4f5e0
  1. 8
      src/main/java/com/ccsens/carbasics/persist/dao/OrganizationMemberDao.java
  2. 17
      src/main/java/com/ccsens/carbasics/persist/dao/OrganizationMemberPositionDao.java
  3. 139
      src/main/java/com/ccsens/carbasics/service/AsyncService.java
  4. 14
      src/main/java/com/ccsens/carbasics/service/FirstAidService.java
  5. 4
      src/main/java/com/ccsens/carbasics/service/IFirstAidService.java
  6. 2
      src/main/java/com/ccsens/carbasics/service/QuestionnaireService.java
  7. 14
      src/main/resources/mapper_dao/OrganizationMemberDao.xml
  8. 17
      src/main/resources/mapper_dao/OrganizationMemberPositionDao.xml

8
src/main/java/com/ccsens/carbasics/persist/dao/OrganizationMemberDao.java

@ -1,5 +1,6 @@
package com.ccsens.carbasics.persist.dao;
import com.ccsens.carbasics.bean.po.OrganizationMember;
import com.ccsens.carbasics.bean.vo.OrganizationMemberVo;
import com.ccsens.carbasics.bean.vo.OrganizationVo;
import com.ccsens.carbasics.persist.mapper.OrganizationMemberMapper;
@ -25,4 +26,11 @@ public interface OrganizationMemberDao extends OrganizationMemberMapper {
* @return 医院信息
*/
OrganizationMemberVo.Organization getHospital(@Param("userId") Long userId);
/**
* 根据userId查询成员是否存在
* @param userId 用户id
* @return 成员信息
*/
OrganizationMember queryExistByUserId(@Param("userId") Long userId);
}

17
src/main/java/com/ccsens/carbasics/persist/dao/OrganizationMemberPositionDao.java

@ -0,0 +1,17 @@
package com.ccsens.carbasics.persist.dao;
import com.ccsens.carbasics.persist.mapper.OrganizationMemberPositionMapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
@Repository
public interface OrganizationMemberPositionDao extends OrganizationMemberPositionMapper {
/**
* 查询用户是否已经绑定此职位和部门
* @param memberId 成员id
* @param positionId 职位id
* @param departmentId 部门id
* @return 0 不存在
*/
Long queryByExistByMember(@Param("memberId") Long memberId,@Param("positonId") Long positionId,@Param("departmentId") Long departmentId);
}

139
src/main/java/com/ccsens/carbasics/service/AsyncService.java

@ -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());

14
src/main/java/com/ccsens/carbasics/service/FirstAidService.java

@ -147,6 +147,15 @@ public class FirstAidService implements IFirstAidService{
//不是急诊护士或者不是神内的医生,提示没有权限
throw new BaseException(DefaultCodeError.NO_POWER);
}
FirstAid firstAid = getFirstAid(param, userId, position, organizationId);
PatientVo.PatientSimple simple = new PatientVo.PatientSimple();
simple.setFirstAidId(firstAid.getId());
return simple;
}
@Override
public FirstAid getFirstAid(PatientDto.SavePatient param, Long userId, Byte position, Long organizationId) {
//创建病例
FirstAid firstAid = new FirstAid();
firstAid.setId(snowflake.nextId());
@ -208,10 +217,7 @@ public class FirstAidService implements IFirstAidService{
BeanUtil.copyProperties(firstAidRecord,firstAidRecordLog);
firstAidRecordLog.setId(snowflake.nextId());
firstAidRecordLogMapper.insertSelective(firstAidRecordLog);
PatientVo.PatientSimple simple = new PatientVo.PatientSimple();
simple.setFirstAidId(firstAid.getId());
return simple;
return firstAid;
}
@Override

4
src/main/java/com/ccsens/carbasics/service/IFirstAidService.java

@ -3,6 +3,7 @@ package com.ccsens.carbasics.service;
import com.ccsens.carbasics.bean.dto.FirstAidDto;
import com.ccsens.carbasics.bean.dto.PatientDto;
import com.ccsens.carbasics.bean.po.FirstAid;
import com.ccsens.carbasics.bean.vo.FirstAidVo;
import com.ccsens.carbasics.bean.vo.PatientVo;
import com.ccsens.util.CodeError;
@ -101,4 +102,7 @@ public interface IFirstAidService {
* @return 成功与否
*/
CodeError.Code report(PatientDto.Report param, Long userId);
FirstAid getFirstAid(PatientDto.SavePatient param, Long userId, Byte position, Long organizationId);
}

2
src/main/java/com/ccsens/carbasics/service/QuestionnaireService.java

@ -108,7 +108,7 @@ public class QuestionnaireService implements IQuestionnaireService{
questionnaireDetailDao.updateByPrimaryKeySelective(questionnaireDetail);
}
//1.保存数据,2.修改的数据为已提交数据
if (0 == param.getSubmitStatus() & ObjectUtil.isNotNull(param.getDetailId()) & param.getDetailId().equals(questionnaireInfo.getDetail().getId())) {
if (0 == param.getSubmitStatus() && ObjectUtil.isNotNull(param.getDetailId()) && param.getDetailId().equals(questionnaireInfo.getDetail().getId())) {
throw new BaseException(DefaultCodeError.HOSPITAL_REPEAT_SUBMIT);
}

14
src/main/resources/mapper_dao/OrganizationMemberDao.xml

@ -70,4 +70,18 @@
order by o.id
limit 1
</select>
<select id="queryExistByUserId" resultType="com.ccsens.carbasics.bean.po.OrganizationMember">
SELECT
id,
user_id,
`name`,
contact
FROM
t_organization_member
WHERE
rec_status = 0
AND user_id = #{userId}
LIMIT 1
</select>
</mapper>

17
src/main/resources/mapper_dao/OrganizationMemberPositionDao.xml

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ccsens.carbasics.persist.dao.OrganizationMemberPositionDao">
<select id="queryByExistByMember" resultType="java.lang.Long">
SELECT
COUNT(id)
FROM
t_organization_member_position
WHERE
rec_status = 0
AND position_id = 3
AND member_id = 0
</select>
</mapper>
Loading…
Cancel
Save