Browse Source

debug

master
zhizhi wu 4 years ago
parent
commit
2e446d42c1
  1. 46
      src/main/java/com/ccsens/carbasics/api/DebugController.java
  2. 25
      src/main/java/com/ccsens/carbasics/api/FirstAidController.java
  3. 24
      src/main/java/com/ccsens/carbasics/api/PatientController.java
  4. 24
      src/main/java/com/ccsens/carbasics/bean/dto/PatientDto.java
  5. 12
      src/main/java/com/ccsens/carbasics/bean/vo/OrganizationVo.java
  6. 15
      src/main/java/com/ccsens/carbasics/bean/vo/PatientVo.java
  7. 20
      src/main/java/com/ccsens/carbasics/persist/dao/OrganizationMemberDao.java
  8. 110
      src/main/java/com/ccsens/carbasics/service/FirstAidService.java
  9. 15
      src/main/java/com/ccsens/carbasics/service/IFirstAidService.java
  10. 20
      src/main/java/com/ccsens/carbasics/util/Constant.java
  11. 23
      src/main/resources/mapper_dao/OrganizationMemberDao.xml

46
src/main/java/com/ccsens/carbasics/api/DebugController.java

@ -1,15 +1,30 @@
package com.ccsens.carbasics.api;
import cn.hutool.core.lang.Snowflake;
import cn.hutool.core.text.StrFormatter;
import cn.hutool.core.util.ObjectUtil;
import com.ccsens.carbasics.util.Constant;
import com.ccsens.util.ExcelUtil;
import com.ccsens.util.JsonResponse;
import com.ccsens.util.StringUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.io.FileInputStream;
import java.io.InputStream;
@Api(tags = "DEBUG" , description = "DebugController | ")
@RestController
@ -17,13 +32,38 @@ import javax.servlet.http.HttpServletRequest;
@Slf4j
public class DebugController {
@Resource
private Snowflake snowflake;
@ApiOperation(value = "/测试",notes = "")
@ApiImplicitParams({
})
@RequestMapping(value="",method = RequestMethod.GET,produces = {"application/json;charset=UTF-8"})
public JsonResponse debug(HttpServletRequest request) throws Exception {
@RequestMapping(value="",method = {RequestMethod.GET, RequestMethod.POST},produces = {"application/json;charset=UTF-8"})
public JsonResponse debug() throws Exception {
String sql = "insert into t_qcp_car_record(id,car_id, type, car_value, time) values(1, 2, 1, {}, {})";
String format = StrFormatter.format(sql, 1, 1);
String fullPath = "";
InputStream is = new FileInputStream(fullPath);
Workbook workbook;
if (fullPath.endsWith(Constant.XLS)) {
workbook = new HSSFWorkbook(is);
} else {
workbook = new XSSFWorkbook(is);
}
//获取sheet
Sheet sheet = workbook.getSheetAt(0);
//循环读取每一行
return JsonResponse.newInstance().ok("测试");
for (int i = 1; i <= sheet.getLastRowNum(); i++) {
//获取当前行
Row row = sheet.getRow(i);
if (ObjectUtil.isNull(row)) {
continue;
}
//获取题目信息
String questionName = StringUtil.replaceStrSpace(ExcelUtil.getCellValue(row.getCell(1)));
}
return JsonResponse.newInstance().ok("测试");
}
}

25
src/main/java/com/ccsens/carbasics/api/FirstAidController.java

@ -1,10 +1,24 @@
package com.ccsens.carbasics.api;
import com.ccsens.carbasics.bean.dto.PatientDto;
import com.ccsens.carbasics.bean.vo.PatientVo;
import com.ccsens.carbasics.service.IFirstAidService;
import com.ccsens.cloudutil.annotation.MustLogin;
import com.ccsens.util.JsonResponse;
import com.ccsens.util.bean.dto.QueryDto;
import com.github.pagehelper.PageInfo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
/**
* @author
*/
@ -13,6 +27,17 @@ import org.springframework.web.bind.annotation.RestController;
@RequestMapping("/firstAid")
@Slf4j
public class FirstAidController {
@Resource
private IFirstAidService firstAidService;
@MustLogin
@ApiOperation(value = "病例列表", notes = "分诊护士/神内医生/神外医生查看相关病例")
@RequestMapping(value = "/querySelf", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse<PageInfo<PatientVo.QueryPatientList>> querySelf(@ApiParam @Validated @RequestBody QueryDto<PatientDto.QueryPatient> params) throws Exception{
log.info("查询自己相关的病例列表:{}", params);
PageInfo<PatientVo.QueryPatientList> page = firstAidService.querySelf(params.getParam(), params.getUserId());
log.info("查询自己相关的病例列表成功");
return JsonResponse.newInstance().ok(page);
}
}

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

@ -34,12 +34,22 @@ public class PatientController {
private IFirstAidService firstAidService;
@MustLogin
@ApiOperation(value = "病例列表", notes = "分诊护士/神内医生/神外医生查看相关病例")
@RequestMapping(value = "/querySelf", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse<PageInfo<PatientVo.QueryPatientList>> querySelf(@ApiParam @Validated @RequestBody QueryDto<PatientDto.QueryPatient> params) throws Exception{
log.info("查询自己相关的病例列表:{}", params);
PageInfo<PatientVo.QueryPatientList> page = firstAidService.querySelf(params.getParam(), params.getUserId());
log.info("查询自己相关的病例列表成功");
return JsonResponse.newInstance().ok(page);
@ApiOperation(value = "添加病例", notes = "")
@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);
firstAidService.savePatient(params.getParam(), params.getUserId());
log.info("添加病例成功");
return JsonResponse.newInstance().ok();
}
@MustLogin
@ApiOperation(value = "查询患者信息", notes = "")
@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);
PatientVo.GetPatient getPatient = firstAidService.getPatient(params.getParam(), params.getUserId());
log.info("查询患者信息成功");
return JsonResponse.newInstance().ok(getPatient);
}
}

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

