DELL
6 天以前 88abda34da2c7437c8191da83972279d18ff9418
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
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
<?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.whyc.mapper.WorkflowMainMapper" >
 
    <sql id="linkColumn">
        l.id link_id,
        l.main_id,
        l.parent_id,
        l.process_stage,
        l.process_name,
        l.create_time link_create_time,
        l.deal_user_id,
        l.deal_type,
        l.deal_desc,
        l.deal_file_name,
        l.deal_file_url,
        l.deal_pic_name,
        l.deal_pic_url,
        l.status link_status,
        l.deal_role_id,
        l.deal_and_close,
        l.deal_reject_reason,
        l.deal_task_num,
        l.deal_task_reply_num,
        l.deal_reason,
        l.required_finish_time,
        l.deal_time,
        l.reply_content,
        l.reply_time
    </sql>
 
    <resultMap id="Map_WorkflowMain" type="WorkflowMain">
        <id column="id" property="id"/>
        <result column="title" property="title"/>
        <result column="order_id" property="orderId"/>
        <result column="task_desc" property="taskDesc"/>
        <result column="create_time" property="createTime"/>
        <result column="create_user_id" property="createUserId"/>
        <result column="create_user_name" property="createUserName"/>
        <result column="plan_begin_time" property="planBeginTime"/>
        <result column="plan_end_time" property="planEndTime"/>
        <result column="begin_time" property="beginTime"/>
        <result column="end_time" property="endTime"/>
        <result column="task_level" property="taskLevel"/>
        <result column="is_in_time" property="inTime"/>
        <result column="file_name" property="fileName"/>
        <result column="file_url" property="fileUrl"/>
        <result column="pic_name" property="picName"/>
        <result column="pic_url" property="picUrl"/>
        <result column="end_reason" property="endReason"/>
        <result column="status" property="status"/>
        <result column="is_auto" property="auto"/>
        <result column="type" property="type"/>
        <collection property="linkList" ofType="WorkflowLink">
            <id column="link_id" property="id"/>
            <result column="main_id" property="mainId"/>
            <result column="parent_id" property="parentId"/>
            <result column="process_stage" property="processStage"/>
            <result column="process_name" property="processName"/>
            <result column="link_create_time" property="createTime"/>
            <result column="deal_user_id" property="dealUserId"/>
            <result column="deal_type" property="dealType"/>
            <result column="deal_desc" property="dealDesc"/>
            <result column="deal_file_name" property="dealFileName"/>
            <result column="deal_file_url" property="dealFileUrl"/>
            <result column="deal_pic_name" property="dealPicName"/>
            <result column="deal_pic_url" property="dealPicUrl"/>
            <result column="link_status" property="status"/>
            <result column="deal_role_id" property="dealRoleId"/>
            <result column="deal_and_close" property="dealAndClose"/>
            <result column="deal_reject_reason" property="dealRejectReason"/>
            <result column="deal_task_num" property="dealTaskNum"/>
            <result column="deal_task_reply_num" property="dealTaskReplyNum"/>
            <result column="deal_reason" property="dealReason"/>
            <result column="deal_time" property="dealTime"/>
            <result column="required_finish_time" property="requiredFinishTime"/>
            <result column="reply_content" property="replyContent"/>
            <result column="reply_time" property="replyTime"/>
        </collection>
    </resultMap>
 
    <select id="getReceivedListByUserAndType" resultMap="Map_WorkflowMain">
        <choose>
            <!--全部-->
            <when test="status==0">
                SELECT m.*,u.name as create_user_name,<include refid="linkColumn" />
                    FROM web_site.tb_workflow_main m,web_site.tb_workflow_link l,db_user.tb_user u
                    where m.id = l.main_id
                    and m.create_user_id = u.id
                    and m.type = #{type}
                    and l.deal_role_id = #{user.role}
                    and l.deal_user_id is null
                union all
                SELECT m.*,u.name as create_user_name,<include refid="linkColumn" />
                    FROM web_site.tb_workflow_main m,web_site.tb_workflow_link l,db_user.tb_user u
                    where m.id = l.main_id
                    and m.create_user_id = u.id
                    and m.type = #{type}
                    and l.deal_user_id = #{user.id} order by id desc
            </when>
            <!--待接单-->
            <when test="status==1">
                SELECT m.*,u.name as create_user_name,<include refid="linkColumn" />
                FROM web_site.tb_workflow_main m,web_site.tb_workflow_link l,db_user.tb_user u
                where m.id = l.main_id
                and m.create_user_id = u.id
                and m.type = #{type}
                and l.deal_role_id = #{user.role}
                and l.deal_user_id is null
                and l.status = #{status} order by m.id desc
            </when>
            <otherwise>
                SELECT m.*,u.name as create_user_name,<include refid="linkColumn" />
                FROM web_site.tb_workflow_main m,web_site.tb_workflow_link l,db_user.tb_user u
                where m.id = l.main_id
                and m.create_user_id = u.id
                and m.type = #{type}
                and l.deal_user_id = #{user.id}
                and l.status = #{status} order by m.id desc
            </otherwise>
        </choose>
 
    </select>
    <select id="getMaxId" resultType="java.lang.Integer">
        select max(id)
        from web_site.tb_workflow_main
    </select>
</mapper>