【采集调度器-后端TCP API】采集调度器下发任务命令 API

segment2.0
linrf 2 years ago
parent dde18d75b0
commit 50c8321678

@ -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<SchCollectorTaskDTO>() {
});
CommMsgDTO commMsgDTO = CommMsgDTO.builder()
.content(JSON.toJSON(schCollectorTaskDTO))
.messageType(MsgConstants.SCH_DISTRIBUTE_TASKS)
.build();
iCommMsgService.clientsCommand(commMsgDTO);
return iSchCollectRecordService.findById(id);
}

@ -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<ReportHospitalTwoDto> hospitals = new ArrayList<>();
@ApiModelProperty(value = "任务信息")
private List<ReportTaskTwoDto> tasks = new ArrayList<>();
}

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

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

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

@ -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;
}
Loading…
Cancel
Save