@ -108,4 +108,28 @@ public class PatientDto {
@ApiModelProperty("答案")
private List<String> answer;
}
@Data
@ApiModel("添加病例")
public static class SavePatient{
@ApiModelProperty("项目id")
private String projectId;
@ApiModelProperty("患者姓名")
private String name;
@ApiModelProperty("性别 0女 1男")
private byte gender;
@ApiModelProperty("民族")
private String nation;
@ApiModelProperty("证件号")
private String idcard;
}
@Data
@ApiModel("项目id")
public static class ProjectId{
@NotNull(message = "请传入项目id")
@ApiModelProperty("项目id")
private Long projectId;
}
}

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

@ -18,4 +18,16 @@ public class OrganizationVo {
private Long organizationId;
}
@Data
@ApiModel("成员部门和职位信息")
public static class MemberPosition{
@ApiModelProperty("id")
private Long id;
@ApiModelProperty("姓名")
private String name;
@ApiModelProperty("职位code")
private String positionCode;
@ApiModelProperty("科室code")
private String departmentCode;
}
}

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

@ -94,4 +94,19 @@ public class PatientVo {
@ApiModelProperty("ct开始时间")
private Long ctTime;
}
@Data
@ApiModel("查询患者信息")
public static class GetPatient{
@ApiModelProperty("急救id")
private Long firstAidId;
@ApiModelProperty("患者姓名")
private String name;
@ApiModelProperty("性别 0女 1男")
private byte gender;
@ApiModelProperty("民族")
private String nation;
@ApiModelProperty("证件号")
private String idcard;
}
}

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

@ -0,0 +1,20 @@
package com.ccsens.carbasics.persist.dao;
import com.ccsens.carbasics.bean.vo.OrganizationVo;
import com.ccsens.carbasics.persist.mapper.OrganizationMemberMapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
/**
* @author
*/
@Repository
public interface OrganizationMemberDao extends OrganizationMemberMapper {
/**
* 通过userId查找成员的科室和部门信息
* @param userId
* @return
*/
OrganizationVo.MemberPosition getMemberPosition(@Param("userId") Long userId);
}

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

