diff --git a/collector-scheduling-management/src/main/java/com/docus/server/controller/SchCollectRecordController.java b/collector-scheduling-management/src/main/java/com/docus/server/controller/SchCollectRecordController.java index 8aeb8ae..3f4748e 100644 --- a/collector-scheduling-management/src/main/java/com/docus/server/controller/SchCollectRecordController.java +++ b/collector-scheduling-management/src/main/java/com/docus/server/controller/SchCollectRecordController.java @@ -1,13 +1,19 @@ package com.docus.server.controller; +import com.docus.core.util.json.JSON; import com.docus.infrastructure.web.request.SearchDTO; import com.docus.infrastructure.web.response.PageResult; import com.docus.server.api.scheduling.management.SchCollectRecordApi; +import com.docus.server.common.MsgConstants; +import com.docus.server.dto.scheduling.management.schcollector.task.SchCollectorTaskDTO; import com.docus.server.dto.scheduling.management.schcollectrecord.AddSchCollectRecordDTO; import com.docus.server.dto.scheduling.management.schcollectrecord.DeleteSchCollectRecordDTO; import com.docus.server.dto.scheduling.management.schcollectrecord.EditSchCollectRecordDTO; +import com.docus.server.dto.scheduling.management.schterminator.CommMsgDTO; +import com.docus.server.service.ICommMsgService; import com.docus.server.service.ISchCollectRecordService; import com.docus.server.vo.scheduling.management.schcollectrecord.SchCollectRecordVO; +import com.fasterxml.jackson.core.type.TypeReference; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; @@ -22,6 +28,8 @@ import javax.annotation.Resource; public class SchCollectRecordController implements SchCollectRecordApi { @Resource private ISchCollectRecordService iSchCollectRecordService; + @Resource + private ICommMsgService iCommMsgService; /** * 按主键查询 @@ -31,6 +39,44 @@ public class SchCollectRecordController implements SchCollectRecordApi { */ @Override public SchCollectRecordVO findById(String id) { + String s = "{\n" + + "\t\"taskInfo\": {\n" + + "\t\t\"createTime\": \"2022-12-03 12:39:30\",\n" + + "\t\t\"hospitals\": [{\n" + + "\t\t\t\"admissDate\": \"2023-12-31 01:01:01\",\n" + + "\t\t\t\"admissId\": \"amid_999901\",\n" + + "\t\t\t\"admissTimes\": 1,\n" + + "\t\t\t\"disDate\": \"2023-12-31 01:01:01\",\n" + + "\t\t\t\"disDeptName\": \"22222\",\n" + + "\t\t\t\"patientId\": \"758878610105573376\"\n" + + "\t\t}],\n" + + "\t\t\"jzh\": \"jzh_999901\",\n" + + "\t\t\"patient\": {\n" + + "\t\t\t\"inpatientNo\": \"999901\",\n" + + "\t\t\t\"name\": \"ceshi\",\n" + + "\t\t\t\"patientId\": \"758878610105573376\"\n" + + "\t\t},\n" + + "\t\t\"patientId\": \"758878610105573376\",\n" + + "\t\t\"recordType\": \"1\",\n" + + "\t\t\"tasks\": [{\n" + + "\t\t\t\"collectorId\": \"1\",\n" + + "\t\t\t\"patientId\": \"758878610105573376\",\n" + + "\t\t\t\"taskId\": \"834292710565826560\"\n" + + "\t\t}]\n" + + "\t},\n" + + "\t\"collectorRecordId\": \"123\",\n" + + "\t\"isRetry\": 0\n" + + "\n" + + "}"; + SchCollectorTaskDTO schCollectorTaskDTO = JSON.fromJSONWithGeneric(s, new TypeReference() { + }); + + CommMsgDTO commMsgDTO = CommMsgDTO.builder() + .content(JSON.toJSON(schCollectorTaskDTO)) + .messageType(MsgConstants.SCH_DISTRIBUTE_TASKS) + .build(); + + iCommMsgService.clientsCommand(commMsgDTO); return iSchCollectRecordService.findById(id); } diff --git a/docus-client-interface/src/main/java/com/docus/server/dto/scheduling.management/schcollector/task/ReportDownTwoDTO.java b/docus-client-interface/src/main/java/com/docus/server/dto/scheduling.management/schcollector/task/ReportDownTwoDTO.java new file mode 100644 index 0000000..19f3a80 --- /dev/null +++ b/docus-client-interface/src/main/java/com/docus/server/dto/scheduling.management/schcollector/task/ReportDownTwoDTO.java @@ -0,0 +1,39 @@ +package com.docus.server.dto.scheduling.management.schcollector.task; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.ArrayList; +import java.util.List; + +/** + * 下发任务 + */ +@Builder +@NoArgsConstructor +@AllArgsConstructor +@Data +@ApiModel(value = "ReportDownTwoDTO", description = "下发任务") +public class ReportDownTwoDTO { + + @ApiModelProperty(value = "档案编号") + private String patientId; + @ApiModelProperty(value = "记账号") + private String jzh; + @ApiModelProperty(value = "档案类型") + private String recordType; + @ApiModelProperty(value = "档案时间") + private String createTime; + @ApiModelProperty(value = "患者信息") + private ReportPatientTwoDto patient = new ReportPatientTwoDto(); + @ApiModelProperty(value = "住院信息") + private List hospitals = new ArrayList<>(); + @ApiModelProperty(value = "任务信息") + private List tasks = new ArrayList<>(); + + +} diff --git a/docus-client-interface/src/main/java/com/docus/server/dto/scheduling.management/schcollector/task/ReportHospitalTwoDto.java b/docus-client-interface/src/main/java/com/docus/server/dto/scheduling.management/schcollector/task/ReportHospitalTwoDto.java new file mode 100644 index 0000000..590a1c6 --- /dev/null +++ b/docus-client-interface/src/main/java/com/docus/server/dto/scheduling.management/schcollector/task/ReportHospitalTwoDto.java @@ -0,0 +1,32 @@ +package com.docus.server.dto.scheduling.management.schcollector.task; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * 下发任务-医院查询信息 + */ +@Builder +@NoArgsConstructor +@AllArgsConstructor +@Data +@ApiModel(value = "ReportHospitalTwoDto", description = "下发任务-医院查询信息") +public class ReportHospitalTwoDto { + + @ApiModelProperty(value = "患者id") + private String patientId; + @ApiModelProperty(value = "住院次数") + private Integer admissTimes; + @ApiModelProperty(value = "住院日期") + private String admissDate; + @ApiModelProperty(value = "出院日期") + private String disDate; + @ApiModelProperty(value = "出院科室名称") + private String disDeptName; + @ApiModelProperty(value = "卡号") + private String admissId; +} diff --git a/docus-client-interface/src/main/java/com/docus/server/dto/scheduling.management/schcollector/task/ReportPatientTwoDto.java b/docus-client-interface/src/main/java/com/docus/server/dto/scheduling.management/schcollector/task/ReportPatientTwoDto.java new file mode 100644 index 0000000..4531bc9 --- /dev/null +++ b/docus-client-interface/src/main/java/com/docus/server/dto/scheduling.management/schcollector/task/ReportPatientTwoDto.java @@ -0,0 +1,26 @@ +package com.docus.server.dto.scheduling.management.schcollector.task; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * 上报打印 下发任务-患者信息 + */ +@Builder +@NoArgsConstructor +@AllArgsConstructor +@Data +@ApiModel(value = "ReportPatientTwoDto", description = "下发任务-病患信息") +public class ReportPatientTwoDto { + + @ApiModelProperty(value = "住院号/就诊号") + private String inpatientNo; + @ApiModelProperty(value = "患者姓名") + private String name; + @ApiModelProperty(value = "id号") + private String patientId; +} diff --git a/docus-client-interface/src/main/java/com/docus/server/dto/scheduling.management/schcollector/task/ReportTaskTwoDto.java b/docus-client-interface/src/main/java/com/docus/server/dto/scheduling.management/schcollector/task/ReportTaskTwoDto.java new file mode 100644 index 0000000..076b66a --- /dev/null +++ b/docus-client-interface/src/main/java/com/docus/server/dto/scheduling.management/schcollector/task/ReportTaskTwoDto.java @@ -0,0 +1,26 @@ +package com.docus.server.dto.scheduling.management.schcollector.task; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * 下发任务-任务信息 + */ +@Builder +@NoArgsConstructor +@AllArgsConstructor +@Data +@ApiModel(value = "ReportTaskTwoDto", description = "下发任务-任务信息") +public class ReportTaskTwoDto { + @ApiModelProperty(value = "采集器标识") + private String collectorId; + @ApiModelProperty(value = "任务id") + private Long taskId; + @ApiModelProperty(value = "患者id") + private String patientId; + +} diff --git a/docus-client-interface/src/main/java/com/docus/server/dto/scheduling.management/schcollector/task/SchCollectorTaskDTO.java b/docus-client-interface/src/main/java/com/docus/server/dto/scheduling.management/schcollector/task/SchCollectorTaskDTO.java new file mode 100644 index 0000000..8a07ac8 --- /dev/null +++ b/docus-client-interface/src/main/java/com/docus/server/dto/scheduling.management/schcollector/task/SchCollectorTaskDTO.java @@ -0,0 +1,26 @@ +package com.docus.server.dto.scheduling.management.schcollector.task; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Builder +@NoArgsConstructor +@AllArgsConstructor +@Data +@ApiModel(value = "SchCollectorTaskDTO", description = "下发任务") +public class SchCollectorTaskDTO { + + @ApiModelProperty(value = "采集记录表id") + private Long collectorRecordId; + + @ApiModelProperty(value = "0:不是重试任务,1:是重试任务") + private String isRetry; + + @ApiModelProperty(value = "采集器版本id") + private ReportDownTwoDTO taskInfo; + +}