Browse Source

病例质控条目修改,删除

wangyu 5 năm trước cách đây
mục cha
commit
40b2d2a9da

+ 18 - 0
mrman-service/src/main/java/com/diagbot/dto/GetUpdateInfoDTO.java

@@ -0,0 +1,18 @@
+package com.diagbot.dto;
+
+import com.diagbot.entity.QcCasesEntry;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.List;
+
+/**
+ * @Description:
+ * @author: wangyu
+ * @time: 2020/4/1 17:10
+ */
+@Getter
+@Setter
+public class GetUpdateInfoDTO extends QcCasesEntry {
+    List<GetUpdateInfoDetialDTO> getUpdateInfoDetialDTOS;
+}

+ 17 - 0
mrman-service/src/main/java/com/diagbot/dto/GetUpdateInfoDetialDTO.java

@@ -0,0 +1,17 @@
+package com.diagbot.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description:
+ * @author: wangyu
+ * @time: 2020/4/1 17:18
+ */
+@Getter
+@Setter
+public class GetUpdateInfoDetialDTO {
+    private String hospitalName;
+    private String score;
+    private String msg;
+}

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

@@ -102,7 +102,7 @@ public class CasesEntryHospitalFacade extends CasesEntryHospitalServiceImpl {
         QueryWrapper<CasesEntryHospital> casesEntryHospitalQueryWrapper = new QueryWrapper<>();
         casesEntryHospitalQueryWrapper
                 .eq("is_deleted",IsDeleteEnum.N.getKey())
-                .eq("hospital_id",updateByHospitalVO.getHospitalId());
+                .in("hospital_id",updateByHospitalVO.getHospitalIds());
         this.remove(casesEntryHospitalQueryWrapper);
         //添加新的
         casesEntryHospitalService.saveBatch(updateByHospitalVO.getCasesEntryHospitals());

+ 75 - 1
mrman-service/src/main/java/com/diagbot/facade/QcCacesEntryFacade.java

@@ -1,11 +1,26 @@
 package com.diagbot.facade;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.diagbot.dto.GetUpdateInfoDTO;
+import com.diagbot.dto.GetUpdateInfoDetialDTO;
 import com.diagbot.dto.QcCasesEntryAllDTO;
+import com.diagbot.dto.QcHospitalInfoAllDTO;
+import com.diagbot.entity.CasesEntryHospital;
+import com.diagbot.entity.QcCasesEntry;
+import com.diagbot.enums.IsDeleteEnum;
 import com.diagbot.service.impl.QcCasesEntryServiceImpl;
+import com.diagbot.util.BeanUtil;
+import com.diagbot.vo.GetUpdateInfoVO;
 import com.diagbot.vo.QcCasesEntryAllVO;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
 /**
  * @Description:
  * @author: wangyu
@@ -13,7 +28,12 @@ import org.springframework.stereotype.Component;
  */
 @Component
 public class QcCacesEntryFacade extends QcCasesEntryServiceImpl {
-
+    @Autowired
+    private QcCacesEntryFacade qcCacesEntryFacade;
+    @Autowired
+    private CasesEntryHospitalFacade casesEntryHospitalFacade;
+    @Autowired
+    private QcHospitalInfoFacade qcHospitalInfoFacade;
     /**
      * 分页获取病例条目
      *
@@ -23,4 +43,58 @@ public class QcCacesEntryFacade extends QcCasesEntryServiceImpl {
     public IPage<QcCasesEntryAllDTO> getAll(QcCasesEntryAllVO qcCasesEntryAllVO){
         return this.getAllQcCasesEntry(qcCasesEntryAllVO);
     }
+
+    /**
+     * 修改时获取病例条目信息
+     *
+     * @param getUpdateInfoVO
+     * @return
+     */
+    public List<GetUpdateInfoDTO>  getUpdateInfo(GetUpdateInfoVO getUpdateInfoVO){
+        QueryWrapper<QcCasesEntry> qcCasesEntryQueryWrapper = new QueryWrapper<>();
+        qcCasesEntryQueryWrapper
+                .eq("is_deleted", IsDeleteEnum.N.getKey())
+                .eq("id",getUpdateInfoVO.getId());
+        QcCasesEntry qcCasesEntry = qcCacesEntryFacade.getOne(qcCasesEntryQueryWrapper);
+        QueryWrapper<CasesEntryHospital> casesEntryHospitalQueryWrapper = new QueryWrapper<>();
+        casesEntryHospitalQueryWrapper
+                .eq("is_deleted",IsDeleteEnum.N.getKey())
+                .eq("cases_entry_id",qcCasesEntry.getId())
+                .groupBy("hospital_id");
+        List<CasesEntryHospital> casesEntryHospitals = casesEntryHospitalFacade.list(casesEntryHospitalQueryWrapper);
+        List<GetUpdateInfoDTO> getUpdateInfoDTOS = new ArrayList<>();
+        GetUpdateInfoDTO getUpdateInfoDTO = new GetUpdateInfoDTO();
+        List<GetUpdateInfoDetialDTO> getUpdateInfoDetialDTOS = new ArrayList<>();
+        GetUpdateInfoDetialDTO getUpdateInfoDetialDTO = new GetUpdateInfoDetialDTO();
+        BeanUtil.copyProperties(qcCasesEntry,getUpdateInfoDTO);
+        Map<Long,String> hospitalNameMap = qcHospitalInfoFacade.getHospitalInfoAll().stream().collect(Collectors.toMap(QcHospitalInfoAllDTO::getId,qcHospitalInfoAllDTO -> qcHospitalInfoAllDTO.getName()));
+        for (CasesEntryHospital casesEntryHospital: casesEntryHospitals) {
+            getUpdateInfoDetialDTO = new GetUpdateInfoDetialDTO();
+            getUpdateInfoDetialDTO.setHospitalName(hospitalNameMap.get(Long.parseLong(casesEntryHospital.getHospitalId())));
+            getUpdateInfoDetialDTO.setMsg(casesEntryHospital.getMsg());
+            getUpdateInfoDetialDTO.setScore(casesEntryHospital.getScore());
+            getUpdateInfoDetialDTOS.add(getUpdateInfoDetialDTO);
+            getUpdateInfoDTO.setGetUpdateInfoDetialDTOS(getUpdateInfoDetialDTOS);
+        }
+        getUpdateInfoDTOS.add(getUpdateInfoDTO);
+        return getUpdateInfoDTOS;
+    }
+
+    /**
+     * 条目删除
+     *
+     * @param getUpdateInfoVO
+     * @return
+     */
+    public Boolean deleteQcCasesEntry(GetUpdateInfoVO getUpdateInfoVO){
+        //删除条目
+        QueryWrapper<QcCasesEntry> qcCasesEntryQueryWrapper = new QueryWrapper<>();
+        qcCasesEntryQueryWrapper.eq("id",getUpdateInfoVO.getId());
+        this.remove(qcCasesEntryQueryWrapper);
+        //删除明细
+        QueryWrapper<CasesEntryHospital> casesEntryHospitalQueryWrapper = new QueryWrapper<>();
+        qcCasesEntryQueryWrapper.eq("cases_entry_id",getUpdateInfoVO.getId());
+        casesEntryHospitalFacade.remove(casesEntryHospitalQueryWrapper);
+        return true;
+    }
 }

+ 15 - 0
mrman-service/src/main/java/com/diagbot/vo/GetUpdateInfoVO.java

@@ -0,0 +1,15 @@
+package com.diagbot.vo;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description:
+ * @author: wangyu
+ * @time: 2020/4/1 17:09
+ */
+@Getter
+@Setter
+public class GetUpdateInfoVO {
+    private Long id;
+}

+ 1 - 1
mrman-service/src/main/java/com/diagbot/vo/UpdateByHospitalVO.java

@@ -14,6 +14,6 @@ import java.util.List;
 @Getter
 @Setter
 public class UpdateByHospitalVO {
-    private String hospitalId;
+    private List<String> hospitalIds;
     private List<CasesEntryHospital> casesEntryHospitals;
 }

+ 22 - 0
mrman-service/src/main/java/com/diagbot/web/QcCasesEntryController.java

@@ -3,9 +3,11 @@ package com.diagbot.web;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.diagbot.annotation.SysLogger;
+import com.diagbot.dto.GetUpdateInfoDTO;
 import com.diagbot.dto.QcCasesEntryAllDTO;
 import com.diagbot.dto.RespDTO;
 import com.diagbot.facade.QcCacesEntryFacade;
+import com.diagbot.vo.GetUpdateInfoVO;
 import com.diagbot.vo.QcCasesEntryAllVO;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -15,6 +17,8 @@ import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
+import java.util.List;
+
 /**
  * <p>
  * 病历条目 前端控制器
@@ -39,4 +43,22 @@ public class QcCasesEntryController {
         IPage<QcCasesEntryAllDTO> data =qcCacesEntryFacade.getAll(qcCasesEntryAllVO);
         return RespDTO.onSuc(data);
     }
+
+    @ApiOperation(value = "修改时获取条目信息[by:wangyu]",
+            notes = "修改时获取条目信息")
+    @PostMapping("/getUpdateInfo")
+    @SysLogger("getUpdateInfo")
+    public RespDTO<List<GetUpdateInfoDTO>> getUpdateInfo(@RequestBody GetUpdateInfoVO getUpdateInfoVO) {
+        List<GetUpdateInfoDTO> data =qcCacesEntryFacade.getUpdateInfo(getUpdateInfoVO);
+        return RespDTO.onSuc(data);
+    }
+
+    @ApiOperation(value = "删除指定条目[by:wangyu]",
+            notes = "删除指定条目")
+    @PostMapping("/deleteQcCasesEntry")
+    @SysLogger("deleteQcCasesEntry")
+    public RespDTO<Boolean> deleteQcCasesEntry(@RequestBody GetUpdateInfoVO getUpdateInfoVO) {
+        Boolean data =qcCacesEntryFacade.deleteQcCasesEntry(getUpdateInfoVO);
+        return RespDTO.onSuc(data);
+    }
 }