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
<?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.yiboshi.science.dao.ComProjectConclusionDAO">
<sql id="allColumns">
</sql>
<select id="getListByPage" resultType="com.yiboshi.science.param.dto.ComProjectConclusionDTO">
SELECT a.id,a.start_date,a.end_date,ifnull(a.state,0) state,ifnull(a.thesis_state,0) thesis_state,
b.id proj_id,b.report_year,b.proj_name,b.proj_no,b.start_date proj_start_date,b.end_date proj_end_date,b.proj_state,
c.unit_name app_unit_name,d.person_name app_person_name,d.mobile telephone
FROM com_project b
left join com_project_conclusion a on a.proj_id=b.id
left join com_unit c on b.app_unit_id=c.id
left join com_person d on b.app_person_id=d.id
<where>
${ew.sqlSegment} and b.proj_state >=50
</where>
</select>
<select id="getCount" resultType="com.yiboshi.science.param.dto.DataStatisticsDTO">
SELECT ifnull(sum(case when a.state in(1,10) or a.state is null then 1 else 0 end),0) count1,
ifnull(sum(case when a.state =30 then 1 else 0 end),0) count2,
ifnull(sum(case when a.state in(20,40,50) then 1 else 0 end),0) count3,
ifnull(sum(case when b.proj_state is not null then 1 else 0 end),0) count4
FROM com_project b
left join com_project_conclusion a on a.proj_id=b.id
<where>
${ew.sqlSegment} and b.proj_state >=50
</where>
</select>
<select id="getConclusionByProjId" parameterType="java.lang.String" resultType="com.yiboshi.science.param.dto.ComProjectConclusionDTO">
SELECT a.id,a.start_date,a.end_date,ifnull(a.state,0) state,a.balance,a.paper_number,a.contract_no,a.audit_person_name,a.conclusion_date,a.is_stamp,
a.plan_category,a.promotion_content,a.promotion_target,a.self_evaluation,a.achieving_results,a.research_content,a.work_plan,a.extension_report,
b.id proj_id,b.report_year,b.proj_name,b.proj_no,b.start_date proj_start_date,b.end_date proj_end_date,b.proj_state,
c.unit_name app_unit_name,d.person_name app_person_name,d.mobile telephone
from com_project b
left join com_project_conclusion a on a.proj_id=b.id
left join com_unit c on b.app_unit_id=c.id
left join com_person d on b.app_person_id=d.id
where b.id = #{projId}
</select>
</mapper>