| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- <?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.management.platform.mapper.ContractBonusDetailMapper">
- <insert id="batchInsert">
- insert into contract_bonus_detail(company_id, user_id, contract, project_id,project_working_time, bonus_type, bonus_value
- , total_bonus_value, ym, year, month, create_by, create_time)
- VALUES
- <foreach collection="toAddList" item="detail" separator=",">
- (#{detail.companyId},#{detail.userId},#{detail.contract},#{detail.projectId},#{detail.projectWorkingTime},#{detail.bonusType}
- ,#{detail.bonusValue},#{detail.totalBonusValue},#{detail.ym},#{detail.year},null,#{detail.createBy},now())
- </foreach>
- </insert>
- <!-- <resultMap id="contractProjectBonus" type="com.management.platform.entity.vo.ContractProjectBonusVO">-->
- <!-- <result property="contract" column="contract"></result>-->
- <!-- <collection property="projectBonusList" ofType="com.management.platform.entity.vo.ProjectBonusVO">-->
- <!-- <result property="projectId" column="projectId"></result>-->
- <!-- <result property="projectName" column="projectName"></result>-->
- <!-- <result property="bonus" column="bonus"></result>-->
- <!-- <result property="bonusType" column="bonusType"></result>-->
- <!-- </collection>-->
- <!-- </resultMap>-->
- <select id="getExportContractProjectBonus" resultType="com.management.platform.entity.excel.ProjectContractBonusExlceHead">
- select tmp1.*,p.project_name as projectName
- from
- (
- select contract,project_id projectId,bonus_type bonusType,
- max( case bonus_type when '第一季度奖' then bonus else 0 end) as firstSeasonBonus,
- max(case bonus_type when '第二季度奖' then bonus else 0 end )as secondSeasonBonus,
- max(case bonus_type when '第三季度奖' then bonus else 0 end) as thirdSeasonBonus,
- max(case bonus_type when '第四季度奖' then bonus else 0 end) as forthSeasonBonus,
- max(case bonus_type when '上半年奖' then bonus else 0 end) as soonerHalfYearBonus,
- max(case bonus_type when '下半年奖' then bonus else 0 end) as latterHalfYearBonus,
- max(case bonus_type when '全年奖' then bonus else 0 end) as yearBonus
- from (
- select contract,bonus_type,project_id,sum(bonus_value) as bonus
- from contract_bonus_detail
- where year = #{year} and company_id = #{companyId}
- group by contract,bonus_type,project_id
- )tmp2 group by contract, project_id
- )tmp1
- left join project p on tmp1.projectId = p.id
- order by tmp1.contract
- </select>
- </mapper>
|