package jnpf.limsEntity; import com.baomidou.mybatisplus.annotation.FieldFill; import com.baomidou.mybatisplus.annotation.FieldStrategy; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.fasterxml.jackson.annotation.JsonAlias; import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonProperty; import lombok.Data; import java.util.Date; /** * 样品检验任务项。 * 由 LimsQingyandanService 在请验单 submit 时按勾选的质量标准子项批量生成 * (初始 jianyan_zhuangtai=created + fenjian_zhuangtai=wei_fenjian), * 经「样品分检」动作推进到 pending_assign。 */ @Data @TableName("lims_jianyan_xiang") public class LimsJianyanXiangEntity { @TableId(value = "f_id") @JsonProperty("f_id") @JsonAlias("id") private String id; /** * 外键,指向质量标准子项 zhiliang_biaozhun_guanli_zixiang.f_id(检测项模板)。 * 请验单 submit 创建本行时由 LimsQingyandanServiceImpl.buildXiangFromQingyandan 写入, * 此后不再变更(全仓唯一写入点;报告生成流程不覆盖此列)。 * 是反查质量标准 / 检验项目的稳定外键(见 LimsYichangDiaochaServiceImpl 的确定性反查链)。 */ @TableField("f_foreign_id") private String foreignId; @TableField(value = "f_tenant_id", fill = FieldFill.INSERT_UPDATE) private String tenantId; /** 请验单 fid */ @TableField("qingyandan_id") private String qingyandanId; /** 生成本检验项的水系统取样计划任务主键 */ @TableField("laiyuan_renwu_id") private String laiyuanRenwuId; /** 生成本检验项的任务检验项快照主键 */ @TableField("renwu_jianyan_xiang_kuaizhao_id") private String renwuJianyanXiangKuaizhaoId; /** 请验类型 */ @TableField("biz_type") private String bizType; /** 检验流水号 */ @TableField("jianyan_liushuihao") private String jianyanLiushuihao; /** 产品 id */ @TableField("chanpin_id") private String chanpinId; /** 产品编码 */ @TableField("chanpin_bianma") private String chanpinBianma; /** 产品名称 */ @TableField("chanpin_mingcheng") private String chanpinMingcheng; /** 批号 */ @TableField("pihao") private String pihao; /** 规格 */ @TableField("guige") private String guige; /** 检验项目编码 */ @TableField("jianyan_xiangmu_bianma") private String jianyanXiangmuBianma; /** 检验项目名称 */ @TableField("jianyan_xiangmu_mingcheng") private String jianyanXiangmuMingcheng; /** 分析类型 / 质量属性,从 lims_qingyandan_jiancexiang.fenxi_leixing 复制(报告分组用) */ @TableField("fenxi_leixing") private String fenxiLeixing; /** 是否外检(从 lims_qingyandan_jiancexiang.shifou_waijian 复制) */ @TableField("shifou_waijian") private String shifouWaijian; /** 是否出具报告(从 lims_qingyandan_jiancexiang.shifou_chuju_baogao 复制,报告渲染剔除 "no" 项) */ @TableField("shifou_chuju_baogao") private String shifouChujuBaogao; /** 外检检测单位(shifou_waijian=yes 时录入结果必传) */ @TableField("waijian_danwei") private String waijianDanwei; /** 外检结果录入人(shifou_waijian=yes 时录入结果必传,业务侧填用户姓名或委外联系人) */ @TableField("waijian_lururen") private String waijianLururen; /** 标准规定 */ @TableField("biaozhun_guiding") private String biaozhunGuiding; /** 标准上限(创建检验项时从质量标准子项冗余) */ @TableField("biaozhun_shangxian") private String biaozhunShangxian; /** 标准下限(创建检验项时从质量标准子项冗余) */ @TableField("biaozhun_xiaxian") private String biaozhunXiaxian; /** 数据类型(从检测项模板快照) */ @TableField("shuju_leixing") private String shujuLeixing; /** 检查班组 */ @TableField("jiancha_banzu") private String jianchaBanzu; /** 检查人(检验员 userId,初始为 null,待"分配"动作填入) */ @TableField("jiancha_ren") private String jianchaRen; /** 完成日期(审核通过时填入) */ @TableField("wancheng_riqi") @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") private Date wanchengRiqi; /** * 已发提醒标记 csv(D7,D3,D1,EXPIRED)。 * daily 扫描发出每个分支提醒后追加对应标记; * assign 接口写入 wancheng_riqi 时一律置为 null(视同重新计时)。 * 该列可被置空,updateStrategy = ALWAYS。 */ @TableField(value = "remind_flags", updateStrategy = FieldStrategy.ALWAYS) private String remindFlags; /** 检验状态(JianyanStatus) */ @TableField("jianyan_zhuangtai") private String jianyanZhuangtai; /** 任务分配人(执行分配动作的当前登录用户 userId) */ @TableField("renwu_fenpeiren") private String renwuFenpeiren; /** 任务分配时间 */ @TableField("renwu_fenpei_shijian") private Date renwuFenpeiShijian; /** 检验结果(文字 / 数值描述) */ @TableField("jianyan_jieguo") private String jianyanJieguo; /** 检验结论(JianyanJielun.code) */ @TableField("jianyan_jielun") private String jianyanJielun; /** 附件(文件名 / id 列表,分隔符由前端约定) */ @TableField("biz_files") private String bizFiles; /** 结果录入日期(submit-result 时写入的当前时间) */ @TableField("jieguo_luru_riqi") private Date jieguoLuruRiqi; /** 任务结果退回人(audit-fail 时写入的当前登录用户 userId) */ @TableField("renwu_tuihuiren") private String renwuTuihuiren; /** 任务退回原因(前端 note 字段写入) */ @TableField("tuihui_yuanyin") private String tuihuiYuanyin; /** 任务结果录入审核人(审核通过时写入的当前登录用户 userId) */ @TableField("renwu_shenheren") private String renwuShenheren; /** * 分检状态:{@code wei_fenjian} / {@code fenjian}(见 {@link FenjianZhuangtai})。 * 仅 {@code POST /lims/biz/jieyang/edit-direct} 直写路径写入的检验项使用; * 走传统 {@code /jieyang/edit} + 班组接收路径生成的行保持 NULL。 */ @TableField("fenjian_zhuangtai") private String fenjianZhuangtai; /** * 分检量。仅 {@code POST /lims/biz/jieyang/edit-direct} 直写路径写入; * 老路径生成的行保持 NULL。下同 fenjian_* 字段。 */ @TableField("fenjian_liang") private String fenjianLiang; /** 分检单位(仅直写路径写入) */ @TableField("fenjian_danwei") private String fenjianDanwei; /** 分装容器(仅直写路径写入) */ @TableField("fenjian_fenzhuang_rongqi") private String fenjianFenzhuangRongqi; /** 分检保存条件(仅直写路径写入) */ @TableField("fenjian_baocun_tiaojian") private String fenjianBaocunTiaojian; /** 分检环境(仅直写路径写入) */ @TableField("fenjian_huanjing") private String fenjianHuanjing; /** 分检人(执行「样品分检」动作的当前登录用户 userId;submit 创建时为空) */ @TableField("fenjian_ren") private String fenjianRen; /** 分检日期(执行「样品分检」动作的当前时间;submit 创建时为空) */ @TableField("fenjian_riqi") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private Date fenjianRiqi; /** 异常调查类型(字典 jianyanYichangDiaochaLeixing:na/ad/oos/oot),结果录入时写入,见 {@link YichangDiaochaLeixing} */ @TableField("yichang_diaocha_leixing") private String yichangDiaochaLeixing; /** 是否组合分拣(样品级配置,请验单提交创建检验项时从质量标准主表 shifou_zuhe_fenjian 复制) */ @TableField("shifou_zuhe_fenjian") private String shifouZuheFenjian; /** * 组合id(后端生成)。同一次 {@code POST /lims/biz/jiance-task/accept} 分检请求里, * 所有 {@code shifou_zuhe_fenjian=yes} 的行共享同一个 uuId;非组合行保持 NULL。 */ @TableField("zuhe_id") private String zuheId; /** 组合分检量(前端在 /accept 请求级提交;仅 shifou_zuhe_fenjian=yes 的组合行写入,前端传了才写、不校验空) */ @TableField("zuhe_fenjian_liang") private String zuheFenjianLiang; /** 组合分检单位(前端在 /accept 请求级提交;仅 shifou_zuhe_fenjian=yes 的组合行写入,前端传了才写、不校验空) */ @TableField("zuhe_fenjian_danwei") private String zuheFenjianDanwei; /** 删除标志 */ @TableField("f_delete_mark") private Integer deleteMark; /** 删除时间 */ @TableField("f_delete_time") private Date deleteTime; /** 删除用户 */ @TableField("f_delete_user_id") private String deleteUserId; /** 任务复审时间 */ @TableField("renwu_shenheren_shijian") private Date renwuShenherenShijian; /** 合同号 */ @TableField("hetonghao") private String hetonghao; /** 合同号 */ @TableField("beizhu") private String beizhu; }