|
@@ -41,7 +41,8 @@
|
|
|
</resultMap>
|
|
</resultMap>
|
|
|
|
|
|
|
|
<sql id="Base_Column_List">
|
|
<sql id="Base_Column_List">
|
|
|
- id,
|
|
|
|
|
|
|
+ id
|
|
|
|
|
+ ,
|
|
|
dept_name,
|
|
dept_name,
|
|
|
team_name,
|
|
team_name,
|
|
|
xjdy,
|
|
xjdy,
|
|
@@ -449,4 +450,168 @@
|
|
|
</where>
|
|
</where>
|
|
|
</select>
|
|
</select>
|
|
|
|
|
|
|
|
|
|
+ <resultMap id="TotalResultMap" type="com.railway.business.bi.domain.vo.SbxjVO">
|
|
|
|
|
+ <result column="dept_name" property="deptName"/>
|
|
|
|
|
+ <result column="team_name" property="teamName"/>
|
|
|
|
|
+ <result column="sbmc" property="sbmc"/>
|
|
|
|
|
+ <result column="total" property="total"/>
|
|
|
|
|
+ <result column="planTotal" property="plan"/>
|
|
|
|
|
+ <result column="actualTotal" property="actual"/>
|
|
|
|
|
+ <result column="dx" property="dx"/>
|
|
|
|
|
+ </resultMap>
|
|
|
|
|
+
|
|
|
|
|
+ <select id="getTotal" resultMap="TotalResultMap">
|
|
|
|
|
+
|
|
|
|
|
+ select dept_name,
|
|
|
|
|
+ team_name,
|
|
|
|
|
+ '单元' as sbmc,
|
|
|
|
|
+ count(*) as total,
|
|
|
|
|
+ sum(plan) as planTotal,
|
|
|
|
|
+ sum(actual) as actualTotal,
|
|
|
|
|
+ round(sum(actual) * 100 / sum(plan)) as dx
|
|
|
|
|
+ from (select dept_name,
|
|
|
|
|
+ team_name,
|
|
|
|
|
+ case when plan is not null then 1 else 0 end as plan,
|
|
|
|
|
+ case when actual is not null then 1 else 0 end as actual
|
|
|
|
|
+ from (select dept_name, team_name,
|
|
|
|
|
+ <if test="month==1">plan1 as plan, actual1 as actual</if>
|
|
|
|
|
+ <if test="month==2">plan2 as plan, actual2 as actual</if>
|
|
|
|
|
+ <if test="month==3">plan3 as plan, actual3 as actual</if>
|
|
|
|
|
+ <if test="month==4">plan4 as plan, actual4 as actual</if>
|
|
|
|
|
+ <if test="month==5">plan5 as plan, actual5 as actual</if>
|
|
|
|
|
+ <if test="month==6">plan6 as plan, actual6 as actual</if>
|
|
|
|
|
+ <if test="month==7">plan7 as plan, actual7 as actual</if>
|
|
|
|
|
+ <if test="month==8">plan8 as plan, actual8 as actual</if>
|
|
|
|
|
+ <if test="month==9">plan9 as plan, actual9 as actual</if>
|
|
|
|
|
+ <if test="month==10">plan10 as plan, actual10 as actual</if>
|
|
|
|
|
+ <if test="month==11">plan11 as plan, actual11 as actual</if>
|
|
|
|
|
+ <if test="month==12">plan12 as plan, actual12 as actual</if>
|
|
|
|
|
+ from show_sbxj) a) b
|
|
|
|
|
+ group by dept_name, team_name
|
|
|
|
|
+
|
|
|
|
|
+ union
|
|
|
|
|
+
|
|
|
|
|
+ select dept_name,
|
|
|
|
|
+ team_name,
|
|
|
|
|
+ '箱变' as sbmc,
|
|
|
|
|
+ sum(xb) as total,
|
|
|
|
|
+ sum(plan) as planTotal,
|
|
|
|
|
+ sum(actual) as actualTotal,
|
|
|
|
|
+ round(sum(actual) * 100 / sum(plan)) as dx
|
|
|
|
|
+ from (select dept_name,
|
|
|
|
|
+ team_name,
|
|
|
|
|
+ xb,
|
|
|
|
|
+ case when plan is not null then 1 else 0 end as plan,
|
|
|
|
|
+ case when actual is not null then 1 else 0 end as actual
|
|
|
|
|
+ from (select dept_name, team_name, xb,
|
|
|
|
|
+ <if test="month==1">plan1 as plan, actual1 as actual</if>
|
|
|
|
|
+ <if test="month==2">plan2 as plan, actual2 as actual</if>
|
|
|
|
|
+ <if test="month==3">plan3 as plan, actual3 as actual</if>
|
|
|
|
|
+ <if test="month==4">plan4 as plan, actual4 as actual</if>
|
|
|
|
|
+ <if test="month==5">plan5 as plan, actual5 as actual</if>
|
|
|
|
|
+ <if test="month==6">plan6 as plan, actual6 as actual</if>
|
|
|
|
|
+ <if test="month==7">plan7 as plan, actual7 as actual</if>
|
|
|
|
|
+ <if test="month==8">plan8 as plan, actual8 as actual</if>
|
|
|
|
|
+ <if test="month==9">plan9 as plan, actual9 as actual</if>
|
|
|
|
|
+ <if test="month==10">plan10 as plan, actual10 as actual</if>
|
|
|
|
|
+ <if test="month==11">plan11 as plan, actual11 as actual</if>
|
|
|
|
|
+ <if test="month==12">plan12 as plan, actual12 as actual</if>
|
|
|
|
|
+ from show_sbxj
|
|
|
|
|
+ where xb is not null) a) b
|
|
|
|
|
+ group by dept_name, team_name
|
|
|
|
|
+
|
|
|
|
|
+ union
|
|
|
|
|
+
|
|
|
|
|
+ select dept_name,
|
|
|
|
|
+ team_name,
|
|
|
|
|
+ '10/0.4变电所' as sbmc,
|
|
|
|
|
+ sum(bds) as total,
|
|
|
|
|
+ sum(plan) as planTotal,
|
|
|
|
|
+ sum(actual) as actualTotal,
|
|
|
|
|
+ round(sum(actual) * 100 / sum(plan)) as dx
|
|
|
|
|
+ from (select dept_name,
|
|
|
|
|
+ team_name,
|
|
|
|
|
+ bds,
|
|
|
|
|
+ case when plan is not null then 1 else 0 end as plan,
|
|
|
|
|
+ case when actual is not null then 1 else 0 end as actual
|
|
|
|
|
+ from (select dept_name, team_name, bds,
|
|
|
|
|
+ <if test="month==1">plan1 as plan, actual1 as actual</if>
|
|
|
|
|
+ <if test="month==2">plan2 as plan, actual2 as actual</if>
|
|
|
|
|
+ <if test="month==3">plan3 as plan, actual3 as actual</if>
|
|
|
|
|
+ <if test="month==4">plan4 as plan, actual4 as actual</if>
|
|
|
|
|
+ <if test="month==5">plan5 as plan, actual5 as actual</if>
|
|
|
|
|
+ <if test="month==6">plan6 as plan, actual6 as actual</if>
|
|
|
|
|
+ <if test="month==7">plan7 as plan, actual7 as actual</if>
|
|
|
|
|
+ <if test="month==8">plan8 as plan, actual8 as actual</if>
|
|
|
|
|
+ <if test="month==9">plan9 as plan, actual9 as actual</if>
|
|
|
|
|
+ <if test="month==10">plan10 as plan, actual10 as actual</if>
|
|
|
|
|
+ <if test="month==11">plan11 as plan, actual11 as actual</if>
|
|
|
|
|
+ <if test="month==12">plan12 as plan, actual12 as actual</if>
|
|
|
|
|
+ from show_sbxj
|
|
|
|
|
+ where bds is not null) a) b
|
|
|
|
|
+ group by dept_name, team_name
|
|
|
|
|
+
|
|
|
|
|
+ union
|
|
|
|
|
+
|
|
|
|
|
+ select dept_name,
|
|
|
|
|
+ team_name,
|
|
|
|
|
+ '配电所' as sbmc,
|
|
|
|
|
+ sum(pds) as total,
|
|
|
|
|
+ sum(plan) as planTotal,
|
|
|
|
|
+ sum(actual) as actualTotal,
|
|
|
|
|
+ round(sum(actual) * 100 / sum(plan)) as dx
|
|
|
|
|
+ from (select dept_name,
|
|
|
|
|
+ team_name,
|
|
|
|
|
+ pds,
|
|
|
|
|
+ case when plan is not null then 1 else 0 end as plan,
|
|
|
|
|
+ case when actual is not null then 1 else 0 end as actual
|
|
|
|
|
+ from (select dept_name, team_name, pds,
|
|
|
|
|
+ <if test="month==1">plan1 as plan, actual1 as actual</if>
|
|
|
|
|
+ <if test="month==2">plan2 as plan, actual2 as actual</if>
|
|
|
|
|
+ <if test="month==3">plan3 as plan, actual3 as actual</if>
|
|
|
|
|
+ <if test="month==4">plan4 as plan, actual4 as actual</if>
|
|
|
|
|
+ <if test="month==5">plan5 as plan, actual5 as actual</if>
|
|
|
|
|
+ <if test="month==6">plan6 as plan, actual6 as actual</if>
|
|
|
|
|
+ <if test="month==7">plan7 as plan, actual7 as actual</if>
|
|
|
|
|
+ <if test="month==8">plan8 as plan, actual8 as actual</if>
|
|
|
|
|
+ <if test="month==9">plan9 as plan, actual9 as actual</if>
|
|
|
|
|
+ <if test="month==10">plan10 as plan, actual10 as actual</if>
|
|
|
|
|
+ <if test="month==11">plan11 as plan, actual11 as actual</if>
|
|
|
|
|
+ <if test="month==12">plan12 as plan, actual12 as actual</if>
|
|
|
|
|
+ from show_sbxj
|
|
|
|
|
+ where pds is not null) a) b
|
|
|
|
|
+ group by dept_name, team_name
|
|
|
|
|
+
|
|
|
|
|
+ union
|
|
|
|
|
+
|
|
|
|
|
+ select dept_name,
|
|
|
|
|
+ team_name,
|
|
|
|
|
+ '受电线路' as sbmc,
|
|
|
|
|
+ sum(sdxl) as total,
|
|
|
|
|
+ sum(plan) as planTotal,
|
|
|
|
|
+ sum(actual) as actualTotal,
|
|
|
|
|
+ round(sum(actual) * 100 / sum(plan)) as dx
|
|
|
|
|
+ from (select dept_name,
|
|
|
|
|
+ team_name,
|
|
|
|
|
+ sdxl,
|
|
|
|
|
+ case when plan is not null then 1 else 0 end as plan,
|
|
|
|
|
+ case when actual is not null then 1 else 0 end as actual
|
|
|
|
|
+ from (select dept_name, team_name, sdxl,
|
|
|
|
|
+ <if test="month==1">plan1 as plan, actual1 as actual</if>
|
|
|
|
|
+ <if test="month==2">plan2 as plan, actual2 as actual</if>
|
|
|
|
|
+ <if test="month==3">plan3 as plan, actual3 as actual</if>
|
|
|
|
|
+ <if test="month==4">plan4 as plan, actual4 as actual</if>
|
|
|
|
|
+ <if test="month==5">plan5 as plan, actual5 as actual</if>
|
|
|
|
|
+ <if test="month==6">plan6 as plan, actual6 as actual</if>
|
|
|
|
|
+ <if test="month==7">plan7 as plan, actual7 as actual</if>
|
|
|
|
|
+ <if test="month==8">plan8 as plan, actual8 as actual</if>
|
|
|
|
|
+ <if test="month==9">plan9 as plan, actual9 as actual</if>
|
|
|
|
|
+ <if test="month==10">plan10 as plan, actual10 as actual</if>
|
|
|
|
|
+ <if test="month==11">plan11 as plan, actual11 as actual</if>
|
|
|
|
|
+ <if test="month==12">plan12 as plan, actual12 as actual</if>
|
|
|
|
|
+ from show_sbxj
|
|
|
|
|
+ where sdxl is not null) a) b
|
|
|
|
|
+ group by dept_name, team_name
|
|
|
|
|
+ </select>
|
|
|
|
|
+
|
|
|
</mapper>
|
|
</mapper>
|