Browse Source

合并冲突

master
zy_Java 4 years ago
parent
commit
497f5e495d
  1. 46
      src/main/java/com/ccsens/carbasics/api/DebugController.java
  2. 25
      src/main/java/com/ccsens/carbasics/api/FirstAidController.java
  3. 2
      src/main/java/com/ccsens/carbasics/bean/dto/PatientDto.java
  4. 35
      src/main/java/com/ccsens/carbasics/bean/vo/FirstAidLogVo.java
  5. 29
      src/main/java/com/ccsens/carbasics/bean/vo/PatientVo.java
  6. 47
      src/main/java/com/ccsens/carbasics/persist/dao/FirstAidDao.java
  7. 22
      src/main/java/com/ccsens/carbasics/persist/dao/FirstAidLogDao.java
  8. 36
      src/main/java/com/ccsens/carbasics/service/FirstAidService.java
  9. 1
      src/main/java/com/ccsens/carbasics/service/IFirstAidService.java
  10. 97
      src/main/resources/mapper_dao/FirstAidDao.xml
  11. 35
      src/main/resources/mapper_dao/FirstAidLogDao.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);
}
}

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

@ -32,7 +32,7 @@ public class PatientDto {
@ApiModelProperty("第几页")
@Min(value = 1)
private int page = 1;
private int pageNum = 1;
@ApiModelProperty("每页多少条")
@Min(value = 1)
@Max(value=100)

35
src/main/java/com/ccsens/carbasics/bean/vo/FirstAidLogVo.java

@ -0,0 +1,35 @@
package com.ccsens.carbasics.bean.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* @description:
* @author: whj
* @time: 2021/8/31 11:25
*/
public class FirstAidLogVo {
@ApiModel("参与者")
@Data
public static class JoinMember{
@ApiModelProperty("急救ID")
private Long firstAidId;
@ApiModelProperty("参与者信息")
private List<Member> doctors;
}
@ApiModel("参与者-成员")
@Data
public static class Member{
@ApiModelProperty("日志ID")
private Long id;
@ApiModelProperty("角色 0:分诊护士 1:神内医生 2:神外医生")
private byte role;
@ApiModelProperty("医生名字")
private String name;
}
}

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

@ -17,8 +17,6 @@ public class PatientVo {
@Data
@ApiModel("医院下的患者列表")
public static class QueryPatientList{
@ApiModelProperty("id")
private Long id;
@ApiModelProperty("急救id")
private Long firstAidId;
@ApiModelProperty("名称")
@ -35,28 +33,15 @@ public class PatientVo {
private byte dataStatus;
@ApiModelProperty("模板类型 0:神内 1:神外")
private byte type;
@ApiModelProperty("发病时间")
private String morbidityTime;
@ApiModelProperty("启动绿道时间")
private String greenWayTime;
@ApiModelProperty("转归去向")
private String transformation;
@ApiModelProperty("转归时间")
private String transformationTime;
@ApiModelProperty("急救:发病时间 转归:出院时间")
private String record1;
@ApiModelProperty("急救:到院时间 转归:离院方式")
private String record2;
@ApiModelProperty("参与者")
private List<FirstAidLogVo.Member> doctors;
}
@Data
@ApiModel("到场医生的信息")
public static class Doctor{
@ApiModelProperty("医生id")
private Long id;
@ApiModelProperty("医生职位")
private int post;
@ApiModelProperty("医生姓名")
private String name;
}
@Data
@ApiModel("急救记录信息")

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

@ -18,12 +18,6 @@ import java.util.List;
*/
@Repository
public interface FirstAidDao extends FirstAidMapper {
/**
* 根据急救ID查询所有的成员ID
* @param aidId 急救ID
* @return userID
*/
List<Long> getUserIdById(@Param("aidId") Long aidId);
/**
* 根据项目id查询急救信息
@ -32,38 +26,6 @@ public interface FirstAidDao extends FirstAidMapper {
*/
FirstAid getIdByProjectId(@Param("projectId") Long projectId);
/**
* 查询质控报告
* @param param 查询条件
* @param hospitalId 医院ID
* @return 质控报告
*/
List<StatisticalVo.Quality> queryQuality(@Param("param") StatisticalDto.Quality param, @Param("hospitalId") Long hospitalId);
/**
* 查询指定时间的溶栓中位数
* @param date 日期
* @param type 0月质控 1周质控 2日质控
* @return 中位数
*/
BigDecimal getMedian(@Param("date") String date, @Param("type") byte type);
/**
* 查询溶栓的日期
* @return 日期
* @param hospitalId 医院ID
*/
List<String> queryThrombolyticDay(@Param("hospitalId") Long hospitalId);
/**
* 根据急救ID查询患者名字
* @param id 急救ID
* @return 患者名字
*/
String getPatientName(@Param("id") Long id);
List<Integer> selResult(@Param("hospitalId") Long hospitalId, @Param("year") String year);
/**
* 质检员查看急救列表
* @param hospitalId 医院id
@ -79,4 +41,13 @@ public interface FirstAidDao extends FirstAidMapper {
* @return 返回急救信息
*/
List<PatientVo.PatientListByQuality> queryPatientListBySecretary(@Param("hospitalList")List<Organization> hospitalList, @Param("param")PatientDto.QueryListByQuality param);
/**
* 查询和用户相关的患者信息
* @param param 条件
* @param userId 用户
* @return 患者基础信息
*/
List<PatientVo.QueryPatientList> querySelf(@Param("param") PatientDto.QueryPatient param, @Param("userId") Long userId);
}

22
src/main/java/com/ccsens/carbasics/persist/dao/FirstAidLogDao.java

@ -0,0 +1,22 @@
package com.ccsens.carbasics.persist.dao;
import com.ccsens.carbasics.bean.vo.FirstAidLogVo;
import com.ccsens.carbasics.persist.mapper.FirstAidLogMapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* @description:
* @author: whj
* @time: 2021/8/31 11:32
*/
public interface FirstAidLogDao extends FirstAidLogMapper {
/**
* 查询参与急救的医生\护士信息
* @param firstAidIds 急救列表
* @return 医生信息
*/
List<FirstAidLogVo.JoinMember> queryMember(@Param("firstAidIds") List<Long> firstAidIds);
}

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

@ -8,9 +8,12 @@ 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.*;
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.*;
@ -25,7 +28,10 @@ import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Slf4j
@Service
@ -35,11 +41,14 @@ public class FirstAidService implements IFirstAidService{
@Resource
private OrganizationDao organizationDao;
@Resource
private FirstAidDao firstAidDao;
@Resource
private FirstAidLogDao firstAidLogDao;
@Resource
private OrganizationMemberDao organizationMemberDao;
@Resource
private Snowflake snowflake;
@Resource
private FirstAidDao firstAidDao;
@Resource
private FirstAidMemberMapper firstAidMemberMapper;
@Resource
@ -51,6 +60,7 @@ public class FirstAidService implements IFirstAidService{
@Resource
private FirstAidRecordLogMapper firstAidRecordLogMapper;
@Override
public PageInfo<PatientVo.QueryPatientList> querySelf(PatientDto.QueryPatient param, Long userId) {
// 判断有无权限添加
@ -58,7 +68,27 @@ public class FirstAidService implements IFirstAidService{
if (basic == null) {
throw new BaseException(DefaultCodeError.NO_DATA_MODIFY_PRIVILEGE);
}
return null;
// 基础信息
PageHelper.startPage(param.getPageNum(), param.getPageSize());
List<PatientVo.QueryPatientList> list = firstAidDao.querySelf(param, userId);
if (CollectionUtil.isEmpty(list)) {
return new PageInfo<>(list);
}
log.info("查询日志");
List<Long> firstAidIds = new ArrayList<>();
Map<Long, PatientVo.QueryPatientList> map = new HashMap<>(list.size());
list.forEach(aid -> {
firstAidIds.add(aid.getFirstAidId());
map.put(aid.getFirstAidId(), aid);
});
// 查询医生信息
List<FirstAidLogVo.JoinMember> members = firstAidLogDao.queryMember(firstAidIds);
if (CollectionUtil.isEmpty(members)) {
return new PageInfo<>(list);
}
members.forEach(member -> map.get(member.getFirstAidId()).setDoctors(member.getDoctors()));
log.info("设置成员");
return new PageInfo<>(list);
}
@Override

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

@ -1,6 +1,5 @@
package com.ccsens.carbasics.service;
import com.ccsens.carbasics.bean.dto.PatientDto;
import com.ccsens.carbasics.bean.vo.PatientVo;
import com.github.pagehelper.PageInfo;

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

@ -1,28 +1,21 @@
<?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.FirstAidDao">
<select id="getUserIdById" resultType="Long">
SELECT
m.user_id
FROM
t_qcp_first_aid a,
t_pro_member m
WHERE
a.project_id = m.project_id
AND a.id = #{aidId}
AND a.rec_status = 0
AND m.rec_status = 0
</select>
<select id="queryQuality" resultType="com.ccsens.carbasics.bean.vo.StatisticalVo$Quality">
select
<select id="querySelf" resultType="com.ccsens.carbasics.bean.vo.PatientVo$QueryPatientList">
select a.id as firstAidId, a.name, a.gender, a.age, a.data_status as dataStatus,
a.value_type as demonstrate, a.type as type, r1.answer as record1, r2.answer as record2
from
t_qcp_first_aid a
left join t_qcp_first_aid_member m
on a.id = m.first_aid_id and m.rec_status = 0
<choose>
<when test="param.type == 0">
DATE_FORMAT(a.created_at,'%Y-%m') as date,
and m.create_user_id = #{userId}
</when>
<when test="param.type == 1">
and m.record_user_id in (1000, 0)
</when>
<otherwise>
concat(DATE_FORMAT(a.created_at,'%Y-'), week(a.created_at)) as date,
</otherwise>
</choose>
count(a.id) as total,
count(r.id) as rongshuan,
@ -51,32 +44,8 @@
</choose>
</select>
<select id="getMedian" resultType="java.math.BigDecimal">
SELECT AVG(dd.val) as median_val
FROM (
SELECT d.val, @rownum:=@rownum+1 as `row_number`, @total_rows:=@rownum
FROM
(select r.answer/60000 as val from t_qcp_first_aid a, t_qcp_first_aid_record r
where a.id = r.first_aid_id and r.question_code = 'JMRSSJ'
<choose>
<when test="type == 0">and FROM_UNIXTIME(r.answer/1000,'%Y-%m') = #{date} </when>
<when test="type == 1">and concat(DATE_FORMAT(a.created_at,'%Y-'), week(a.created_at)) = #{date} </when>
<when test="type == 2">and FROM_UNIXTIME(r.answer/1000,'%Y-%m-%d') = #{date} </when>
</choose>
) d,
(SELECT @rownum:=0) r
WHERE d.val is NOT NULL
ORDER BY d.val
) as dd
WHERE dd.row_number IN ( FLOOR((@total_rows+1)/2), FLOOR((@total_rows+2)/2) );
</select>
<select id="queryThrombolyticDay" resultType="java.lang.String">
select distinct FROM_UNIXTIME(r.answer/1000,'%Y-%m-%d') as day
from t_qcp_first_aid a, t_qcp_first_aid_record r, t_qcp_patient p
where a.id = r.first_aid_id and a.patient_id = p.id and p.hospital_id = #{hospitalId}
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="com.ccsens.carbasics.bean.po.FirstAid">
SELECT
@ -89,47 +58,7 @@
LIMIT 1
</select>
<select id="getPatientName" resultType="java.lang.String">
SELECT
p.NAME
FROM
t_qcp_first_aid a,
t_qcp_patient p
WHERE
a.patient_id = p.id
AND a.id = #{id}
AND a.rec_status = 0
AND p.rec_status = 0
</select>
<select id="selResult" resultType="java.lang.Integer">
select
if(tfa.num is NULL,0,tfa.num) as num
FROM
(SELECT
concat( #{year}, `name` ) AS `name`
FROM
t_statistics_month ) tsm
LEFT JOIN (
SELECT
tfa.da,
count( tfa.da ) AS num
FROM
(
SELECT
FROM_UNIXTIME( a.time / 1000, '%Y-%m' ) AS da
FROM
`t_qcp_first_aid` a LEFT JOIN t_qcp_patient p on a.patient_id = p.id and p.rec_status = 0
WHERE
a.rec_status = 0
AND p.hospital_id = #{hospitalId}
AND FROM_UNIXTIME( time / 1000, '%Y' ) = #{year}
) tfa
GROUP BY
tfa.da
ORDER BY
tfa.da
) tfa on tsm.`name`=tfa.`da`
</select>
<select id="queryPatientListByQuality"
resultType="com.ccsens.carbasics.bean.vo.PatientVo$PatientListByQuality">
SELECT

35
src/main/resources/mapper_dao/FirstAidLogDao.xml

@ -0,0 +1,35 @@
<?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.FirstAidLogDao">
<resultMap id="memberMap" type="com.ccsens.carbasics.bean.vo.FirstAidLogVo$JoinMember">
<id column="first_aid_id" property="firstAidId"/>
<collection property="doctors" ofType="com.ccsens.carbasics.bean.vo.FirstAidLogVo$Member">
<id column="id" property="id"/>
<result column="role" property="role"/>
<result column="name" property="name"/>
</collection>
</resultMap>
<select id="queryMember" resultMap="memberMap">
SELECT
l.id,
l.first_aid_id,
l.operation_role as role,
m.name
FROM
t_qcp_first_aid_log l,
t_organization_member m
WHERE
l.operation_user_id = m.user_id
AND l.operation_type IN ( 0, 7 )
AND l.operation_role IN ( 0, 1, 2 )
AND l.first_aid_id IN
<foreach collection="firstAidIds" item="id" open="(" close=")" separator=",">
#{id}
</foreach>
AND l.rec_status = 0
AND m.rec_status = 0
</select>
</mapper>
Loading…
Cancel
Save