diff --git a/src/main/java/com/docus/server/collection/entity/TBasicExtend.java b/src/main/java/com/docus/server/collection/entity/TBasicExtend.java index fa6a227..aaea48d 100644 --- a/src/main/java/com/docus/server/collection/entity/TBasicExtend.java +++ b/src/main/java/com/docus/server/collection/entity/TBasicExtend.java @@ -1,14 +1,11 @@ package com.docus.server.collection.entity; -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableId; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; import java.io.Serializable; -import java.util.Date; /** * @BelongsProject: docus-webservice-sdry @@ -36,4 +33,10 @@ public class TBasicExtend implements Serializable { @ApiModelProperty(value = "第三方索引") private String sdryIndex; + + @ApiModelProperty(value = "质控护士 对应质控员节点") + private String qcNurse; + + @ApiModelProperty(value = "责任护士 对应护士节点") + private String dutyNurse; } diff --git a/src/main/java/com/docus/server/collection/mapper/TBasicMapper.java b/src/main/java/com/docus/server/collection/mapper/TBasicMapper.java index b124ad8..ace698c 100644 --- a/src/main/java/com/docus/server/collection/mapper/TBasicMapper.java +++ b/src/main/java/com/docus/server/collection/mapper/TBasicMapper.java @@ -103,4 +103,18 @@ public interface TBasicMapper{ * @return 数据库操作 */ int updateNursCollectState(@Param("patientId") String patientId, @Param("state") int state); + + /** + * 根据病案主键获取额外信息 + * @param patientId 病案主键 + * @return 额外信息 + */ + TBasicExtend getTBasicExt(@Param("patientId") String patientId); + + /** + * 根据工号,获取用户姓名 + * @param userName 工号 + * @return 用户姓名 + */ + String getNameByUserName(@Param("userName")String userName); } diff --git a/src/main/java/com/docus/server/report/api/MedicalRecordService.java b/src/main/java/com/docus/server/report/api/MedicalRecordService.java index 5a6b4b0..caf9bf6 100644 --- a/src/main/java/com/docus/server/report/api/MedicalRecordService.java +++ b/src/main/java/com/docus/server/report/api/MedicalRecordService.java @@ -1,6 +1,9 @@ package com.docus.server.report.api; import com.docus.infrastructure.web.api.CommonResult; +import com.docus.server.report.api.request.CqcAuditRequest; + +import java.util.List; /** * 病案基础服务 @@ -11,8 +14,8 @@ public interface MedicalRecordService { /** * 根据病案主键和配置自动质控 * - * @param patientId 案主键 + * @param request 质控请求参数 * @return 质控接口返回参数 */ - CommonResult cqcAudit(String patientId); + CommonResult cqcAudit(List request); } diff --git a/src/main/java/com/docus/server/report/api/impl/MedicalRecordServiceImpl.java b/src/main/java/com/docus/server/report/api/impl/MedicalRecordServiceImpl.java index 8040fdd..192b3a7 100644 --- a/src/main/java/com/docus/server/report/api/impl/MedicalRecordServiceImpl.java +++ b/src/main/java/com/docus/server/report/api/impl/MedicalRecordServiceImpl.java @@ -7,11 +7,14 @@ import com.docus.core.util.Func; import com.docus.infrastructure.core.exception.BaseException; import com.docus.infrastructure.web.api.CommonResult; import com.docus.server.report.api.MedicalRecordService; +import com.docus.server.report.api.request.CqcAuditRequest; import com.docus.server.report.config.ApplicationBusinessConfig; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.util.List; + @Service @Slf4j public class MedicalRecordServiceImpl implements MedicalRecordService { @@ -19,19 +22,13 @@ public class MedicalRecordServiceImpl implements MedicalRecordService { private ApplicationBusinessConfig businessConfig; @Override - public CommonResult cqcAudit(String patientId) { + public CommonResult cqcAudit(List request) { String nisApproveUrl = businessConfig.getNisApproveUrl(); if(Func.isBlank(nisApproveUrl)){ throw new BaseException("未配置质控地址!"); } // 地址是否已经自带参数了 - if (nisApproveUrl.contains("?")) { - nisApproveUrl=nisApproveUrl+"&"; - }else { - nisApproveUrl=nisApproveUrl+"?"; - } - nisApproveUrl=nisApproveUrl+"patientId="+patientId; - String reusltStr = HttpUtil.get(nisApproveUrl); - return JSON.parseObject(reusltStr,new TypeReference>(){}); + String result = HttpUtil.post(nisApproveUrl, JSON.toJSONString(request)); + return JSON.parseObject(result,new TypeReference>(){}); } } diff --git a/src/main/java/com/docus/server/report/api/request/CqcAuditRequest.java b/src/main/java/com/docus/server/report/api/request/CqcAuditRequest.java new file mode 100644 index 0000000..ebac3e7 --- /dev/null +++ b/src/main/java/com/docus/server/report/api/request/CqcAuditRequest.java @@ -0,0 +1,29 @@ +package com.docus.server.report.api.request; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @BelongsProject: docus_medicalrecord_starter + * @BelongsPackage: com.docus.services.clinicqualitycontrol.dto + * @Author: jiashi + * @CreateTime: 2023-08-21 09:07 + * @Description: TODO + * @Version: 1.0 + */ +@Data +@ApiModel("自动质控请求参数") +public class CqcAuditRequest { + @ApiModelProperty(value = "病案主键") + private String patientId; + + @ApiModelProperty(value = "类型 1护士质控,2护士质控员质控") + private String type; + + @ApiModelProperty(value = "操作人工号") + private String userName; + + @ApiModelProperty(value = "操作人姓名") + private String name; +} diff --git a/src/main/java/com/docus/server/report/listener/NisReportDownloadWaitHandler.java b/src/main/java/com/docus/server/report/listener/NisReportDownloadWaitHandler.java index 90d81f4..71b023f 100644 --- a/src/main/java/com/docus/server/report/listener/NisReportDownloadWaitHandler.java +++ b/src/main/java/com/docus/server/report/listener/NisReportDownloadWaitHandler.java @@ -1,14 +1,18 @@ package com.docus.server.report.listener; +import com.alibaba.fastjson.JSON; +import com.docus.core.util.Func; import com.docus.infrastructure.core.exception.BaseException; import com.docus.infrastructure.redis.service.RedisOps; import com.docus.infrastructure.web.api.CommonResult; import com.docus.infrastructure.web.api.ResultCode; import com.docus.server.collection.entity.TBasic; +import com.docus.server.collection.entity.TBasicExtend; import com.docus.server.collection.mapper.TBasicMapper; import com.docus.server.common.util.RedisKeyExpirationHandler; import com.docus.server.common.util.RedisKeyExpirationListener; import com.docus.server.report.api.MedicalRecordService; +import com.docus.server.report.api.request.CqcAuditRequest; import com.docus.server.report.config.SdRyReportQueryConfig; import com.docus.server.report.consts.ReportDownloadWait; import com.docus.server.report.mapper.AfScanAssortMapper; @@ -19,6 +23,9 @@ import org.springframework.stereotype.Component; import javax.annotation.PostConstruct; import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.List; +import java.util.Objects; /** * @author WYBDEV @@ -95,8 +102,30 @@ public class NisReportDownloadWaitHandler extends RedisKeyExpirationHandler { } private void nisQualityControl(String patientId) { - log.info("调用护理质控:{}", patientId); - CommonResult result = medicalRecordService.cqcAudit(patientId); + + TBasicExtend tBasicExtend = tBasicMapper.getTBasicExt(patientId); + String dutyNurse = Objects.isNull(tBasicExtend) ? null : tBasicExtend.getDutyNurse(); + String qcNurse = Objects.isNull(tBasicExtend) ? null : tBasicExtend.getQcNurse(); + String dutyNurseName = Func.isBlank(dutyNurse) ? null : tBasicMapper.getNameByUserName(dutyNurse); + String qcNurseName = Func.isBlank(qcNurse) ? null : tBasicMapper.getNameByUserName(dutyNurse); + + CqcAuditRequest request1 = new CqcAuditRequest(); + request1.setType("1"); + request1.setPatientId(patientId); + request1.setUserName(dutyNurse); + request1.setName(dutyNurseName); + CqcAuditRequest request2 = new CqcAuditRequest(); + request1.setType("2"); + request1.setPatientId(patientId); + request1.setUserName(qcNurse); + request1.setName(qcNurseName); + + List request = new ArrayList<>(2); + request.add(request1); + request.add(request2); + log.info("调用护理质控:{}", JSON.toJSONString(request)); + + CommonResult result = medicalRecordService.cqcAudit(request); log.info("{} 护理质控结果:{}", patientId, result); if (!ResultCode.SUCCESS.getCode().equals(result.getCode())) { throw new BaseException(result.getMsg()); diff --git a/src/main/resources/mapper/TBasicMapper.xml b/src/main/resources/mapper/TBasicMapper.xml index d1e8002..4ab411e 100644 --- a/src/main/resources/mapper/TBasicMapper.xml +++ b/src/main/resources/mapper/TBasicMapper.xml @@ -211,5 +211,13 @@ from `docus_medicalrecord`.`t_basic` where patient_id=#{patientId} + +