Browse Source

上传图片、点击开始接口二合一,0609修改

pt
ma 4 years ago
parent
commit
7ef2cdc78e
  1. 1
      util/src/main/java/com/ccsens/util/CodeEnum.java
  2. 6
      wisdomcar/src/main/java/com/ccsens/wisdomcar/api/OtherRecordsController.java
  3. 2
      wisdomcar/src/main/java/com/ccsens/wisdomcar/api/ProjectController.java
  4. 1
      wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/dto/CreateCaseDto.java
  5. 7
      wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/dto/OtherRecordsDto.java
  6. 6
      wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/dto/StepDto.java
  7. 4
      wisdomcar/src/main/java/com/ccsens/wisdomcar/persist/dao/StepDao.java
  8. 2
      wisdomcar/src/main/java/com/ccsens/wisdomcar/service/IOtherRecordsService.java
  9. 21
      wisdomcar/src/main/java/com/ccsens/wisdomcar/service/OtherRecordsService.java
  10. 58
      wisdomcar/src/main/java/com/ccsens/wisdomcar/service/PatientAndFamilyService.java
  11. 16
      wisdomcar/src/main/java/com/ccsens/wisdomcar/service/ProjectService.java
  12. 18
      wisdomcar/src/main/java/com/ccsens/wisdomcar/service/StepService.java
  13. 53
      wisdomcar/src/main/java/com/ccsens/wisdomcar/service/WisdomCarService.java
  14. 8
      wisdomcar/src/main/java/com/ccsens/wisdomcar/util/Constant.java
  15. 4
      wisdomcar/src/main/resources/application.yml
  16. 31
      wisdomcar/src/main/resources/mapper_dao/StepDao.xml

1
util/src/main/java/com/ccsens/util/CodeEnum.java

