Browse Source

20210901查询急救列表

master
zy_Java 4 years ago
parent
commit
ac9fc092e0
  1. 36
      src/main/java/com/ccsens/carbasics/api/PatientController.java
  2. 7
      src/main/java/com/ccsens/carbasics/api/WbsController.java
  3. 60
      src/main/java/com/ccsens/carbasics/bean/dto/PatientDto.java
  4. 13
      src/main/java/com/ccsens/carbasics/bean/dto/RoleDto.java
  5. 13
      src/main/java/com/ccsens/carbasics/bean/vo/FirstAidVo.java
  6. 8
      src/main/java/com/ccsens/carbasics/bean/vo/OrganizationVo.java
  7. 42
      src/main/java/com/ccsens/carbasics/bean/vo/PatientVo.java
  8. 2
      src/main/java/com/ccsens/carbasics/bean/vo/ProjectVo.java
  9. 24
      src/main/java/com/ccsens/carbasics/persist/dao/FirstAidDao.java
  10. 17
      src/main/java/com/ccsens/carbasics/persist/dao/OrganizationDao.java
  11. 29
      src/main/java/com/ccsens/carbasics/persist/dao/SProjectDao.java
  12. 141
      src/main/java/com/ccsens/carbasics/service/FirstAidService.java
  13. 23
      src/main/java/com/ccsens/carbasics/service/IFirstAidService.java
  14. 12
      src/main/java/com/ccsens/carbasics/service/IImportService.java
  15. 1116
      src/main/java/com/ccsens/carbasics/service/ImportService.java
  16. 7
      src/main/java/com/ccsens/carbasics/util/DefaultCodeError.java
  17. 4
      src/main/resources/application.yml
  18. 121
      src/main/resources/mapper_dao/FirstAidDao.xml
  19. 37
      src/main/resources/mapper_dao/OrganizationDao.xml
  20. 11
      src/main/resources/mapper_dao/OrganizationMemberDao.xml
  21. 50
      src/main/resources/mapper_dao/SProjectDao.xml

36
src/main/java/com/ccsens/carbasics/api/PatientController.java

