Browse Source

1.医院信息回显, 2.部门信息回显, 3.职位信息回显, 4.查询角色信息. 5.绑定角色

test
lucky 4 years ago
parent
commit
ff91b560eb
  1. 48
      src/main/java/com/ccsens/carbasics/api/ManagementController.java
  2. 16
      src/main/java/com/ccsens/carbasics/bean/dto/ManagementDto.java
  3. 48
      src/main/java/com/ccsens/carbasics/bean/vo/ManagementVo.java
  4. 9
      src/main/java/com/ccsens/carbasics/persist/dao/OrganizationPositionTypeDao.java
  5. 27
      src/main/java/com/ccsens/carbasics/persist/dao/OrganizationPositionTypeRelationDao.java
  6. 36
      src/main/java/com/ccsens/carbasics/service/IManagementService.java
  7. 50
      src/main/java/com/ccsens/carbasics/service/ManagementService.java
  8. 12
      src/main/resources/mapper_dao/OrganizationPositionTypeDao.xml
  9. 26
      src/main/resources/mapper_dao/OrganizationPositionTypeRelationDao.xml

48
src/main/java/com/ccsens/carbasics/api/ManagementController.java

@ -143,5 +143,53 @@ public class ManagementController {
return JsonResponse.newInstance().ok();
}
@MustLogin
@ApiOperation(value = "医院信息回显", notes = "")
@RequestMapping(value = "/queryHospitalById", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse<ManagementVo.HospitalInfoById> queryHospitalById(@ApiParam @Validated @RequestBody QueryDto<ManagementDto.QueryById> params) throws Exception{
log.info("医院信息回显开始{}",params);
ManagementVo.HospitalInfoById hospitalInfoById = managementService.queryHospitalById(params.getParam(),params.getUserId());
log.info("医院信息回显结束{}",hospitalInfoById);
return JsonResponse.newInstance().ok(hospitalInfoById);
}
@MustLogin
@ApiOperation(value = "部门信息回显", notes = "")
@RequestMapping(value = "/queryDepartmentById", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse<ManagementVo.DepartmentById> queryDepartmentById(@ApiParam @Validated @RequestBody QueryDto<ManagementDto.QueryById> params) throws Exception{
log.info("部门信息回显开始{}",params);
ManagementVo.DepartmentById departmentById = managementService.queryDepartmentById(params.getParam(),params.getUserId());
log.info("部门信息回显结束{}",departmentById);
return JsonResponse.newInstance().ok(departmentById);
}
@MustLogin
@ApiOperation(value = "职位信息回显", notes = "")
@RequestMapping(value = "/queryPositionById", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse<ManagementVo.PositionById> queryPositionById(@ApiParam @Validated @RequestBody QueryDto<ManagementDto.QueryById> params) throws Exception{
log.info("职位信息回显开始{}",params);
ManagementVo.PositionById positionById = managementService.queryPositionById(params.getParam(),params.getUserId());
log.info("职位信息回显结束{}",positionById);
return JsonResponse.newInstance().ok(positionById);
}
@MustLogin
@ApiOperation(value = "查询可绑定角色列表", notes = "")
@RequestMapping(value = "/queryPositionType", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse<List<ManagementVo.PositionType>> queryPositionType(@ApiParam @Validated @RequestBody QueryDto params) throws Exception{
log.info("查询可绑定角色列表开始{}",params);
List<ManagementVo.PositionType> positionTypeList = managementService.queryPositionType(params.getUserId());
log.info("查询可绑定角色列表结束{}",positionTypeList);
return JsonResponse.newInstance().ok(positionTypeList);
}
@MustLogin
@ApiOperation(value = "绑定职位类型", notes = "")
@RequestMapping(value = "/bindPositionType", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse bindPositionType(@ApiParam @Validated @RequestBody QueryDto<ManagementDto.BindType> params) throws Exception{
log.info("绑定职位类型开始{}",params);
managementService.bindPositionType(params.getParam(),params.getUserId());
log.info("绑定职位类型结束");
return JsonResponse.newInstance().ok();
}
}

16
src/main/java/com/ccsens/carbasics/bean/dto/ManagementDto.java

@ -6,6 +6,7 @@ import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.List;
/**
* @author AUSU
@ -137,4 +138,19 @@ public class ManagementDto {
private String positionName;
}
@Data
@ApiModel("根据id回显-入参")
public static class QueryById {
@ApiModelProperty("主键id")
private Long id;
}
@Data
@ApiModel("根据id回显-入参")
public static class BindType {
@ApiModelProperty("职位id")
private Long positionId;
@ApiModelProperty("职位类型id")
private List<Long> positionTypeIdList;
}
}

48
src/main/java/com/ccsens/carbasics/bean/vo/ManagementVo.java

@ -4,6 +4,7 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotNull;
import java.util.List;
/**
@ -84,4 +85,51 @@ public class ManagementVo {
private String rName;
}
@Data
@ApiModel("医院信息回显-返参")
public static class HospitalInfoById {
@ApiModelProperty("医院id")
private Long id;
@ApiModelProperty("等级id")
private Long levelId;
@ApiModelProperty("医院名称")
private String name;
@ApiModelProperty("省id")
private Long provinceId;
@ApiModelProperty("市id")
private Long cityId;
@ApiModelProperty("县id")
private Long countyId;
}
@Data
@ApiModel("部门信息回显-返参")
public static class DepartmentById {
@ApiModelProperty("部门id")
private Long id;
@ApiModelProperty("部门名称")
private String name;
}
@Data
@ApiModel("职位信息回显-返参")
public static class PositionById {
@ApiModelProperty("职位id")
private Long id;
@ApiModelProperty("名称")
private String name;
@ApiModelProperty("显示名称")
private String roleName;
}
@Data
@ApiModel("职位类型-返参")
public static class PositionType {
@ApiModelProperty("职位id")
private Long typeId;
@ApiModelProperty("职位类型code")
private String code;
@ApiModelProperty("职位类型名称")
private String name;
}
}

9
src/main/java/com/ccsens/carbasics/persist/dao/OrganizationPositionTypeDao.java

@ -1,10 +1,13 @@
package com.ccsens.carbasics.persist.dao;
import com.ccsens.carbasics.bean.po.OrganizationPositionType;
import com.ccsens.carbasics.bean.vo.ManagementVo;
import com.ccsens.carbasics.persist.mapper.OrganizationPositionTypeMapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import java.util.List;
@Repository
public interface OrganizationPositionTypeDao extends OrganizationPositionTypeMapper {
/**
@ -13,4 +16,10 @@ public interface OrganizationPositionTypeDao extends OrganizationPositionTypeMap
* @return 职位类型
*/
OrganizationPositionType queryByCode(@Param("positionCode") String positionCode);
/**
* 查询所有的职位类型
* @return 职位类型列表
*/
List<ManagementVo.PositionType> selectAll();
}

27
src/main/java/com/ccsens/carbasics/persist/dao/OrganizationPositionTypeRelationDao.java

@ -0,0 +1,27 @@
package com.ccsens.carbasics.persist.dao;
import com.ccsens.carbasics.bean.po.OrganizationPositionTypeRelation;
import com.ccsens.carbasics.persist.mapper.OrganizationPositionTypeRelationMapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import java.util.List;
/**
* @author AUSU
*/
@Repository
public interface OrganizationPositionTypeRelationDao extends OrganizationPositionTypeRelationMapper {
/**
* 解除职位与角色的关系
* @param positionId 职位id
*/
void unbindRole(@Param("positionId") Long positionId);
/**
* 绑定职位与角色的关系
* @param positionTypeRelationList 职位角色关联列表
*/
void bindRole(@Param("positionTypeRelationList") List<OrganizationPositionTypeRelation> positionTypeRelationList);
}

36
src/main/java/com/ccsens/carbasics/service/IManagementService.java

@ -84,4 +84,40 @@ public interface IManagementService {
* @param userId 用户id
*/
void updatePosition(ManagementDto.UpdatePosition param, Long userId);
/**
* 医院信息回显
* @param param 医院id
* @param userId 用户id
* @return 医院信息
*/
ManagementVo.HospitalInfoById queryHospitalById(ManagementDto.QueryById param, Long userId);
/**
* 部门信息回显
* @param param 部门id回显
* @param userId 用户id
* @return 医院信息
*/
ManagementVo.DepartmentById queryDepartmentById(ManagementDto.QueryById param, Long userId);
/**
* 职位信息回显
* @param param 部门id回显
* @param userId 用户id
* @return 医院信息
*/
ManagementVo.PositionById queryPositionById(ManagementDto.QueryById param, Long userId);
/**
* 查询职位类型列表
* @param userId 用户id
* @return 类型列表
*/
List<ManagementVo.PositionType> queryPositionType(Long userId);
/**
* 职位绑定职位类型
* @param userId 用户id
* @param param 职位id与职位类型id
*/
void bindPositionType(ManagementDto.BindType param,Long userId);
}

50
src/main/java/com/ccsens/carbasics/service/ManagementService.java

@ -50,7 +50,7 @@ public class ManagementService implements IManagementService {
@Resource
private OrganizationDepartmentDao departmentDao;
@Resource
private OrganizationPositionTypeRelationMapper positionTypeRelationMapper;
private OrganizationPositionTypeRelationDao positionTypeRelationDao;
@Resource
private Snowflake snowflake;
@ -144,7 +144,7 @@ public class ManagementService implements IManagementService {
positionTypeRelation.setId(snowflake.nextId());
positionTypeRelation.setPositionId(newPosition.getId());
positionTypeRelation.setPositionTypeId(positionType.getId());
positionTypeRelationMapper.insertSelective(positionTypeRelation);
positionTypeRelationDao.insertSelective(positionTypeRelation);
}
}
}
@ -233,4 +233,50 @@ public class ManagementService implements IManagementService {
position.setName(param.getPositionName());
}
@Override
public ManagementVo.HospitalInfoById queryHospitalById(ManagementDto.QueryById param, Long userId) {
Organization organization = organizationDao.selectByPrimaryKey(param.getId());
ManagementVo.HospitalInfoById hospitalInfoById = new ManagementVo.HospitalInfoById();
BeanUtil.copyProperties(organization,hospitalInfoById);
return hospitalInfoById;
}
@Override
public ManagementVo.DepartmentById queryDepartmentById(ManagementDto.QueryById param, Long userId) {
OrganizationDepartment department = departmentDao.selectByPrimaryKey(param.getId());
ManagementVo.DepartmentById departmentById = new ManagementVo.DepartmentById();
BeanUtil.copyProperties(department,departmentById);
return departmentById;
}
@Override
public ManagementVo.PositionById queryPositionById(ManagementDto.QueryById param, Long userId) {
OrganizationPosition position = positionDao.selectByPrimaryKey(param.getId());
ManagementVo.PositionById positionById = new ManagementVo.PositionById();
BeanUtil.copyProperties(position,positionById);
return positionById;
}
@Override
public List<ManagementVo.PositionType> queryPositionType(Long userId) {
return positionTypeDao.selectAll();
}
@Override
public void bindPositionType(ManagementDto.BindType param ,Long userId) {
List<OrganizationPositionTypeRelation> positionTypeRelationList = new ArrayList<>();
if (CollectionUtil.isNotEmpty(param.getPositionTypeIdList())) {
positionTypeRelationDao.unbindRole(param.getPositionId());
for (Long typeId : param.getPositionTypeIdList()) {
OrganizationPositionTypeRelation positionTypeRelation = new OrganizationPositionTypeRelation();
positionTypeRelation.setId(snowflake.nextId());
positionTypeRelation.setPositionId(param.getPositionId());
positionTypeRelation.setPositionTypeId(typeId);
positionTypeRelationList.add(positionTypeRelation);
}
positionTypeRelationDao.bindRole(positionTypeRelationList);
}
}
}

12
src/main/resources/mapper_dao/OrganizationPositionTypeDao.xml

@ -16,4 +16,16 @@
AND `code` = #{positionCode}
</select>
<select id="selectAll" resultType="com.ccsens.carbasics.bean.vo.ManagementVo$PositionType">
SELECT
id As typeId,
`code`,
`name`
FROM
`t_organization_position_type`
WHERE
rec_status = 0
AND type = 3
</select>
</mapper>

26
src/main/resources/mapper_dao/OrganizationPositionTypeRelationDao.xml

@ -0,0 +1,26 @@
<?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.OrganizationPositionTypeRelationDao">
<insert id="bindRole">
INSERT INTO t_organization_position_type_relation (
id,
position_id,
position_type_id
)
VALUES
<foreach collection="positionTypeRelationList" item="item" separator=",">
(#{item.id},#{item.position_id},#{item.position_type_id})
</foreach>
</insert>
<update id="unbindRole">
UPDATE t_organization_position_type_relation
SET rec_status = 2
WHERE position_id = #{positionId}
AND rec_status = 0
</update>
</mapper>
Loading…
Cancel
Save