AsraDailySmapper.xml
4.36 KB
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
<?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.zteits.oa.report.mapper.smapper.AsraDailySmapper">
<resultMap id="BaseResultMap" type="com.zteits.oa.report.domain.AsraDaily">
<id column="id" jdbcType="BIGINT" property="id" />
<result column="project_id" jdbcType="BIGINT" property="projectId" />
<result column="asar_op_id" jdbcType="BIGINT" property="asarOpId" />
<result column="asar_op_name" jdbcType="VARCHAR" property="asarOpName" />
<result column="years" jdbcType="INTEGER" property="years" />
<result column="weeks" jdbcType="INTEGER" property="weeks" />
<result column="weeks_num" jdbcType="INTEGER" property="weeksNum" />
<result column="daily_date" jdbcType="DATE" property="dailyDate" />
<result column="data_state" jdbcType="INTEGER" property="dataState" />
<result column="create_empid" jdbcType="VARCHAR" property="createEmpid" />
<result column="create_emp_name" jdbcType="VARCHAR" property="createEmpName" />
<result column="create_date" jdbcType="TIMESTAMP" property="createDate" />
<result column="modfiy_empid" jdbcType="VARCHAR" property="modfiyEmpid" />
<result column="modfiy_emp_name" jdbcType="VARCHAR" property="modfiyEmpName" />
<result column="modfiy_date" jdbcType="TIMESTAMP" property="modfiyDate" />
</resultMap>
<sql id="Base_Column_List">
id, project_id, asar_op_id, asar_op_name, years, weeks, weeks_num, daily_date, data_state,
create_empid, create_emp_name, create_date, modfiy_empid, modfiy_emp_name, modfiy_date
</sql>
<sql id="Blob_Column_List">
daily_content
</sql>
<!--工时查询-所有员工及自己或者自己日报-->
<select id="queryAsraDailyAllForList" parameterType="com.zteits.oa.api.dto.asradaily.param.AsraDailyForTotalNumAndDetailReq"
resultType="com.zteits.oa.report.domain.sdo.AsraDailyDO">
SELECT
max(a.id) as id,
a.project_id as projectId,
c.projec_name as projectName,
a.asar_op_id as asarOpId,
a.asar_op_name as asarOpName,
a.daily_date as dailyDate,
max(a.daily_content) as dailyContent,
'8' as asraHours
FROM
asra_project c,
asra_daily a
WHERE
1 = 1
AND a.project_id = c.id
AND a.asar_op_id in
<foreach collection="opIds" item="opId" open="(" close=")" separator=",">
#{opId}
</foreach>
AND a.data_state =1
<![CDATA[AND a.daily_date >= #{beginTime} ]]>
<![CDATA[AND a.daily_date <= #{endTime}]]>
<if test="projectId != null and projectId !=''">
and a.project_id=#{projectId}
</if>
<if test="opName != null and opName !=''">
and a.asar_op_name like CONCAT('%',#{opName},'%')
</if>
GROUP BY
a.project_id,
c.projec_name,
a.asar_op_id,
a.asar_op_name,
a.daily_date
order by a.project_id asc,asar_op_id asc,a.daily_date desc
</select>
<!-- 查询当天填报人数-->
<select id="queryAsraDailyOpNumForCurrentDay" parameterType="com.zteits.oa.api.dto.asradaily.param.AsraDailyForTotalNumAndDetailReq"
resultType="java.lang.Integer">
select count(1) from (
SELECT
a.asar_op_id,a.daily_date
FROM
asra_daily a
where 1=1
and a.data_state=1
and a.daily_date = #{beginTime}
and a.asar_op_id in
<foreach collection="opIds" item="opId" open="(" close=")" separator=",">
#{opId}
</foreach>
group by a.asar_op_id,a.daily_date)c
</select>
<!--工时查询-所有员工及自己或者自己项目人数 -->
<select id="queryAsraDailyAllCountForList" parameterType="com.zteits.oa.api.dto.asradaily.param.AsraDailyForTotalNumAndDetailReq"
resultType="com.zteits.oa.api.dto.asradaily.AsraProjectAndPersonNumDTO">
SELECT
a.project_id as projectId,
c.projec_name as projectName,
count(DISTINCT a.asar_op_id) as commitPersonNum
FROM
asra_project c,
asra_daily a
WHERE
1 = 1
AND a.project_id = c.id
AND a.asar_op_id in
<foreach collection="opIds" item="opId" open="(" close=")" separator=",">
#{opId}
</foreach>
AND a.data_state =1
<![CDATA[AND a.daily_date >= #{beginTime} ]]>
<![CDATA[AND a.daily_date <= #{endTime}]]>
<if test="projectId != null and projectId !=''">
and a.project_id=#{projectId}
</if>
<if test="opName != null and opName !=''">
and a.asar_op_name like CONCAT('%',#{opName},'%')
</if>
GROUP BY
a.project_id,
c.projec_name
</select>
</mapper>