1
lige
2023-09-12 b17a6795e6774805d66cc01d92f8933ae616b83e
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
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
package com.ltkj.hosp.mapper;
 
import java.util.List;
 
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ltkj.hosp.domain.TjOrderDetail;
import com.ltkj.hosp.domain.TjProject;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
 
/**
 * 体检项目明细Mapper接口
 *
 * @author ltkj
 * @date 2022-11-22
 */
@Mapper
public interface TjOrderDetailMapper extends BaseMapper<TjOrderDetail> {
    /**
     * 查询体检项目明细
     *
     * @param orderDetailId 体检项目明细主键
     * @return 体检项目明细
     */
    public TjOrderDetail selectTjOrderDetailByOrderDetailId(String orderDetailId);
 
    /**
     * 查询体检项目明细列表
     *
     * @param tjOrderDetail 体检项目明细
     * @return 体检项目明细集合
     */
    public List<TjOrderDetail> selectTjOrderDetailList(TjOrderDetail tjOrderDetail);
 
    /**
     * 新增体检项目明细
     *
     * @param tjOrderDetail 体检项目明细
     * @return 结果
     */
    public int insertTjOrderDetail(TjOrderDetail tjOrderDetail);
 
    /**
     * 修改体检项目明细
     *
     * @param tjOrderDetail 体检项目明细
     * @return 结果
     */
    public int updateTjOrderDetail(TjOrderDetail tjOrderDetail);
 
    /**
     * 删除体检项目明细
     *
     * @param orderDetailId 体检项目明细主键
     * @return 结果
     */
    public int deleteTjOrderDetailByOrderDetailId(String orderDetailId);
 
    /**
     * 批量删除体检项目明细
     *
     * @param orderDetailIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteTjOrderDetailByOrderDetailIds(String[] orderDetailIds);
 
 
    /**
     * 查询已缴费项目
     */
    @Select("SELECT * FROM tj_project p WHERE p.pro_parent_id =0 AND p.pro_id IN (\n" +
            "  SELECT a.pro_id FROM tj_order_detail a WHERE !ISNULL(flowing_water_id) AND order_id=#{orderId})")
    public List<TjProject> selectTjOrderDetailListByFlowingWaterIdIsNotNull(String orderId);
 
 
 
 
 
    /**
     * 查询未缴费项目
     */
    @Select("SELECT * FROM tj_project p WHERE p.pro_parent_id =0 AND p.pro_id IN (\n" +
            "  SELECT a.pro_id FROM tj_order_detail a WHERE ISNULL(flowing_water_id) AND order_id=#{orderId})")
    public List<TjProject> selectTjOrderDetailListByFlowingWaterIdIsNull(String orderId);
 
 
    @Select("SELECT * FROM tj_order_detail WHERE order_id=#{orderId} AND !ISNULL(flowing_water_id) AND deleted='0'")
    public List<TjOrderDetail> getTjOrderDetailListByOrderId(String orderId);
 
    @Select("SELECT * FROM tj_order_detail WHERE order_id=#{orderId}  AND deleted='0'")
    public List<TjOrderDetail> getTjOrderDetailsByOrderId(String orderId);
 
    @Select("SELECT * FROM tj_order_detail WHERE deleted='0' AND order_id=#{orderId} AND pro_id=#{proId}")
    public TjOrderDetail getTjOrderDetailByOrderId(@Param("orderId") String orderId,@Param("proId") String proId);
 
    @Select("SELECT * FROM tj_order_detail WHERE deleted='0' AND order_id=#{orderId} AND tj_status in (0,3)  AND !ISNULL(flowing_water_id)")
    public List<TjOrderDetail> getTjOrderDetailListByOrderIdAndStatus(String orderId);
 
    @Select({"<script>", "select", "*", "from tj_order_detail", "where order_id =#{orderId} AND pro_id in", "<foreach collection='proParentIdList' item='id' open='(' separator=',' close=')'>",
            "#{id}",
            "</foreach>",
            "</script>" })
    public List<TjOrderDetail> getTjOrderDetailListInProParentIdList(@Param("orderId") String orderId,@Param("proParentIdList") List<Long> proParentIdList);
 
 
    @Select("SELECT * FROM tj_order_detail WHERE exception_desc='1'AND deleted='0' AND create_time BETWEEN IFNULL('${startDate}','1970-01-01 00:00:00') AND IFNULL('${endDate}',SYSDATE())")
    List<TjOrderDetail> getTjOrderDetailList(@Param("startDate") String startDate,@Param("endDate") String endDate);
}