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
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.testor.module.regime.dao.TRegimeDataDao">
<select id="findDepositoryList" resultType="com.testor.module.regime.model.dto.TRegimeDataListVo">
SELECT
a.id,
a.org_id,
a.materials_name,
a.release_unit,
a.level,
a.one_materials_type,
a.sen_materials_type,
a.update_date,
IFNULL( b.nature, b.tree_level ) AS company_nature,
a.regime_data_type
FROM
t_regime_data a
LEFT JOIN t_sys_org b ON a.release_unit_id = b.org_id
where a.status = 0
<if test="param.materialsName!=null and param.materialsName!=''">
AND a.materials_name like concat('%', #{param.materialsName},'%')
</if>
<if test="param.startTime!=null and param.startTime!=''">
AND a.update_date >= #{param.startTime}
</if>
<if test="param.endTime!=null and param.endTime!=''">
AND a.update_date <= #{param.endTime}
</if>
<if test="param.level!=null and param.level!='' and param.level != 1 ">
AND a.level > 1
</if>
<if test="param.level!=null and param.level!='' and param.level == 1 ">
AND a.level = 1
</if>
<if test="param.companyNature!=null and param.companyNature!=''">
AND IFNULL( b.nature, b.tree_level ) = #{param.companyNature}
</if>
<if test="param.regimeDataType!=null and param.regimeDataType!=''">
AND a.regime_data_type = #{param.regimeDataType}
</if>
<if test="param.oneMaterialsType!=null and param.oneMaterialsType!='' and param.senMaterialsType!=null and param.senMaterialsType!=''">
AND a.one_materials_type = #{param.oneMaterialsType} AND a.sen_materials_type = #{param.senMaterialsType}
</if>
<if test=" (param.oneMaterialsType =='an' or param.oneMaterialsType =='jie' ) and (param.senMaterialsType == null or param.senMaterialsType=='')">
AND ( a.one_materials_type in
<foreach open="(" close=")" separator="," collection="param.oneMaterialsTypeList" item="item" index="index">
#{item}
</foreach>
OR
a.sen_materials_type in
<foreach open="(" close=")" separator="," collection="param.senMaterialsTypeList" item="item" index="index">
#{item}
</foreach>
)
</if>
<if test=" (param.oneMaterialsType =='jc_zhgl' or param.oneMaterialsType =='jc_5sgl' ) and (param.senMaterialsType == null or param.senMaterialsType=='')">
AND a.sen_materials_type in
<foreach open="(" close=")" separator="," collection="param.senMaterialsTypeList" item="item" index="index">
#{item}
</foreach>
</if>
<if test=" (param.oneMaterialsType =='yij' ) and (param.senMaterialsType == null or param.senMaterialsType=='')">
AND a.one_materials_type = #{param.oneMaterialsType}
</if>
ORDER BY company_nature ASC, a.update_date DESC
</select>
</mapper>