Browse Source

Merge branch 'pt' of dd.tall.wiki:ccsens_wiki/ccsenscloud into pt

pt
hyy-alt 5 years ago
parent
commit
46614d76c9
  1. 4
      mt/src/main/resources/mapper_dao/CompeteProjectDao.xml
  2. 9
      recovery/src/main/java/com/ccsens/recovery/api/PatientController.java
  3. 6
      recovery/src/main/java/com/ccsens/recovery/bean/dto/PatientDto.java
  4. 1
      recovery/src/main/java/com/ccsens/recovery/bean/message/RecoveryWithStartDrill.java
  5. 6
      recovery/src/main/java/com/ccsens/recovery/bean/vo/PatientVo.java
  6. 7
      recovery/src/main/java/com/ccsens/recovery/service/IPatientService.java
  7. 16
      recovery/src/main/java/com/ccsens/recovery/service/PatientService.java
  8. 2
      recovery/src/main/resources/mapper_dao/PatientDao.xml
  9. 1
      util/src/main/java/com/ccsens/util/CodeEnum.java
  10. 6
      wisdomcar/src/main/java/com/ccsens/wisdomcar/api/OtherRecordsController.java
  11. 2
      wisdomcar/src/main/java/com/ccsens/wisdomcar/api/ProjectController.java
  12. 1
      wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/dto/CreateCaseDto.java
  13. 7
      wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/dto/OtherRecordsDto.java
  14. 6
      wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/dto/StepDto.java
  15. 4
      wisdomcar/src/main/java/com/ccsens/wisdomcar/persist/dao/StepDao.java
  16. 2
      wisdomcar/src/main/java/com/ccsens/wisdomcar/service/IOtherRecordsService.java
  17. 21
      wisdomcar/src/main/java/com/ccsens/wisdomcar/service/OtherRecordsService.java
  18. 58
      wisdomcar/src/main/java/com/ccsens/wisdomcar/service/PatientAndFamilyService.java
  19. 16
      wisdomcar/src/main/java/com/ccsens/wisdomcar/service/ProjectService.java
  20. 18
      wisdomcar/src/main/java/com/ccsens/wisdomcar/service/StepService.java
  21. 53
      wisdomcar/src/main/java/com/ccsens/wisdomcar/service/WisdomCarService.java
  22. 8
      wisdomcar/src/main/java/com/ccsens/wisdomcar/util/Constant.java
  23. 4
      wisdomcar/src/main/resources/application.yml
  24. 31
      wisdomcar/src/main/resources/mapper_dao/StepDao.xml

4
mt/src/main/resources/mapper_dao/CompeteProjectDao.xml

@ -76,7 +76,7 @@
FROM FROM
t_compete_project_player pp t_compete_project_player pp
LEFT JOIN t_compete_player p on pp.player_id = p.id and p.rec_status = 0 LEFT JOIN t_compete_player p on pp.player_id = p.id and p.rec_status = 0
LEFT JOIN t_compete_group g on p.compete_group_id = g.id and g.rec_status = 0 and g.type = 5 LEFT JOIN t_compete_group g on p.compete_group_id = g.id and g.rec_status = 0 and g.type = 4
LEFT JOIN t_compete_company c on p.company_id = c.id and c.rec_status = 0 LEFT JOIN t_compete_company c on p.company_id = c.id and c.rec_status = 0
WHERE WHERE
pp.project_id = #{projectId} pp.project_id = #{projectId}
@ -91,7 +91,7 @@
t.id t.id
FROM FROM
t_compete_team t t_compete_team t
LEFT JOIN t_compete_group g on t.group_remark = g.group_remark and t.gender_group = g.sex and g.rec_status = 0 and g.type = 5 LEFT JOIN t_compete_group g on t.group_remark = g.group_remark and t.gender_group = g.sex and g.rec_status = 0 and g.type = 4
LEFT JOIN t_compete_company c on t.company_id = c.id and c.rec_status = 0 LEFT JOIN t_compete_company c on t.company_id = c.id and c.rec_status = 0
WHERE WHERE
t.project_id = #{projectId} t.project_id = #{projectId}

9
recovery/src/main/java/com/ccsens/recovery/api/PatientController.java

