package com.ruoyi.common.core.service.dto;
|
|
import java.io.Serializable;
|
import java.util.Date;
|
|
/**
|
* 一条待落库随访子任务的草稿({@link VisitTaskCreateApi#createSubtask} 的入参)。
|
* <p>
|
* 字段是<b>逐个对照迁移前 {@code PatMedInhospServiceImpl#boxedServiceSubtask}(L1108-1222)
|
* 与 {@code #boxedServiceSubtaskForOp}(L1225-1300)的 setter 调用</b>倒推出来的。
|
* 该方法是出入院随访唯一可能改变线上行为的地方,所以这里刻意<b>不做字段精简</b>:
|
* 少一个字段 → 对应 setter 静默失效 → 线上子任务内容变化,且不报错。
|
*
|
* <h3>迁移时的对应关系(逐条核对用)</h3>
|
* <pre>
|
* 原 patMedInhosp1/patArchive/serviceTask getter → 本 DTO 字段
|
* </pre>
|
*
|
* @see com.ruoyi.common.core.service.VisitTaskCreateApi#createSubtask(VisitSubtaskDraft)
|
*/
|
public class VisitSubtaskDraft implements Serializable {
|
|
private static final long serialVersionUID = 1L;
|
|
// ==================== 任务来源(原 serviceTask) ====================
|
/**
|
* 子任务ID。
|
* <p>
|
* 只有"先 insert、再补字段回写"那条链路(原 L776-793)才需要;
|
* 新增时留空。{@code insertServiceSubtask} 用的是 {@code useGeneratedKeys},
|
* 落库后这个字段会被回填到实体上,调用方据此再 update。
|
*/
|
private Long id;
|
|
/** 任务ID(原 taskid) */
|
private Long taskid;
|
/** 机构ID(原 serviceTask.orgid) */
|
private String orgid;
|
/** 院区ID(原 serviceTask.campusid,后被 patMedInhosp.campusid 覆盖) */
|
private String campusid;
|
|
// ==================== 患者(原 patArchive) ====================
|
/** 患者档案ID(原 patArchive.id) */
|
private Long patid;
|
/** 接收人姓名(原 patArchive.name) */
|
private String sendname;
|
/** 身份证号(原 patArchive.idcardno) */
|
private String sfzh;
|
/** 手机号(原 patArchive.telcode,空则取 relativetelcode) */
|
private String phone;
|
/** 性别(原 patArchive.sex) */
|
private Long sex;
|
/** 年龄(原 patArchive.age) */
|
private Long age;
|
|
// ==================== 出入院关联(原 patMedInhosp) ====================
|
/** 出入院记录ID(原 inhospid) */
|
private Long inhospid;
|
/** 住院流水号 */
|
private String serialnum;
|
/**
|
* 就诊编号 —— 落库到 {@code service_subtask.hospno}("对应的 outhospno、inhospno")。
|
* <p>
|
* 出院链路的取值是 {@code pat_med_inhosp.inhospno}(门诊链路是
|
* {@code pat_med_outhosp.outhospno},见 {@link OuthospSubtaskDraft})。
|
* <p>
|
* ⚠️ 这个字段原先只存在于 {@link OuthospSubtaskDraft},而出院的
|
* {@code addSubTaskByRule} 链路从不设它 → {@code service_subtask.hospno} 一直落空。
|
* 现在提到父类,两条链路共用同一个载体。
|
*/
|
private String hospno;
|
|
// ==================== 医护(原 patMedInhosp) ====================
|
/** 责任护士ID */
|
private String nurseId;
|
/** 责任护士姓名 */
|
private String nurseName;
|
/** 医生编码 */
|
private String drcode;
|
/** 医生姓名 */
|
private String drname;
|
/** 管理医生姓名 */
|
private String managementDoctor;
|
/** 管理医生编码 */
|
private String managementDoctorCode;
|
|
// ==================== 科室/病区(原 patMedInhosp,type 4/5 会改写) ====================
|
/** 科室编码(type 1/2/3 取 leave 维度;type 4/5 取入院维度) */
|
private String deptcode;
|
/** 科室名称 */
|
private String deptname;
|
/** 离院病区编码(type 4/5 取入院病区) */
|
private String leavehospitaldistrictcode;
|
/** 离院病区名称 */
|
private String leavehospitaldistrictname;
|
|
// ==================== 诊断(原 patMedInhosp) ====================
|
/** 离院 ICD10 编码 */
|
private String leaveicd10code;
|
/** 离院诊断名称 */
|
private String leavediagname;
|
/** 诊断名称 */
|
private String diagname;
|
|
// ==================== 模板(原 serviceTask) ====================
|
/** 问卷模板ID */
|
private Long templateid;
|
/** 问卷模板名称 */
|
private String templatename;
|
/** 语音模板ID */
|
private Long libtemplateid;
|
|
// ==================== 时间 ====================
|
/** 入院时间(原 patMedInhosp.starttime) */
|
private Date starttime;
|
/** 出院时间(原 patMedInhosp.endtime) */
|
private Date endtime;
|
/** 长期任务发送时间(原 longSendTime) */
|
private Date longSendTime;
|
/** 随访时间(原 visitTime) */
|
private Date visitTime;
|
|
// ==================== 状态/类型 ====================
|
/** 发送状态(原 sendstate) */
|
private Long sendstate;
|
/**
|
* 提交标记(原 {@code submit},实体里是 {@code Long})。
|
* <p>
|
* ⚠️ 迁移前 {@code writeInSubTask} 里对它的写法是 {@code serviceSubtask.setSubmit(1)} ——
|
* 一个 int 字面量被自动装箱/加宽成 {@code Long},历史上编译能过。
|
* 搬迁时若把它写成 {@code Integer} 就会静默丢字段,故此处保持 {@code Long}。
|
*/
|
private Long submit;
|
/** 服务类型(原 serviceType) */
|
private String serviceType;
|
/** 疾病类型(原 diagType) */
|
private String diagType;
|
/** 住院类型(原 hospType,"2" 普通 / "6" 入院) */
|
private String hospType;
|
/** 执行方式(原 preachform) */
|
private String preachform;
|
|
// ==================== 随访标记(原 writeInSubTask 在入库前设置的几个) ====================
|
/** 就诊次数(原 visitCount) */
|
private Integer visitCount;
|
/** 是否再次随访(原 isVisitAgain) */
|
private Integer isVisitAgain;
|
/** 就诊科室编码(原 visitDeptCode,由 type 分派决定) */
|
private String visitDeptCode;
|
/** 就诊科室名称(原 visitDeptName) */
|
private String visitDeptName;
|
|
/** 任务状态(原 taskSituation;宣教=7,被过滤患者=6) */
|
private Integer taskSituation;
|
/** 结果(原 result,"error" 表示不执行) */
|
private String result;
|
/** 备注(原 remark) */
|
private String remark;
|
|
// ==================== 手术(原 patMedOperationItem,仅手术随访用) ====================
|
/** 手术明细ID(原 operationItemId) */
|
private Long operationItemId;
|
|
// ==================== 审计 ====================
|
/** 创建人(原 createBy) */
|
private String createBy;
|
/** 更新人(原 updateBy) */
|
private String updateBy;
|
|
// ==================== 兜底 ====================
|
/**
|
* 长期任务失败原因(原 {@code patMedInhosp.longTaskReason})。
|
* <p>
|
* 【注意】这不是子任务的字段。它在迁移前是 {@code writeInSubTask} 从入参实体上读出来、
|
* 拼上错误文案后再写回 {@code pat_med_inhosp} 的。放在这里是为了让
|
* {@code VisitTaskCreateApi} 的实现能拿到它去写 B7 标记;
|
* <b>过渡实现不会把它写入 service_subtask</b>。
|
*/
|
private String longTaskReason;
|
|
// ==========================================================================
|
// DtoConversionUtils 拷入、但未被显式覆盖的 18 个字段
|
// ==========================================================================
|
/**
|
* ⚠️ <b>这一批字段的来源必须说清楚(踩过的坑)</b>
|
* <p>
|
* 迁移前 {@code boxedServiceSubtask} / {@code boxedServiceSubtaskForOp} 的第一行是:
|
* <pre>
|
* ServiceSubtask serviceSubtask = DtoConversionUtils.sourceToTarget(serviceTask, ServiceSubtask.class);
|
* </pre>
|
* 它把 {@code ServiceTask} 与 {@code ServiceSubtask} <b>同名</b>的 33 个字段整批拷了过来,
|
* 其中 <b>18 个之后再也没被显式 set 覆盖</b> —— 也就是说,这 18 个值是
|
* <b>靠"拷贝"带进子任务并落库的</b>。
|
* <p>
|
* 逐字段核对过,这 18 个里还有<b>类型不一致</b>的:
|
* {@code pid}({@code Integer → Long})、{@code sendType}({@code Long → String}),
|
* 说明 {@code sourceToTarget} 内部做了类型转换,不是简单的同名赋值。
|
* <p>
|
* <b>如果不把它们显式带过去,这些值就会丢 → 落库的子任务内容与迁移前不一致,而且不会报错。</b>
|
* 所以这里全部显式列出,让"每个字段是怎么进子任务的"完全可见,
|
* 并由 {@code sql/_probe/verify_inhospvisit_semantics.py} 逐条断言。
|
* <p>
|
* 对应的原实现位置:{@code PatMedInhospServiceImpl} L1113(boxed)与 L1226(boxedForOp)。
|
*/
|
|
/** 删除标记(原 serviceTask.delFlag) */
|
private String delFlag;
|
|
/*
|
* 注意:diagType 已经在上面"状态/类型"那一组里声明过了(同名字段不能重复声明),
|
* 这里刻意不再重复。它同样属于"DtoConversionUtils 拷入但未被显式覆盖"的那一批,
|
* 生成脚本当时没查重,导致过一次编译失败 —— 已由 sql/_probe/_check_draft_duplicates.py 兜住。
|
*/
|
|
/** 出院时间区间终点(原 serviceTask.endOutHospTime) */
|
private java.util.Date endOutHospTime;
|
|
/** GUID(原 serviceTask.guid) */
|
private String guid;
|
|
/** 是否已上传(原 serviceTask.isupload) */
|
private Long isupload;
|
|
/** 离院病区编码列表(原 serviceTask.leavehospitaldistrictcodes) */
|
private java.util.List<String> leavehospitaldistrictcodes;
|
|
/** 离院科室编码列表(原 serviceTask.leaveldeptcodes) */
|
private java.util.List<String> leaveldeptcodes;
|
|
/** 语音模板名称(原 serviceTask.libtemplatename) */
|
private String libtemplatename;
|
|
/** 分页页码(原 serviceTask.pageNum) */
|
private Integer pageNum;
|
|
/** 分页页长(原 serviceTask.pageSize) */
|
private Integer pageSize;
|
|
/** pid(原 serviceTask.pid 是 Integer,目标是 Long —— sourceToTarget 做了转换) */
|
private Long pid;
|
|
/** 发送类型(原 serviceTask.sendType 是 Long,目标是 String —— 同样做了转换) */
|
private String sendType;
|
|
/** 出院时间区间起点(原 serviceTask.startOutHospTime) */
|
private java.util.Date startOutHospTime;
|
|
/** 任务描述(原 serviceTask.taskDesc) */
|
private String taskDesc;
|
|
/** 任务名称(原 serviceTask.taskName) */
|
private String taskName;
|
|
/** 文本参数(原 serviceTask.textParam) */
|
private String textParam;
|
|
/** 任务类型(原 serviceTask.type) */
|
private String type;
|
|
/** 上传时间(原 serviceTask.uploadTime) */
|
private java.util.Date uploadTime;
|
|
// ---------- 补齐的字段 ----------
|
|
/** 创建时间(原 L1157 setCreateTime(new Date())) */
|
private java.util.Date createTime;
|
|
/** 更新时间(原 L1158/L1163 setUpdateTime(new Date())) */
|
private java.util.Date updateTime;
|
|
public Long getId() {
|
return id;
|
}
|
|
public void setId(Long id) {
|
this.id = id;
|
}
|
|
public Long getTaskid() {
|
return taskid;
|
}
|
public void setTaskid(Long taskid) {
|
this.taskid = taskid;
|
}
|
|
public String getOrgid() {
|
return orgid;
|
}
|
|
public void setOrgid(String orgid) {
|
this.orgid = orgid;
|
}
|
|
public String getCampusid() {
|
return campusid;
|
}
|
|
public void setCampusid(String campusid) {
|
this.campusid = campusid;
|
}
|
|
public Long getPatid() {
|
return patid;
|
}
|
|
public void setPatid(Long patid) {
|
this.patid = patid;
|
}
|
|
public String getSendname() {
|
return sendname;
|
}
|
|
public void setSendname(String sendname) {
|
this.sendname = sendname;
|
}
|
|
public String getSfzh() {
|
return sfzh;
|
}
|
|
public void setSfzh(String sfzh) {
|
this.sfzh = sfzh;
|
}
|
|
public String getPhone() {
|
return phone;
|
}
|
|
public void setPhone(String phone) {
|
this.phone = phone;
|
}
|
|
public Long getSex() {
|
return sex;
|
}
|
|
public void setSex(Long sex) {
|
this.sex = sex;
|
}
|
|
public Long getAge() {
|
return age;
|
}
|
|
public void setAge(Long age) {
|
this.age = age;
|
}
|
|
public Long getInhospid() {
|
return inhospid;
|
}
|
|
public void setInhospid(Long inhospid) {
|
this.inhospid = inhospid;
|
}
|
|
public String getSerialnum() {
|
return serialnum;
|
}
|
|
public void setSerialnum(String serialnum) {
|
this.serialnum = serialnum;
|
}
|
|
public String getHospno() {
|
return hospno;
|
}
|
|
public void setHospno(String hospno) {
|
this.hospno = hospno;
|
}
|
|
public String getNurseId() {
|
return nurseId;
|
}
|
|
public void setNurseId(String nurseId) {
|
this.nurseId = nurseId;
|
}
|
|
public String getNurseName() {
|
return nurseName;
|
}
|
|
public void setNurseName(String nurseName) {
|
this.nurseName = nurseName;
|
}
|
|
public String getDrcode() {
|
return drcode;
|
}
|
|
public void setDrcode(String drcode) {
|
this.drcode = drcode;
|
}
|
|
public String getDrname() {
|
return drname;
|
}
|
|
public void setDrname(String drname) {
|
this.drname = drname;
|
}
|
|
public String getManagementDoctor() {
|
return managementDoctor;
|
}
|
|
public void setManagementDoctor(String managementDoctor) {
|
this.managementDoctor = managementDoctor;
|
}
|
|
public String getManagementDoctorCode() {
|
return managementDoctorCode;
|
}
|
|
public void setManagementDoctorCode(String managementDoctorCode) {
|
this.managementDoctorCode = managementDoctorCode;
|
}
|
|
public String getDeptcode() {
|
return deptcode;
|
}
|
|
public void setDeptcode(String deptcode) {
|
this.deptcode = deptcode;
|
}
|
|
public String getDeptname() {
|
return deptname;
|
}
|
|
public void setDeptname(String deptname) {
|
this.deptname = deptname;
|
}
|
|
public String getLeavehospitaldistrictcode() {
|
return leavehospitaldistrictcode;
|
}
|
|
public void setLeavehospitaldistrictcode(String leavehospitaldistrictcode) {
|
this.leavehospitaldistrictcode = leavehospitaldistrictcode;
|
}
|
|
public String getLeavehospitaldistrictname() {
|
return leavehospitaldistrictname;
|
}
|
|
public void setLeavehospitaldistrictname(String leavehospitaldistrictname) {
|
this.leavehospitaldistrictname = leavehospitaldistrictname;
|
}
|
|
public String getLeaveicd10code() {
|
return leaveicd10code;
|
}
|
|
public void setLeaveicd10code(String leaveicd10code) {
|
this.leaveicd10code = leaveicd10code;
|
}
|
|
public String getLeavediagname() {
|
return leavediagname;
|
}
|
|
public void setLeavediagname(String leavediagname) {
|
this.leavediagname = leavediagname;
|
}
|
|
public String getDiagname() {
|
return diagname;
|
}
|
|
public void setDiagname(String diagname) {
|
this.diagname = diagname;
|
}
|
|
public Long getTemplateid() {
|
return templateid;
|
}
|
|
public void setTemplateid(Long templateid) {
|
this.templateid = templateid;
|
}
|
|
public String getTemplatename() {
|
return templatename;
|
}
|
|
public void setTemplatename(String templatename) {
|
this.templatename = templatename;
|
}
|
|
public Long getLibtemplateid() {
|
return libtemplateid;
|
}
|
|
public void setLibtemplateid(Long libtemplateid) {
|
this.libtemplateid = libtemplateid;
|
}
|
|
public Date getStarttime() {
|
return starttime;
|
}
|
|
public void setStarttime(Date starttime) {
|
this.starttime = starttime;
|
}
|
|
public Date getEndtime() {
|
return endtime;
|
}
|
|
public void setEndtime(Date endtime) {
|
this.endtime = endtime;
|
}
|
|
public Date getLongSendTime() {
|
return longSendTime;
|
}
|
|
public void setLongSendTime(Date longSendTime) {
|
this.longSendTime = longSendTime;
|
}
|
|
public Date getVisitTime() {
|
return visitTime;
|
}
|
|
public void setVisitTime(Date visitTime) {
|
this.visitTime = visitTime;
|
}
|
|
public Long getSendstate() {
|
return sendstate;
|
}
|
|
public void setSendstate(Long sendstate) {
|
this.sendstate = sendstate;
|
}
|
|
public Long getSubmit() {
|
return submit;
|
}
|
|
public void setSubmit(Long submit) {
|
this.submit = submit;
|
}
|
|
public String getDiagType() {
|
return diagType;
|
}
|
|
public void setDiagType(String diagType) {
|
this.diagType = diagType;
|
}
|
|
public Integer getVisitCount() {
|
return visitCount;
|
}
|
|
public void setVisitCount(Integer visitCount) {
|
this.visitCount = visitCount;
|
}
|
|
public Integer getIsVisitAgain() {
|
return isVisitAgain;
|
}
|
|
public void setIsVisitAgain(Integer isVisitAgain) {
|
this.isVisitAgain = isVisitAgain;
|
}
|
|
public String getVisitDeptCode() {
|
return visitDeptCode;
|
}
|
|
public void setVisitDeptCode(String visitDeptCode) {
|
this.visitDeptCode = visitDeptCode;
|
}
|
|
public String getVisitDeptName() {
|
return visitDeptName;
|
}
|
|
public void setVisitDeptName(String visitDeptName) {
|
this.visitDeptName = visitDeptName;
|
}
|
|
public String getServiceType() {
|
return serviceType;
|
}
|
|
public void setServiceType(String serviceType) {
|
this.serviceType = serviceType;
|
}
|
|
public String getHospType() {
|
return hospType;
|
}
|
|
public void setHospType(String hospType) {
|
this.hospType = hospType;
|
}
|
|
public String getPreachform() {
|
return preachform;
|
}
|
|
public void setPreachform(String preachform) {
|
this.preachform = preachform;
|
}
|
|
public Integer getTaskSituation() {
|
return taskSituation;
|
}
|
|
public void setTaskSituation(Integer taskSituation) {
|
this.taskSituation = taskSituation;
|
}
|
|
public String getResult() {
|
return result;
|
}
|
|
public void setResult(String result) {
|
this.result = result;
|
}
|
|
public String getRemark() {
|
return remark;
|
}
|
|
public void setRemark(String remark) {
|
this.remark = remark;
|
}
|
|
public Long getOperationItemId() {
|
return operationItemId;
|
}
|
|
public void setOperationItemId(Long operationItemId) {
|
this.operationItemId = operationItemId;
|
}
|
|
public String getCreateBy() {
|
return createBy;
|
}
|
|
public void setCreateBy(String createBy) {
|
this.createBy = createBy;
|
}
|
|
public String getUpdateBy() {
|
return updateBy;
|
}
|
|
public void setUpdateBy(String updateBy) {
|
this.updateBy = updateBy;
|
}
|
|
public String getLongTaskReason() {
|
return longTaskReason;
|
}
|
|
public void setLongTaskReason(String longTaskReason) {
|
this.longTaskReason = longTaskReason;
|
}
|
|
// ---------- 上述 18 个承载字段的访问器 ----------
|
|
public String getDelFlag() {
|
return delFlag;
|
}
|
|
public void setDelFlag(String delFlag) {
|
this.delFlag = delFlag;
|
}
|
|
public java.util.Date getEndOutHospTime() {
|
return endOutHospTime;
|
}
|
|
public void setEndOutHospTime(java.util.Date endOutHospTime) {
|
this.endOutHospTime = endOutHospTime;
|
}
|
|
public String getGuid() {
|
return guid;
|
}
|
|
public void setGuid(String guid) {
|
this.guid = guid;
|
}
|
|
public Long getIsupload() {
|
return isupload;
|
}
|
|
public void setIsupload(Long isupload) {
|
this.isupload = isupload;
|
}
|
|
public java.util.List<String> getLeavehospitaldistrictcodes() {
|
return leavehospitaldistrictcodes;
|
}
|
|
public void setLeavehospitaldistrictcodes(java.util.List<String> leavehospitaldistrictcodes) {
|
this.leavehospitaldistrictcodes = leavehospitaldistrictcodes;
|
}
|
|
public java.util.List<String> getLeaveldeptcodes() {
|
return leaveldeptcodes;
|
}
|
|
public void setLeaveldeptcodes(java.util.List<String> leaveldeptcodes) {
|
this.leaveldeptcodes = leaveldeptcodes;
|
}
|
|
public String getLibtemplatename() {
|
return libtemplatename;
|
}
|
|
public void setLibtemplatename(String libtemplatename) {
|
this.libtemplatename = libtemplatename;
|
}
|
|
public Integer getPageNum() {
|
return pageNum;
|
}
|
|
public void setPageNum(Integer pageNum) {
|
this.pageNum = pageNum;
|
}
|
|
public Integer getPageSize() {
|
return pageSize;
|
}
|
|
public void setPageSize(Integer pageSize) {
|
this.pageSize = pageSize;
|
}
|
|
public Long getPid() {
|
return pid;
|
}
|
|
public void setPid(Long pid) {
|
this.pid = pid;
|
}
|
|
public String getSendType() {
|
return sendType;
|
}
|
|
public void setSendType(String sendType) {
|
this.sendType = sendType;
|
}
|
|
public java.util.Date getStartOutHospTime() {
|
return startOutHospTime;
|
}
|
|
public void setStartOutHospTime(java.util.Date startOutHospTime) {
|
this.startOutHospTime = startOutHospTime;
|
}
|
|
public String getTaskDesc() {
|
return taskDesc;
|
}
|
|
public void setTaskDesc(String taskDesc) {
|
this.taskDesc = taskDesc;
|
}
|
|
public String getTaskName() {
|
return taskName;
|
}
|
|
public void setTaskName(String taskName) {
|
this.taskName = taskName;
|
}
|
|
public String getTextParam() {
|
return textParam;
|
}
|
|
public void setTextParam(String textParam) {
|
this.textParam = textParam;
|
}
|
|
public String getType() {
|
return type;
|
}
|
|
public void setType(String type) {
|
this.type = type;
|
}
|
|
public java.util.Date getUploadTime() {
|
return uploadTime;
|
}
|
|
public void setUploadTime(java.util.Date uploadTime) {
|
this.uploadTime = uploadTime;
|
}
|
|
|
// ---------- 补齐字段的访问器 ----------
|
|
public java.util.Date getCreateTime() {
|
return createTime;
|
}
|
|
public void setCreateTime(java.util.Date createTime) {
|
this.createTime = createTime;
|
}
|
|
public java.util.Date getUpdateTime() {
|
return updateTime;
|
}
|
|
public void setUpdateTime(java.util.Date updateTime) {
|
this.updateTime = updateTime;
|
}
|
|
}
|