Browse Source

病历管理

zhaops 5 years ago
parent
commit
b8b39d6ffd

+ 6 - 2
mrman-service/src/main/java/com/diagbot/dto/BABLDetailDTO.java

@@ -32,9 +32,13 @@ public class BABLDetailDTO {
      */
     private String mjzzdmc;
     /**
-     * 门急诊诊断列表
+     * 门急诊主要诊断列表
      */
-    private List<BrRecdiagnose> mjzzdList;
+    private List<BrRecdiagnose> mjzzyzdList;
+    /**
+     * 门急诊其他诊断列表
+     */
+    private List<BrRecdiagnose> mjzqtzdList;
     /**
      * 住院主要诊断名称
      */

+ 49 - 0
mrman-service/src/main/java/com/diagbot/enums/ZCZDPBEnum.java

@@ -0,0 +1,49 @@
+package com.diagbot.enums;
+
+import com.diagbot.core.KeyedNamed;
+import lombok.Setter;
+
+/**
+ * @Description:主次诊断
+ * @Author:zhaops
+ * @time: 2020/1/20 10:35
+ */
+public enum ZCZDPBEnum implements KeyedNamed {
+    ZY(1, "主要诊断"),
+    QT(2, "其他诊断");
+
+    @Setter
+    private int key;
+
+    @Setter
+    private String name;
+
+    ZCZDPBEnum(int key, String name) {
+        this.key = key;
+        this.name = name;
+    }
+
+    public static ZCZDPBEnum getEnum(int key) {
+        for (ZCZDPBEnum item : ZCZDPBEnum.values()) {
+            if (item.key == key) {
+                return item;
+            }
+        }
+        return null;
+    }
+
+    public static String getName(int key) {
+        ZCZDPBEnum item = getEnum(key);
+        return item != null ? item.name : null;
+    }
+
+    @Override
+    public int getKey() {
+        return key;
+    }
+
+    @Override
+    public String getName() {
+        return name;
+    }
+}

+ 49 - 0
mrman-service/src/main/java/com/diagbot/enums/ZDLBDMEnum.java

@@ -0,0 +1,49 @@
+package com.diagbot.enums;
+
+import com.diagbot.core.KeyedNamed;
+import lombok.Setter;
+
+/**
+ * @Description:门诊住院诊断类型
+ * @Author:zhaops
+ * @time: 2020/1/20 10:32
+ */
+public enum ZDLBDMEnum implements KeyedNamed {
+    MJZ(1, "门急诊诊断"),
+    ZY(2, "住院诊断");
+
+    @Setter
+    private int key;
+
+    @Setter
+    private String name;
+
+    ZDLBDMEnum(int key, String name) {
+        this.key = key;
+        this.name = name;
+    }
+
+    public static ZDLBDMEnum getEnum(int key) {
+        for (ZDLBDMEnum item : ZDLBDMEnum.values()) {
+            if (item.key == key) {
+                return item;
+            }
+        }
+        return null;
+    }
+
+    public static String getName(int key) {
+        ZDLBDMEnum item = getEnum(key);
+        return item != null ? item.name : null;
+    }
+
+    @Override
+    public int getKey() {
+        return key;
+    }
+
+    @Override
+    public String getName() {
+        return name;
+    }
+}

+ 39 - 16
mrman-service/src/main/java/com/diagbot/facade/ArRechomeFacade.java

@@ -1,16 +1,20 @@
 package com.diagbot.facade;
 
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 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.service.BrRecdiagnoseService;
+import com.diagbot.service.MrMrcontentService;
 import com.diagbot.service.impl.ArRechomeServiceImpl;
-import com.diagbot.service.impl.BrRecdiagnoseServiceImpl;
+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;
@@ -36,6 +40,9 @@ public class ArRechomeFacade extends ArRechomeServiceImpl {
     @Autowired
     @Qualifier("brRecdiagnoseServiceImpl")
     private BrRecdiagnoseService brRecdiagnoseService;
+    @Autowired
+    @Qualifier("mrMrcontentServiceImpl")
+    private MrMrcontentService mrMrcontentService;
 
     /**
      * 获取病案记录列表
@@ -58,7 +65,8 @@ public class ArRechomeFacade extends ArRechomeServiceImpl {
         //获取诊断列表
         Map<String, List<BrRecdiagnose>> diagMap = brRecdiagnoseFacade.getListByParam(bablvo.getBasyid());
         if (diagMap != null) {
-            bablDetailDTO.setMjzzdList(diagMap.get("mjzzdList"));
+            bablDetailDTO.setMjzzyzdList(diagMap.get("mjzzyzdList"));
+            bablDetailDTO.setMjzqtzdList(diagMap.get("mjzqtzdList"));
             bablDetailDTO.setZyzyzdList(diagMap.get("zyzyzdList"));
             bablDetailDTO.setZyqtzdList(diagMap.get("zyqtzdList"));
         }
@@ -90,27 +98,39 @@ public class ArRechomeFacade extends ArRechomeServiceImpl {
             this.updateById(arRechome);
             //诊断信息保存
             List<BrRecdiagnose> brRecdiagnoses = Lists.newLinkedList();
-            //门急诊诊断
-            if (ListUtil.isNotEmpty(bablDetailVO.getMjzzdList())) {
-                for (BrRecdiagnose brRecdiagnose : bablDetailVO.getMjzzdList()) {
-                    brRecdiagnose.setZdlbdm("1");
-                    brRecdiagnose.setZczdpb(1);
+            //门急诊主要诊断
+            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.getMjzzdList());
+                brRecdiagnoses.addAll(bablDetailVO.getMjzqtzdList());
             }
             //住院主要诊断
             if (ListUtil.isNotEmpty(bablDetailVO.getZyzyzdList())) {
                 for (BrRecdiagnose brRecdiagnose : bablDetailVO.getZyzyzdList()) {
-                    brRecdiagnose.setZdlbdm("2");
-                    brRecdiagnose.setZczdpb(1);
+                    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.setZdlbdm("2");
-                    brRecdiagnose.setZczdpb(2);
+                    brRecdiagnose.setBasyid(bablDetailVO.getBasyid());
+                    brRecdiagnose.setZdlbdm(String.valueOf(ZDLBDMEnum.ZY.getKey()));
+                    brRecdiagnose.setZczdpb(ZCZDPBEnum.QT.getKey());
                 }
                 brRecdiagnoses.addAll(bablDetailVO.getZyqtzdList());
             }
@@ -122,9 +142,12 @@ public class ArRechomeFacade extends ArRechomeServiceImpl {
             brRecdiagnoseService.saveBatch(brRecdiagnoses);
 
             //修改病历记录内容
-
-
+            List<MrMrcontent> mrMrcontents = Lists.newLinkedList();
+            if (ListUtil.isNotEmpty(bablDetailVO.getZybljlList())) {
+                mrMrcontents = BeanUtil.listCopyTo(bablDetailVO.getZybljlList(), MrMrcontent.class);
+                mrMrcontentService.updateBatchById(mrMrcontents);
+            }
+            return true;
         }
-        return true;
     }
 }

+ 10 - 1
mrman-service/src/main/java/com/diagbot/facade/BrRecdiagnoseFacade.java

@@ -39,7 +39,16 @@ public class BrRecdiagnoseFacade extends BrRecdiagnoseServiceImpl {
         Map<String, List<BrRecdiagnose>> map = EntityUtil.makeEntityListMap(brRecdiagnoses, "zdlbdm");
         for (Map.Entry<String, List<BrRecdiagnose>> entry : map.entrySet()) {
             if (entry.getKey().equals("1")) {
-                retMap.put("mjzzdList", entry.getValue());
+                if (ListUtil.isNotEmpty(entry.getValue())) {
+                    List<BrRecdiagnose> subBrRecdiagnoses = entry.getValue().stream().filter(i -> i.getZczdpb() != null).collect(Collectors.toList());
+                    Map<String, List<BrRecdiagnose>> subMap = EntityUtil.makeEntityListMap(subBrRecdiagnoses, "zczdpb");
+                    if (subMap.containsKey(1)) {
+                        retMap.put("mjzzyzdList", subMap.get(1));
+                    }
+                    if (subMap.containsKey(2)) {
+                        retMap.put("mjzqtzdList", subMap.get(2));
+                    }
+                }
             } else if (entry.getKey().equals("2")) {
                 if (ListUtil.isNotEmpty(entry.getValue())) {
                     List<BrRecdiagnose> subBrRecdiagnoses = entry.getValue().stream().filter(i -> i.getZczdpb() != null).collect(Collectors.toList());

+ 6 - 2
mrman-service/src/main/java/com/diagbot/vo/BABLDetailVO.java

@@ -37,9 +37,13 @@ public class BABLDetailVO {
     private String brbarh;
 
     /**
-     * 门急诊诊断列表
+     * 门急诊主要诊断列表
      */
-    private List<BrRecdiagnose> mjzzdList;
+    private List<BrRecdiagnose> mjzzyzdList;
+    /**
+     * 门急诊其他诊断列表
+     */
+    private List<BrRecdiagnose> mjzqtzdList;
 
     /**
      * 住院主要诊断列表

+ 10 - 1
mrman-service/src/main/java/com/diagbot/web/ArRechomeController.java

@@ -9,6 +9,7 @@ import com.diagbot.entity.ArRechome;
 import com.diagbot.entity.MrMrcontent;
 import com.diagbot.facade.ArRechomeFacade;
 import com.diagbot.facade.MrMrcontentFacade;
+import com.diagbot.vo.BABLDetailVO;
 import com.diagbot.vo.BABLVO;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -69,4 +70,12 @@ public class ArRechomeController {
     public RespDTO<BABLDetailDTO> getBABLContent(@RequestBody BABLVO bablvo) {
         return RespDTO.onSuc(arRechomeFacade.getBABLContent(bablvo));
     }
-}
+
+    @ApiOperation(value = "保存病案详情[by:zhaops]",
+            notes = "保存病案详情")
+    @PostMapping("/saveBABLContent")
+    @SysLogger("saveBABLContent")
+    public RespDTO<Boolean> saveBABLContent(@RequestBody BABLDetailVO bablDetailVO) {
+        return RespDTO.onSuc(arRechomeFacade.saveBABLDetail(bablDetailVO));
+    }
+}