Browse Source

图像识别

pt
zhizhi wu 5 years ago
parent
commit
d70fe40d98
  1. 2
      wisdomcar/src/main/java/com/ccsens/wisdomcar/api/PatientAndFamilyController.java
  2. 48
      wisdomcar/src/main/java/com/ccsens/wisdomcar/api/ProjectController.java
  3. 4
      wisdomcar/src/main/java/com/ccsens/wisdomcar/api/WisdomCarController.java
  4. 6
      wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/dto/PatientAndFamilyDto.java
  5. 8
      wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/dto/ProjectDto.java
  6. 5
      wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/dto/WisdomCarDto.java
  7. 9
      wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/vo/PatientAndFamilyVo.java
  8. 37
      wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/vo/ProjectVo.java
  9. 5
      wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/vo/WisdomCarVo.java
  10. 2
      wisdomcar/src/main/java/com/ccsens/wisdomcar/persist/dao/PatientWisdomCarDao.java
  11. 2
      wisdomcar/src/main/java/com/ccsens/wisdomcar/persist/dao/StepDao.java
  12. 7
      wisdomcar/src/main/java/com/ccsens/wisdomcar/service/IProjectService.java
  13. 2
      wisdomcar/src/main/java/com/ccsens/wisdomcar/service/IWisdomCarService.java
  14. 82
      wisdomcar/src/main/java/com/ccsens/wisdomcar/service/PatientAndFamilyService.java
  15. 11
      wisdomcar/src/main/java/com/ccsens/wisdomcar/service/ProjectService.java
  16. 30
      wisdomcar/src/main/java/com/ccsens/wisdomcar/service/WisdomCarService.java
  17. 4
      wisdomcar/src/main/resources/application.yml
  18. 4
      wisdomcar/src/main/resources/mapper_dao/PatientProjectDao.xml
  19. 2
      wisdomcar/src/main/resources/mapper_dao/PatientWisdomCarDao.xml
  20. 3
      wisdomcar/src/main/resources/mapper_dao/StepDao.xml

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