@ -44,7 +44,7 @@ public class PatientController {
}
@MustLogin
@ApiOperation(value = "添加病例", notes = "")
@ApiOperation(value = "添加病例", notes = "zy")
@RequestMapping(value = "/savePatient", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse savePatient(@ApiParam @Validated @RequestBody QueryDto<PatientDto.SavePatient> params) throws Exception{
log.info("添加病例:{}", params);
@ -54,7 +54,7 @@ public class PatientController {
}
@MustLogin
@ApiOperation(value = "查询患者信息", notes = "")
@ApiOperation(value = "查询患者信息", notes = "zy")
@RequestMapping(value = "/getPatient", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse<PatientVo.GetPatient> getPatient(@ApiParam @Validated @RequestBody QueryDto<PatientDto.ProjectId> params) throws Exception{
log.info("查询患者信息:{}", params);
@ -62,4 +62,36 @@ public class PatientController {
log.info("查询患者信息成功");
return JsonResponse.newInstance().ok(getPatient);
}
@MustLogin
@ApiOperation(value = "修改患者信息", notes = "zy")
@RequestMapping(value = "/updatePatient", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse updatePatient(@ApiParam @Validated @RequestBody QueryDto<PatientDto.UpdatePatient> params) throws Exception{
log.info("修改患者信息:{}", params);
firstAidService.updatePatient(params.getParam(), params.getUserId());
log.info("修改患者信息成功");
return JsonResponse.newInstance().ok();
}
@MustLogin
@ApiOperation(value = "质检员查看审核列表", notes = "zy")
@RequestMapping(value = "/listByQuality", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse<PageInfo<PatientVo.PatientListByQuality>> queryPatientListByQuality(@ApiParam @Validated @RequestBody QueryDto<PatientDto.QueryListByQuality> params) throws Exception{
log.info("质检员查看审核列表:{}", params);
PageInfo<PatientVo.PatientListByQuality> list = firstAidService.queryPatientListByQuality(params.getParam(), params.getUserId());
log.info("质检员查看审核列表成功");
return JsonResponse.newInstance().ok(list);
}
@MustLogin
@ApiOperation(value = "秘书查看审核列表", notes = "zy")
@RequestMapping(value = "/listBySecretary", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse<PageInfo<PatientVo.PatientListByQuality>> queryPatientListBySecretary(@ApiParam @Validated @RequestBody QueryDto<PatientDto.QueryListByQuality> params) throws Exception{
log.info("秘书查看审核列表:{}", params);
PageInfo<PatientVo.PatientListByQuality> list = firstAidService.queryPatientListBySecretary(params.getParam(), params.getUserId());
log.info("秘书查看审核列表成功");
return JsonResponse.newInstance().ok(list);
}
}

7
src/main/java/com/ccsens/carbasics/api/WbsController.java

@ -4,6 +4,7 @@ import cn.hutool.core.date.DateUtil;
import cn.hutool.core.io.FileUtil;
import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.StrUtil;
import com.ccsens.carbasics.bean.vo.ProjectVo;
import com.ccsens.carbasics.service.IImportService;
import com.ccsens.carbasics.util.Constant;
import com.ccsens.carbasics.util.DefaultCodeError;
@ -46,7 +47,7 @@ public class WbsController {
@ApiImplicitParam(name = "file", value = "WBS表", required = true, paramType = "form",dataType = "__file")
})
@RequestMapping(value = "", method = RequestMethod.POST)
public JsonResponse importWbs( QueryDto<MultipartFile> params) throws Exception {
public JsonResponse importWbs( QueryDto<MultipartFile> params, Long projectId) throws Exception {
MultipartFile f = params.getParam();
String ext = FileUtil.extName(f.getOriginalFilename());
@ -66,9 +67,9 @@ public class WbsController {
FileUtil.writeFromStream(f.getInputStream(), fullPath);
//导入数据库
importService.importWbs(fullPath,params.getUserId());
ProjectVo.ProjectInfo projectInfo = importService.importWbs(fullPath,params.getUserId(),projectId);
return JsonResponse.newInstance().ok();
return JsonResponse.newInstance().ok(projectInfo);
}
}

60
src/main/java/com/ccsens/carbasics/bean/dto/PatientDto.java

@ -113,15 +113,20 @@ public class PatientDto {
@ApiModel("添加病例")
public static class SavePatient{
@ApiModelProperty("项目id")
private String projectId;
private Long projectId;
@Length(max = 20,message = "名称过长")
@ApiModelProperty("患者姓名")
private String name;
@ApiModelProperty("性别 0女 1男")
private byte gender;
@Length(max = 20,message = "名字名称过长")
@ApiModelProperty("民族")
private String nation;
@Length(max = 18,message = "请输入正确的身份证号")
@ApiModelProperty("证件号")
private String idcard;
@ApiModelProperty("疑似诊断信息")
private String suspected;
}
@ -132,4 +137,57 @@ public class PatientDto {
@ApiModelProperty("项目id")
private Long projectId;
}
@Data
@ApiModel("修改急救信息")
public static class UpdatePatient{
@ApiModelProperty("项目id")
private Long projectId;
@NotNull(message = "请输入急救id")
@ApiModelProperty("急救id")
private Long firstAidId;
@Length(max = 20,message = "名称过长")
@ApiModelProperty("患者姓名")
private String name;
@ApiModelProperty("性别 0女 1男")
private Byte gender;
@Length(max = 20,message = "名字名称过长")
@ApiModelProperty("民族")
private String nation;
@Length(max = 18,message = "请输入正确的身份证号")
@ApiModelProperty("证件号")
private String idcard;
@ApiModelProperty("疑似诊断信息")
private String suspected;
}
@Data
@ApiModel("质检员查看急救列表")
public static class QueryListByQuality{
@NotNull(message = "请输入正确的项目id")
@ApiModelProperty("项目id")
private Long projectId;
@ApiModelProperty("病例状态 0:创建 1:急救审核通过 2:急救审核拒绝 3出院审核通过 4出院审核拒绝 5:申请修改 6:申请拒绝")
private byte dataStatus;
@ApiModelProperty("患者姓名")
private String name;
@ApiModelProperty("到院时间-开始")
private Long startTime;
@ApiModelProperty("到院时间-结束")
private Long endTime;
@Length(max = 25,message = "住院号过长")
@ApiModelProperty("住院号")
private String hospitalNumber;
@Length(max = 18,message = "请输入正确的身份证号")
@ApiModelProperty("证件号")
private String idcard;
@ApiModelProperty("第几页")
@Min(value = 1)
private int pageNum = 1;
@ApiModelProperty("每页多少条")
@Min(value = 1)
@Max(value=100)
private int pageSize = 10;
}
}

13
src/main/java/com/ccsens/carbasics/bean/dto/RoleDto.java

@ -26,4 +26,17 @@ public class RoleDto {
@ApiModelProperty("角色id")
private List<Long> roleIds;
}
@Data
public static class WbsMember{
//成员id
private Long id;
//userId
private Long userId;
public WbsMember(Long id, Long userId) {
this.id = id;
this.userId = userId;
}
}
}

13
src/main/java/com/ccsens/carbasics/bean/vo/FirstAidVo.java

@ -0,0 +1,13 @@
package com.ccsens.carbasics.bean.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author
*/
@Data
public class FirstAidVo {
}

8
src/main/java/com/ccsens/carbasics/bean/vo/OrganizationVo.java

@ -25,9 +25,17 @@ public class OrganizationVo {
private Long id;
@ApiModelProperty("姓名")
private String name;
@ApiModelProperty("职位id")
private Long positionId;
@ApiModelProperty("职位code")
private String positionCode;
@ApiModelProperty("科室id")
private Long departmentId;
@ApiModelProperty("科室code")
private String departmentCode;
@ApiModelProperty("机构id")
private Long organizationId;
@ApiModelProperty("机构id")
private String organizationCode;
}
}

42
src/main/java/com/ccsens/carbasics/bean/vo/PatientVo.java

@ -1,5 +1,6 @@
package com.ccsens.carbasics.bean.vo;
import com.fasterxml.jackson.annotation.JsonIgnore;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@ -124,4 +125,45 @@ public class PatientVo {
@ApiModelProperty("证件号")
private String idcard;
}
@Data
@ApiModel("质检员查看的急救列表")
public static class PatientListByQuality{
@ApiModelProperty("急救id")
private Long firstAidId;
@ApiModelProperty("患者姓名")
private String name;
@ApiModelProperty("性别 0女 1男")
private byte gender;
@ApiModelProperty("年龄")
private int age;
@ApiModelProperty("民族")
private String nation;
@ApiModelProperty("证件号")
private String idcard;
@ApiModelProperty("审核状态 0:创建 1:急救审核通过 2:急救审核拒绝 3出院审核通过 4出院审核拒绝 5:申请修改 6:申请拒绝 100:审核通过已修改 101:申请拒绝无机会")
private int dataStatus;
@ApiModelProperty("类型 0:神内 1:神外")
private byte type;
@ApiModelProperty("住院号")
private String hospitalNumber;
@ApiModelProperty("到院时间")
private Long arriveHospitalTime;
//修改次数
@JsonIgnore
private int times;
public int getDataStatus() {
if(dataStatus == 1 && times >= 1){
return 100;
}
if(dataStatus == 3 && times >= 1){
return 100;
}
if(dataStatus == 6 && times >= 1){
return 101;
}
return dataStatus;
}
}
}

2
src/main/java/com/ccsens/carbasics/bean/vo/ProjectVo.java

@ -45,6 +45,8 @@ public class ProjectVo {
private Long beginTime;
@ApiModelProperty("结束时间")
private Long endTime;
@ApiModelProperty("导入类型(0-第一次导入,1-修改WBS)")
private Byte importType = 0;;
}
@Data

24
src/main/java/com/ccsens/carbasics/persist/dao/FirstAidDao.java

@ -1,6 +1,10 @@
package com.ccsens.carbasics.persist.dao;
import com.ccsens.carbasics.bean.dto.PatientDto;
import com.ccsens.carbasics.bean.dto.StatisticalDto;
import com.ccsens.carbasics.bean.po.FirstAid;
import com.ccsens.carbasics.bean.po.Organization;
import com.ccsens.carbasics.bean.vo.PatientVo;
import com.ccsens.carbasics.bean.vo.StatisticalVo;
import com.ccsens.carbasics.persist.mapper.FirstAidMapper;
import org.apache.ibatis.annotations.Param;
@ -22,11 +26,11 @@ public interface FirstAidDao extends FirstAidMapper {
List<Long> getUserIdById(@Param("aidId") Long aidId);
/**
* 根据项目id查询急救id
* 根据项目id查询急救信息
* @param projectId 项目id
* @return 急救id
*/
Long getIdByProjectId(@Param("projectId") Long projectId);
FirstAid getIdByProjectId(@Param("projectId") Long projectId);
/**
* 查询质控报告
@ -59,4 +63,20 @@ public interface FirstAidDao extends FirstAidMapper {
String getPatientName(@Param("id") Long id);
List<Integer> selResult(@Param("hospitalId") Long hospitalId, @Param("year") String year);
/**
* 质检员查看急救列表
* @param hospitalId 医院id
* @param param 筛选条件
* @return 返回急救信息
*/
List<PatientVo.PatientListByQuality> queryPatientListByQuality(@Param("template")byte template,@Param("hospitalId")Long hospitalId, @Param("param")PatientDto.QueryListByQuality param);
/**
* 秘书查看急救列表
* @param hospitalList 医院列表
* @param param 筛选条件
* @return 返回急救信息
*/
List<PatientVo.PatientListByQuality> queryPatientListBySecretary(@Param("hospitalList")List<Organization> hospitalList, @Param("param")PatientDto.QueryListByQuality param);
}

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

@ -1,9 +1,12 @@
package com.ccsens.carbasics.persist.dao;
import com.ccsens.carbasics.bean.po.Organization;
import com.ccsens.carbasics.bean.vo.OrganizationVo;
import com.ccsens.carbasics.persist.mapper.OrganizationMapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* @description: 机构相关
* @author: whj
@ -18,4 +21,18 @@ public interface OrganizationDao extends OrganizationMapper {
* @return 医院信息
*/
OrganizationVo.Basic getOrganization(@Param("projectId") Long projectId, @Param("userId") Long userId);
/**
* 根据项目id查询机构信息
* @param projectId 项目id
* @return 返回机构信息
*/
Organization getByProjectId(@Param("projectId")Long projectId);
/**
* 通过上级机构id查找医院信息
* @param parentId 上级机构id
* @return 返回医院列表
*/
List<Organization> getHospitalByParentId(@Param("parentId")Long parentId);
}

29
src/main/java/com/ccsens/carbasics/persist/dao/SProjectDao.java

@ -0,0 +1,29 @@
package com.ccsens.carbasics.persist.dao;
import com.ccsens.carbasics.bean.vo.ProjectVo;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import java.util.List;
/**
* @author
*/
@Repository
public interface SProjectDao {
List<ProjectVo.SysProject> queryByCreator(@Param("userId") Long userId);
/**
* 根据项目id查询项目
* @param projectId 项目id
* @return 项目信息
*/
ProjectVo.SysProject selectById(@Param("projectId") Long projectId);
/**
* 逻辑删除项目
* @param projectId 项目id
*/
void updateStatusById(@Param("projectId") Long projectId);
}

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

@ -1,25 +1,23 @@
package com.ccsens.carbasics.service;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.lang.Snowflake;
import cn.hutool.core.util.IdcardUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.ccsens.carbasics.bean.dto.PatientDto;
import com.ccsens.carbasics.bean.po.FirstAid;
import com.ccsens.carbasics.bean.po.FirstAidExample;
import com.ccsens.carbasics.bean.po.FirstAidLog;
import com.ccsens.carbasics.bean.po.FirstAidMember;
import com.ccsens.carbasics.bean.po.*;
import com.ccsens.carbasics.bean.vo.OrganizationVo;
import com.ccsens.carbasics.bean.vo.PatientVo;
import com.ccsens.carbasics.persist.dao.FirstAidDao;
import com.ccsens.carbasics.persist.dao.OrganizationDao;
import com.ccsens.carbasics.persist.dao.OrganizationMemberDao;
import com.ccsens.carbasics.persist.mapper.FirstAidLogMapper;
import com.ccsens.carbasics.persist.mapper.FirstAidMemberMapper;
import com.ccsens.carbasics.persist.mapper.*;
import com.ccsens.carbasics.util.Constant;
import com.ccsens.carbasics.util.DefaultCodeError;
import com.ccsens.util.exception.BaseException;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
@ -46,6 +44,12 @@ public class FirstAidService implements IFirstAidService{
private FirstAidMemberMapper firstAidMemberMapper;
@Resource
private FirstAidLogMapper firstAidLogMapper;
@Resource
private OrganizationTemplateMapper templateMapper;
@Resource
private FirstAidRecordMapper firstAidRecordMapper;
@Resource
private FirstAidRecordLogMapper firstAidRecordLogMapper;
@Override
public PageInfo<PatientVo.QueryPatientList> querySelf(PatientDto.QueryPatient param, Long userId) {
@ -86,8 +90,11 @@ public class FirstAidService implements IFirstAidService{
firstAid.setName(param.getName());
firstAid.setGender(param.getGender());
firstAid.setNation(param.getNation());
firstAid.setIdcard(param.getIdcard());
if(StrUtil.isNotEmpty(param.getIdcard())){
if(IdcardUtil.isValidCard(param.getIdcard())){
throw new BaseException(DefaultCodeError.IDCARD_ERROR);
}
firstAid.setIdcard(param.getIdcard());
firstAid.setAge(IdcardUtil.getAgeByIdCard(param.getIdcard()));
}
firstAidDao.insertSelective(firstAid);
@ -119,6 +126,20 @@ public class FirstAidService implements IFirstAidService{
firstAidLogJoin.setOperationRole(position);
firstAidLogMapper.insertSelective(firstAidLog);
}
//添加疑似诊断信息
FirstAidRecord firstAidRecord = new FirstAidRecord();
firstAidRecord.setId(snowflake.nextId());
firstAidRecord.setFirstAidId(firstAid.getId());
firstAidRecord.setQuestionCode("CJBL-YSBL");
firstAidRecord.setAnswer(param.getSuspected());
firstAidRecord.setSubmitUserId(userId);
firstAidRecord.setSubmitUserType((byte) 1);
firstAidRecordMapper.insertSelective(firstAidRecord);
//加日志
FirstAidRecordLog firstAidRecordLog = new FirstAidRecordLog();
BeanUtil.copyProperties(firstAidRecord,firstAidRecordLog);
firstAidRecordLog.setId(snowflake.nextId());
firstAidRecordLogMapper.insertSelective(firstAidRecordLog);
}
@Override
@ -137,4 +158,110 @@ public class FirstAidService implements IFirstAidService{
}
return getPatient;
}
@Override
public void updatePatient(PatientDto.UpdatePatient param, Long userId) {
//查找急救信息
FirstAid firstAid = firstAidDao.selectByPrimaryKey(param.getFirstAidId());
if(ObjectUtil.isNull(firstAid)){
throw new BaseException(DefaultCodeError.NOT_FIRST_AID_ID);
}
//判断急救状态
if(firstAid.getDataStatus() == 1 || firstAid.getDataStatus() == 3){
throw new BaseException(DefaultCodeError.NO_POWER);
}
//判断操作人的权限
FirstAidMemberExample firstAidMemberExample = new FirstAidMemberExample();
firstAidMemberExample.createCriteria().andFirstAidIdEqualTo(param.getFirstAidId());
List<FirstAidMember> firstAidMembers = firstAidMemberMapper.selectByExample(firstAidMemberExample);
if(CollectionUtil.isEmpty(firstAidMembers)){
throw new BaseException(DefaultCodeError.NO_POWER);
}
if(!userId.equals(firstAidMembers.get(0).getCreateUserId()) && !userId.equals(firstAidMembers.get(0).getRecordUserId())){
throw new BaseException(DefaultCodeError.NO_POWER);
}
//修改信息
firstAid.setName(param.getName());
firstAid.setNation(param.getNation());
firstAid.setGender(param.getGender());
if(StrUtil.isNotEmpty(param.getIdcard())){
if(IdcardUtil.isValidCard(param.getIdcard())){
throw new BaseException(DefaultCodeError.IDCARD_ERROR);
}
firstAid.setIdcard(param.getIdcard());
firstAid.setAge(IdcardUtil.getAgeByIdCard(param.getIdcard()));
}
firstAidDao.updateByPrimaryKeySelective(firstAid);
//修改疑似诊断信息
if(StrUtil.isNotEmpty(param.getSuspected())){
//修改急救记录信息
FirstAidRecord firstAidRecord = new FirstAidRecord();
FirstAidRecordExample recordExample = new FirstAidRecordExample();
recordExample.createCriteria().andFirstAidIdEqualTo(param.getFirstAidId()).andQuestionCodeEqualTo("CJBL-YSBL");
List<FirstAidRecord> firstAidRecords = firstAidRecordMapper.selectByExample(recordExample);
if(CollectionUtil.isNotEmpty(firstAidRecords)){
firstAidRecord = firstAidRecords.get(0);
firstAidRecord.setAnswer(param.getSuspected());
firstAidRecordMapper.updateByPrimaryKeySelective(firstAidRecord);
}else {
firstAidRecord.setId(snowflake.nextId());
firstAidRecord.setQuestionCode("CJBL-YSBL");
firstAidRecord.setFirstAidId(firstAid.getId());
firstAidRecord.setAnswer(param.getSuspected());
firstAidRecord.setSubmitUserId(userId);
firstAidRecord.setSubmitUserType((byte) 1);
firstAidRecordMapper.insertSelective(firstAidRecord);
}
//添加日志信息
FirstAidRecordLog firstAidRecordLog = new FirstAidRecordLog();
BeanUtil.copyProperties(firstAidRecord,firstAidRecordLog);
firstAidRecordLog.setId(snowflake.nextId());
firstAidRecordLogMapper.insertSelective(firstAidRecordLog);
}
}
@Override
public PageInfo<PatientVo.PatientListByQuality> queryPatientListByQuality(PatientDto.QueryListByQuality param, Long userId) {
//根据项目id查找医院id
FirstAid firstAid = firstAidDao.getIdByProjectId(param.getProjectId());
if(ObjectUtil.isNull(firstAid) || ObjectUtil.isNull(firstAid.getHospitalId())){
throw new BaseException(DefaultCodeError.NOT_HOSPITAL_ID);
}
//查找当前用户的职位和科室
OrganizationVo.MemberPosition memberPosition = organizationMemberDao.getMemberPosition(userId);
//用户的科室必须是医院的科室
Organization organization = organizationDao.selectByPrimaryKey(memberPosition.getOrganizationId());
if(organization.getOrganizationType() != 3){
throw new BaseException(DefaultCodeError.NO_HOSPITAL);
}
//根据科室查找模板
OrganizationTemplateExample templateExample = new OrganizationTemplateExample();
templateExample.createCriteria().andCodeEqualTo(memberPosition.getDepartmentCode()).andCodeTypeEqualTo((byte) 0);
List<OrganizationTemplate> templateList = templateMapper.selectByExample(templateExample);
if(CollectionUtil.isEmpty(templateList)){
throw new BaseException(DefaultCodeError.NOT_TEMPLATE);
}
//查找病例信息
PageHelper.startPage(param.getPageNum(),param.getPageSize());
List<PatientVo.PatientListByQuality> patientList = firstAidDao.queryPatientListByQuality(templateList.get(0).getTemplate(),firstAid.getHospitalId(),param);
return new PageInfo<>(patientList);
}
@Override
public PageInfo<PatientVo.PatientListByQuality> queryPatientListBySecretary(PatientDto.QueryListByQuality param, Long userId) {
//根据项目id查询机构信息
Organization organization = organizationDao.getByProjectId(param.getProjectId());
if(ObjectUtil.isNull(organization)){
throw new BaseException(DefaultCodeError.NOT_ORGANIZATION);
}
//查询医院所属的下级医院
List<Organization> hospitalList = organizationDao.getHospitalByParentId(organization.getId());
if(CollectionUtil.isEmpty(hospitalList)){
throw new BaseException(DefaultCodeError.NOT_HOSPITAL_ID);
}
//查找病例信息
PageHelper.startPage(param.getPageNum(),param.getPageSize());
List<PatientVo.PatientListByQuality> patientList = firstAidDao.queryPatientListBySecretary(hospitalList,param);
return new PageInfo<>(patientList);
}
}

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

@ -29,4 +29,27 @@ public interface IFirstAidService {
* @return 返回患者信息
*/
PatientVo.GetPatient getPatient(PatientDto.ProjectId param, Long userId);
/**
* 编辑患者信息
* @param param 患者信息
* @param userId userId
*/
void updatePatient(PatientDto.UpdatePatient param, Long userId);
/**
* 质检员查看急救列表
* @param param 筛选条件
* @param userId userId
* @return 返回急救信息列表
*/
PageInfo<PatientVo.PatientListByQuality> queryPatientListByQuality(PatientDto.QueryListByQuality param, Long userId);
/**
* 秘书查看急救列表
* @param param 筛选条件
* @param userId userId
* @return 返回急救信息列表
*/
PageInfo<PatientVo.PatientListByQuality> queryPatientListBySecretary(PatientDto.QueryListByQuality param, Long userId);
}

12
src/main/java/com/ccsens/carbasics/service/IImportService.java

@ -1,16 +1,24 @@
package com.ccsens.carbasics.service;
import com.ccsens.carbasics.bean.vo.ProjectVo;
/**
* @author
*/
public interface IImportService {
// /**
// * 读取excel
// * @param path 路径
// * @param userId userId
// * @throws Exception 异常
// */
// void importWbs(String path, Long userId) throws Exception;
/**
* 读取excel
* @param path 路径
* @param userId userId
* @throws Exception 异常
*/
void importWbs(String path, Long userId) throws Exception;
ProjectVo.ProjectInfo importWbs(String path, Long userId, Long projectId) throws Exception;
}

1116
src/main/java/com/ccsens/carbasics/service/ImportService.java

File diff suppressed because it is too large

7
src/main/java/com/ccsens/carbasics/util/DefaultCodeError.java

@ -29,7 +29,12 @@ public class DefaultCodeError extends CodeError {
public static final Code NO_POWER = new Code(17,"权限不足", true);
public static final Code NO_HOSPITAL = new Code(18,"未查到对应的医院信息", true);
public static final Code NO_DATA_MODIFY_PRIVILEGE = new Code(19,"没有操作权限", true);
public static final Code IDCARD_ERROR = new Code(20,"请输入正确的身份证号", true);
public static final Code NOT_TEMPLATE = new Code(21,"科室没有病例类型配置,请联系运维人员", true);
public static final Code NOT_HOSPITAL_ID = new Code(22,"医院信息尚未配置,请联系运维人员", true);
public static final Code NOT_ORGANIZATION = new Code(23,"机构信息尚未配置,请联系运维人员", true);
public static final Code PROJECT_NAME_REPEAT = new Code(24,"项目名称重复", true);
public static final Code FEIGN_ERROR = new Code(25,"导入项目失败", true);

4
src/main/resources/application.yml

@ -1,4 +1,4 @@
spring:
profiles:
active: dev
include: common, util-dev
active: test
include: common, util-test

121
src/main/resources/mapper_dao/FirstAidDao.xml

@ -78,16 +78,17 @@
and r.question_code = 'JMRSSJ' and a.rec_status = 0 and p.rec_status = 0 and r.rec_status = 0
</select>
<select id="getIdByProjectId" resultType="java.lang.Long">
<select id="getIdByProjectId" resultType="com.ccsens.carbasics.bean.po.FirstAid">
SELECT
id
*
FROM
t_qcp_first_aid AS a
t_qcp_first_aid
WHERE
rec_status = 0
AND project_id = #{projectId}
LIMIT 1
</select>
<select id="getPatientName" resultType="java.lang.String">
SELECT
p.NAME
@ -129,4 +130,118 @@
tfa.da
) tfa on tsm.`name`=tfa.`da`
</select>
<select id="queryPatientListByQuality"
resultType="com.ccsens.carbasics.bean.vo.PatientVo$PatientListByQuality">
SELECT
t.*,
t1.answer AS hospitalNumber,
t2.answer AS arriveHospitalTime,
count( t3.id ) AS times
FROM
(
SELECT
id as firstAidId,
`name`,
gender,
age,
`type`,
nation,
idcard,
data_status AS dataStatus
FROM
t_qcp_first_aid
WHERE
data_status = #{param.dataStatus}
<if test="param.name!=null and param.name!=''">
AND `name` LIKE concat('%',#{param.name},'%')
</if>
<if test="param.idcard!=null and param.idcard!=''">
AND idcard LIKE concat('%',#{param.idcard},'%')
</if>
AND rec_status = 0
AND hospital_id = #{hospitalId}
AND type = #{template}
) t
LEFT JOIN t_qcp_first_aid_record t1 ON t.id = t1.first_aid_id
AND t1.question_code = 'JBXX-ZYH'
AND t1.rec_status = 0
LEFT JOIN t_qcp_first_aid_record t2 ON t.id = t2.first_aid_id
AND t2.question_code = 'JBXX-DYSJ'
AND t2.rec_status = 0
LEFT JOIN t_qcp_first_aid_log t3 ON t.id = t3.first_aid_id
AND t3.operation_type = 3
AND t3.rec_status = 0
LEFT JOIN t_qcp_first_aid_record t4 ON t.id = t4.first_aid_id
AND t4.question_code = 'CYQK-CYSJ'
AND t4.rec_status = 0
WHERE
t4.id IS NULL
<if test="param.hospitalNumber!=null and param.hospitalNumber!=''">
AND t1.answer LIKE concat('%',#{param.hospitalNumber},'%')
</if>
<if test="param.startTime!=null and param.startTime!=0">
AND t2.answer + 0 &gt;= #{param.startTime}
</if>
<if test="param.endTime!=null and param.endTime!=0">
AND t2.answer + 0 &lt; #{param.endTime}
</if>
GROUP BY
t.id
</select>
<select id="queryPatientListBySecretary"
resultType="com.ccsens.carbasics.bean.vo.PatientVo$PatientListByQuality">
SELECT
t.*,
t1.answer AS hospitalNumber,
t2.answer AS arriveHospitalTime,
count( t3.id ) AS times
FROM
(
SELECT
id,
NAME,
gender,
age,
type,
data_status AS dataStatus
FROM
t_qcp_first_aid
WHERE
data_status = #{param.dataStatus}
<if test="param.name!=null and param.name!=''">
AND `name` LIKE concat('%',#{param.name},'%')
</if>
<if test="param.idcard!=null and param.idcard!=''">
AND idcard LIKE concat('%',#{param.idcard},'%')
</if>
AND rec_status = 0
AND hospital_id in
<foreach collection="hospitalList" open="(" close=")" separator="," item="hospitalId">
#{hospitalId}
</foreach>
AND data_status in (1,3,5,6)
) t
LEFT JOIN t_qcp_first_aid_record t1 ON t.id = t1.first_aid_id
AND t1.question_code = 'JBXX-ZYH'
AND t1.rec_status = 0
LEFT JOIN t_qcp_first_aid_record t2 ON t.id = t2.first_aid_id
AND t2.question_code = 'JBXX-DYSJ'
AND t2.rec_status = 0
LEFT JOIN t_qcp_first_aid_log t3 ON t.id = t3.first_aid_id
AND t3.operation_type = 3
AND t3.rec_status = 0
<trim prefix="WHERE" prefixOverrides="and">
<if test="param.hospitalNumber!=null and param.hospitalNumber!=''">
AND t1.answer LIKE concat('%',#{param.hospitalNumber},'%')
</if>
<if test="param.startTime!=null and param.startTime!=0">
AND t2.answer + 0 &gt;= #{param.startTime}
</if>
<if test="param.endTime!=null and param.endTime!=0">
AND t2.answer + 0 &lt; #{param.endTime}
</if>
</trim>
GROUP BY
t.id
</select>
</mapper>

37
src/main/resources/mapper_dao/OrganizationDao.xml

@ -23,4 +23,41 @@
WHERE
t1.organization_id = t2.organization_id
</select>
<select id="getByProjectId" resultType="com.ccsens.carbasics.bean.po.Organization">
SELECT
id,
organization_type as organizationType,
`code`,
`name`,
short_name as shortName,
introduce,
`level`
FROM
t_organization o,
t_organization_project p
WHERE
p.project_id = #{projectId}
and o.id = p.organization_id
and o.rec_status = 0
and p.rec_status = 0
</select>
<select id="getHospitalByParentId" resultType="com.ccsens.carbasics.bean.po.Organization">
SELECT
id,
organization_type as organizationType,
`code`,
`name`,
short_name as shortName,
introduce,
`level`
FROM
t_organization o,
t_organization_parent p
WHERE
p.parent_id = #{parentId}
and o.id = p.organization_id
and o.organization_type = 3
and o.rec_status = 0
and p.rec_status = 0
</select>
</mapper>

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

@ -6,18 +6,25 @@
SELECT
m.id,
m.`name`,
p.id as positionId,
p.`code` as positionCode,
d.`code` as departmentCode
d.id as departmentId,
d.`code` as departmentCode,
o.id as organizationId,
o.`code` as organizationCode
FROM
t_organization_member m,
t_organization_position p,
t_organization_department d
t_organization_department d,
t_organization o
WHERE
m.user_id = #{userId}
and m.position_id = p.id
and m.department_id = d.id
and d.organization_id = o.id
and m.rec_status = 0
and p.rec_status = 0
and d.rec_status = 0
and o.rec_status = 0
</select>
</mapper>

50
src/main/resources/mapper_dao/SProjectDao.xml

@ -0,0 +1,50 @@
<?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.SProjectDao">
<update id="updateStatusById">
UPDATE t_pro_task_detail
SET rec_status = 2
WHERE
id = #{projectId}
</update>
<select id="queryByCreator" resultType="com.ccsens.carbasics.bean.vo.ProjectVo$SysProject">
SELECT
t.id,
t.`name`
FROM
t_pro_member m,
t_pro_role_member rm,
t_pro_role r,
t_label l,
t_pro_task_detail t
WHERE
m.id = rm.member_id
and r.id = rm.role_id
and r.label_id = l.id
and l.`level` = 5
and r.project_id = t.id
and m.user_id = #{userId}
and m.rec_status = 0
and rm.rec_status = 0
and r.rec_status = 0
and t.rec_status = 0
and l.rec_status = 0
</select>
<select id="selectById" resultType="com.ccsens.carbasics.bean.vo.ProjectVo$SysProject">
SELECT
d.id,
d.`name`,
s.plan_start_time AS beginTime,
s.plan_end_time AS endTime
FROM
t_pro_task_detail AS d
LEFT JOIN t_pro_task_sub AS s ON d.id = s.task_detail_id
WHERE
d.rec_status = 0
AND s.rec_status = 0
AND d.id = #{projectId}
</select>
</mapper>
Loading…
Cancel
Save