From 7ef2cdc78e5f4e17a6a9dd9d2813997aadba622b Mon Sep 17 00:00:00 2001 From: ma <1062634917@qq.com> Date: Wed, 9 Jun 2021 18:31:04 +0800 Subject: [PATCH 1/5] =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E5=9B=BE=E7=89=87?= =?UTF-8?q?=E3=80=81=E7=82=B9=E5=87=BB=E5=BC=80=E5=A7=8B=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E4=BA=8C=E5=90=88=E4=B8=80,0609=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/ccsens/util/CodeEnum.java | 1 + .../wisdomcar/api/OtherRecordsController.java | 6 +- .../wisdomcar/api/ProjectController.java | 2 +- .../wisdomcar/bean/dto/CreateCaseDto.java | 1 + .../wisdomcar/bean/dto/OtherRecordsDto.java | 7 +++ .../ccsens/wisdomcar/bean/dto/StepDto.java | 6 +- .../ccsens/wisdomcar/persist/dao/StepDao.java | 4 +- .../service/IOtherRecordsService.java | 2 +- .../service/OtherRecordsService.java | 21 ++++++- .../service/PatientAndFamilyService.java | 58 ++++++++++++++++++- .../wisdomcar/service/ProjectService.java | 16 ++++- .../ccsens/wisdomcar/service/StepService.java | 18 ++++-- .../wisdomcar/service/WisdomCarService.java | 53 +++++++++++++---- .../com/ccsens/wisdomcar/util/Constant.java | 8 +++ wisdomcar/src/main/resources/application.yml | 4 +- .../src/main/resources/mapper_dao/StepDao.xml | 31 ++++++++-- 16 files changed, 201 insertions(+), 37 deletions(-) diff --git a/util/src/main/java/com/ccsens/util/CodeEnum.java b/util/src/main/java/com/ccsens/util/CodeEnum.java index e1ded545..3c449481 100644 --- a/util/src/main/java/com/ccsens/util/CodeEnum.java +++ b/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), ; diff --git a/wisdomcar/src/main/java/com/ccsens/wisdomcar/api/OtherRecordsController.java b/wisdomcar/src/main/java/com/ccsens/wisdomcar/api/OtherRecordsController.java index 34390732..d190899e 100644 --- a/wisdomcar/src/main/java/com/ccsens/wisdomcar/api/OtherRecordsController.java +++ b/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 params){ log.info("上传图片和记录:{}", params); - iOtherRecordsService.upload(params.getParam()); + iOtherRecordsService.upload(params.getParam(),params.getUserId()); log.info("上传图片和记录成功"); return JsonResponse.newInstance().ok(); } diff --git a/wisdomcar/src/main/java/com/ccsens/wisdomcar/api/ProjectController.java b/wisdomcar/src/main/java/com/ccsens/wisdomcar/api/ProjectController.java index ecad47a1..0007233e 100644 --- a/wisdomcar/src/main/java/com/ccsens/wisdomcar/api/ProjectController.java +++ b/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 params){ log.info("点击开始:{}", params); diff --git a/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/dto/CreateCaseDto.java b/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/dto/CreateCaseDto.java index 63c22ae7..ca1d4da3 100644 --- a/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/dto/CreateCaseDto.java +++ b/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; } diff --git a/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/dto/OtherRecordsDto.java b/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/dto/OtherRecordsDto.java index b7a01bbf..0575198c 100644 --- a/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/dto/OtherRecordsDto.java +++ b/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/dto/OtherRecordsDto.java @@ -25,7 +25,14 @@ public class OtherRecordsDto { private List pictures; @ApiModelProperty("上传记录") private String records; + + @ApiModelProperty("开始时间") + private Long startTime = System.currentTimeMillis(); +// @NotNull(message="请说明您的任务") +// @ApiModelProperty("分解任务ID") +// private Long taskSubId; } + @Data @ApiModel("查询上传图片和记录") public static class QueryId { diff --git a/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/dto/StepDto.java b/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/dto/StepDto.java index 2bf4987f..2482cdb2 100644 --- a/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/dto/StepDto.java +++ b/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; } } diff --git a/wisdomcar/src/main/java/com/ccsens/wisdomcar/persist/dao/StepDao.java b/wisdomcar/src/main/java/com/ccsens/wisdomcar/persist/dao/StepDao.java index 426f0feb..31e613f1 100644 --- a/wisdomcar/src/main/java/com/ccsens/wisdomcar/persist/dao/StepDao.java +++ b/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 findStepIsOver(@Param("patientCarId") Long patientCarId); + List findStepIsOver(@Param("taskSubId") Long taskSubId); } diff --git a/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/IOtherRecordsService.java b/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/IOtherRecordsService.java index 31d53da0..b608c866 100644 --- a/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/IOtherRecordsService.java +++ b/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); /** * 查询上传图片和记录 diff --git a/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/OtherRecordsService.java b/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/OtherRecordsService.java index 230356fe..6afa962b 100644 --- a/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/OtherRecordsService.java +++ b/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++) { diff --git a/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/PatientAndFamilyService.java b/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/PatientAndFamilyService.java index 28908c11..7dd63d6b 100644 --- a/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/PatientAndFamilyService.java +++ b/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 memberList = new ArrayList<>(); + MemberRoleDto.MemberForTemplate memberForTemplate = new MemberRoleDto.MemberForTemplate(); + if (StrUtil.isNotBlank(param.getName())){ + memberForTemplate.setMemberName(param.getName()); + } + memberForTemplate.setPhone(param.getPhone()); + List roleName = new ArrayList<>(); + roleName.add(Constant.PATIENT); + memberForTemplate.setRoleName(roleName); + memberList.add(memberForTemplate); + saveMemberForTemplate.setProjectId(patient.getProjectId()); + saveMemberForTemplate.setMemberForTemplate(memberList); + QueryDto 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 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 memberList = new ArrayList<>(); + MemberRoleDto.MemberForTemplate memberForTemplate = new MemberRoleDto.MemberForTemplate(); + if (StrUtil.isNotBlank(param.getFamilyName())){ + memberForTemplate.setMemberName(param.getFamilyName()); + } + memberForTemplate.setPhone(param.getFamilyPhone()); + List roleName = new ArrayList<>(); + roleName.add(Constant.PATIENT_FAMILY); + memberForTemplate.setRoleName(roleName); + memberList.add(memberForTemplate); + saveMemberForTemplate.setProjectId(patient.getProjectId()); + saveMemberForTemplate.setMemberForTemplate(memberList); + QueryDto 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 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); + } + } + } diff --git a/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/ProjectService.java b/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/ProjectService.java index 81038f85..d819667d 100644 --- a/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/ProjectService.java +++ b/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 = 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("已推送成功,不处理"); diff --git a/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/StepService.java b/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/StepService.java index 1cbe1067..9bbad5f3 100644 --- a/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/StepService.java +++ b/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 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 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()); } } diff --git a/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/WisdomCarService.java b/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/WisdomCarService.java index ce62a6a7..f9093918 100644 --- a/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/WisdomCarService.java +++ b/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 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 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 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 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); + } } //查找正在值班得急救医生和急救护士 diff --git a/wisdomcar/src/main/java/com/ccsens/wisdomcar/util/Constant.java b/wisdomcar/src/main/java/com/ccsens/wisdomcar/util/Constant.java index 34cdd6f7..5f746f98 100644 --- a/wisdomcar/src/main/java/com/ccsens/wisdomcar/util/Constant.java +++ b/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"; diff --git a/wisdomcar/src/main/resources/application.yml b/wisdomcar/src/main/resources/application.yml index a47f2a7b..ac92adb9 100644 --- a/wisdomcar/src/main/resources/application.yml +++ b/wisdomcar/src/main/resources/application.yml @@ -1,6 +1,6 @@ spring: profiles: - active: dev - include: common, util-dev + active: test + include: common, util-test diff --git a/wisdomcar/src/main/resources/mapper_dao/StepDao.xml b/wisdomcar/src/main/resources/mapper_dao/StepDao.xml index 27cb7927..9e26de44 100644 --- a/wisdomcar/src/main/resources/mapper_dao/StepDao.xml +++ b/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 From 857e3fca49419d9b69a0ccee0837b03d898e6afb Mon Sep 17 00:00:00 2001 From: hyy-alt <1041001226@qq.com> Date: Thu, 10 Jun 2021 14:36:44 +0800 Subject: [PATCH 2/5] =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E5=85=A8=E9=83=A8?= =?UTF-8?q?=E5=B9=B3=E8=BD=A6=E7=BB=93=E6=9D=9F=E7=BB=91=E5=AE=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/PatientAndFamilyController.java | 2 +- .../wisdomcar/api/ProjectController.java | 10 ++++ .../wisdomcar/api/WisdomCarController.java | 15 +++++- .../bean/dto/PatientAndFamilyDto.java | 2 +- .../ccsens/wisdomcar/bean/dto/ProjectDto.java | 11 +++++ .../wisdomcar/bean/dto/WisdomCarDto.java | 6 ++- .../ccsens/wisdomcar/bean/vo/WisdomCarVo.java | 28 ++++++++++- .../persist/dao/PatientWisdomCarDao.java | 2 +- .../wisdomcar/persist/dao/WisdomCarDao.java | 7 +++ .../service/IPatientAndFamilyService.java | 2 +- .../wisdomcar/service/IProjectService.java | 8 +++ .../wisdomcar/service/IWisdomCarService.java | 9 +++- .../service/PatientAndFamilyService.java | 2 +- .../wisdomcar/service/ProjectService.java | 15 ++++-- .../wisdomcar/service/WisdomCarService.java | 49 +++++++++++++++++-- .../mapper_dao/PatientWisdomCarDao.xml | 2 +- .../resources/mapper_dao/WisdomCarDao.xml | 9 +++- 17 files changed, 160 insertions(+), 19 deletions(-) diff --git a/wisdomcar/src/main/java/com/ccsens/wisdomcar/api/PatientAndFamilyController.java b/wisdomcar/src/main/java/com/ccsens/wisdomcar/api/PatientAndFamilyController.java index 48d16794..7070ccbf 100644 --- a/wisdomcar/src/main/java/com/ccsens/wisdomcar/api/PatientAndFamilyController.java +++ b/wisdomcar/src/main/java/com/ccsens/wisdomcar/api/PatientAndFamilyController.java @@ -69,7 +69,7 @@ public class PatientAndFamilyController { @ApiOperation(value = "查询患者", notes = "1007") @RequestMapping(value = "/queryPatientInfo", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) - public JsonResponse queryPatientInfo(@ApiParam @Validated @RequestBody QueryDto params) { + public JsonResponse queryPatientInfo(@ApiParam @Validated @RequestBody QueryDto params) { log.info("查询患者:{}", params); PatientAndFamilyVo.PatientInfo patientInfo = patientAndFamilyService.queryPatientInfo(params.getParam()); log.info("查询患者成功"); diff --git a/wisdomcar/src/main/java/com/ccsens/wisdomcar/api/ProjectController.java b/wisdomcar/src/main/java/com/ccsens/wisdomcar/api/ProjectController.java index ecad47a1..e08f02c2 100644 --- a/wisdomcar/src/main/java/com/ccsens/wisdomcar/api/ProjectController.java +++ b/wisdomcar/src/main/java/com/ccsens/wisdomcar/api/ProjectController.java @@ -102,4 +102,14 @@ public class ProjectController { log.info("选择历史患者切换项目"); return JsonResponse.newInstance().ok(); } + + @MustLogin + @ApiOperation(value = "结束绑定平车", notes = "1007") + @RequestMapping(value = "/end", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) + public JsonResponse end(@ApiParam @Validated @RequestBody QueryDto params){ + log.info("结束绑定平车:{}", params); + projectService.end(params.getParam(), params.getUserId()); + log.info("结束绑定平车成功"); + return JsonResponse.newInstance().ok(); + } } diff --git a/wisdomcar/src/main/java/com/ccsens/wisdomcar/api/WisdomCarController.java b/wisdomcar/src/main/java/com/ccsens/wisdomcar/api/WisdomCarController.java index b3ad035e..7e38f2c1 100644 --- a/wisdomcar/src/main/java/com/ccsens/wisdomcar/api/WisdomCarController.java +++ b/wisdomcar/src/main/java/com/ccsens/wisdomcar/api/WisdomCarController.java @@ -86,13 +86,24 @@ public class WisdomCarController { @MustLogin @ApiOperation(value = "查询正在运行的平车绑定的患者信息", notes = "1007") @RequestMapping(value = "/queryBindingCarRun", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) - public JsonResponse> queryBindingCarRun(@ApiParam @Validated @RequestBody QueryDto params) { + public JsonResponse> queryBindingCarRun(@ApiParam @Validated @RequestBody QueryDto params) { log.info("查询正在运行的平车绑定的患者信息:{}", params); - List list = wisdomCarService.queryBindingCarRun(params.getParam(),params.getUserId()); + + List list = wisdomCarService.queryBindingCarRun(params.getParam(),params.getUserId()); log.info("查询正在运行的平车绑定的患者信息成功"); return JsonResponse.newInstance().ok(list); } + @MustLogin + @ApiOperation(value = "查询全部平车", notes = "") + @RequestMapping(value = "/queryAllCar", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) + public JsonResponse queryAllCar(@ApiParam @Validated @RequestBody QueryDto params){ + log.info("查询全部平车:{}", params); + List list = wisdomCarService.queryAllCar(params.getParam(), params.getUserId()); + log.info("查询全部平车结果:{}", list); + return JsonResponse.newInstance().ok(list); + } + diff --git a/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/dto/PatientAndFamilyDto.java b/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/dto/PatientAndFamilyDto.java index dc005625..604589f0 100644 --- a/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/dto/PatientAndFamilyDto.java +++ b/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/dto/PatientAndFamilyDto.java @@ -49,7 +49,7 @@ public class PatientAndFamilyDto { @Data @ApiModel("查询患者参数") - public static class queryPatientInfo{ + public static class QueryPatientInfo{ @NotNull(message="请说明您的项目") @ApiModelProperty("项目ID") private Long projectId; diff --git a/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/dto/ProjectDto.java b/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/dto/ProjectDto.java index ab96125d..bc34aec9 100644 --- a/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/dto/ProjectDto.java +++ b/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/dto/ProjectDto.java @@ -54,4 +54,15 @@ public class ProjectDto { @ApiModelProperty("项目id") private Long projectId; } + + @Data + @ApiModel("结束绑定平车-请求") + public static class End { + @NotNull(message="请说明患者平车id") + @ApiModelProperty("患者平车id") + private Long id; + @ApiModelProperty("结束时间") + private Long endTime = System.currentTimeMillis(); + + } } diff --git a/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/dto/WisdomCarDto.java b/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/dto/WisdomCarDto.java index b38ff9e9..62da88d9 100644 --- a/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/dto/WisdomCarDto.java +++ b/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/dto/WisdomCarDto.java @@ -59,10 +59,14 @@ public class WisdomCarDto { @Data @ApiModel("查询正在运行的平车绑定的患者信息参数") - public static class queryBindingCarRun { + public static class QueryBindingCarRun { @NotNull(message="请说明您的平车ID") @ApiModelProperty("平车id") private Long carId; } + @Data + @ApiModel("查询全部平车参数") + public static class QueryAllCar { + } } diff --git a/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/vo/WisdomCarVo.java b/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/vo/WisdomCarVo.java index 1ee1dc18..06a2a7e1 100644 --- a/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/vo/WisdomCarVo.java +++ b/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/vo/WisdomCarVo.java @@ -78,7 +78,7 @@ public class WisdomCarVo { @Data @ApiModel("查询正在运行的平车绑定的患者信息结果") - public static class queryBindingCarRun { + public static class QueryBindingCarRun { @ApiModelProperty("平车ID") private Long carId; @ApiModelProperty("患者平车ID") @@ -104,4 +104,30 @@ public class WisdomCarVo { @ApiModelProperty("患者联系电话") private String phone; } + @Data + @ApiModel("查询全部平车结果") + public static class QueryAllCar { + @ApiModelProperty("平车ID") + private Long id; + @ApiModelProperty("平车编号ID") + private String carNumber; + @ApiModelProperty("患者平车ID") + private Long patientCarId; + @ApiModelProperty("患者ID") + private Long patientId; + @ApiModelProperty("病案号") + private String medicalRecordNum; + @ApiModelProperty("患者姓名") + private String name; + @ApiModelProperty("患者性别") + private Byte sex; + @ApiModelProperty("患者年龄") + private Integer age; + @ApiModelProperty("患者身份证号") + private String idCard; + @ApiModelProperty("患者联系电话") + private String phone; + @ApiModelProperty("绑定状态(0-未绑定,1-绑定)") + private Byte type; + } } diff --git a/wisdomcar/src/main/java/com/ccsens/wisdomcar/persist/dao/PatientWisdomCarDao.java b/wisdomcar/src/main/java/com/ccsens/wisdomcar/persist/dao/PatientWisdomCarDao.java index bb1313bb..d105b006 100644 --- a/wisdomcar/src/main/java/com/ccsens/wisdomcar/persist/dao/PatientWisdomCarDao.java +++ b/wisdomcar/src/main/java/com/ccsens/wisdomcar/persist/dao/PatientWisdomCarDao.java @@ -24,5 +24,5 @@ public interface PatientWisdomCarDao extends PatientWisdomCarMapper { * @param carId 平车id * @return */ - List queryBindingCarIsRun(@Param("carId")Long carId); + List queryBindingCarIsRun(@Param("carId")Long carId); } diff --git a/wisdomcar/src/main/java/com/ccsens/wisdomcar/persist/dao/WisdomCarDao.java b/wisdomcar/src/main/java/com/ccsens/wisdomcar/persist/dao/WisdomCarDao.java index b1f5434d..712056f8 100644 --- a/wisdomcar/src/main/java/com/ccsens/wisdomcar/persist/dao/WisdomCarDao.java +++ b/wisdomcar/src/main/java/com/ccsens/wisdomcar/persist/dao/WisdomCarDao.java @@ -32,4 +32,11 @@ public interface WisdomCarDao extends WisdomCarMapper { * @return 0不存在 */ Integer findCarIsExist(@Param("id") Long carId); + + /** + * + * @param hospitalId 医院id + * @return + */ + List queryAllCar(@Param("hospitalId")Long hospitalId); } diff --git a/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/IPatientAndFamilyService.java b/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/IPatientAndFamilyService.java index c9d2949c..3788e17c 100644 --- a/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/IPatientAndFamilyService.java +++ b/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/IPatientAndFamilyService.java @@ -29,7 +29,7 @@ public interface IPatientAndFamilyService { * 查询患者信息 * @param param 家属信息 */ - PatientAndFamilyVo.PatientInfo queryPatientInfo(PatientAndFamilyDto.queryPatientInfo param); + PatientAndFamilyVo.PatientInfo queryPatientInfo(PatientAndFamilyDto.QueryPatientInfo param); /** * 查看往期患者记录 diff --git a/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/IProjectService.java b/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/IProjectService.java index 763dc261..9e47af06 100644 --- a/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/IProjectService.java +++ b/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/IProjectService.java @@ -49,4 +49,12 @@ public interface IProjectService { * @param userId 当前用户id */ void switchProject(ProjectDto.SwitchProject param, Long userId) throws JsonProcessingException; + + + /** + * 结束绑定 + * @param param 患者平车id + * @param userId 当前用户id + */ + void end(ProjectDto.End param, Long userId); } diff --git a/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/IWisdomCarService.java b/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/IWisdomCarService.java index c8a8011e..ebc58d5e 100644 --- a/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/IWisdomCarService.java +++ b/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/IWisdomCarService.java @@ -54,5 +54,12 @@ public interface IWisdomCarService { * @param param 参数 * */ - List queryBindingCarRun(WisdomCarDto.queryBindingCarRun param, Long userId); + List queryBindingCarRun(WisdomCarDto.QueryBindingCarRun param, Long userId); + /** + * 查询全部平车 + * @param param 平车要求,暂无 + * @param userId 用户userId,根据userId查询医院ID + * @return 全部平车 绑定和未绑定 + */ + List queryAllCar(WisdomCarDto.QueryAllCar param, Long userId); } diff --git a/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/PatientAndFamilyService.java b/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/PatientAndFamilyService.java index 28908c11..dac5da74 100644 --- a/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/PatientAndFamilyService.java +++ b/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/PatientAndFamilyService.java @@ -168,7 +168,7 @@ public class PatientAndFamilyService implements IPatientAndFamilyService{ } @Override - public PatientAndFamilyVo.PatientInfo queryPatientInfo(PatientAndFamilyDto.queryPatientInfo param) { + public PatientAndFamilyVo.PatientInfo queryPatientInfo(PatientAndFamilyDto.QueryPatientInfo param) { if(ObjectUtil.isNull(param.getProjectId())){ throw new BaseException(CodeEnum.PARAM_ERROR); } diff --git a/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/ProjectService.java b/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/ProjectService.java index 81038f85..8f8dbc2d 100644 --- a/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/ProjectService.java +++ b/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/ProjectService.java @@ -9,10 +9,7 @@ import com.ccsens.util.message.SwitchoverProjectUtil; import com.ccsens.wisdomcar.bean.dto.ProjectDto; import com.ccsens.wisdomcar.bean.po.*; import com.ccsens.wisdomcar.bean.vo.ProjectVo; -import com.ccsens.wisdomcar.persist.dao.PatientDataDao; -import com.ccsens.wisdomcar.persist.dao.StepDao; -import com.ccsens.wisdomcar.persist.dao.StepTaskDao; -import com.ccsens.wisdomcar.persist.dao.WisdomCarRecordDao; +import com.ccsens.wisdomcar.persist.dao.*; import com.ccsens.wisdomcar.persist.mapper.PatientWisdomCarMapper; import com.ccsens.wisdomcar.util.Constant; import com.fasterxml.jackson.core.JsonProcessingException; @@ -45,6 +42,8 @@ public class ProjectService implements IProjectService { @Resource private StepDao stepDao; @Resource + private PatientWisdomCarDao patientWisdomCarDao; + @Resource private PatientWisdomCarMapper patientWisdomCarMapper; @Resource private IAsyncService asyncService; @@ -147,4 +146,12 @@ public class ProjectService implements IProjectService { userIds.add(userId.toString()); SwitchoverProjectUtil.switchoverProject(userIds,param.getProjectId()); } + + @Override + public void end(ProjectDto.End param, Long userId) { + PatientWisdomCar patientWisdomCar = new PatientWisdomCar(); + patientWisdomCar.setId(param.getId()); + patientWisdomCar.setEndTime(param.getEndTime()); + patientWisdomCarDao.updateByPrimaryKeySelective(patientWisdomCar); + } } diff --git a/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/WisdomCarService.java b/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/WisdomCarService.java index ce62a6a7..e827ee85 100644 --- a/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/WisdomCarService.java +++ b/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/WisdomCarService.java @@ -29,6 +29,7 @@ import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.util.ArrayList; +import java.util.Comparator; import java.util.List; /** @@ -370,13 +371,13 @@ public class WisdomCarService implements IWisdomCarService { } @Override - public List queryBindingCarRun(WisdomCarDto.queryBindingCarRun param, Long userId) { - List queryBindingCarRunList = patientWisdomCarDao.queryBindingCarIsRun(param.getCarId()); + public List queryBindingCarRun(WisdomCarDto.QueryBindingCarRun param, Long userId) { + List queryBindingCarRunList = patientWisdomCarDao.queryBindingCarIsRun(param.getCarId()); if(CollectionUtil.isEmpty(queryBindingCarRunList)){ log.info("未找到对应的平车在运行"); throw new BaseException(CodeEnum.PARAM_ERROR); } - for (WisdomCarVo.queryBindingCarRun queryBindingCarRun : queryBindingCarRunList) { + for (WisdomCarVo.QueryBindingCarRun queryBindingCarRun : queryBindingCarRunList) { //通过平车id把 平车的平车编号信息存入 WisdomCar wisdomCar = wisdomcarDao.selectByPrimaryKey(param.getCarId()); if (ObjectUtil.isNotNull(wisdomCar)){ @@ -396,5 +397,47 @@ public class WisdomCarService implements IWisdomCarService { return queryBindingCarRunList; } + @Override + public List queryAllCar(WisdomCarDto.QueryAllCar param, Long userId) { + HospitalMemberExample example = new HospitalMemberExample(); + example.createCriteria().andUserIdEqualTo(userId); + List hospitalMembers = hospitalMemberDao.selectByExample(example); + if (CollectionUtil.isEmpty(hospitalMembers)) { + return new ArrayList<>(); + } + Long hospitalId = hospitalMembers.get(0).getHospitalId(); + List queryAllCarList = wisdomcarDao.queryAllCar(hospitalId); + if(CollectionUtil.isEmpty(queryAllCarList)){ + return new ArrayList<>(); + } + for (WisdomCarVo.QueryAllCar queryAllCar : queryAllCarList) { + PatientWisdomCarExample patientWisdomCarExample = new PatientWisdomCarExample(); + patientWisdomCarExample.createCriteria().andCarIdEqualTo(queryAllCar.getId()); + //通过平车id + List patientWisdomCars = patientWisdomCarDao.selectByExample(patientWisdomCarExample); + if(CollectionUtil.isEmpty(patientWisdomCars)){ + //未绑定 + queryAllCar.setType((byte) 0); + } else { + queryAllCar.setPatientCarId(patientWisdomCars.get(0).getId()); + queryAllCar.setPatientId(patientWisdomCars.get(0).getPatientId()); + PatientProject patientProject = patientProjectDao.selectByPrimaryKey(queryAllCar.getPatientId()); + if(ObjectUtil.isNotNull(patientProject)){ + queryAllCar.setMedicalRecordNum(patientProject.getMedicalRecordNum()); + queryAllCar.setName(patientProject.getName()); + queryAllCar.setSex(patientProject.getSex()); + queryAllCar.setAge(patientProject.getAge()); + queryAllCar.setIdCard(patientProject.getIdCard()); + queryAllCar.setPhone(patientProject.getPhone()); + queryAllCar.setType((byte) 1); + } + } + + } + //根据类型进行排序 0 1 未绑定是0 绑定是1 + queryAllCarList.sort(Comparator.comparing(obj -> ((WisdomCarVo.QueryAllCar) obj).getType())); + return queryAllCarList; + } + } diff --git a/wisdomcar/src/main/resources/mapper_dao/PatientWisdomCarDao.xml b/wisdomcar/src/main/resources/mapper_dao/PatientWisdomCarDao.xml index 6550091a..b57d4481 100644 --- a/wisdomcar/src/main/resources/mapper_dao/PatientWisdomCarDao.xml +++ b/wisdomcar/src/main/resources/mapper_dao/PatientWisdomCarDao.xml @@ -38,7 +38,7 @@ id = #{id} - select a.car_id as carId, a.id as patientCarId, diff --git a/wisdomcar/src/main/resources/mapper_dao/WisdomCarDao.xml b/wisdomcar/src/main/resources/mapper_dao/WisdomCarDao.xml index 2ca722ba..a188d3b6 100644 --- a/wisdomcar/src/main/resources/mapper_dao/WisdomCarDao.xml +++ b/wisdomcar/src/main/resources/mapper_dao/WisdomCarDao.xml @@ -53,5 +53,12 @@ WHERE AND rec_status = 0 - + \ No newline at end of file From 5f2715981f53db0c0fae8462f910a4f1d0d12f70 Mon Sep 17 00:00:00 2001 From: ma <1062634917@qq.com> Date: Thu, 10 Jun 2021 14:55:30 +0800 Subject: [PATCH 3/5] =?UTF-8?q?0610:=E6=82=A3=E8=80=85=E4=BF=A1=E6=81=AF?= =?UTF-8?q?=E8=AE=B0=E5=BD=95=E8=A1=A8=E5=A2=9E=E5=8A=A0=E5=AD=97=E6=AE=B5?= =?UTF-8?q?,=E5=B9=B3=E8=BD=A6=E4=B8=8A=E4=BC=A0=E8=AE=B0=E5=BD=95?= =?UTF-8?q?=E5=88=A4=E6=96=AD=E6=98=AF=E5=90=A6=E4=B8=8A=E4=BC=A0=E8=BF=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../wisdomcar/api/OtherRecordsController.java | 4 +- .../bean/po/PatientInformationRecord.java | 22 ++++ .../po/PatientInformationRecordExample.java | 120 ++++++++++++++++++ .../service/IOtherRecordsService.java | 7 +- .../service/OtherRecordsService.java | 4 +- .../wisdomcar/service/RecordService.java | 18 +++ .../PatientInformationRecordMapper.xml | 42 +++++- 7 files changed, 207 insertions(+), 10 deletions(-) diff --git a/wisdomcar/src/main/java/com/ccsens/wisdomcar/api/OtherRecordsController.java b/wisdomcar/src/main/java/com/ccsens/wisdomcar/api/OtherRecordsController.java index d190899e..b5db933a 100644 --- a/wisdomcar/src/main/java/com/ccsens/wisdomcar/api/OtherRecordsController.java +++ b/wisdomcar/src/main/java/com/ccsens/wisdomcar/api/OtherRecordsController.java @@ -9,6 +9,7 @@ import com.ccsens.wisdomcar.bean.vo.OtherRecordsVo; import com.ccsens.wisdomcar.bean.vo.RecordVo; import com.ccsens.wisdomcar.service.IOtherRecordsService; import com.ccsens.wisdomcar.service.IRecordService; +import com.ccsens.wisdomcar.util.Constant; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; @@ -37,7 +38,8 @@ public class OtherRecordsController { @RequestMapping(value = "/upload", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) public JsonResponse upload(@ApiParam @Validated @RequestBody QueryDto params){ log.info("上传图片和记录:{}", params); - iOtherRecordsService.upload(params.getParam(),params.getUserId()); + Byte user = Constant.OPERATION_USER; + iOtherRecordsService.upload(params.getParam(),params.getUserId(),user); log.info("上传图片和记录成功"); return JsonResponse.newInstance().ok(); } diff --git a/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/po/PatientInformationRecord.java b/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/po/PatientInformationRecord.java index 36385b53..5b16d6dd 100644 --- a/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/po/PatientInformationRecord.java +++ b/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/po/PatientInformationRecord.java @@ -20,6 +20,10 @@ public class PatientInformationRecord implements Serializable { private Byte recStatus; + private Byte carUser; + + private Long userId; + private static final long serialVersionUID = 1L; public Long getId() { @@ -86,6 +90,22 @@ public class PatientInformationRecord implements Serializable { this.recStatus = recStatus; } + public Byte getCarUser() { + return carUser; + } + + public void setCarUser(Byte carUser) { + this.carUser = carUser; + } + + public Long getUserId() { + return userId; + } + + public void setUserId(Long userId) { + this.userId = userId; + } + @Override public String toString() { StringBuilder sb = new StringBuilder(); @@ -100,6 +120,8 @@ public class PatientInformationRecord implements Serializable { sb.append(", createdAt=").append(createdAt); sb.append(", updatedAt=").append(updatedAt); sb.append(", recStatus=").append(recStatus); + sb.append(", carUser=").append(carUser); + sb.append(", userId=").append(userId); sb.append("]"); return sb.toString(); } diff --git a/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/po/PatientInformationRecordExample.java b/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/po/PatientInformationRecordExample.java index 31f738a8..50027221 100644 --- a/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/po/PatientInformationRecordExample.java +++ b/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/po/PatientInformationRecordExample.java @@ -594,6 +594,126 @@ public class PatientInformationRecordExample { addCriterion("rec_status not between", value1, value2, "recStatus"); return (Criteria) this; } + + public Criteria andCarUserIsNull() { + addCriterion("car_user is null"); + return (Criteria) this; + } + + public Criteria andCarUserIsNotNull() { + addCriterion("car_user is not null"); + return (Criteria) this; + } + + public Criteria andCarUserEqualTo(Byte value) { + addCriterion("car_user =", value, "carUser"); + return (Criteria) this; + } + + public Criteria andCarUserNotEqualTo(Byte value) { + addCriterion("car_user <>", value, "carUser"); + return (Criteria) this; + } + + public Criteria andCarUserGreaterThan(Byte value) { + addCriterion("car_user >", value, "carUser"); + return (Criteria) this; + } + + public Criteria andCarUserGreaterThanOrEqualTo(Byte value) { + addCriterion("car_user >=", value, "carUser"); + return (Criteria) this; + } + + public Criteria andCarUserLessThan(Byte value) { + addCriterion("car_user <", value, "carUser"); + return (Criteria) this; + } + + public Criteria andCarUserLessThanOrEqualTo(Byte value) { + addCriterion("car_user <=", value, "carUser"); + return (Criteria) this; + } + + public Criteria andCarUserIn(List values) { + addCriterion("car_user in", values, "carUser"); + return (Criteria) this; + } + + public Criteria andCarUserNotIn(List values) { + addCriterion("car_user not in", values, "carUser"); + return (Criteria) this; + } + + public Criteria andCarUserBetween(Byte value1, Byte value2) { + addCriterion("car_user between", value1, value2, "carUser"); + return (Criteria) this; + } + + public Criteria andCarUserNotBetween(Byte value1, Byte value2) { + addCriterion("car_user not between", value1, value2, "carUser"); + return (Criteria) this; + } + + public Criteria andUserIdIsNull() { + addCriterion("user_id is null"); + return (Criteria) this; + } + + public Criteria andUserIdIsNotNull() { + addCriterion("user_id is not null"); + return (Criteria) this; + } + + public Criteria andUserIdEqualTo(Long value) { + addCriterion("user_id =", value, "userId"); + return (Criteria) this; + } + + public Criteria andUserIdNotEqualTo(Long value) { + addCriterion("user_id <>", value, "userId"); + return (Criteria) this; + } + + public Criteria andUserIdGreaterThan(Long value) { + addCriterion("user_id >", value, "userId"); + return (Criteria) this; + } + + public Criteria andUserIdGreaterThanOrEqualTo(Long value) { + addCriterion("user_id >=", value, "userId"); + return (Criteria) this; + } + + public Criteria andUserIdLessThan(Long value) { + addCriterion("user_id <", value, "userId"); + return (Criteria) this; + } + + public Criteria andUserIdLessThanOrEqualTo(Long value) { + addCriterion("user_id <=", value, "userId"); + return (Criteria) this; + } + + public Criteria andUserIdIn(List values) { + addCriterion("user_id in", values, "userId"); + return (Criteria) this; + } + + public Criteria andUserIdNotIn(List values) { + addCriterion("user_id not in", values, "userId"); + return (Criteria) this; + } + + public Criteria andUserIdBetween(Long value1, Long value2) { + addCriterion("user_id between", value1, value2, "userId"); + return (Criteria) this; + } + + public Criteria andUserIdNotBetween(Long value1, Long value2) { + addCriterion("user_id not between", value1, value2, "userId"); + return (Criteria) this; + } } public static class Criteria extends GeneratedCriteria { diff --git a/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/IOtherRecordsService.java b/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/IOtherRecordsService.java index b608c866..15395e0f 100644 --- a/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/IOtherRecordsService.java +++ b/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/IOtherRecordsService.java @@ -10,10 +10,11 @@ public interface IOtherRecordsService { /** * 上传图片和记录 - * @param - * @throws + * @param param 参数 + * @param userId 用户id + * @param carOrUser 类型:平车或用户 */ - void upload(OtherRecordsDto.PicturesAndRecords param,Long userId); + void upload(OtherRecordsDto.PicturesAndRecords param,Long userId,Byte carOrUser); /** * 查询上传图片和记录 diff --git a/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/OtherRecordsService.java b/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/OtherRecordsService.java index 6afa962b..5f44d99a 100644 --- a/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/OtherRecordsService.java +++ b/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/OtherRecordsService.java @@ -56,7 +56,7 @@ public class OtherRecordsService implements IOtherRecordsService { @Override - public void upload(OtherRecordsDto.PicturesAndRecords param,Long userId) { + public void upload(OtherRecordsDto.PicturesAndRecords param,Long userId,Byte carOrUser) { //通过t_patient_information_record里面的分解任务id 找到患者平车id 最新的 拿到患者平车id t_patient_information_record //拿到患者平车id ProjectVo.BindCar bindCar = stepTaskDao.getBindCarTaskId(param.getId()); @@ -73,6 +73,8 @@ public class OtherRecordsService implements IOtherRecordsService { patientInformationRecord.setTaskSubId(param.getId()); patientInformationRecord.setPatientCarId(bindCar == null ? 0 : bindCar.getId()); patientInformationRecord.setContent(param.getStartTime().toString()); + patientInformationRecord.setCarUser(carOrUser); + patientInformationRecord.setUserId(userId); patientInformationRecordMapper.insertSelective(patientInformationRecord); ProjectDto.Start start = new ProjectDto.Start(); start.setStartTime(param.getStartTime()); diff --git a/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/RecordService.java b/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/RecordService.java index 34c3da78..c0410d93 100644 --- a/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/RecordService.java +++ b/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/RecordService.java @@ -11,6 +11,7 @@ import com.ccsens.util.bean.message.common.InMessage; import com.ccsens.util.bean.message.common.MessageConstant; import com.ccsens.util.bean.message.common.MessageRule; import com.ccsens.wisdomcar.bean.dto.Message.CarRecordMessageDto; +import com.ccsens.wisdomcar.bean.dto.OtherRecordsDto; import com.ccsens.wisdomcar.bean.dto.RecordDto; import com.ccsens.wisdomcar.bean.po.*; import com.ccsens.wisdomcar.bean.vo.Message.CarRecordMessageVo; @@ -65,6 +66,10 @@ public class RecordService implements IRecordService{ private StepTaskDao stepTaskDao; @Resource private IProjectService projectService; + @Resource + private IOtherRecordsService otherRecordsService; + @Resource + private PatientInformationRecordMapper recordMapper; @Value("#{T(java.lang.Long).parseLong('${wisdom.weight:10000}')}") private Long weightMinus; @@ -158,6 +163,19 @@ public class RecordService implements IRecordService{ // TODO 异步推送数据 StepTask stepTask = stepTaskDao.getByCarAndStep(wisdomCarRecord.getCarId(), step.getId(), wisdomCarRecord.getTime()); if (stepTask != null) { + //如果已经有该平车的数据则不存入 + PatientInformationRecordExample recordExample = new PatientInformationRecordExample(); + recordExample.createCriteria().andTaskSubIdEqualTo(stepTask.getTaskSubId()).andCarUserEqualTo((byte)0).andInformationTypeEqualTo((byte)3); + List recordList = recordMapper.selectByExample(recordExample); + if (CollectionUtil.isNotEmpty(recordList)){ + log.info("已有该平车数据{}",recordList); + return; + } + + OtherRecordsDto.PicturesAndRecords informationRecord = new OtherRecordsDto.PicturesAndRecords(); + informationRecord.setId(stepTask.getTaskSubId()); + informationRecord.setStartTime(System.currentTimeMillis()); + otherRecordsService.upload(informationRecord,wisdomCarRecord.getId(),Constant.OPERATION_CAR); projectService.saveData(wisdomCarRecord.getTime(), stepTask, wisdomCarRecord.getId(), Constant.OPERATION_CAR); } diff --git a/wisdomcar/src/main/resources/mapper_raw/PatientInformationRecordMapper.xml b/wisdomcar/src/main/resources/mapper_raw/PatientInformationRecordMapper.xml index f3ae6ac9..340cb55a 100644 --- a/wisdomcar/src/main/resources/mapper_raw/PatientInformationRecordMapper.xml +++ b/wisdomcar/src/main/resources/mapper_raw/PatientInformationRecordMapper.xml @@ -10,6 +10,8 @@ + + @@ -71,7 +73,7 @@ id, patient_car_id, task_sub_id, information_type, content, created_at, updated_at, - rec_status + rec_status, car_user, user_id @@ -199,6 +215,12 @@ rec_status = #{record.recStatus,jdbcType=TINYINT}, + + car_user = #{record.carUser,jdbcType=TINYINT}, + + + user_id = #{record.userId,jdbcType=BIGINT}, + @@ -213,7 +235,9 @@ content = #{record.content,jdbcType=VARCHAR}, created_at = #{record.createdAt,jdbcType=TIMESTAMP}, updated_at = #{record.updatedAt,jdbcType=TIMESTAMP}, - rec_status = #{record.recStatus,jdbcType=TINYINT} + rec_status = #{record.recStatus,jdbcType=TINYINT}, + car_user = #{record.carUser,jdbcType=TINYINT}, + user_id = #{record.userId,jdbcType=BIGINT} @@ -242,6 +266,12 @@ rec_status = #{recStatus,jdbcType=TINYINT}, + + car_user = #{carUser,jdbcType=TINYINT}, + + + user_id = #{userId,jdbcType=BIGINT}, + where id = #{id,jdbcType=BIGINT} @@ -253,7 +283,9 @@ content = #{content,jdbcType=VARCHAR}, created_at = #{createdAt,jdbcType=TIMESTAMP}, updated_at = #{updatedAt,jdbcType=TIMESTAMP}, - rec_status = #{recStatus,jdbcType=TINYINT} + rec_status = #{recStatus,jdbcType=TINYINT}, + car_user = #{carUser,jdbcType=TINYINT}, + user_id = #{userId,jdbcType=BIGINT} where id = #{id,jdbcType=BIGINT} \ No newline at end of file From e4c0b60d7b5b21104c361fe79d41f2c30f90bf5b Mon Sep 17 00:00:00 2001 From: ma <1062634917@qq.com> Date: Thu, 10 Jun 2021 15:32:25 +0800 Subject: [PATCH 4/5] =?UTF-8?q?0610:=E4=BF=AE=E6=94=B9=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ccsens/wisdomcar/service/OtherRecordsService.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/OtherRecordsService.java b/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/OtherRecordsService.java index 5f44d99a..09c301ff 100644 --- a/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/OtherRecordsService.java +++ b/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/OtherRecordsService.java @@ -80,7 +80,9 @@ public class OtherRecordsService implements IOtherRecordsService { start.setStartTime(param.getStartTime()); start.setTaskSubId(param.getId()); //点击开始接口 - projectService.start(start,userId); + if (1 == carOrUser){ + projectService.start(start,userId); + } } //判断是否是图片是否为空 if (CollectionUtil.isNotEmpty(param.getPictures())){ From 04a42e201cea40d76227171d463fddbefbf0bd8c Mon Sep 17 00:00:00 2001 From: hyy-alt <1041001226@qq.com> Date: Thu, 10 Jun 2021 17:43:43 +0800 Subject: [PATCH 5/5] =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E7=A9=BA=E9=97=B2?= =?UTF-8?q?=E5=B9=B3=E8=BD=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../wisdomcar/api/WisdomCarController.java | 3 +-- .../persist/dao/PatientProjectDao.java | 6 +++++- .../persist/dao/PatientWisdomCarDao.java | 10 ++++++++++ .../wisdomcar/service/WisdomCarService.java | 10 ++++------ wisdomcar/src/main/resources/application.yml | 4 ++-- .../mapper_dao/PatientWisdomCarDao.xml | 20 +++++++++++++++++++ 6 files changed, 42 insertions(+), 11 deletions(-) diff --git a/wisdomcar/src/main/java/com/ccsens/wisdomcar/api/WisdomCarController.java b/wisdomcar/src/main/java/com/ccsens/wisdomcar/api/WisdomCarController.java index 7e38f2c1..4e9b1630 100644 --- a/wisdomcar/src/main/java/com/ccsens/wisdomcar/api/WisdomCarController.java +++ b/wisdomcar/src/main/java/com/ccsens/wisdomcar/api/WisdomCarController.java @@ -88,14 +88,13 @@ public class WisdomCarController { @RequestMapping(value = "/queryBindingCarRun", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) public JsonResponse> queryBindingCarRun(@ApiParam @Validated @RequestBody QueryDto params) { log.info("查询正在运行的平车绑定的患者信息:{}", params); - List list = wisdomCarService.queryBindingCarRun(params.getParam(),params.getUserId()); log.info("查询正在运行的平车绑定的患者信息成功"); return JsonResponse.newInstance().ok(list); } @MustLogin - @ApiOperation(value = "查询全部平车", notes = "") + @ApiOperation(value = "查询全部平车", notes = "1007") @RequestMapping(value = "/queryAllCar", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) public JsonResponse queryAllCar(@ApiParam @Validated @RequestBody QueryDto params){ log.info("查询全部平车:{}", params); diff --git a/wisdomcar/src/main/java/com/ccsens/wisdomcar/persist/dao/PatientProjectDao.java b/wisdomcar/src/main/java/com/ccsens/wisdomcar/persist/dao/PatientProjectDao.java index 13cea1d0..a91933dd 100644 --- a/wisdomcar/src/main/java/com/ccsens/wisdomcar/persist/dao/PatientProjectDao.java +++ b/wisdomcar/src/main/java/com/ccsens/wisdomcar/persist/dao/PatientProjectDao.java @@ -19,7 +19,11 @@ public interface PatientProjectDao extends PatientProjectMapper { * @return 患者信息 */ List findPatientInfoByIdList(@Param("list") List newPatientIds); - + /** + * + * @param projectId + * @return + */ PatientAndFamilyVo.PatientInfo queryPatientInfo(@Param("projectId")Long projectId); /** diff --git a/wisdomcar/src/main/java/com/ccsens/wisdomcar/persist/dao/PatientWisdomCarDao.java b/wisdomcar/src/main/java/com/ccsens/wisdomcar/persist/dao/PatientWisdomCarDao.java index d105b006..f01f55db 100644 --- a/wisdomcar/src/main/java/com/ccsens/wisdomcar/persist/dao/PatientWisdomCarDao.java +++ b/wisdomcar/src/main/java/com/ccsens/wisdomcar/persist/dao/PatientWisdomCarDao.java @@ -25,4 +25,14 @@ public interface PatientWisdomCarDao extends PatientWisdomCarMapper { * @return */ List queryBindingCarIsRun(@Param("carId")Long carId); + + /** + * 查询绑定的的平车信息 + * @param id 平车id + * @return + */ + WisdomCarVo.BindingCarInfo queryBindingCar(@Param("id")Long id); + + + } diff --git a/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/WisdomCarService.java b/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/WisdomCarService.java index 48d8f97c..521c2629 100644 --- a/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/WisdomCarService.java +++ b/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/WisdomCarService.java @@ -440,16 +440,14 @@ public class WisdomCarService implements IWisdomCarService { return new ArrayList<>(); } for (WisdomCarVo.QueryAllCar queryAllCar : queryAllCarList) { - PatientWisdomCarExample patientWisdomCarExample = new PatientWisdomCarExample(); - patientWisdomCarExample.createCriteria().andCarIdEqualTo(queryAllCar.getId()); //通过平车id - List patientWisdomCars = patientWisdomCarDao.selectByExample(patientWisdomCarExample); - if(CollectionUtil.isEmpty(patientWisdomCars)){ + WisdomCarVo.BindingCarInfo bindingCar = patientWisdomCarDao.queryBindingCar(queryAllCar.getId()); + if(ObjectUtil.isNull(bindingCar)){ //未绑定 queryAllCar.setType((byte) 0); } else { - queryAllCar.setPatientCarId(patientWisdomCars.get(0).getId()); - queryAllCar.setPatientId(patientWisdomCars.get(0).getPatientId()); + queryAllCar.setPatientCarId(bindingCar.getPatientCarId()); + queryAllCar.setPatientId(bindingCar.getPatientId()); PatientProject patientProject = patientProjectDao.selectByPrimaryKey(queryAllCar.getPatientId()); if(ObjectUtil.isNotNull(patientProject)){ queryAllCar.setMedicalRecordNum(patientProject.getMedicalRecordNum()); diff --git a/wisdomcar/src/main/resources/application.yml b/wisdomcar/src/main/resources/application.yml index ac92adb9..a47f2a7b 100644 --- a/wisdomcar/src/main/resources/application.yml +++ b/wisdomcar/src/main/resources/application.yml @@ -1,6 +1,6 @@ spring: profiles: - active: test - include: common, util-test + active: dev + include: common, util-dev diff --git a/wisdomcar/src/main/resources/mapper_dao/PatientWisdomCarDao.xml b/wisdomcar/src/main/resources/mapper_dao/PatientWisdomCarDao.xml index b57d4481..af91885f 100644 --- a/wisdomcar/src/main/resources/mapper_dao/PatientWisdomCarDao.xml +++ b/wisdomcar/src/main/resources/mapper_dao/PatientWisdomCarDao.xml @@ -50,4 +50,24 @@ AND (a.end_time=0 OR (a.end_time > REPLACE(unix_timestamp(NOW(3)),'.','') )) AND a.start_time < REPLACE(unix_timestamp(NOW(3)),'.','') + + + \ No newline at end of file