123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165 |
- package com.diagbot.facade;
- import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
- import com.diagbot.dto.BABLDTO;
- import com.diagbot.dto.BABLDetailDTO;
- import com.diagbot.dto.BLJLDetailDTO;
- import com.diagbot.entity.ArRechome;
- import com.diagbot.entity.BrRecdiagnose;
- import com.diagbot.entity.MrMrcontent;
- import com.diagbot.enums.ZCZDPBEnum;
- import com.diagbot.enums.ZDLBDMEnum;
- import com.diagbot.enums.ZDLXEnum;
- import com.diagbot.service.BrRecdiagnoseService;
- import com.diagbot.service.MrMrcontentService;
- import com.diagbot.service.impl.ArRechomeServiceImpl;
- import com.diagbot.util.BeanUtil;
- import com.diagbot.util.ListUtil;
- import com.diagbot.util.StringUtil;
- import com.diagbot.vo.BABLDetailVO;
- import com.diagbot.vo.BABLVO;
- import com.google.common.collect.Lists;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.beans.factory.annotation.Qualifier;
- import org.springframework.stereotype.Component;
- import java.util.List;
- import java.util.Map;
- /**
- * @Description:
- * @author: gaodm
- * @time: 2020/1/17 13:17
- */
- @Component
- public class ArRechomeFacade extends ArRechomeServiceImpl {
- @Autowired
- private MrMedicalrecordsFacade mrMedicalrecordsFacade;
- @Autowired
- private BrRecdiagnoseFacade brRecdiagnoseFacade;
- @Autowired
- @Qualifier("brRecdiagnoseServiceImpl")
- private BrRecdiagnoseService brRecdiagnoseService;
- @Autowired
- @Qualifier("mrMrcontentServiceImpl")
- private MrMrcontentService mrMrcontentService;
- /**
- * 获取病案记录列表
- *
- * @return
- */
- public List<BABLDTO> getAllList() {
- return super.getBAZYList();
- }
- /**
- * 获取病案详情
- *
- * @param bablvo
- * @return
- */
- public BABLDetailDTO getBABLContent(BABLVO bablvo) {
- //获取基础信息
- BABLDetailDTO bablDetailDTO = super.getBABLDetail(bablvo);
- //获取诊断列表
- Map<String, List<BrRecdiagnose>> diagMap = brRecdiagnoseFacade.getListByParam(bablvo.getBasyid());
- if (diagMap != null) {
- bablDetailDTO.setMjzzyzdList(diagMap.get(ZDLXEnum.MJZZYZD.getName()));
- bablDetailDTO.setMjzqtzdList(diagMap.get(ZDLXEnum.MJZQTZD.getName()));
- bablDetailDTO.setZyzyzdList(diagMap.get(ZDLXEnum.ZYZYZD.getName()));
- bablDetailDTO.setZyqtzdList(diagMap.get(ZDLXEnum.ZYQTZD.getName()));
- }
- //获取病历记录
- List<BLJLDetailDTO> bljlDetailDTOList = mrMedicalrecordsFacade.getBLJLList(bablvo);
- if (bablDetailDTO != null) {
- bablDetailDTO.setZybljlList(bljlDetailDTOList);
- }
- return bablDetailDTO;
- }
- /**
- * 病历详情新增修改
- *
- * @param bablDetailVO
- * @return
- */
- public Boolean saveBABLDetail(BABLDetailVO bablDetailVO) {
- if (bablDetailVO.getBasyid() == null) {
- //新增 预留功能
- return false;
- } else {
- //病案首页基础信息保存
- ArRechome arRechome = new ArRechome();
- arRechome.setBasyid(bablDetailVO.getBasyid());
- arRechome.setBrbaxb(bablDetailVO.getBrbaxb());
- arRechome.setBrbaxx(bablDetailVO.getBrbaxx());
- arRechome.setBrbarh(bablDetailVO.getBrbarh());
- this.updateById(arRechome);
- //诊断信息保存
- List<BrRecdiagnose> brRecdiagnoses = Lists.newLinkedList();
- //门急诊主要诊断
- if (ListUtil.isNotEmpty(bablDetailVO.getMjzzyzdList())) {
- for (BrRecdiagnose brRecdiagnose : bablDetailVO.getMjzzyzdList()) {
- brRecdiagnose.setBasyid(bablDetailVO.getBasyid());
- brRecdiagnose.setZdlbdm(String.valueOf(ZDLBDMEnum.MJZ.getKey()));
- brRecdiagnose.setZczdpb(ZCZDPBEnum.ZY.getKey());
- }
- brRecdiagnoses.addAll(bablDetailVO.getMjzzyzdList());
- }
- //门急诊其他诊断
- if (ListUtil.isNotEmpty(bablDetailVO.getMjzqtzdList())) {
- for (BrRecdiagnose brRecdiagnose : bablDetailVO.getMjzqtzdList()) {
- brRecdiagnose.setBasyid(bablDetailVO.getBasyid());
- brRecdiagnose.setZdlbdm(String.valueOf(ZDLBDMEnum.MJZ.getKey()));
- brRecdiagnose.setZczdpb(ZCZDPBEnum.QT.getKey());
- }
- brRecdiagnoses.addAll(bablDetailVO.getMjzqtzdList());
- }
- //住院主要诊断
- if (ListUtil.isNotEmpty(bablDetailVO.getZyzyzdList())) {
- for (BrRecdiagnose brRecdiagnose : bablDetailVO.getZyzyzdList()) {
- brRecdiagnose.setBasyid(bablDetailVO.getBasyid());
- brRecdiagnose.setZdlbdm(String.valueOf(ZDLBDMEnum.ZY.getKey()));
- brRecdiagnose.setZczdpb(ZCZDPBEnum.ZY.getKey());
- }
- brRecdiagnoses.addAll(bablDetailVO.getZyzyzdList());
- }
- //住院其他诊断
- if (ListUtil.isNotEmpty(bablDetailVO.getZyqtzdList())) {
- for (BrRecdiagnose brRecdiagnose : bablDetailVO.getZyqtzdList()) {
- brRecdiagnose.setBasyid(bablDetailVO.getBasyid());
- brRecdiagnose.setZdlbdm(String.valueOf(ZDLBDMEnum.ZY.getKey()));
- brRecdiagnose.setZczdpb(ZCZDPBEnum.QT.getKey());
- }
- brRecdiagnoses.addAll(bablDetailVO.getZyqtzdList());
- }
- if (ListUtil.isNotEmpty(brRecdiagnoses)) {
- //删除就的诊断列表
- UpdateWrapper<BrRecdiagnose> brRecdiagnoseUpdateWrapper = new UpdateWrapper<>();
- brRecdiagnoseUpdateWrapper.eq("BASYID", bablDetailVO.getBasyid());
- brRecdiagnoseService.remove(brRecdiagnoseUpdateWrapper);
- //插入新的诊断列表
- brRecdiagnoseService.saveBatch(brRecdiagnoses);
- }
- //修改病历记录内容
- List<MrMrcontent> mrMrcontents = Lists.newLinkedList();
- if (ListUtil.isNotEmpty(bablDetailVO.getZybljlList())) {
- for (BLJLDetailDTO bljlDetailDTO : bablDetailVO.getZybljlList()) {
- MrMrcontent mrMrcontent = new MrMrcontent();
- BeanUtil.copyProperties(bljlDetailDTO, mrMrcontent);
- if (StringUtil.isBlank(mrMrcontent.getBljlnr())) {
- mrMrcontent.setBljlnr("");
- }
- mrMrcontents.add(mrMrcontent);
- }
- // mrMrcontents = BeanUtil.listCopyTo(bablDetailVO.getZybljlList(), MrMrcontent.class);
- mrMrcontentService.updateBatchById(mrMrcontents);
- }
- return true;
- }
- }
- }
|