@ -34,7 +34,7 @@ public class PatientAndFamilyController {
IPatientAndFamilyService patientAndFamilyService; IPatientAndFamilyService patientAndFamilyService;
@MustLogin @MustLogin
@ApiOperation(value = "修改(补录)患者信息", notes = "mz") @ApiOperation(value = "修改(补录)患者和家属信息信息", notes = "mz")
@RequestMapping(value = "/updatePatientInfo", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) @RequestMapping(value = "/updatePatientInfo", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse updatePatientInfo(@ApiParam @Validated @RequestBody QueryDto<PatientAndFamilyDto.PatientInfo> params) { public JsonResponse updatePatientInfo(@ApiParam @Validated @RequestBody QueryDto<PatientAndFamilyDto.PatientInfo> params) {
log.info("修改(补录)患者信息:{}", params); log.info("修改(补录)患者信息:{}", params);

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

@ -1,6 +1,8 @@
package com.ccsens.wisdomcar.api; package com.ccsens.wisdomcar.api;
import cn.hutool.core.codec.Base64;
import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.ImageUtil;
import com.ccsens.cloudutil.annotation.MustLogin; import com.ccsens.cloudutil.annotation.MustLogin;
import com.ccsens.util.JsonResponse; import com.ccsens.util.JsonResponse;
import com.ccsens.util.baidu.BaiDuDto; import com.ccsens.util.baidu.BaiDuDto;
@ -11,17 +13,20 @@ import com.ccsens.wisdomcar.bean.dto.ProjectDto;
import com.ccsens.wisdomcar.bean.vo.ProjectVo; import com.ccsens.wisdomcar.bean.vo.ProjectVo;
import com.ccsens.wisdomcar.service.IProjectService; import com.ccsens.wisdomcar.service.IProjectService;
import com.ccsens.wisdomcar.util.Constant; import com.ccsens.wisdomcar.util.Constant;
import com.fasterxml.jackson.core.JsonProcessingException;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam; import io.swagger.annotations.ApiParam;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.imageio.ImageIO;
import javax.servlet.http.Part;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
@ -69,19 +74,32 @@ public class ProjectController {
@MustLogin @MustLogin
@ApiOperation(value = "图像识别", notes = "whj") @ApiOperation(value = "图像识别", notes = "whj")
@RequestMapping(value = "/identifyWords", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) @RequestMapping(value = "/identifyWords", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse<List<BaiDuVo.GeneralWord>> identifyWords(@ApiParam @Validated @RequestBody QueryDto<ProjectDto.Img> params){ public JsonResponse<ProjectVo.PersonMsg> identifyWords(@RequestParam(required = true) Part part) throws IOException {
log.info("图像识别:{}", params); log.info("图像识别");
// 压缩图像
ByteArrayOutputStream out = new ByteArrayOutputStream();
ImageUtil.scale(ImageIO.read(part.getInputStream()), out, 0.5f);
String img = Base64.encode(out.toByteArray());
// 图像识别
BaiDuDto.GeneralBasic basic = new BaiDuDto.GeneralBasic(); BaiDuDto.GeneralBasic basic = new BaiDuDto.GeneralBasic();
basic.setUrl(params.getParam().getUrl()); basic.setImage(img);
BaiDuVo.GeneralBasic words = BaiDuUtil.accurateBasic(Constant.BaiDu.APP_KEY, Constant.BaiDu.SECRET_KEY, basic); BaiDuVo.GeneralBasic words = BaiDuUtil.accurateBasic(Constant.BaiDu.APP_KEY, Constant.BaiDu.SECRET_KEY, basic);
List<BaiDuVo.GeneralWord> result; // 返回图像
if (words != null && CollectionUtil.isNotEmpty(words.getWordsResult())) { ProjectVo.PersonMsg personMsg = new ProjectVo.PersonMsg();
result = words.getWordsResult(); personMsg.toMsg(words.getWordsResult());
} else { log.info("图像识别结束:{}", personMsg);
result = new ArrayList<>(); return JsonResponse.newInstance().ok(personMsg);
}
log.info("图像识别结束:{}", result);
return JsonResponse.newInstance().ok(result);
} }
@MustLogin
@ApiOperation(value = "选择历史患者切换项目", notes = "mz")
@RequestMapping(value = "/switchProject", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse switchProject(@ApiParam @Validated @RequestBody QueryDto<ProjectDto.SwitchProject> params) throws JsonProcessingException {
log.info("选择历史患者切换项目:{}", params);
projectService.switchProject(params.getParam(), params.getUserId());
log.info("选择历史患者切换项目");
return JsonResponse.newInstance().ok();
}
} }

4
wisdomcar/src/main/java/com/ccsens/wisdomcar/api/WisdomCarController.java

@ -76,9 +76,9 @@ public class WisdomCarController {
@ApiOperation(value = "查询绑定平车", notes = "") @ApiOperation(value = "查询绑定平车", notes = "")
@RequestMapping(value = "/queryBindingCar", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) @RequestMapping(value = "/queryBindingCar", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse<List<WisdomCarVo.BindingCar>> queryBindingCar(@ApiParam @Validated @RequestBody QueryDto<WisdomCarDto.QueryBindingCar> params) { public JsonResponse<List<WisdomCarVo.BindingCarInfo>> queryBindingCar(@ApiParam @Validated @RequestBody QueryDto<WisdomCarDto.QueryInfo> params) {
log.info("查询绑定平车:{}", params); log.info("查询绑定平车:{}", params);
List<WisdomCarVo.BindingCar> list = wisdomCarService.queryBindingCar(params.getParam()); List<WisdomCarVo.BindingCarInfo> list = wisdomCarService.queryBindingCar(params.getParam());
log.info("查询绑定平车"); log.info("查询绑定平车");
return JsonResponse.newInstance().ok(list); return JsonResponse.newInstance().ok(list);
} }

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

@ -27,6 +27,10 @@ public class PatientAndFamilyDto {
private String idCard; private String idCard;
@ApiModelProperty("患者手机号") @ApiModelProperty("患者手机号")
private String phone; private String phone;
@ApiModelProperty("患者家属姓名")
private String familyName;
@ApiModelProperty("患者家属手机号")
private String familyPhone;
} }
@ -43,7 +47,7 @@ public class PatientAndFamilyDto {
} }
@Data @Data
@ApiModel("查询患者") @ApiModel("查询患者参数")
public static class queryPatientInfo{ public static class queryPatientInfo{
@ApiModelProperty("项目ID") @ApiModelProperty("项目ID")
private Long projectId; private Long projectId;

8
wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/dto/ProjectDto.java

@ -11,6 +11,7 @@ import javax.validation.constraints.NotNull;
* @author: whj * @author: whj
* @time: 2021/6/1 13:34 * @time: 2021/6/1 13:34
*/ */
@Data
public class ProjectDto { public class ProjectDto {
@Data @Data
@ -46,4 +47,11 @@ public class ProjectDto {
@ApiModelProperty("文件路径") @ApiModelProperty("文件路径")
private String url; private String url;
} }
@Data
@ApiModel("切换项目")
public static class SwitchProject {
@ApiModelProperty("项目id")
private Long projectId;
}
} }

5
wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/dto/WisdomCarDto.java

@ -13,6 +13,7 @@ import java.util.List;
* @author: whj * @author: whj
* @time: 2021/6/1 13:01 * @time: 2021/6/1 13:01
*/ */
@Data
public class WisdomCarDto { public class WisdomCarDto {
@Data @Data
@ -48,8 +49,8 @@ public class WisdomCarDto {
} }
@Data @Data
@ApiModel("查询绑定平车") @ApiModel("查询绑定平车参数")
public static class QueryBindingCar { public static class QueryInfo {
@ApiModelProperty("分解任务id") @ApiModelProperty("分解任务id")
private Long taskSubId; private Long taskSubId;

9
wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/vo/PatientAndFamilyVo.java

@ -8,8 +8,10 @@ import lombok.Data;
public class PatientAndFamilyVo { public class PatientAndFamilyVo {
@Data @Data
@ApiModel("查询患者") @ApiModel("查询患者结果")
public static class PatientInfo { public static class PatientInfo {
@ApiModelProperty("患者家属表id")
private Long id;
@ApiModelProperty("病案号") @ApiModelProperty("病案号")
private String medicalRecordNum; private String medicalRecordNum;
@ApiModelProperty("患者姓名") @ApiModelProperty("患者姓名")
@ -22,5 +24,10 @@ public class PatientAndFamilyVo {
private String idCard; private String idCard;
@ApiModelProperty("患者联系电话") @ApiModelProperty("患者联系电话")
private String phone; private String phone;
@ApiModelProperty("患者家属姓名")
private String familyName;
@ApiModelProperty("患者家属联系电话")
private String familyPhone;
} }
} }

37
wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/vo/ProjectVo.java

@ -1,16 +1,22 @@
package com.ccsens.wisdomcar.bean.vo; package com.ccsens.wisdomcar.bean.vo;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.IdcardUtil;
import com.ccsens.util.CodeEnum;
import com.ccsens.util.baidu.BaiDuVo;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import javax.validation.constraints.NotNull; import javax.validation.constraints.NotNull;
import java.util.List;
/** /**
* @description: * @description:
* @author: whj * @author: whj
* @time: 2021/6/1 13:34 * @time: 2021/6/1 13:34
*/ */
@Data
public class ProjectVo { public class ProjectVo {
public static class Start { public static class Start {
} }
@ -50,4 +56,35 @@ public class ProjectVo {
@ApiModelProperty("开始时间") @ApiModelProperty("开始时间")
private Long startTime; private Long startTime;
} }
@Data
@ApiModel("身份信息")
public static class PersonMsg {
@ApiModelProperty("姓名")
private String name;
@ApiModelProperty("性别")
private byte sex;
@ApiModelProperty("身份证号")
private String idCardNo;
@ApiModelProperty("年龄")
private int age;
public void toMsg(List<BaiDuVo.GeneralWord> words) {
if (CollectionUtil.isEmpty(words)) {
return;
}
words.forEach(wordNode ->{
String word = wordNode.getWords();
if (word.startsWith("姓名")) {
this.name = word.substring(2);
} else if (word.startsWith("性别")) {
String sexWord = word.substring(2,3);
this.sex = "女".equals(sexWord) ? (byte)0 : (byte)1;
} else if (word.startsWith("公民身份号码")) {
this.idCardNo = word.substring(6);
this.age = IdcardUtil.getAgeByIdCard(this.idCardNo);
}
});
}
}
} }

5
wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/vo/WisdomCarVo.java

@ -10,6 +10,7 @@ import lombok.Data;
* @author: whj * @author: whj
* @time: 2021/6/1 13:02 * @time: 2021/6/1 13:02
*/ */
@Data
public class WisdomCarVo { public class WisdomCarVo {
@Data @Data
@ApiModel("查询空闲平车--响应参数") @ApiModel("查询空闲平车--响应参数")
@ -23,8 +24,8 @@ public class WisdomCarVo {
@Data @Data
@ApiModel("查询绑定平车") @ApiModel("查询绑定平车结果")
public static class BindingCar{ public static class BindingCarInfo {
@ApiModelProperty("患者id") @ApiModelProperty("患者id")
private Long patientId; private Long patientId;
@ApiModelProperty("平车id") @ApiModelProperty("平车id")

2
wisdomcar/src/main/java/com/ccsens/wisdomcar/persist/dao/PatientWisdomCarDao.java

@ -10,5 +10,5 @@ public interface PatientWisdomCarDao extends PatientWisdomCarMapper {
List<Long> queryByNew(@Param("id")Long id); List<Long> queryByNew(@Param("id")Long id);
List<WisdomCarVo.BindingCar> queryBindingCarList(@Param("taskSubId")Long taskSubId); List<WisdomCarVo.BindingCarInfo> queryBindingCarList(@Param("taskSubId")Long taskSubId);
} }

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

@ -36,5 +36,5 @@ public interface StepDao extends StepMapper {
* @param patientCarId 患者平车id * @param patientCarId 患者平车id
* @return 环节信息 * @return 环节信息
*/ */
List<StepVo.StepStatus> findStepIsOver(Long patientCarId); List<StepVo.StepStatus> findStepIsOver(@Param("patientCarId") Long patientCarId);
} }

7
wisdomcar/src/main/java/com/ccsens/wisdomcar/service/IProjectService.java

@ -3,6 +3,7 @@ package com.ccsens.wisdomcar.service;
import com.ccsens.wisdomcar.bean.dto.ProjectDto; import com.ccsens.wisdomcar.bean.dto.ProjectDto;
import com.ccsens.wisdomcar.bean.po.StepTask; import com.ccsens.wisdomcar.bean.po.StepTask;
import com.ccsens.wisdomcar.bean.vo.ProjectVo; import com.ccsens.wisdomcar.bean.vo.ProjectVo;
import com.fasterxml.jackson.core.JsonProcessingException;
import java.util.List; import java.util.List;
@ -42,4 +43,10 @@ public interface IProjectService {
* @return 开始时间 * @return 开始时间
*/ */
ProjectVo.GetStartTime getStartTime(ProjectDto.GetStartTime param, Long userId); ProjectVo.GetStartTime getStartTime(ProjectDto.GetStartTime param, Long userId);
/**
* 选择历史患者切换项目
* @param param 项目id
* @param userId 当前用户id
*/
void switchProject(ProjectDto.SwitchProject param, Long userId) throws JsonProcessingException;
} }

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

@ -47,5 +47,5 @@ public interface IWisdomCarService {
* @param param 参数 * @param param 参数
* *
*/ */
List<WisdomCarVo.BindingCar> queryBindingCar(WisdomCarDto.QueryBindingCar param); List<WisdomCarVo.BindingCarInfo> queryBindingCar(WisdomCarDto.QueryInfo param);
} }

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

@ -10,10 +10,7 @@ import com.ccsens.util.bean.dto.QueryDto;
import com.ccsens.util.CodeEnum; import com.ccsens.util.CodeEnum;
import com.ccsens.util.exception.BaseException; import com.ccsens.util.exception.BaseException;
import com.ccsens.wisdomcar.bean.dto.PatientAndFamilyDto; import com.ccsens.wisdomcar.bean.dto.PatientAndFamilyDto;
import com.ccsens.wisdomcar.bean.po.HospitalMember; import com.ccsens.wisdomcar.bean.po.*;
import com.ccsens.wisdomcar.bean.po.HospitalMemberExample;
import com.ccsens.wisdomcar.bean.po.PatientFamily;
import com.ccsens.wisdomcar.bean.po.PatientProject;
import com.ccsens.wisdomcar.bean.vo.PatientAndFamilyVo; import com.ccsens.wisdomcar.bean.vo.PatientAndFamilyVo;
import com.ccsens.wisdomcar.bean.vo.PatientVo; import com.ccsens.wisdomcar.bean.vo.PatientVo;
import com.ccsens.wisdomcar.persist.dao.HospitalMemberDao; import com.ccsens.wisdomcar.persist.dao.HospitalMemberDao;
@ -69,6 +66,19 @@ public class PatientAndFamilyService implements IPatientAndFamilyService{
patient.setPhone(param.getPhone()); patient.setPhone(param.getPhone());
} }
patientProjectDao.updateByPrimaryKeySelective(patient); patientProjectDao.updateByPrimaryKeySelective(patient);
//修改患者家属信息
PatientFamilyExample patientFamilyExample = new PatientFamilyExample();
patientFamilyExample.createCriteria().andPatientIdEqualTo(param.getId());
List<PatientFamily> patientFamilies = patientFamilyDao.selectByExample(patientFamilyExample);
if (CollectionUtil.isNotEmpty(patientFamilies)){
if (ObjectUtil.isNotNull(param.getFamilyName())){
patientFamilies.get(0).setName(param.getFamilyName());
}
if (ObjectUtil.isNotNull(param.getFamilyPhone())){
patientFamilies.get(0).setPhone(param.getFamilyPhone());
}
patientFamilyDao.updateByPrimaryKeySelective(patientFamilies.get(0));
}
}else{ }else{
throw new BaseException(Constant.PATIENT_NOT_FOUND); throw new BaseException(Constant.PATIENT_NOT_FOUND);
} }
@ -78,33 +88,33 @@ public class PatientAndFamilyService implements IPatientAndFamilyService{
public void updatePatientFamilyInfo(PatientAndFamilyDto.PatientFamilyInfo param) { public void updatePatientFamilyInfo(PatientAndFamilyDto.PatientFamilyInfo param) {
PatientFamily family = patientFamilyDao.selectByPrimaryKey(param.getId()); PatientFamily family = patientFamilyDao.selectByPrimaryKey(param.getId());
//如果手机号为空需要推送tall添加患者家属 //如果手机号为空需要推送tall添加患者家属
if (ObjectUtil.isNull(family.getPhone()) && ObjectUtil.isNotNull(param.getPhone())){ // if (ObjectUtil.isNull(family.getPhone()) && ObjectUtil.isNotNull(param.getPhone())){
//查找项目id // //查找项目id
PatientProject patient = patientProjectDao.selectByPrimaryKey(family.getPatientId()); // PatientProject patient = patientProjectDao.selectByPrimaryKey(family.getPatientId());
List<String> roleNameList = new ArrayList<>(); // List<String> roleNameList = new ArrayList<>();
roleNameList.add(Constant.PATIENT_FAMILY); // roleNameList.add(Constant.PATIENT_FAMILY);
//
QueryDto<MemberRoleDto.SaveMemberForTemplate> queryDto = new QueryDto<>(); // QueryDto<MemberRoleDto.SaveMemberForTemplate> queryDto = new QueryDto<>();
MemberRoleDto.SaveMemberForTemplate saveMemberForTemplate = new MemberRoleDto.SaveMemberForTemplate(); // MemberRoleDto.SaveMemberForTemplate saveMemberForTemplate = new MemberRoleDto.SaveMemberForTemplate();
saveMemberForTemplate.setProjectId(patient.getProjectId()); // saveMemberForTemplate.setProjectId(patient.getProjectId());
//添加家属手机号和Tall对应角色名称 // //添加家属手机号和Tall对应角色名称
List<MemberRoleDto.MemberForTemplate> memberList = new ArrayList<>(); // List<MemberRoleDto.MemberForTemplate> memberList = new ArrayList<>();
MemberRoleDto.MemberForTemplate member = new MemberRoleDto.MemberForTemplate(); // MemberRoleDto.MemberForTemplate member = new MemberRoleDto.MemberForTemplate();
member.setPhone(param.getPhone()); // member.setPhone(param.getPhone());
member.setMemberName(param.getName()); // member.setMemberName(param.getName());
member.setRoleName(roleNameList); // member.setRoleName(roleNameList);
memberList.add(member); // memberList.add(member);
saveMemberForTemplate.setMemberForTemplate(memberList); // saveMemberForTemplate.setMemberForTemplate(memberList);
queryDto.setParam(saveMemberForTemplate); // queryDto.setParam(saveMemberForTemplate);
//
log.info("调用tall添加成员接口:{}",queryDto); // log.info("调用tall添加成员接口:{}",queryDto);
JsonResponse jsonResponse = tallFeignClient.addMemberForTemplate(queryDto); // JsonResponse jsonResponse = tallFeignClient.addMemberForTemplate(queryDto);
log.info("调用tall添加成员接口结束返回:{}",jsonResponse); // log.info("调用tall添加成员接口结束返回:{}",jsonResponse);
if(!jsonResponse.getCode().equals(Constant.RESPONSE_OK)){ // if(!jsonResponse.getCode().equals(Constant.RESPONSE_OK)){
log.info("调用tall异常后返回:{}", jsonResponse.getMsg()); // log.info("调用tall异常后返回:{}", jsonResponse.getMsg());
throw new BaseException(Constant.RETURN_ERROR); // throw new BaseException(Constant.RETURN_ERROR);
} // }
} // }
if (ObjectUtil.isNotNull(param.getName())){ if (ObjectUtil.isNotNull(param.getName())){
family.setName(param.getName()); family.setName(param.getName());
@ -144,6 +154,16 @@ public class PatientAndFamilyService implements IPatientAndFamilyService{
throw new BaseException(CodeEnum.PARAM_ERROR); throw new BaseException(CodeEnum.PARAM_ERROR);
} }
PatientAndFamilyVo.PatientInfo patientInfo = patientProjectDao.queryPatientInfo(param.getProjectId()); PatientAndFamilyVo.PatientInfo patientInfo = patientProjectDao.queryPatientInfo(param.getProjectId());
if(ObjectUtil.isNull(patientInfo)){
throw new BaseException(CodeEnum.PARAM_ERROR);
}
PatientFamilyExample patientFamilyExample = new PatientFamilyExample();
patientFamilyExample.createCriteria().andPatientIdEqualTo(patientInfo.getId());
List<PatientFamily> patientFamilies = patientFamilyDao.selectByExample(patientFamilyExample);
if(CollectionUtil.isNotEmpty(patientFamilies)){
patientInfo.setFamilyName(patientFamilies.get(0).getName());
patientInfo.setFamilyPhone(patientFamilies.get(0).getPhone());
}
return patientInfo; return patientInfo;
} }
} }

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

@ -4,6 +4,7 @@ import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.lang.Snowflake; import cn.hutool.core.lang.Snowflake;
import com.ccsens.util.CodeEnum; import com.ccsens.util.CodeEnum;
import com.ccsens.util.exception.BaseException; import com.ccsens.util.exception.BaseException;
import com.ccsens.util.message.SwitchoverProjectUtil;
import com.ccsens.wisdomcar.bean.dto.ProjectDto; import com.ccsens.wisdomcar.bean.dto.ProjectDto;
import com.ccsens.wisdomcar.bean.po.*; import com.ccsens.wisdomcar.bean.po.*;
import com.ccsens.wisdomcar.bean.vo.ProjectVo; import com.ccsens.wisdomcar.bean.vo.ProjectVo;
@ -13,6 +14,7 @@ import com.ccsens.wisdomcar.persist.dao.StepTaskDao;
import com.ccsens.wisdomcar.persist.dao.WisdomCarRecordDao; import com.ccsens.wisdomcar.persist.dao.WisdomCarRecordDao;
import com.ccsens.wisdomcar.persist.mapper.PatientWisdomCarMapper; import com.ccsens.wisdomcar.persist.mapper.PatientWisdomCarMapper;
import com.ccsens.wisdomcar.util.Constant; import com.ccsens.wisdomcar.util.Constant;
import com.fasterxml.jackson.core.JsonProcessingException;
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;
@ -20,7 +22,9 @@ import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashSet;
import java.util.List; import java.util.List;
import java.util.Set;
/** /**
* @description: * @description:
@ -127,4 +131,11 @@ public class ProjectService implements IProjectService {
} }
return wisdomCarRecordDao.queryRecent(bindCar.getCarId(), bindCar.getStartTime(), bindCar.getEndTime(), (byte)1,(byte)8,(byte)9,(byte)10); return wisdomCarRecordDao.queryRecent(bindCar.getCarId(), bindCar.getStartTime(), bindCar.getEndTime(), (byte)1,(byte)8,(byte)9,(byte)10);
} }
@Override
public void switchProject(ProjectDto.SwitchProject param, Long userId) throws JsonProcessingException {
Set<String> userIds = new HashSet<>();
userIds.add(userId.toString());
SwitchoverProjectUtil.switchoverProject(userIds,param.getProjectId());
}
} }

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

@ -115,18 +115,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())){ // if (ObjectUtil.isNotNull(param.getFamilyPhone())){
MemberRoleDto.MemberForTemplate memberForTemplate = new MemberRoleDto.MemberForTemplate(); // 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);
} // }
} }
//查找正在值班得急救医生和急救护士 //查找正在值班得急救医生和急救护士
@ -304,9 +304,9 @@ public class WisdomCarService implements IWisdomCarService {
} }
@Override @Override
public List<WisdomCarVo.BindingCar> queryBindingCar(WisdomCarDto.QueryBindingCar param) { public List<WisdomCarVo.BindingCarInfo> queryBindingCar(WisdomCarDto.QueryInfo param) {
List<WisdomCarVo.BindingCar> bindingCarList = patientWisdomCarDao.queryBindingCarList(param.getTaskSubId()); List<WisdomCarVo.BindingCarInfo> bindingCarList = patientWisdomCarDao.queryBindingCarList(param.getTaskSubId());
for (WisdomCarVo.BindingCar bindingCar : bindingCarList) { for (WisdomCarVo.BindingCarInfo bindingCar : bindingCarList) {
//拿到患者id把 患者的信息存入 //拿到患者id把 患者的信息存入
PatientProject patientProject = patientProjectDao.selectByPrimaryKey(bindingCar.getPatientId()); PatientProject patientProject = patientProjectDao.selectByPrimaryKey(bindingCar.getPatientId());
if(ObjectUtil.isNotNull(patientProject)){ if(ObjectUtil.isNotNull(patientProject)){

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

4
wisdomcar/src/main/resources/mapper_dao/PatientProjectDao.xml

@ -23,7 +23,9 @@
</select> </select>
<select id="queryPatientInfo" resultType="com.ccsens.wisdomcar.bean.vo.PatientAndFamilyVo$PatientInfo" parameterType="java.lang.Long"> <select id="queryPatientInfo" resultType="com.ccsens.wisdomcar.bean.vo.PatientAndFamilyVo$PatientInfo" parameterType="java.lang.Long">
select medical_record_num as medicalRecordNum, select
id as id,
medical_record_num as medicalRecordNum,
name as name, name as name,
sex as sex, sex as sex,
age as age, age as age,

2
wisdomcar/src/main/resources/mapper_dao/PatientWisdomCarDao.xml

@ -15,7 +15,7 @@
limit 1 limit 1
</select> </select>
<select id="queryBindingCarList" resultType="com.ccsens.wisdomcar.bean.vo.WisdomCarVo$BindingCar"> <select id="queryBindingCarList" resultType="com.ccsens.wisdomcar.bean.vo.WisdomCarVo$BindingCarInfo">
select select
a.patient_id as patientId, a.patient_id as patientId,
a.car_id as carNumber, a.car_id as carNumber,

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

@ -51,10 +51,11 @@
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 = 0 AND pd.patient_car_id = #{patientCarId}
LEFT JOIN t_hospital_member AS hm ON pd.user_id = hm.user_id 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
</select> </select>

Loading…
Cancel
Save