package jnpf.limsService; import jnpf.base.service.SuperService; import jnpf.limsEntity.LimsQingyandanEntity; import jnpf.limsEntity.LimsSxtQuyangJihuaRenwuJianyanXiangKuaizhaoEntity; import java.util.List; public interface LimsQingyandanService extends SuperService { /** * 通过 formData 查找请验单:优先ID,兜底业务字段 */ LimsQingyandanEntity findByFormData(LimsQingyandanEntity formData); /** * 通过检验流水号查找请验单 */ LimsQingyandanEntity findByLiushuihao(String liushuihao); /** * 提交请验单:创建取样记录 + 更新状态 */ void submit(LimsQingyandanEntity qingyandan); /** * * 稳定性检验创建取样记录+检查项目 */ void wendingxingSubmit(LimsQingyandanEntity qingyandan); /** * 水系统自动创建请验单:创建取样记录 + 更新状态 */ LimsQingyandanEntity sxtAutoSubmit(LimsQingyandanEntity qingyandan); /** * 水系统任务快照自动创建请验单。该入口不查询当前质量标准或请验配置。 */ LimsQingyandanEntity sxtRenwuKuaizhaoAutoSubmit( LimsQingyandanEntity qingyandan, List jianyanKuaizhaoList); /** * 编辑请验单:更新业务字段 + 状态改为 confirmed + 创建取样记录 */ void edit(LimsQingyandanEntity qingyandan, LimsQingyandanEntity formData); /** * 取样:在请验单本行写入取样录入字段(实际量 + 取样信息), * quyang_status → fetched,jieyang_status → pending_receive(进入待接样)。 * 质量标准复制来的量/单位字段不被表单覆盖。 */ void fetch(LimsQingyandanEntity qingyandan, LimsQingyandanEntity formData); /** * 接样退回:退回到取样阶段重新取样。 * quyang_status → pending_fetch,jieyang_status 清空,biz_status 不变; * 写入接样退回原因 / 退回人;检验项保留不删。 */ boolean jieyangReject(LimsQingyandanEntity qingyandan, String tuihuiyuanyin, String bizSign); /** * 接样:在请验单本行写入接样录入字段,jieyang_status → received。 * 检验项 submit 时已创建,本步不创建、不改检验项状态。 */ void jieyangReceive(LimsQingyandanEntity qingyandan, LimsQingyandanEntity formData); /** * 用户自主撤回:仅 confirmed 状态可原子更新为 cancelled,成功后软删除检验项。 * * @return true 表示撤回实际生效;false 表示状态已变化、记录不存在或已删除 */ boolean cancel(LimsQingyandanEntity qingyandan); /** * 下游退回:软删除取样记录 + 状态改为 cancelled, * 同时写入退回原因、退回人(当前用户)、退回人签名 */ boolean reject(LimsQingyandanEntity qingyandan, String tuihuiyuanyin, String bizSign); /** * 废弃:状态改为 deleted */ void delete(LimsQingyandanEntity qingyandan); }