@ -1,13 +1,26 @@
package com.ccsens.carbasics.service;
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.vo.FirstAidLogVo;
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.FirstAidLogDao;
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.util.Constant;
import com.ccsens.carbasics.util.DefaultCodeError;
import com.ccsens.util.exception.BaseException;
import com.github.pagehelper.PageHelper;
@ -34,6 +47,16 @@ public class FirstAidService implements IFirstAidService{
private FirstAidDao firstAidDao;
@Resource
private FirstAidLogDao firstAidLogDao;
@Resource
private OrganizationMemberDao organizationMemberDao;
@Resource
private Snowflake snowflake;
@Resource
private FirstAidMemberMapper firstAidMemberMapper;
@Resource
private FirstAidLogMapper firstAidLogMapper;
@Override
public PageInfo<PatientVo.QueryPatientList> querySelf(PatientDto.QueryPatient param, Long userId) {
@ -50,7 +73,7 @@ public class FirstAidService implements IFirstAidService{
}
log.info("查询日志");
List<Long> firstAidIds = new ArrayList<>();
Map<Long, PatientVo.QueryPatientList> map = new HashMap<>();
Map<Long, PatientVo.QueryPatientList> map = new HashMap<>(list.size());
list.forEach(aid -> {
firstAidIds.add(aid.getFirstAidId());
map.put(aid.getFirstAidId(), aid);
@ -60,10 +83,89 @@ public class FirstAidService implements IFirstAidService{
if (CollectionUtil.isEmpty(members)) {
return new PageInfo<>(list);
}
members.forEach(member -> {
map.get(member.getFirstAidId()).setDoctors(member.getDoctors());
});
members.forEach(member -> map.get(member.getFirstAidId()).setDoctors(member.getDoctors()));
log.info("设置成员");
return new PageInfo<>(list);
}
@Override
public void savePatient(PatientDto.SavePatient param, Long userId) {
//查找当前用户的职位和科室
OrganizationVo.MemberPosition memberPosition = organizationMemberDao.getMemberPosition(userId);
log.info("当前用户的科室职位信息:{}",memberPosition);
if(ObjectUtil.isNull(memberPosition)){
//为空则提示没有权限
throw new BaseException(DefaultCodeError.NO_POWER);
}
//职位
Byte position = null;
//是否是急诊的护士
if(Constant.Department.JI_ZHEN.equalsIgnoreCase(memberPosition.getDepartmentCode()) && Constant.Position.HU_SHI.equalsIgnoreCase(memberPosition.getPositionCode())){
position = 0;
}
//是否是神内的医生
if(Constant.Department.SHEN_NEI.equalsIgnoreCase(memberPosition.getDepartmentCode()) && Constant.Position.YI_SHENG.equalsIgnoreCase(memberPosition.getPositionCode())){
position = 1;
}
if(ObjectUtil.isNull(position)){
//不是急诊护士或者不是神内的医生,提示没有权限
throw new BaseException(DefaultCodeError.NO_POWER);
}
//创建病例
FirstAid firstAid = new FirstAid();
firstAid.setId(snowflake.nextId());
firstAid.setName(param.getName());
firstAid.setGender(param.getGender());
firstAid.setNation(param.getNation());
firstAid.setIdcard(param.getIdcard());
if(StrUtil.isNotEmpty(param.getIdcard())){
firstAid.setAge(IdcardUtil.getAgeByIdCard(param.getIdcard()));
}
firstAidDao.insertSelective(firstAid);
//添加急救成员
FirstAidMember firstAidMember = new FirstAidMember();
firstAidMember.setId(snowflake.nextId());
firstAidMember.setCreateUserId(userId);
if(position == 1){
firstAidMember.setRecordUserId(userId);
}
firstAidMemberMapper.insertSelective(firstAidMember);
//添加急救日志表(创建信息)
FirstAidLog firstAidLog = new FirstAidLog();
firstAidLog.setId(snowflake.nextId());
firstAidLog.setFirstAidId(firstAid.getId());
firstAidLog.setOperationTime(System.currentTimeMillis());
firstAidLog.setOperationUserId(userId);
firstAidLog.setOperationType((byte) 0);
firstAidLog.setOperationRole(position);
firstAidLogMapper.insertSelective(firstAidLog);
//如果是医生,再添加一条加入的日志
if(position == 1){
FirstAidLog firstAidLogJoin = new FirstAidLog();
firstAidLogJoin.setId(snowflake.nextId());
firstAidLogJoin.setFirstAidId(firstAid.getId());
firstAidLogJoin.setOperationTime(System.currentTimeMillis());
firstAidLogJoin.setOperationUserId(userId);
firstAidLogJoin.setOperationType((byte) 7);
firstAidLogJoin.setOperationRole(position);
firstAidLogMapper.insertSelective(firstAidLog);
}
}
@Override
public PatientVo.GetPatient getPatient(PatientDto.ProjectId param, Long userId) {
PatientVo.GetPatient getPatient = new PatientVo.GetPatient();
//通过项目id查找急救信息
FirstAidExample firstAidExample = new FirstAidExample();
firstAidExample.createCriteria().andProjectIdEqualTo(param.getProjectId());
List<FirstAid> firstAids = firstAidDao.selectByExample(firstAidExample);
if(CollectionUtil.isNotEmpty(firstAids)){
getPatient.setFirstAidId(firstAids.get(0).getId());
getPatient.setName(firstAids.get(0).getName());
getPatient.setGender(firstAids.get(0).getGender());
getPatient.setNation(firstAids.get(0).getNation());
getPatient.setIdcard(firstAids.get(0).getIdcard());
}
return getPatient;
}
}

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

@ -14,4 +14,19 @@ public interface IFirstAidService {
* @return
*/
PageInfo<PatientVo.QueryPatientList> querySelf(PatientDto.QueryPatient param, Long userId);
/**
* 添加病例
* @param param 患者信息
* @param userId userId
*/
void savePatient(PatientDto.SavePatient param, Long userId);
/**
* 通过项目id查找患者信息
* @param param 项目id
* @param userId userId
* @return 返回患者信息
*/
PatientVo.GetPatient getPatient(PatientDto.ProjectId param, Long userId);
}

20
src/main/java/com/ccsens/carbasics/util/Constant.java

@ -15,8 +15,28 @@ public class Constant {
/**xls*/
public static final String XLS = "xls";
/**科室相关*/
public static final class Department {
/**急诊*/
public static final String JI_ZHEN = "JiZhen";
/**神内*/
public static final String SHEN_NEI = "ShenNei";
/**神外*/
public static final String SHEN_WAI = "ShenWai";
}
/**职位相关*/
public static final class Position {
/**护士*/
public static final String HU_SHI = "HuShi";
/**医生*/
public static final String YI_SHENG = "YiSheng";
}
public enum DataStatus {
/**
*
*/
Create((byte) 0,"创建"),
FirstAidPass((byte) 1,"急救审核通过"),
FirstAidRefuse((byte) 2,"急救审核拒绝"),

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

@ -0,0 +1,23 @@
<?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.OrganizationMemberDao">
<select id="getMemberPosition" resultType="com.ccsens.carbasics.bean.vo.OrganizationVo$MemberPosition">
SELECT
m.id,
m.`name`,
p.`code` as positionCode,
d.`code` as departmentCode
FROM
t_organization_member m,
t_organization_position p,
t_organization_department d
WHERE
m.user_id = #{userId}
and m.position_id = p.id
and m.department_id = d.id
and m.rec_status = 0
and p.rec_status = 0
and d.rec_status = 0
</select>
</mapper>
Loading…
Cancel
Save