Pārlūkot izejas kodu

fix: 修复科室面板获取的异常

Scott 2 gadi atpakaļ
vecāks
revīzija
58191e4323

+ 44 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/common/bo/MedicalOrderInfoResponse.java

@@ -0,0 +1,44 @@
+package org.jeecg.modules.medical.common.bo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * @author soft01
+ * @time 2023/5/27 23:01
+ * @description '医嘱信息'
+ * @parentProject medical-java
+ */
+@Data
+@ApiModel(value = "医嘱信息")
+public class MedicalOrderInfoResponse implements Serializable {
+
+    @ApiModelProperty(value = "关联结算主单")
+    private String associatedSettlementMaster;
+
+    @ApiModelProperty(value = "个人编码")
+    private String personalCode;
+
+    @ApiModelProperty(value = "住院号/门诊号")
+    private String admissionOutpatientNumber;
+
+    @ApiModelProperty(value = "患者姓名")
+    private String patientName;
+
+    @ApiModelProperty(value = "医嘱号")
+    private String orderNumber;
+
+    @ApiModelProperty(value = "下嘱时间")
+    private Date orderTime;
+
+    @ApiModelProperty(value = "停嘱时间")
+    private Date stopOrderTime;
+
+    @ApiModelProperty(value = "医嘱状态")
+    private String orderStatus;
+
+}

+ 12 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/controller/AfterwardsAuditController.java

@@ -89,6 +89,18 @@ public class AfterwardsAuditController extends JeecgController<AfterwardsAudit,
 		return Result.OK(result);
 	 }
 
