调用自动质控,参数变更,接口变更

3.2.4.44
wyb 2 years ago
parent d7dad6d9db
commit 326799c238

@ -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;
}

@ -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);
}

@ -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<String> cqcAudit(String patientId);
CommonResult<String> cqcAudit(List<CqcAuditRequest> request);
}

@ -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<String> cqcAudit(String patientId) {
public CommonResult<String> cqcAudit(List<CqcAuditRequest> 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<CommonResult<String>>(){});
String result = HttpUtil.post(nisApproveUrl, JSON.toJSONString(request));
return JSON.parseObject(result,new TypeReference<CommonResult<String>>(){});
}
}

@ -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;
}

@ -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<String> 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<CqcAuditRequest> request = new ArrayList<>(2);
request.add(request1);
request.add(request2);
log.info("调用护理质控:{}", JSON.toJSONString(request));
CommonResult<String> result = medicalRecordService.cqcAudit(request);
log.info("{} 护理质控结果:{}", patientId, result);
if (!ResultCode.SUCCESS.getCode().equals(result.getCode())) {
throw new BaseException(result.getMsg());

@ -211,5 +211,13 @@
from `docus_medicalrecord`.`t_basic`
where patient_id=#{patientId}
</select>
<select id="getTBasicExt" resultType="com.docus.server.collection.entity.TBasicExtend">
select patient_id,ward_code, ward_name,sdry_index,qc_nurse,duty_nurse
from `docus_medicalrecord`.`t_basic_extend`
WHERE patient_id=#{patientId}
</select>
<select id="getNameByUserName" resultType="java.lang.String">
select `name` from docus_system.power_user where user_name=#{userName}
</select>
</mapper>

Loading…
Cancel
Save