刘光辉
昨天 bb638871a7fb692d80f1b7a758f991dc0879002c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
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<LimsQingyandanEntity> {
 
    /**
     * 通过 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<LimsSxtQuyangJihuaRenwuJianyanXiangKuaizhaoEntity> 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);
}