Browse Source

修改保存问卷接口

master
ma 4 years ago
parent
commit
f023929cea
  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. 115
      src/main/java/com/ccsens/carbasics/service/AsyncService.java
  4. 14
      src/main/resources/mapper_dao/OrganizationMemberDao.xml
  5. 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);
}

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

@ -6,10 +6,7 @@ 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;
@ -57,7 +54,7 @@ public class AsyncService implements IAsyncService {
@Resource
private OrganizationProjectDao organizationProjectDao;
@Resource
private OrganizationMemberPositionMapper organizationMemberPositionMapper;
private OrganizationMemberPositionDao organizationMemberPositionDao;
@Resource
private IFirstAidService firstAidService;
@Resource
@ -103,18 +100,31 @@ 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();
@ -136,32 +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);
//判断成员职位是否存在
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);
//判断成员职位是否存在
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);
}
}
}
}

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