Sfoglia il codice sorgente

add: 审核端-增加医生审核列表

Scott 2 anni fa
parent
commit
a8d9c13502

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

@@ -0,0 +1,28 @@
+package org.jeecg.modules.medical.common.bo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @author soft01
+ * @time 2023/5/28 10:12
+ * @description '这里描写类的用途'
+ * @parentProject medical-java
+ */
+@ApiModel(value = "医生违规列表请求入参")
+@Data
+public class DoctorViolationRequest implements Serializable {
+
+    @ApiModelProperty(value = "住院号")
+    private String admissionNumber;
+
+    @ApiModelProperty(value = "患者姓名")
+    private String patientName;
+
+    @ApiModelProperty(value = "审核状态: wait=待分配; process=处理中; finish=已完成")
+    private java.lang.String checkState;
+
+}

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

@@ -114,6 +114,28 @@ public class AfterwardsAuditController extends JeecgController<AfterwardsAudit,
 		 return Result.ok("提交成功");
 	 }
 
+	@ApiOperation(value = "科室端,医生违规列表", notes = "科室端,医生违规列表")
+	@GetMapping("/dept/violations")
+	public Result<IPage<AfterwardsAudit>> getDoctorViolations(HttpServletRequest req, DoctorViolationRequest param,
+															  @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
+															  @RequestParam(name="pageSize", defaultValue="10") Integer pageSize) {
+		LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+		if (null == loginUser) {
+			log.error("当前用户未登录");
+			throw new JeecgBootException("用户未登录"); // "登录已过期,请重新登录"
+		}
+		AfterwardsAudit afterwardsAudit = new AfterwardsAudit();
+		afterwardsAudit.setOutpatientNumber(param.getAdmissionNumber());
+		afterwardsAudit.setPatientId(param.getPatientName());
+		afterwardsAudit.setCheckState(param.getCheckState());
+		QueryWrapper<AfterwardsAudit> queryWrapper = QueryGenerator.initQueryWrapper(afterwardsAudit, req.getParameterMap());
+		Page<AfterwardsAudit> page = new Page<>(pageNo, pageSize);
+		IPage<AfterwardsAudit> violations = afterwardsAuditService.getDoctorViolations(page, queryWrapper, loginUser);
+		// 返回结果
+		return Result.OK("获取成功", violations);
+	}
+
+
 	 @ApiOperation(value = "科室端,医生违规面板", notes = "科室端,医生违规面板")
 	 @GetMapping(value = "/dept/panel/list")
 	 public Result<DeptAuditResponse> deptAuditPanel(HttpServletRequest request) {

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

@@ -74,4 +74,12 @@ public interface IAfterwardsAuditService extends IService<AfterwardsAudit> {
      * @return
      */
     List<MedicalOrderInfoResponse> loadMedicalOrderInfo(Integer id);
+
+    /**
+     * 获取医生违规列表
+     * @param pageNo
+     * @param queryWrapper
+     * @return
+     */
+    IPage<AfterwardsAudit> getDoctorViolations(Page<AfterwardsAudit> page, QueryWrapper<AfterwardsAudit> queryWrapper, LoginUser loginUser);
 }

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

@@ -29,6 +29,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.CollectionUtils;
 import org.springframework.util.ObjectUtils;
+import org.springframework.util.StringUtils;
 
 import java.math.BigDecimal;
 import java.util.ArrayList;
@@ -352,4 +353,36 @@ public class AfterwardsAuditServiceImpl extends ServiceImpl<AfterwardsAuditMappe
     public List<MedicalOrderInfoResponse> loadMedicalOrderInfo(Integer id) {
         return baseMapper.loadMedicalOrderInfo(id);
     }
+
+    /**
+     * 获取医生对应的违规列表
+     * @param page
+     * @param queryWrapper
+     * @param loginUser
+     * @return
+     */
+    @Override
+    public IPage<AfterwardsAudit> getDoctorViolations(Page<AfterwardsAudit> page, QueryWrapper<AfterwardsAudit> queryWrapper, LoginUser loginUser) {
+        // 根据当前登录,先获取到医生面板
+        SysDepart sysDepart = baseMapper.loadUserDept(loginUser.getUsername());
+        if (null == sysDepart) {
+            log.error("找不到当前医生的科室,请检查");
+            throw new JeecgBootException("找不到当前医生的科室,请检查!");
+        }
+        // 当前登录科室/医生端的科室code
+        String medicalDeptCode = sysDepart.getMedicalDeptCode();
+        // 获取医生code
+        SysUser userByName = sysUserService.getUserByName(loginUser.getUsername());
+        if (null == userByName) {
+            log.error("找不到登录用户信息={}", loginUser.getUsername());
+            throw new JeecgBootException("找不到登录用户的医生用户信息,请检查!");
+        }
+        if (!StringUtils.hasText(userByName.getDoctorId())) {
+            log.error("找不到登录用户信息={},的医生编码信息,请检查", loginUser.getUsername());
+            throw new JeecgBootException("找不到登录用户的医生编码(医生id)信息,请检查!");
+        }
+        queryWrapper.eq("doctor_id", userByName.getDoctorId());
+        queryWrapper.eq("medical_dept_code", medicalDeptCode);
+        return this.page(page, queryWrapper);
+    }
 }