@ -111,6 +111,15 @@ public class PatientController {
return JsonResponse.newInstance().ok(recipeRecordId); return JsonResponse.newInstance().ok(recipeRecordId);
} }
@MustLogin
@ApiOperation(value = "倒计时结束", notes = "zy:")
@RequestMapping(value = "/countdown", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse countdown(@ApiParam @Validated @RequestBody QueryDto<PatientDto.PatientId> params) throws Exception {
log.info("倒计时结束:{}",params);
patientService.countdown(params.getParam(),params.getUserId());
return JsonResponse.newInstance().ok();
}
@ApiOperation(value = "结束训练", notes = "zy:") @ApiOperation(value = "结束训练", notes = "zy:")
@RequestMapping(value = "/end", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) @RequestMapping(value = "/end", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse endDrill(@ApiParam @Validated @RequestBody QueryDto<PatientDto.EndDrill> params) { public JsonResponse endDrill(@ApiParam @Validated @RequestBody QueryDto<PatientDto.EndDrill> params) {

6
recovery/src/main/java/com/ccsens/recovery/bean/dto/PatientDto.java

@ -110,6 +110,12 @@ public class PatientDto {
@ApiModelProperty("训练的分数") @ApiModelProperty("训练的分数")
private int score; private int score;
} }
@Data
@ApiModel("训练记录id")
public static class RecordId{
@ApiModelProperty("训练记录id")
private Long id;
}
@Data @Data
@ApiModel("动作反馈") @ApiModel("动作反馈")

1
recovery/src/main/java/com/ccsens/recovery/bean/message/RecoveryWithStartDrill.java

@ -23,6 +23,7 @@ public class RecoveryWithStartDrill extends BaseMessageDto{
private Long projectId; private Long projectId;
//任务详情id //任务详情id
private Long taskDetailId; private Long taskDetailId;
private Long subTaskId = 1402180562474635420L;
//插件名 //插件名
private String pluginName = "start_training"; private String pluginName = "start_training";
} }

6
recovery/src/main/java/com/ccsens/recovery/bean/vo/PatientVo.java

@ -54,6 +54,12 @@ public class PatientVo {
private Long id; private Long id;
@ApiModelProperty("训练状态 0未开始 1进行中 2已结束") @ApiModelProperty("训练状态 0未开始 1进行中 2已结束")
private int status; private int status;
@ApiModelProperty("开始时间")
private Long startTime;
@ApiModelProperty("时长")
private Long duration = 60000L;
@ApiModelProperty("分数")
private int score = 11;
} }
@Data @Data

7
recovery/src/main/java/com/ccsens/recovery/service/IPatientService.java

@ -99,4 +99,11 @@ public interface IPatientService {
* @return 返回训练的状态 * @return 返回训练的状态
*/ */
PatientVo.RecordStatus getDrillStatus(PatientDto.SubTimeTaskId param, Long userId); PatientVo.RecordStatus getDrillStatus(PatientDto.SubTimeTaskId param, Long userId);
/**
* 倒计时结束通知患者
* @param param 患者id
* @param userId userId
*/
void countdown(PatientDto.PatientId param, Long userId);
} }

16
recovery/src/main/java/com/ccsens/recovery/service/PatientService.java

@ -147,12 +147,12 @@ public class PatientService implements IPatientService{
data.setRecordId(recRecord.getId()); data.setRecordId(recRecord.getId());
data.setGameId(param.getGameId()); data.setGameId(param.getGameId());
data.setProjectId(patient.getProjectId()); data.setProjectId(patient.getProjectId());
data.setTaskDetailId(projectDecompose.getTaskId()); // data.setTaskDetailId(projectDecompose.getTaskId());
recoveryWithStartDrill.setData(data); recoveryWithStartDrill.setData(data);
//查询接收者 //查询接收者
Set<String> userIdSet = new HashSet<>(); Set<String> userIdSet = new HashSet<>();
userIdSet.add(param.getPatientId().toString()); userIdSet.add(patient.getUserId().toString());
// RecoveryRobot recoveryRobot = patientDao.getRobotByPatientId(param.getPatientId()); // RecoveryRobot recoveryRobot = patientDao.getRobotByPatientId(param.getPatientId());
// if(ObjectUtil.isNotNull(recoveryRobot)){ // if(ObjectUtil.isNotNull(recoveryRobot)){
// userIdSet.add(recoveryRobot.getUserid().toString()); // userIdSet.add(recoveryRobot.getUserid().toString());
@ -287,10 +287,12 @@ public class PatientService implements IPatientService{
if(ObjectUtil.isNotNull(recipeRecord.getStartTime()) && ObjectUtil.isNotNull(recipeRecord.getEndTime())){ if(ObjectUtil.isNotNull(recipeRecord.getStartTime()) && ObjectUtil.isNotNull(recipeRecord.getEndTime())){
if(recipeRecord.getStartTime() != 0 && recipeRecord.getEndTime() == 0){ if(recipeRecord.getStartTime() != 0 && recipeRecord.getEndTime() == 0){
recordStatus.setStatus(1); recordStatus.setStatus(1);
recordStatus.setStartTime(recipeRecord.getStartTime());
return recordStatus; return recordStatus;
} }
if(recipeRecord.getEndTime() != 0){ if(recipeRecord.getEndTime() != 0){
recordStatus.setStatus(2); recordStatus.setStatus(2);
recordStatus.setStartTime(recipeRecord.getStartTime());
return recordStatus; return recordStatus;
} }
} }
@ -298,4 +300,14 @@ public class PatientService implements IPatientService{
recordStatus.setStatus(0); recordStatus.setStatus(0);
return recordStatus; return recordStatus;
} }
@Override
public void countdown(PatientDto.PatientId param, Long userId) {
//查询患者信息
Patient patient = patientDao.selectByPrimaryKey(param.getId());
if(ObjectUtil.isNotNull(patient)){
}
}
} }

