package com.docus.server.message.feign.dto;

import com.alibaba.fastjson.JSON;
import lombok.Data;

/**
 * 文件上传参数
 * @date 2026/1/7 星期三 10:02
 * @author YongBin Wen
 */
@Data
public class ReportFile {
    /**
     * 住院号
     */
    private String zyh;
    /**
     * 住院次数
     */
    private Integer zycs;
    /**
     * 住院流水号（住院唯一）
     */
    private String jzh;
    /**
     * 文件id（主键）定义文件唯一
     */
    private String fileId;
    /**
     * 报告名称，例如：xx手术记录、临时医嘱 ...
     */
    private String fileName;
    /**
     * 文件类型，很少需要
     */
    private String fileType;
    /**
     * 报告申请时间
     */
    private String fileAfTime;
    /**
     * 报告时间
     */
    private String fileTime;
    /**
     * 最后更新时间
     */
    private String fileUpdateTime;
    /**
     * 报告来源：HIS、LIS、ECG ...
     */
    private String source;
    /**
     * 报告分类code
     */
    private String fileModule;
    /**
     * 报告分类名称，例如：病案首页、护理记录、病程记录 ...
     */
    private String fileModuleName;
    /**
     * 是否作废，1则作废文件
     */
    private Integer cancel;
    /**
     * 文件上传路径类型，1:http 、2：base64、5：本地base64文件、-1：本地文件
     */
    private Integer filePathType;
    /**
     * http地址、文件base64
     */
    private String filePath;

    public String toLogString() {
        ReportFile logObj = new ReportFile();
        logObj.setZyh(zyh);
        logObj.setZycs(zycs);
        logObj.setJzh(jzh);
        logObj.setFileId(fileId);
        logObj.setFileName(fileName);
        logObj.setFileType(fileType);
        logObj.setFileAfTime(fileAfTime);
        logObj.setFileTime(fileTime);
        logObj.setFileUpdateTime(fileUpdateTime);
        logObj.setSource(source);
        logObj.setCancel(cancel);
        logObj.setFilePathType(filePathType);
        logObj.setFilePath(filePath);
        if (filePathType.equals(2)) {
            String l = filePath.substring(0, 16);
            String r = filePath.substring(filePath.length() - 10);
            logObj.setFilePath(l + "..." + r);
        }
        logObj.setFileModule(fileModule);
        logObj.setFileModuleName(fileModuleName);
        return JSON.toJSONString(logObj);
    }
}
