From 0e7689a0d9c373569d9387de3e53448ec3a5563c Mon Sep 17 00:00:00 2001 From: wyb <1977763549@qq.com> Date: Mon, 10 Jul 2023 11:29:33 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8A=A4=E7=90=86=E6=96=87=E4=BB=B6=E6=95=B0?= =?UTF-8?q?=E9=87=8F=E5=AF=B9=E6=AF=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../collection/mapper/TBasicMapper.java | 2 + .../api/dto/SdNurseInsertSugarResponse.java | 6 ++ .../api/impl/ShunDePeopleServiceImpl.java | 3 +- .../report/controller/MockTestController.java | 97 +++++++++++++++++++ .../docus/server/report/job/ReportJob.java | 17 ++++ src/main/resources/bootstrap.yml | 4 +- src/main/resources/mapper/TBasicMapper.xml | 5 + 7 files changed, 131 insertions(+), 3 deletions(-) create mode 100644 src/main/java/com/docus/server/report/controller/MockTestController.java 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 4e8d0b7..62436b9 100644 --- a/src/main/java/com/docus/server/collection/mapper/TBasicMapper.java +++ b/src/main/java/com/docus/server/collection/mapper/TBasicMapper.java @@ -48,4 +48,6 @@ public interface TBasicMapper{ List selectBasicListByCreateOrUpdateTime(@Param("startDate")String queryBasicStartDate, @Param("endDate")String queryBasicEndDate, @Param("offset") int offset,@Param("size") int size); List selectBasicListByPatientIds(@Param("patientIds") List patientIds); + + Integer getNurseFileCount(@Param("patientId")String patientId); } diff --git a/src/main/java/com/docus/server/report/api/dto/SdNurseInsertSugarResponse.java b/src/main/java/com/docus/server/report/api/dto/SdNurseInsertSugarResponse.java index e12bdb9..6290c70 100644 --- a/src/main/java/com/docus/server/report/api/dto/SdNurseInsertSugarResponse.java +++ b/src/main/java/com/docus/server/report/api/dto/SdNurseInsertSugarResponse.java @@ -1,5 +1,6 @@ package com.docus.server.report.api.dto; +import com.alibaba.fastjson.annotation.JSONField; import lombok.Data; import java.util.ArrayList; @@ -69,5 +70,10 @@ public class SdNurseInsertSugarResponse { * PDF存放地址 */ private String url; + /** + * 文件数量 + */ + @JSONField(name = "FILES_NUMBER") + private Integer FILES_NUMBER; } } diff --git a/src/main/java/com/docus/server/report/api/impl/ShunDePeopleServiceImpl.java b/src/main/java/com/docus/server/report/api/impl/ShunDePeopleServiceImpl.java index 0b5b4fe..078bc14 100644 --- a/src/main/java/com/docus/server/report/api/impl/ShunDePeopleServiceImpl.java +++ b/src/main/java/com/docus/server/report/api/impl/ShunDePeopleServiceImpl.java @@ -3,6 +3,7 @@ package com.docus.server.report.api.impl; import cn.hutool.http.HttpRequest; import cn.hutool.http.HttpResponse; import cn.hutool.http.HttpUtil; +import com.alibaba.fastjson.JSON; import com.docus.core.util.DateUtil; import com.docus.core.util.Func; import com.docus.server.report.api.ShunDePeopleService; @@ -169,7 +170,7 @@ public class ShunDePeopleServiceImpl implements ShunDePeopleService { String respBody = sendPost(sdRyReportQueryConfig.getReportQueryNurseInsertSugarUrl(), requestParam); log.info("[{}]查询移动护理,响应:{}", randomUuid, respBody); TimeUnit.MILLISECONDS.sleep(sdRyReportQueryConfig.getReportQueryNurseInsertSugarInterval()); - return Func.readJson(respBody, SdNurseInsertSugarResponse.class); + return JSON.parseObject(respBody,SdNurseInsertSugarResponse.class); } catch (Exception ex) { log.error("["+randomUuid+"]"+"查询移动护理出错了:" + ex.getMessage(), ex); return new SdNurseInsertSugarResponse(); diff --git a/src/main/java/com/docus/server/report/controller/MockTestController.java b/src/main/java/com/docus/server/report/controller/MockTestController.java new file mode 100644 index 0000000..74c785e --- /dev/null +++ b/src/main/java/com/docus/server/report/controller/MockTestController.java @@ -0,0 +1,97 @@ +package com.docus.server.report.controller; + +import com.docus.server.report.api.dto.SdNurseInsertSugarRequest; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@Slf4j +@Api(tags = "项目 模拟数据测试接口") +@RestController +@RequestMapping("/api/mockTest") +public class MockTestController { + + @PostMapping("/nurseReturnMock") + @ApiOperation("护理请求模拟数据") + public String nurseReturnMock(@RequestBody SdNurseInsertSugarRequest request){ + log.info("收到护理请求消息:{},返回模拟数据!",request); + String result="{\n" + + " \"data\": [\n" + + " {\n" + + " \"form_type\": \"bodyTemperature\",\n" + + " \"form_id\": \"bodyTemperature_002064786000_3\",\n" + + " \"create_time\": \"2023-06-25 16:44:08\",\n" + + " \"creator_name\": \"管理员\",\n" + + " \"form_name\": \"体温单\",\n" + + " \"patient_id\": \"002064786000\",\n" + + " \"visit_id\": \"3\",\n" + + " \"zyh\": \"686136\",\n" + + " \"update_time\": \"2023-06-25 16:44:08\",\n" + + " \"updater_name\": \"管理员\",\n" + + " \"url\": \"http://192.168.5.128:9091/crNursing/print/converttopdf//002064786000_3/bodyTemperature_002064786000_3_1.pdf\",\n" + + "\"FILES_NUMBER\": \"2\"\n" + + "\n" + + " },\n" + + " {\n" + + " \"form_type\": \"bodyTemperature\",\n" + + " \"form_id\": \"bodyTemperature_002091232400_3\",\n" + + " \"create_time\": \"2023-06-25 16:28:40\",\n" + + " \"creator_name\": \"管理员\",\n" + + " \"form_name\": \"体温单\",\n" + + " \"patient_id\": \"002091232400\",\n" + + " \"visit_id\": \"3\",\n" + + " \"zyh\": \"329630\",\n" + + " \"update_time\": \"2023-06-25 16:44:11\",\n" + + " \"updater_name\": \"管理员\",\n" + + " \"url\": \"http://192.168.5.128:9091/crNursing/print/converttopdf//002091232400_3/bodyTemperature_002091232400_3_1.pdf\",\n" + + "\"FILES_NUMBER\": \"2\"\n" + + "\n" + + " }\n" + + "]\n" + + "}"; + System.out.println(result); + return result; + } + + public static void main(String[] args) { + String result="{\n" + + " \"data\": [\n" + + " {\n" + + " \"form_type\": \"bodyTemperature\",\n" + + " \"form_id\": \"bodyTemperature_002064786000_3\",\n" + + " \"create_time\": \"2023-06-25 16:44:08\",\n" + + " \"creator_name\": \"管理员\",\n" + + " \"form_name\": \"体温单\",\n" + + " \"patient_id\": \"002064786000\",\n" + + " \"visit_id\": \"3\",\n" + + " \"zyh\": \"686136\",\n" + + " \"update_time\": \"2023-06-25 16:44:08\",\n" + + " \"updater_name\": \"管理员\",\n" + + " \"url\": \"http://192.168.5.128:9091/crNursing/print/converttopdf//002064786000_3/bodyTemperature_002064786000_3_1.pdf\",\n" + + "\"FILES_NUMBER\": \"2\"\n" + + "\n" + + " },\n" + + " {\n" + + " \"form_type\": \"bodyTemperature\",\n" + + " \"form_id\": \"bodyTemperature_002091232400_3\",\n" + + " \"create_time\": \"2023-06-25 16:28:40\",\n" + + " \"creator_name\": \"管理员\",\n" + + " \"form_name\": \"体温单\",\n" + + " \"patient_id\": \"002091232400\",\n" + + " \"visit_id\": \"3\",\n" + + " \"zyh\": \"329630\",\n" + + " \"update_time\": \"2023-06-25 16:44:11\",\n" + + " \"updater_name\": \"管理员\",\n" + + " \"url\": \"http://192.168.5.128:9091/crNursing/print/converttopdf//002091232400_3/bodyTemperature_002091232400_3_1.pdf\",\n" + + "\"FILES_NUMBER\": \"2\"\n" + + "\n" + + " }\n" + + "]\n" + + "}"; + System.out.println(result); + } +} diff --git a/src/main/java/com/docus/server/report/job/ReportJob.java b/src/main/java/com/docus/server/report/job/ReportJob.java index 7e53d9e..1883de3 100644 --- a/src/main/java/com/docus/server/report/job/ReportJob.java +++ b/src/main/java/com/docus/server/report/job/ReportJob.java @@ -155,7 +155,20 @@ public class ReportJob { SdNurseInsertSugarRequest sdNurseInsertSugarRequest = new SdNurseInsertSugarRequest(inpatientNo, admissTimes.toString(), traceCode); SdNurseInsertSugarResponse sdNurseInsertSugarResponse = shunDePeopleService.getNurseInsertSugarReport(sdNurseInsertSugarRequest); List nurseInsertSugarReportList = sdNurseInsertSugarResponse.getData(); + if (Func.isNotEmpty(nurseInsertSugarReportList)) { + Integer filesNumber = nurseInsertSugarReportList.get(0).getFILES_NUMBER(); + Integer nurseFileCount = tBasicMapper.getNurseFileCount(patientId); + if (filesNumber == null || nurseFileCount==null) { + log.warn("{} , {},未保存护理提交的文件数量或者未获取到接口返回的文件数量!",inpatientNo,admissTimes); + nurseFileCountError(inpatientNo,admissTimes); + return; + } + if (!filesNumber.equals(nurseFileCount)) { + log.warn("{} , {},护理提交的文件数量与接口返回的文件数量不匹配!",inpatientNo,admissTimes); + nurseFileCountError(inpatientNo,admissTimes); + return; + } ReportDto reportDto; for (SdNurseInsertSugarResponse.NisData nisReport : nurseInsertSugarReportList) { reportDto = new ReportDto(); @@ -176,6 +189,10 @@ public class ReportJob { } } + private void nurseFileCountError(String inpatientNo, Integer admissTimes) { + // todo 未提供! + } + /** * 判断是否是需要作废的病案 * diff --git a/src/main/resources/bootstrap.yml b/src/main/resources/bootstrap.yml index 5a61db7..efb835c 100644 --- a/src/main/resources/bootstrap.yml +++ b/src/main/resources/bootstrap.yml @@ -73,8 +73,8 @@ sdry: # 移动护理报告地址 nurseInsertSugar: - collectorId: 1 - url: http://192.168.0.200:8688/crHesb/hospital/common + collectorId: 3 + url: http://127.0.0.1:9311/api/mockTest/nurseReturnMock interval: 1000 defaultAssortType: hl-other diff --git a/src/main/resources/mapper/TBasicMapper.xml b/src/main/resources/mapper/TBasicMapper.xml index cee4ff8..04a5e65 100644 --- a/src/main/resources/mapper/TBasicMapper.xml +++ b/src/main/resources/mapper/TBasicMapper.xml @@ -165,4 +165,9 @@ #{patientId} +