+	 @ApiOperation(value = "审核端-医嘱信息")
+	 @GetMapping(value = "/audit/")
+	 public Result<List<MedicalOrderInfoResponse>> loadMedicalOrderInfoResponseInfo(HttpServletRequest request, @RequestParam("id") Integer id) {
+		 LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+		 if (null == loginUser) {
+			 log.error("当前用户未登录");
+			 throw new JeecgBootException("用户未登录"); // "登录已过期,请重新登录"
+		 }
+		 List<MedicalOrderInfoResponse> result = afterwardsAuditService.loadMedicalOrderInfo(id);
+		 return Result.OK(result);
+	 }
+
 	 @ApiOperation(value = "审核端-发起审核", notes = "审核端-发起审核")
 	 @PostMapping(value = "/audit")
 	 public Result<String> audit(HttpServletRequest request, @RequestBody @Valid AuditRequestBO param) {

+ 3 - 1
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/mapper/AfterwardsAuditMapper.java

@@ -50,7 +50,7 @@ public interface AfterwardsAuditMapper extends BaseMapper<AfterwardsAudit> {
      */
     List<DeptAuditItemResponse> loadDeptDoctorViolationList(@Param("medicalDeptCode") String medicalDeptCode);
 
-    List<DeptAuditItemResponse> loadDeptDoctorList(@Param("loginUserName") String loginUserName);
+    List<DeptAuditItemResponse> loadDeptDoctorList(@Param("dptId") String dptId);
 
     /**
      * 根据工单id,查询审核信息
@@ -67,4 +67,6 @@ public interface AfterwardsAuditMapper extends BaseMapper<AfterwardsAudit> {
     List<AuditInfoListResponse> loadAuditInfoList(Integer id);
 
     List<DiagnosticInfoResponse> loadDiagnosticInfo(@Param("id") Integer id);
+
+    List<MedicalOrderInfoResponse> loadMedicalOrderInfo(@Param("id") Integer id);
 }

+ 22 - 3
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/mapper/xml/AfterwardsAuditMapper.xml

@@ -156,7 +156,8 @@
         FROM afterwards_audit
         WHERE
             medical_dept_code = #{medicalDeptCode,jdbcType=VARCHAR}
-            AND check_state = 'issue_review'
+              AND check_state = 'process'
+              AND review_results = 'issue_review'
             GROUP BY doctor_id
     </select>
     <!-- 获取科室下的医生 -->
@@ -166,8 +167,8 @@
             u.doctor_id as doctorId,
             u.realname as doctorName
         FROM sys_user as u
-                 LEFT JOIN sys_user_depart as dm on u.id = dm.user_id
-        WHERE username = #{loginUserName,jdbcType=VARCHAR}
+            LEFT JOIN sys_user_depart as dm on u.id = dm.user_id
+        WHERE dm.dep_id = #{dptId,jdbcType=VARCHAR}
 
     </select>
 
@@ -232,4 +233,22 @@
             RIGHT JOIN medical_record_homepage as h ON ad.outpatient_number = h.zyh
         WHERE ad.id = #{id, jdbcType=INTEGER}
     </select>
+
+    <select id="loadMedicalOrderInfo"
+            resultType="org.jeecg.modules.medical.common.bo.MedicalOrderInfoResponse">
+        SELECT
+            p.hisid as associatedSettlementMaster, -- 关联结算主单
+            p.patient_id as personalCode, -- 个人编码
+            p.inp_outpatient_number as admissionOutpatientNumber, -- 住院号/门诊号
+            ad.patient_name as patientName, -- 患者姓名
+            p.order_number as orderNumber, -- 医嘱号
+            p.order_time as orderTime, -- 下嘱时间
+            p.stop_order_time as stopOrderTime, -- 停嘱时间
+            p.order_status as orderStatus -- 医嘱状态
+        FROM
+            afterwards_audit as ad
+                RIGHT JOIN prescription_order as p ON p.inp_outpatient_number = ad.outpatient_number
+        WHERE
+            ad.id = #{id, jdbcType=INTEGER}
+    </select>
 </mapper>

+ 8 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/service/IAfterwardsAuditService.java

@@ -66,4 +66,12 @@ public interface IAfterwardsAuditService extends IService<AfterwardsAudit> {
      * @return
      */
     List<DiagnosticInfoResponse> loadDiagnosticInfo(Integer id);
+
+
+    /**
+     * 获取医嘱信息
+     * @param id
+     * @return
+     */
+    List<MedicalOrderInfoResponse> loadMedicalOrderInfo(Integer id);
 }

+ 8 - 1
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/service/impl/AfterwardsAuditServiceImpl.java

@@ -184,12 +184,14 @@ public class AfterwardsAuditServiceImpl extends ServiceImpl<AfterwardsAuditMappe
         // 获取违规医生列表
         List<DeptAuditItemResponse> deptDoctorViolationList = baseMapper.loadDeptDoctorViolationList(sysDepart.getMedicalDeptCode());
         // 获取该科室的医生面板
-        List<DeptAuditItemResponse> deptDoctorList = baseMapper.loadDeptDoctorList(loginUserName);
+        List<DeptAuditItemResponse> deptDoctorList = baseMapper.loadDeptDoctorList(sysDepart.getId());
         List<DeptAuditItemResponse> allDeptDoctorList = new ArrayList<>();
         // 下半部分要扣除掉违规的医生列表
         if (!CollectionUtils.isEmpty(deptDoctorList) && !CollectionUtils.isEmpty(deptDoctorViolationList)) {
             allDeptDoctorList = deptDoctorList.stream().filter(allDoctor -> deptDoctorViolationList.stream().map(DeptAuditItemResponse::getDoctorId)
                     .noneMatch(id -> Objects.equals(allDoctor.getDoctorId(), id))).collect(Collectors.toList());
+        } else {
+            allDeptDoctorList = deptDoctorList;
         }
 
         DeptAuditResponse result = new DeptAuditResponse();
@@ -345,4 +347,9 @@ public class AfterwardsAuditServiceImpl extends ServiceImpl<AfterwardsAuditMappe
     public List<DiagnosticInfoResponse> loadDiagnosticInfo(Integer id) {
         return baseMapper.loadDiagnosticInfo(id);
     }
+
+    @Override
+    public List<MedicalOrderInfoResponse> loadMedicalOrderInfo(Integer id) {
+        return baseMapper.loadMedicalOrderInfo(id);
+    }
 }