同步检查报告接口新增尿常规异常项判断

This commit is contained in:
lxd 2025-04-14 16:54:13 +08:00
parent 2e138a6270
commit d2a2031be7
2 changed files with 99 additions and 10 deletions

View File

@ -61,4 +61,22 @@ public class NumberUtils {
return NumberUtil.mul(values);
}
/**
* 检查给定的字符串是否为数值类型
*
* @param value 要检查的字符串
* @return 如果字符串为数值类型则返回 true否则返回 false
*/
public static boolean isNumeric(String value) {
if (value == null || value.isEmpty()) {
return false;
}
try {
Double.parseDouble(value);
return true;
} catch (NumberFormatException e) {
return false;
}
}
}

View File

@ -4,6 +4,7 @@ import cn.iocoder.yudao.framework.common.exception.enums.GlobalErrorCodeConstant
import cn.iocoder.yudao.framework.common.util.date.DateUtils;
import cn.iocoder.yudao.framework.common.util.http.HttpUtils;
import cn.iocoder.yudao.framework.common.util.io.FileUtils;
import cn.iocoder.yudao.framework.common.util.number.NumberUtils;
import cn.iocoder.yudao.framework.common.util.string.StrUtils;
import cn.iocoder.yudao.module.infra.dal.dataobject.config.ConfigDO;
import cn.iocoder.yudao.module.infra.service.config.ConfigService;
@ -640,7 +641,79 @@ public class InspectPatientController {
}
inspectPacs.setItem(sb.toString());
}
//解析尿常规异常项
if (type.equals("NCG")) {
if (reportData.getResultsAll() != null && reportData.getResultsAll().size() > 0) {
StringBuilder ncgsb = new StringBuilder();
// 获取 results 数组并遍历
List<ResultItem> results = reportData.getResultsAll();
for (ResultItem result : results) {
switch (result.getItemCode()) {
case "WBC":
case "NIT":
if (result.getItemValue() != null && result.getItemValue().contains("+")) {
ncgsb.append("" + result.getItemName() + "" + "该项异常,值为:" +result.getItemValue()+ "" + "\n");
}
break;
case "URO":
if (result.getItemValue() != null && !result.getItemValue().contains("Normal")) {
ncgsb.append("" + result.getItemName() + "" + "该项异常,值为:" +result.getItemValue()+ "" + "\n");
}
break;
case "PRO":
case "BLD":
case "BIL":
case "KET":
case "GLU":
if (result.getItemValue() != null && !result.getItemValue().contains("+")) {
ncgsb.append("" + result.getItemName() + "" + "该项异常,值为:" +result.getItemValue()+ "" + "\n");
}
break;
case "PH":
if (result.getItemValue() != null) {
if(NumberUtils.isNumeric(result.getItemValue()))
{
double ph = Double.parseDouble(result.getItemValue());
if(ph<5.0 || ph>8.0)
{
ncgsb.append("" + result.getItemName() + "" + "该项异常,值为:" +result.getItemValue()+ "" + "\n");
}
}
}
break;
case "SG":
if (result.getItemValue() != null) {
if(NumberUtils.isNumeric(result.getItemValue()))
{
double sg = Double.parseDouble(result.getItemValue());
if(sg<1.015 || sg>1.025)
{
ncgsb.append("" + result.getItemName() + "" + "该项异常,值为:" +result.getItemValue()+ "" + "\n");
}
}
}
break;
case "VC":
if (result.getItemValue() != null) {
if(NumberUtils.isNumeric(result.getItemValue()))
{
double vc = Double.parseDouble(result.getItemValue());
if( vc>10)
{
ncgsb.append("" + result.getItemName() + "" + "该项异常,值为:" +result.getItemValue()+ "" + "\n");
}
}
}
break;
}
}
inspectPacs.setItem(ncgsb.toString());
}
}
pacsDataService.createPacsData(inspectPacs);
}
@ -672,12 +745,11 @@ public class InspectPatientController {
// 获取 pdfurl pname
String pdfurl = (String) dataMap.get("pdfurl");
String pname = (String) dataMap.get("pname");
String examDescription="";
String diagResults="";
if(dataMap.get("examDescription")!=null&&dataMap.get("diagResults")!=null)
{
examDescription = (String) dataMap.get("examDescription");
diagResults = (String) dataMap.get("diagResults");
String examDescription = "";
String diagResults = "";
if (dataMap.get("examDescription") != null && dataMap.get("diagResults") != null) {
examDescription = (String) dataMap.get("examDescription");
diagResults = (String) dataMap.get("diagResults");
}
// 检查 pdfurl pname 是否为空
@ -690,8 +762,7 @@ public class InspectPatientController {
pacsDataService.createPacsData(inspectPacs);
}
//更新超声所见所得
if(examDescription!=null&&!examDescription.isEmpty()&&diagResults!=null&&!diagResults.isEmpty())
{
if (examDescription != null && !examDescription.isEmpty() && diagResults != null && !diagResults.isEmpty()) {
InspectPatientitemsSaveReqVO saveReqVO = new InspectPatientitemsSaveReqVO();
saveReqVO.setMedicalSn(medicalSn);
saveReqVO.setItemCode("US001");
@ -1447,6 +1518,7 @@ public class InspectPatientController {
patientService.updateMedicalDateTime(medicalSn, medicalDateTime);
return success(true);
}
@GetMapping("/GetbarcodeInfo")
@Operation(summary = "获取样本码信息")
public CommonResult<BarcodeInfoVO> GetbarcodeInfo(@RequestParam("medicalSn") String medicalSn) {
@ -1456,8 +1528,7 @@ public class InspectPatientController {
if (patientDO == null) {
return success("未找到该患者信息");
}
if(patientDO.getNcgcode()==null || patientDO.getXcgcode()==null|| patientDO.getShqx()==null)
{
if (patientDO.getNcgcode() == null || patientDO.getXcgcode() == null || patientDO.getShqx() == null) {
return success("条码不存在");
}
BarcodeInfoVO barcodeInfoVO = new BarcodeInfoVO();