2
recovery/src/main/resources/mapper_dao/PatientDao.xml

@ -156,7 +156,7 @@
and rp.rec_status = 0 and rp.rec_status = 0
and rpd.rec_status = 0 and rpd.rec_status = 0
and rd.rec_status = 0 and rd.rec_status = 0
and rpd.task_id = #{detailId} and rpd.robot_task_id = #{detailId}
</select> </select>
<select id="getRobotByPatientId" resultType="com.ccsens.recovery.bean.po.RecoveryRobot"> <select id="getRobotByPatientId" resultType="com.ccsens.recovery.bean.po.RecoveryRobot">
SELECT SELECT

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

@ -217,6 +217,7 @@ public enum CodeEnum {
WISDOM_CAR_RUNNED(177,"这段时间内平车正在运行,请结束平车运行或重新选择平车",true), WISDOM_CAR_RUNNED(177,"这段时间内平车正在运行,请结束平车运行或重新选择平车",true),
WISDOM_CAR_IS_EXIST(178,"平车不存在,请检查后操作",true), WISDOM_CAR_IS_EXIST(178,"平车不存在,请检查后操作",true),
TASK_IS_EXIST(179,"任务不存在,请检查后操作",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; package com.ccsens.wisdomcar.api;
import com.ccsens.cloudutil.annotation.MustLogin;
import com.ccsens.util.JsonResponse; import com.ccsens.util.JsonResponse;
import com.ccsens.util.bean.dto.QueryDto; import com.ccsens.util.bean.dto.QueryDto;
import com.ccsens.wisdomcar.bean.dto.OtherRecordsDto; import com.ccsens.wisdomcar.bean.dto.OtherRecordsDto;
@ -31,11 +32,12 @@ public class OtherRecordsController {
@Resource @Resource
private IOtherRecordsService iOtherRecordsService; private IOtherRecordsService iOtherRecordsService;
@ApiOperation(value = "上传图片和记录", notes = "1007") @MustLogin
@ApiOperation(value = "上传图片和记录(与点击开始合并了)", notes = "")
@RequestMapping(value = "/upload", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) @RequestMapping(value = "/upload", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse upload(@ApiParam @Validated @RequestBody QueryDto<OtherRecordsDto.PicturesAndRecords> params){ public JsonResponse upload(@ApiParam @Validated @RequestBody QueryDto<OtherRecordsDto.PicturesAndRecords> params){
log.info("上传图片和记录:{}", params); log.info("上传图片和记录:{}", params);
iOtherRecordsService.upload(params.getParam()); iOtherRecordsService.upload(params.getParam(),params.getUserId());
log.info("上传图片和记录成功"); log.info("上传图片和记录成功");
return JsonResponse.newInstance().ok(); 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; private IProjectService projectService;
@MustLogin @MustLogin
@ApiOperation(value = "点击开始", notes = "whj") @ApiOperation(value = "点击开始(暂不使用)", notes = "whj")
@RequestMapping(value = "/start", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) @RequestMapping(value = "/start", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse start(@ApiParam @Validated @RequestBody QueryDto<ProjectDto.Start> params){ public JsonResponse start(@ApiParam @Validated @RequestBody QueryDto<ProjectDto.Start> params){
log.info("点击开始:{}", 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; private String medicalRecordNum;
@ApiModelProperty("患者家属姓名") @ApiModelProperty("患者家属姓名")
private String familyName; private String familyName;
@Pattern(regexp="^\\s{0}$|^[1]([3-9])[0-9]{9}$",message="请输入正确的手机号")
@ApiModelProperty("患者家属手机号") @ApiModelProperty("患者家属手机号")
private String familyPhone; 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; private List<String> pictures;
@ApiModelProperty("上传记录") @ApiModelProperty("上传记录")
private String records; private String records;
@ApiModelProperty("开始时间")
private Long startTime = System.currentTimeMillis();
// @NotNull(message="请说明您的任务")
// @ApiModelProperty("分解任务ID")
// private Long taskSubId;
} }
@Data @Data
@ApiModel("查询上传图片和记录") @ApiModel("查询上传图片和记录")
public static class QueryId { public static class QueryId {

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

@ -15,8 +15,8 @@ public class StepDto {
@Data @Data
@ApiModel("查看环节完成状态") @ApiModel("查看环节完成状态")
public static class FindStepStatus{ public static class FindStepStatus{
@NotNull(message = "请选择要查看的患者平车") @NotNull(message = "请选择要查看的数据")
@ApiModelProperty("患者平车id") @ApiModelProperty("分解任务id")
private Long patientCarId; 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 环节信息 * @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 * @param
* @throws * @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.StringUtil;
import com.ccsens.util.exception.BaseException; import com.ccsens.util.exception.BaseException;
import com.ccsens.wisdomcar.bean.dto.OtherRecordsDto; 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.PatientInformationRecord;
import com.ccsens.wisdomcar.bean.po.PatientInformationRecordExample; import com.ccsens.wisdomcar.bean.po.PatientInformationRecordExample;
import com.ccsens.wisdomcar.bean.po.PatientWisdomCar; import com.ccsens.wisdomcar.bean.po.PatientWisdomCar;
@ -50,10 +51,12 @@ public class OtherRecordsService implements IOtherRecordsService {
@Resource @Resource
private Snowflake snowflake; private Snowflake snowflake;
@Resource
private ProjectService projectService;
@Override @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 //通过t_patient_information_record里面的分解任务id 找到患者平车id 最新的 拿到患者平车id t_patient_information_record
//拿到患者平车id //拿到患者平车id
ProjectVo.BindCar bindCar = stepTaskDao.getBindCarTaskId(param.getId()); ProjectVo.BindCar bindCar = stepTaskDao.getBindCarTaskId(param.getId());
@ -61,6 +64,22 @@ public class OtherRecordsService implements IOtherRecordsService {
log.info("没有找到绑定的平车信息:{}", param); log.info("没有找到绑定的平车信息:{}", param);
throw new BaseException(CodeEnum.PARAM_ERROR); 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())){ if (CollectionUtil.isNotEmpty(param.getPictures())){
for (int i = 0; i < param.getPictures().size(); i++) { 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())){ if (ObjectUtil.isNotNull(param.getSex())){
patient.setSex(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())){ if (ObjectUtil.isNotNull(param.getPhone())){
patient.setPhone(param.getPhone()); patient.setPhone(param.getPhone());
} }
@ -75,13 +95,33 @@ public class PatientAndFamilyService implements IPatientAndFamilyService{
patientFamilyExample.createCriteria().andPatientIdEqualTo(param.getId()); patientFamilyExample.createCriteria().andPatientIdEqualTo(param.getId());
List<PatientFamily> patientFamilies = patientFamilyDao.selectByExample(patientFamilyExample); List<PatientFamily> patientFamilies = patientFamilyDao.selectByExample(patientFamilyExample);
if (CollectionUtil.isNotEmpty(patientFamilies)){ 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())){ if (StrUtil.isNotBlank(param.getFamilyName())){
patientFamilies.get(0).setName(param.getFamilyName()); patientFamilies.get(0).setName(param.getFamilyName());
} }
if (ObjectUtil.isNotNull(param.getFamilyPhone())){ if (ObjectUtil.isNotNull(param.getFamilyPhone())){
patientFamilies.get(0).setPhone(param.getFamilyPhone()); patientFamilies.get(0).setPhone(param.getFamilyPhone());
} }
patientFamilyDao.updateByPrimaryKeySelective(patientFamilies.get(0)); patientFamilyDao.updateByPrimaryKeySelective(patientFamilies.get(0));
}else{ }else{
//没有查到患者信息并且传入家属信息则新建一条 //没有查到患者信息并且传入家属信息则新建一条
if (StrUtil.isNotBlank(param.getFamilyName()) || ObjectUtil.isNotNull(param.getFamilyPhone())){ if (StrUtil.isNotBlank(param.getFamilyName()) || ObjectUtil.isNotNull(param.getFamilyPhone())){
@ -185,4 +225,20 @@ public class PatientAndFamilyService implements IPatientAndFamilyService{
} }
return patientInfo; 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

@ -91,8 +91,22 @@ public class ProjectService implements IProjectService {
dataExample.createCriteria().andTaskSubIdEqualTo(stepTask.getTaskSubId()).andStepIdEqualTo(stepTask.getStepId()); dataExample.createCriteria().andTaskSubIdEqualTo(stepTask.getTaskSubId()).andStepIdEqualTo(stepTask.getStepId());
List<PatientData> patientData = patientDataDao.selectByExample(dataExample); List<PatientData> patientData = patientDataDao.selectByExample(dataExample);
if (CollectionUtil.isNotEmpty(patientData)){ 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); 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) { if (data.getPushStatus() == Constant.PUSH_STATUS_SUCCESS) {
log.info("已推送成功,不处理"); log.info("已推送成功,不处理");

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

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

@ -73,6 +73,23 @@ public class WisdomCarService implements IWisdomCarService {
@Override @Override
public WisdomCarVo.PatientProject createCase(CreateCaseDto.PatientInfo param, Long userId) { 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; Long patientProjectId = null;
//tall中需要添加的成员 //tall中需要添加的成员
MemberRoleDto.SaveMemberForTemplate saveMemberForTemplate = new MemberRoleDto.SaveMemberForTemplate(); MemberRoleDto.SaveMemberForTemplate saveMemberForTemplate = new MemberRoleDto.SaveMemberForTemplate();
@ -110,6 +127,18 @@ public class WisdomCarService implements IWisdomCarService {
patient.setPhone(param.getPatientPhone()); patient.setPhone(param.getPatientPhone());
} }
patientProjectDao.insertSelective(patient); 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())){ if (ObjectUtil.isNotNull(param.getFamilyName()) || ObjectUtil.isNotNull(param.getFamilyPhone())){
@ -119,18 +148,18 @@ public class WisdomCarService implements IWisdomCarService {
patientFamily.setPhone(param.getFamilyPhone()); patientFamily.setPhone(param.getFamilyPhone());
patientFamily.setPatientId(patient.getId()); patientFamily.setPatientId(patient.getId());
patientFamilyDao.insertSelective(patientFamily); patientFamilyDao.insertSelective(patientFamily);
// if (ObjectUtil.isNotNull(param.getFamilyPhone())){ //添加患者家属成员
// MemberRoleDto.MemberForTemplate memberForTemplate = new MemberRoleDto.MemberForTemplate(); if (ObjectUtil.isNotNull(param.getFamilyPhone())){
// //添加对应角色名称 MemberRoleDto.MemberForTemplate memberForTemplate = new MemberRoleDto.MemberForTemplate();
// List<String> roleName = new ArrayList<>(); List<String> roleName = new ArrayList<>();
// roleName.add(Constant.PATIENT_FAMILY); roleName.add(Constant.PATIENT_FAMILY);
// memberForTemplate.setRoleName(roleName); memberForTemplate.setRoleName(roleName);
// memberForTemplate.setPhone(param.getFamilyPhone()); memberForTemplate.setPhone(param.getFamilyPhone());
// if (ObjectUtil.isNotNull(param.getFamilyName())){ if (ObjectUtil.isNotNull(param.getFamilyName())){
// memberForTemplate.setMemberName(param.getFamilyName()); memberForTemplate.setMemberName(param.getFamilyName());
// } }
// memberList.add(memberForTemplate); 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 PROJECT_NAME = "卒中急救流程";
/**
* 角色名称:患者
*/
public static final String PATIENT = "患者";
/** /**
* 角色名称:患者家属 * 角色名称:患者家属
*/ */
@ -129,6 +134,9 @@ public class Constant {
* 调用Tall异常 * 调用Tall异常
*/ */
public static final Byte TASK_DETAIL_LEVEL_TWO = 2; 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 class BaiDu{
public static final String APP_KEY = "F43SLi3hDra3EgWiSi8bIH8c"; public static final String APP_KEY = "F43SLi3hDra3EgWiSi8bIH8c";
public static final String SECRET_KEY = "wGhbTXGsrbxfuCQT7WyLDndYRxrSYqbD"; public static final String SECRET_KEY = "wGhbTXGsrbxfuCQT7WyLDndYRxrSYqbD";

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

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

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

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

Loading…
Cancel
Save