@ -217,6 +217,7 @@ public enum CodeEnum {
WISDOM_CAR_RUNNED(177,"这段时间内平车正在运行,请结束平车运行或重新选择平车",true),
WISDOM_CAR_IS_EXIST(178,"平车不存在,请检查后操作",true),
TASK_IS_EXIST(179,"任务不存在,请检查后操作",true),
PATIENT_PROJECT_REPEAT(180,"已创建该患者的病例,请不要重复操作",true),
;

6
wisdomcar/src/main/java/com/ccsens/wisdomcar/api/OtherRecordsController.java

@ -1,5 +1,6 @@
package com.ccsens.wisdomcar.api;
import com.ccsens.cloudutil.annotation.MustLogin;
import com.ccsens.util.JsonResponse;
import com.ccsens.util.bean.dto.QueryDto;
import com.ccsens.wisdomcar.bean.dto.OtherRecordsDto;
@ -31,11 +32,12 @@ public class OtherRecordsController {
@Resource
private IOtherRecordsService iOtherRecordsService;
@ApiOperation(value = "上传图片和记录", notes = "1007")
@MustLogin
@ApiOperation(value = "上传图片和记录(与点击开始合并了)", notes = "")
@RequestMapping(value = "/upload", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse upload(@ApiParam @Validated @RequestBody QueryDto<OtherRecordsDto.PicturesAndRecords> params){
log.info("上传图片和记录:{}", params);
iOtherRecordsService.upload(params.getParam());
iOtherRecordsService.upload(params.getParam(),params.getUserId());
log.info("上传图片和记录成功");
return JsonResponse.newInstance().ok();
}

2
wisdomcar/src/main/java/com/ccsens/wisdomcar/api/ProjectController.java

@ -45,7 +45,7 @@ public class ProjectController {
private IProjectService projectService;
@MustLogin
@ApiOperation(value = "点击开始", notes = "whj")
@ApiOperation(value = "点击开始(暂不使用)", notes = "whj")
@RequestMapping(value = "/start", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse start(@ApiParam @Validated @RequestBody QueryDto<ProjectDto.Start> params){
log.info("点击开始:{}", params);

1
wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/dto/CreateCaseDto.java

@ -34,6 +34,7 @@ public class CreateCaseDto {
private String medicalRecordNum;
@ApiModelProperty("患者家属姓名")
private String familyName;
@Pattern(regexp="^\\s{0}$|^[1]([3-9])[0-9]{9}$",message="请输入正确的手机号")
@ApiModelProperty("患者家属手机号")
private String familyPhone;
}

7
wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/dto/OtherRecordsDto.java

@ -25,7 +25,14 @@ public class OtherRecordsDto {
private List<String> pictures;
@ApiModelProperty("上传记录")
private String records;
@ApiModelProperty("开始时间")
private Long startTime = System.currentTimeMillis();
// @NotNull(message="请说明您的任务")
// @ApiModelProperty("分解任务ID")
// private Long taskSubId;
}
@Data
@ApiModel("查询上传图片和记录")
public static class QueryId {

6
wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/dto/StepDto.java

@ -15,8 +15,8 @@ public class StepDto {
@Data
@ApiModel("查看环节完成状态")
public static class FindStepStatus{
@NotNull(message = "请选择要查看的患者平车")
@ApiModelProperty("患者平车id")
private Long patientCarId;
@NotNull(message = "请选择要查看的数据")
@ApiModelProperty("分解任务id")
private Long taskSubId;
}
}

4
wisdomcar/src/main/java/com/ccsens/wisdomcar/persist/dao/StepDao.java

@ -33,8 +33,8 @@ public interface StepDao extends StepMapper {
/**
* 查看环节是否完成
* @param patientCarId 患者平车id
* @param taskSubId 患者平车id
* @return 环节信息
*/
List<StepVo.StepStatus> findStepIsOver(@Param("patientCarId") Long patientCarId);
List<StepVo.StepStatus> findStepIsOver(@Param("taskSubId") Long taskSubId);
}

2
wisdomcar/src/main/java/com/ccsens/wisdomcar/service/IOtherRecordsService.java

@ -13,7 +13,7 @@ public interface IOtherRecordsService {
* @param
* @throws
*/
void upload(OtherRecordsDto.PicturesAndRecords param);
void upload(OtherRecordsDto.PicturesAndRecords param,Long userId);
/**
* 查询上传图片和记录

21
wisdomcar/src/main/java/com/ccsens/wisdomcar/service/OtherRecordsService.java

@ -7,6 +7,7 @@ import com.ccsens.util.CodeEnum;
import com.ccsens.util.StringUtil;
import com.ccsens.util.exception.BaseException;
import com.ccsens.wisdomcar.bean.dto.OtherRecordsDto;
import com.ccsens.wisdomcar.bean.dto.ProjectDto;
import com.ccsens.wisdomcar.bean.po.PatientInformationRecord;
import com.ccsens.wisdomcar.bean.po.PatientInformationRecordExample;
import com.ccsens.wisdomcar.bean.po.PatientWisdomCar;
@ -50,10 +51,12 @@ public class OtherRecordsService implements IOtherRecordsService {
@Resource
private Snowflake snowflake;
@Resource
private ProjectService projectService;
@Override
public void upload(OtherRecordsDto.PicturesAndRecords param) {
public void upload(OtherRecordsDto.PicturesAndRecords param,Long userId) {
//通过t_patient_information_record里面的分解任务id 找到患者平车id 最新的 拿到患者平车id t_patient_information_record
//拿到患者平车id
ProjectVo.BindCar bindCar = stepTaskDao.getBindCarTaskId(param.getId());
@ -61,6 +64,22 @@ public class OtherRecordsService implements IOtherRecordsService {
log.info("没有找到绑定的平车信息:{}", param);
throw new BaseException(CodeEnum.PARAM_ERROR);
}*/
//添加开始时间
if (ObjectUtil.isNotNull(param.getStartTime())){
PatientInformationRecord patientInformationRecord = new PatientInformationRecord();
patientInformationRecord.setId(snowflake.nextId());
patientInformationRecord.setInformationType((byte) 3);
patientInformationRecord.setTaskSubId(param.getId());
patientInformationRecord.setPatientCarId(bindCar == null ? 0 : bindCar.getId());
patientInformationRecord.setContent(param.getStartTime().toString());
patientInformationRecordMapper.insertSelective(patientInformationRecord);
ProjectDto.Start start = new ProjectDto.Start();
start.setStartTime(param.getStartTime());
start.setTaskSubId(param.getId());
//点击开始接口
projectService.start(start,userId);
}
//判断是否是图片是否为空
if (CollectionUtil.isNotEmpty(param.getPictures())){
for (int i = 0; i < param.getPictures().size(); i++) {

58
wisdomcar/src/main/java/com/ccsens/wisdomcar/service/PatientAndFamilyService.java

@ -66,6 +66,26 @@ public class PatientAndFamilyService implements IPatientAndFamilyService{
if (ObjectUtil.isNotNull(param.getSex())){
patient.setSex(param.getSex());
}
//添加患者成员
if (ObjectUtil.isNotNull(param.getPhone()) && ObjectUtil.isNull(patient.getPhone())){
MemberRoleDto.SaveMemberForTemplate saveMemberForTemplate = new MemberRoleDto.SaveMemberForTemplate();
List<MemberRoleDto.MemberForTemplate> memberList = new ArrayList<>();
MemberRoleDto.MemberForTemplate memberForTemplate = new MemberRoleDto.MemberForTemplate();
if (StrUtil.isNotBlank(param.getName())){
memberForTemplate.setMemberName(param.getName());
}
memberForTemplate.setPhone(param.getPhone());
List<String> roleName = new ArrayList<>();
roleName.add(Constant.PATIENT);
memberForTemplate.setRoleName(roleName);
memberList.add(memberForTemplate);
saveMemberForTemplate.setProjectId(patient.getProjectId());
saveMemberForTemplate.setMemberForTemplate(memberList);
QueryDto<MemberRoleDto.SaveMemberForTemplate> queryDto = new QueryDto<>();
queryDto.setParam(saveMemberForTemplate);
//调用tall添加成员接口
addMemberOfTall(queryDto);
}
if (ObjectUtil.isNotNull(param.getPhone())){
patient.setPhone(param.getPhone());
}
@ -75,13 +95,33 @@ public class PatientAndFamilyService implements IPatientAndFamilyService{
patientFamilyExample.createCriteria().andPatientIdEqualTo(param.getId());
List<PatientFamily> patientFamilies = patientFamilyDao.selectByExample(patientFamilyExample);
if (CollectionUtil.isNotEmpty(patientFamilies)){
//添加患者家属成员
if (StrUtil.isNotBlank(param.getFamilyPhone()) && StrUtil.isBlank(patientFamilies.get(0).getPhone())){
MemberRoleDto.SaveMemberForTemplate saveMemberForTemplate = new MemberRoleDto.SaveMemberForTemplate();
List<MemberRoleDto.MemberForTemplate> memberList = new ArrayList<>();
MemberRoleDto.MemberForTemplate memberForTemplate = new MemberRoleDto.MemberForTemplate();
if (StrUtil.isNotBlank(param.getFamilyName())){
memberForTemplate.setMemberName(param.getFamilyName());
}
memberForTemplate.setPhone(param.getFamilyPhone());
List<String> roleName = new ArrayList<>();
roleName.add(Constant.PATIENT_FAMILY);
memberForTemplate.setRoleName(roleName);
memberList.add(memberForTemplate);
saveMemberForTemplate.setProjectId(patient.getProjectId());
saveMemberForTemplate.setMemberForTemplate(memberList);
QueryDto<MemberRoleDto.SaveMemberForTemplate> queryDto = new QueryDto<>();
queryDto.setParam(saveMemberForTemplate);
System.out.println(queryDto);
addMemberOfTall(queryDto);
}
if (StrUtil.isNotBlank(param.getFamilyName())){
patientFamilies.get(0).setName(param.getFamilyName());
}
if (ObjectUtil.isNotNull(param.getFamilyPhone())){
patientFamilies.get(0).setPhone(param.getFamilyPhone());
}
patientFamilyDao.updateByPrimaryKeySelective(patientFamilies.get(0));
patientFamilyDao.updateByPrimaryKeySelective(patientFamilies.get(0));
}else{
//没有查到患者信息并且传入家属信息则新建一条
if (StrUtil.isNotBlank(param.getFamilyName()) || ObjectUtil.isNotNull(param.getFamilyPhone())){
@ -185,4 +225,20 @@ public class PatientAndFamilyService implements IPatientAndFamilyService{
}
return patientInfo;
}
/**
* 调用tall添加成员接口
* @param queryDto
*/
private void addMemberOfTall(QueryDto<MemberRoleDto.SaveMemberForTemplate> queryDto){
log.info("调用tall添加成员接口:{}",queryDto);
JsonResponse jsonResponse = tallFeignClient.addMemberForTemplate(queryDto);
log.info("调用tall添加成员接口结束返回:{}",jsonResponse);
if(!jsonResponse.getCode().equals(Constant.RESPONSE_OK)){
log.info("调用tall异常后返回:{}", jsonResponse.getMsg());
throw new BaseException(Constant.RETURN_ERROR);
}
}
}

16
wisdomcar/src/main/java/com/ccsens/wisdomcar/service/ProjectService.java

@ -92,8 +92,22 @@ public class ProjectService implements IProjectService {
dataExample.createCriteria().andTaskSubIdEqualTo(stepTask.getTaskSubId()).andStepIdEqualTo(stepTask.getStepId());
List<PatientData> patientData = patientDataDao.selectByExample(dataExample);
if (CollectionUtil.isNotEmpty(patientData)){
log.info("taskId:{}, stepId:{}已经存在,不再修改", stepTask.getTaskSubId(), stepTask.getStepId());
// log.info("taskId:{}, stepId:{}已经存在,不再修改", stepTask.getTaskSubId(), stepTask.getStepId());
log.info("修改开始时间");
PatientData data = patientData.get(0);
data.setStartTime(startTime);
//平车上传
if (Constant.OPERATION_CAR == operation){
data.setPatientCarId(patientCarId);
data.setWisdomCarRecordId(operationId);
}
//用户上传
if (Constant.OPERATION_USER == operation){
data.setUserId(operationId);
}
data.setType(operation);
patientDataDao.updateByPrimaryKeySelective(data);
// 未推送
if (data.getPushStatus() == Constant.PUSH_STATUS_SUCCESS) {
log.info("已推送成功,不处理");

18
wisdomcar/src/main/java/com/ccsens/wisdomcar/service/StepService.java

@ -1,11 +1,16 @@
package com.ccsens.wisdomcar.service;
import cn.hutool.core.collection.CollectionUtil;
import com.ccsens.util.CodeEnum;
import com.ccsens.util.exception.BaseException;
import com.ccsens.wisdomcar.bean.dto.StepDto;
import com.ccsens.wisdomcar.bean.po.StepTask;
import com.ccsens.wisdomcar.bean.po.StepTaskExample;
import com.ccsens.wisdomcar.bean.vo.StepVo;
import com.ccsens.wisdomcar.persist.dao.PatientWisdomCarDao;
import com.ccsens.wisdomcar.persist.dao.StepDao;
import com.ccsens.wisdomcar.persist.dao.StepTaskDao;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
@ -26,15 +31,18 @@ public class StepService implements IStepService {
@Resource
private StepDao stepDao;
@Resource
private PatientWisdomCarDao patientWisdomCarDao;
private StepTaskDao stepTaskDao;
@Override
public List<StepVo.StepStatus> findStepIsOver(StepDto.FindStepStatus param) {
Integer isExist = patientWisdomCarDao.findIsExist(param.getPatientCarId());
if (0 == isExist){
throw new BaseException("请检查患者是否绑定平车");
StepTaskExample stepTaskExample = new StepTaskExample();
stepTaskExample.createCriteria().andTaskSubIdEqualTo(param.getTaskSubId());
List<StepTask> stepTasks = stepTaskDao.selectByExample(stepTaskExample);
if (CollectionUtil.isEmpty(stepTasks)){
throw new BaseException(CodeEnum.TASK_IS_EXIST);
}
return stepDao.findStepIsOver(param.getPatientCarId());
return stepDao.findStepIsOver(param.getTaskSubId());
}
}

53
wisdomcar/src/main/java/com/ccsens/wisdomcar/service/WisdomCarService.java

@ -72,6 +72,23 @@ public class WisdomCarService implements IWisdomCarService {
@Override
public WisdomCarVo.PatientProject createCase(CreateCaseDto.PatientInfo param, Long userId) {
String idCard = "";
if (StrUtil.isNotBlank(param.getPatientIdCard())){
idCard = (String) redisUtil.get(Constant.REDIS_ID_CARD+param.getPatientIdCard());
if (StrUtil.isBlank(idCard)){
redisUtil.set(Constant.REDIS_ID_CARD+param.getPatientIdCard(),param.getPatientIdCard(),300);
}else{
throw new BaseException(CodeEnum.PATIENT_PROJECT_REPEAT);
}
PatientProjectExample patientExample = new PatientProjectExample();
patientExample.createCriteria().andIdCardEqualTo(param.getPatientIdCard());
List<PatientProject> patientProjects = patientProjectDao.selectByExample(patientExample);
if (CollectionUtil.isNotEmpty(patientProjects)){
throw new BaseException(CodeEnum.PATIENT_PROJECT_REPEAT);
}
}
Long patientProjectId = null;
//tall中需要添加的成员
MemberRoleDto.SaveMemberForTemplate saveMemberForTemplate = new MemberRoleDto.SaveMemberForTemplate();
@ -109,6 +126,18 @@ public class WisdomCarService implements IWisdomCarService {
patient.setPhone(param.getPatientPhone());
}
patientProjectDao.insertSelective(patient);
//添加患者成员
if (ObjectUtil.isNotNull(param.getPatientPhone())){
MemberRoleDto.MemberForTemplate memberForTemplate = new MemberRoleDto.MemberForTemplate();
List<String> roleName = new ArrayList<>();
roleName.add(Constant.PATIENT_FAMILY);
memberForTemplate.setPhone(param.getPatientPhone());
memberForTemplate.setRoleName(roleName);
if (ObjectUtil.isNotNull(param.getPatientName())){
memberForTemplate.setMemberName(param.getPatientName());
}
memberList.add(memberForTemplate);
}
//患者家属
if (ObjectUtil.isNotNull(param.getFamilyName()) || ObjectUtil.isNotNull(param.getFamilyPhone())){
@ -118,18 +147,18 @@ public class WisdomCarService implements IWisdomCarService {
patientFamily.setPhone(param.getFamilyPhone());
patientFamily.setPatientId(patient.getId());
patientFamilyDao.insertSelective(patientFamily);
// if (ObjectUtil.isNotNull(param.getFamilyPhone())){
// MemberRoleDto.MemberForTemplate memberForTemplate = new MemberRoleDto.MemberForTemplate();
// //添加对应角色名称
// List<String> roleName = new ArrayList<>();
// roleName.add(Constant.PATIENT_FAMILY);
// memberForTemplate.setRoleName(roleName);
// memberForTemplate.setPhone(param.getFamilyPhone());
// if (ObjectUtil.isNotNull(param.getFamilyName())){
// memberForTemplate.setMemberName(param.getFamilyName());
// }
// memberList.add(memberForTemplate);
// }
//添加患者家属成员
if (ObjectUtil.isNotNull(param.getFamilyPhone())){
MemberRoleDto.MemberForTemplate memberForTemplate = new MemberRoleDto.MemberForTemplate();
List<String> roleName = new ArrayList<>();
roleName.add(Constant.PATIENT_FAMILY);
memberForTemplate.setRoleName(roleName);
memberForTemplate.setPhone(param.getFamilyPhone());
if (ObjectUtil.isNotNull(param.getFamilyName())){
memberForTemplate.setMemberName(param.getFamilyName());
}
memberList.add(memberForTemplate);
}
}
//查找正在值班得急救医生和急救护士

8
wisdomcar/src/main/java/com/ccsens/wisdomcar/util/Constant.java

@ -59,6 +59,11 @@ public class Constant {
*/
public static final String PROJECT_NAME = "卒中急救流程";
/**
* 角色名称:患者
*/
public static final String PATIENT = "患者";
/**
* 角色名称:患者家属
*/
@ -129,6 +134,9 @@ public class Constant {
* 调用Tall异常
*/
public static final Byte TASK_DETAIL_LEVEL_TWO = 2;
public static final String REDIS_ID_CARD = "patient_id_card";
public static class BaiDu{
public static final String APP_KEY = "F43SLi3hDra3EgWiSi8bIH8c";
public static final String SECRET_KEY = "wGhbTXGsrbxfuCQT7WyLDndYRxrSYqbD";

4
wisdomcar/src/main/resources/application.yml

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

31
wisdomcar/src/main/resources/mapper_dao/StepDao.xml

@ -46,16 +46,35 @@
s.`code` AS stepCode,
s.`name` AS stepName,
pd.start_time AS startTime,
pd.type type,
hm.member_name AS memberName
pd.type AS type,
hm.member_name AS memberName,
s.id
FROM
t_step AS s
LEFT JOIN t_patient_data AS pd ON s.id = pd.step_id
AND pd.patient_car_id = #{patientCarId}
LEFT JOIN t_hospital_member AS hm ON pd.user_id = hm.user_id
LEFT JOIN t_patient_data AS pd ON s.id = pd.step_id
AND pd.task_sub_id IN (
SELECT
st.task_sub_id
FROM
t_step_task AS st,
(
SELECT
st.batch,
st.patient_id
FROM
t_step_task AS st
WHERE
st.task_sub_id = #{taskSubId}
) AS bat
WHERE
st.patient_id = bat.patient_id
AND st.batch = bat.batch
)
LEFT JOIN t_hospital_member AS hm ON pd.user_id = hm.user_id
WHERE
s.step_type = 0
ORDER BY s.`code`+1
ORDER BY
s.`code` + 1
</select>

Loading…
Cancel
Save