resultMap
<resultMap type="com.pb.party.entity.PbPartyDepartment" id="PbPartyDepartmentMap">
<result property="id" column="id" jdbcType="INTEGER"/>
<result property="name" column="name" jdbcType="VARCHAR"/>
<result property="creationTime" column="creation_time" jdbcType="TIMESTAMP"/>
<result property="introduction" column="introduction" jdbcType="LONGVARCHAR"/>
<result property="xCoordinate" column="x_coordinate" jdbcType="DOUBLE"/>
<result property="yCoordinate" column="y_coordinate" jdbcType="DOUBLE"/>
<result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
<result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
<result property="delFlag" column="del_flag" jdbcType="INTEGER"/>
<association property="project" javaType="com.pb.party.entity.PbProject" column="{id=project_id}" select="com.pb.party.mapper.PbProjectMapper.selectOneById"></association>
<association property="parent" javaType="com.pb.party.entity.PbPartyDepartment" column="{id=parent_id}" select="com.pb.party.mapper.PbPartyDepartmentMapper.selectOneById1"></association>
<collection property="files" javaType="java.util.ArrayList" column="{ids=file_id}" ofType="com.pb.party.entity.PbFile" select="com.pb.party.mapper.PbFileMapper.selectListId"></collection>
<collection property="files" javaType="java.util.List" column="{ids=file_id}"
ofType="com.pb.projects.entity.PbFile" select="com.pb.projects.mapper.PbFileMapper.selectListId"></collection>
<association property="file" javaType="com.pb.projects.entity.PbFile" column="{id=file_id}" select="com.pb.projects.mapper.PbFileMapper.selectOneById"></association>
</resultMap>
<resultMap type="com.pb.projects.vo.line.ResearchAchievementVo" id="researchAchievementMap">
<result property="ids" column="ids" jdbcType="VARCHAR"/>
<result property="type" column="type" jdbcType="VARCHAR"/>
<collection property="researchAchievementSecVos" javaType="java.util.List" column="{ids=ids}" ofType="com.pb.projects.vo.line.ResearchAchievementSecVo" select="com.pb.projects.mapper.PbProSubResearchMapper.selectResearchAchievementSec"></collection>
</resultMap>
<resultMap type="com.pb.projects.vo.line.ResearchAchievementSecVo" id="ResearchAchievementSecVo">
<result property="ResearchAchievementId" column="ResearchAchievementId" jdbcType="VARCHAR"/>
<result property="ResearchAchievementName" column="ResearchAchievementName" jdbcType="VARCHAR"/>
<collection property="files" javaType="java.util.List" column="{ids=file_id}"
ofType="com.pb.projects.entity.PbFile" select="com.pb.projects.mapper.PbFileMapper.selectListId"></collection>
</resultMap>
select
<select id="selectPageById" resultType="com.pb.party.entity.PbPartyDepartment">
SELECT
*
from
pb_party_department
WHERE
pb_party_department.project_id=#{projectId}
AND pb_party_department.del_flag= 0
</select>
<select id="selectAllByPage" resultType="com.pb.party.entity.PbPartyDepartment">
SELECT
*
from
pb_party_department
WHERE
pb_party_department.del_flag= 0
</select>
<select id="problemPinNumber" resultType="com.pb.projects.entity.PbProProblem">
SELECT
pb_pro_sub.alias,
pb_pro_sub.`name`,
pb_pro_problem.*
FROM
pb_pro_problem
LEFT JOIN pb_pro_sub ON pb_pro_sub.id = pb_pro_problem.pro_sub_id
WHERE
pb_pro_sub.id = #{proSubId}
</select>
<!-- 换流站 待建/在建-换流容量 -->
<select id="selectSubCommutationCapacity" resultType="java.util.Map">
SELECT
IFNULL(SUM(pro.capacity),0) AS 'capacity'
FROM
pb_pro pro
LEFT JOIN pb_pro_sub sub ON sub.parent_code = pro.`code`
<include refid="whereSql"></include>
</select>
<select id="selectAll" resultMap="PbOrganizationalLifeMap">
SELECT
life.*
FROM
pb_organizational_life life
<where>
life.del_flag = 0
<if test="partyId != null">
AND life.party_department_id = #{partyId}
</if>
<if test="title!='' and title!=null">
AND life.title LIKE CONCAT('%',#{title},'%')
</if>
<if test="title!='' and title!=null">
OR life.content LIKE CONCAT('%',#{title},'%')
</if>
</where>
</select>
<!--综合管理-科研管理列表-->
<select id="scientificResearchManagement" resultType="com.pb.projects.vo.integratedmanagement.PbProResearchVo">
SELECT
pro.type,
pro.`code`,
pro.`name`,
pro.alias,
IFNULL( COUNT( DISTINCT research.id ), 0 ) AS 'total',
IFNULL( SUM( research.expenditure ), 0 ) AS 'money'
FROM
pb_pro pro
LEFT JOIN pb_pro_sub sub ON sub.parent_code = pro.`code`
LEFT JOIN pb_pro_sub_research research ON research.pro_sub_id = sub.id
GROUP BY
pro.id
</select>
<!--综合管理-科研管理资金累计-->
<select id="selectAccumulation" resultType="java.util.Map">
SELECT
IFNULL( COUNT( DISTINCT research.id ), 0 ) AS counts,
IFNULL( SUM( research.expenditure ), 0 ) AS accumulation
FROM
`pb_pro_sub_research` research
LEFT JOIN pb_pro_sub sub ON sub.id = research.pro_sub_id
LEFT JOIN pb_pro pro ON pro.`code` = sub.parent_code
</select>
<!--根据ids查询vo列表-换流站变电站-工程列表的容量和投资-->
<select id="selectCapacityAndInvestment" resultType="com.pb.projects.vo.substation.PbProSubListVo">
SELECT
pro.type,
sub.id,
sub.`name`,
sub.alias,
pro.capacity,
IFNULL( SUM( research.expenditure ), 0 ) AS expenditure
FROM
pb_pro_sub_research research
LEFT JOIN pb_pro_sub sub ON sub.id = research.pro_sub_id
LEFT JOIN pb_pro pro ON pro.`code` = sub.parent_code
WHERE
research.pro_sub_id = #{proSubId}
GROUP BY
pro.id,
research.pro_sub_id
</select>
<!--线路工程-设计进度-->
<select id="statisticsOfDesign" resultMap="PbProDesignMap">
SELECT
pro.id AS proId,
sub.id AS proSubId,
pro.type AS proType,
pro.`name` AS proName,
pro.alias AS proAlias,
sub.`name` AS proSubName,
sub.alias AS proSubAlias,
GROUP_CONCAT( pb_pro_sub_stage.`name` ) AS stage,
GROUP_CONCAT( pb_pro_sub_stage.`status` ) AS statuses,
pb_pro_sub_pos_info.*
FROM
pb_pro_sub_stage
LEFT JOIN pb_pro_sub sub ON sub.id = pb_pro_sub_stage.pro_sub_id
LEFT JOIN pb_pro pro ON pro.`code` = sub.parent_code
LEFT JOIN pb_pro_sub_pos_info ON pb_pro_sub_pos_info.pro_sub_id = pb_pro_sub_stage.pro_sub_id
WHERE
sub.state = #{subState} AND sub.type = #{subType}
<if test='proType != "q"'>
AND pro.type = #{proType}
</if>
<if test="proSubId != null and proSubId != ''">
AND sub.id = #{proSubId}
</if>
AND pb_pro_sub_stage.`name` IN ('可研','初设','施工图')
GROUP BY
pro.id,sub.id,pb_pro_sub_pos_info.id
</select>
<!--线路工程-建设进度-->
<select id="statisticsOfBuild" resultMap="PbProBuildMap">
SELECT
pro.id AS proId,
sub.id AS proSubId,
pro.type AS proType,
pro.`name` AS proName,
pro.alias AS proAlias,
sub.`name` AS proSubName,
sub.alias AS proSubAlias,
GROUP_CONCAT( pb_pro_sub_stage.`name` ) AS stage,
GROUP_CONCAT( pb_stage_rate.rate ) AS statuses,
pb_pro_sub_pos_info.*
FROM
pb_stage_rate
LEFT JOIN pb_pro_sub_stage ON pb_pro_sub_stage.id = pb_stage_rate.stage_id
LEFT JOIN pb_pro_sub sub ON sub.id = pb_pro_sub_stage.pro_sub_id
LEFT JOIN pb_pro pro ON pro.`code` = sub.parent_code
LEFT JOIN pb_pro_sub_pos_info ON pb_pro_sub_pos_info.pro_sub_id = pb_pro_sub_stage.pro_sub_id
WHERE
sub.state = #{subState} AND sub.type = #{subType}
<if test='proType != "q"'>
AND pro.type = #{proType}
</if>
<if test="proSubId != null and proSubId != ''">
AND sub.id = #{proSubId}
</if>
AND pb_pro_sub_stage.`name` IN ('具备进场条件','已进场','开挖','浇筑','组塔','架线')
GROUP BY
pro.id,sub.id,pb_pro_sub_pos_info.id
</select>
<select id="getPbLineDrawingProcessList" resultMap="PbLineDrawingProcessListMap">
SELECT
COUNT(draw.id) volumeCount,
draw.volume volume
FROM
pb_line_drawing_process draw
<where>
<if test="drawIds != null and drawIds != ''">
draw.id IN
<foreach item="item" index="index" collection="drawIds.split(',')" open="(" separator="," close=")">#{item}</foreach>
</if>
</where>
GROUP BY
draw.volume
<select id="selectOneById" resultMap="PbPartyDepartmentMap">
SELECT
party.*
FROM
pb_party_department party
WHERE
party.del_flag = 0 AND party.id =#{id}
</select>
<select id="selectSubLineResearchAchievement" resultMap="researchAchievementMap">
SELECT
GROUP_CONCAT( ach.id ) ids,
ach.type type
FROM
`pb_pro_sub_research_achievement` ach
WHERE
ach.research_id=#{researchId}
GROUP BY
ach.type
</select>
<select id="selectResearchAchievementSec" resultMap="researchAchievementSecMap">
SELECT
ach.id researchAchievementId,ach.name researchAchievementName,ach.file_id
FROM
`pb_pro_sub_research_achievement` ach
WHERE
ach.id IN
<foreach item="item" index="index" collection="ids.split(',')" open="(" separator="," close=")">#{item}</foreach>
</select>
DATE_FORMAT(production_time, '%Y-%m-%d %H:%i:%S') pdtime,
DATE_FORMAT(planning_time, '%Y-%m-%d %H:%i:%S') plantime,
DATE_FORMAT(plan_cmpl_time, '%Y-%m-%d %H:%i:%S') plancltime,
DATE_FORMAT(cst_cmpl_time, '%Y-%m-%d %H:%i:%S') cstctime
AND DATE_FORMAT( t.ACTUALSTARTTIME, '%Y-%m-%d' ) = #{riskDate}
<!--党员统计弹窗-党内人员分页-->
<select id="selectPartyMemberPageByIds" resultType="com.pb.party.vo.PartyMember.PartyMemberVo">
SELECT
me.*
FROM
party_member me
WHERE
me.del_flag = 0
<if test="ids != null and ids.length != 0 ">
AND me.id IN
<foreach item="id" collection="ids" separator="," open="(" close=")" index="">
#{id}
</foreach>
</if>
</select>
SELECT
me.id,
me.`name`,
me.party_duty
FROM
`party_member` me
WHERE
me.party_department_id = #{partyId}
AND me.party_duty NOT IN ${partyDuty}
ORDER BY
field( me.party_duty, '支部副书记', '组织委员', '宣传委员', '纪检委员', '群(青)工委员', '党小组长' )
<!--首页-在建工程党组织列表/中间地图坐标点-->
<select id="selectList" resultType="com.pb.party.entity.PartyDepartment">
SELECT
party.*
FROM
party_department party
LEFT JOIN core_project pro ON pro.id = party.project_id
WHERE
party.del_flag = 0
AND pro.`code` LIKE '${projectUnicode}%'
</select>
<select id="getDeviceList" resultType="com.xqny.model.DeviceVo">
SELECT
sbdybm id,
sbmc deviceName
FROM
`device_list_collect`
WHERE
sbmc LIKE '%电抗器'
AND sblxmc LIKE '%电抗器'
</select>
<select id="getTemperatureAndHumidity" resultType="com.xqny.model.TemperatureAndHumidity">
select
id id,
temperature temperature,
humidity humidity
from local_weather_data where id = (select max(id) from local_weather_data)
</select>
insert
<!-- mybatis获取刚刚插入到数据库的数据的id -->
<insert id="insertOne" parameterType="com.xqny.logtest.entity.User" useGeneratedKeys="true" keyProperty="uid">
INSERT INTO user ( user_name ) VALUES ( "rrrrrr" )
</insert>
<insert id="addBatchCpsEquipment" parameterType="java.util.List">
INSERT INTO cps_equipment
(project_id,node_num,lifetime,min_load,max_load,installation_cost,electrical_efficiency,
heat_efficiency,cop,max_contribute,compress,operating_cost,capacity,maintenance_cost_factor,tyo,dt)
VALUES
<foreach collection ="cpsEquipmentList" item="cpsEquipment" separator =",">
(#{cpsEquipment.projectId}, #{cpsEquipment.nodeNum}, #{cpsEquipment.lifetime},
#{cpsEquipment.minLoad}, #{cpsEquipment.maxLoad}, #{cpsEquipment.installationCost},
#{cpsEquipment.electricalEfficiency}, #{cpsEquipment.heatEfficiency},
#{cpsEquipment.cop},#{cpsEquipment.maxContribute},#{cpsEquipment.compress},
#{cpsEquipment.operatingCost},#{cpsEquipment.capacity},
#{cpsEquipment.maintenanceCostFactor},#{cpsEquipment.tyo},#{cpsEquipment.dt})
</foreach >
</insert>
update
<!-- 批量更新 -- >
<update id="batchUpdate">
<foreach collection="studentArrayList" item="item" separator=";" index="index">
update student
<trim prefix="set " suffixOverrides=",">
<if test="item.getName() != null">
name = #{item.name},
</if>
<if test="item.getAge() != null">
age = #{item.age},
</if>
</trim>
where id = #{item.id}
</foreach>
</update>
<update id="batchUpdatePowerSimulation">
<foreach collection="powerSimulationResults" item="item" separator=";" index="index">
UPDATE cps_power_simulation_results SET
power_purchase_price = #{item.powerPurchasePrice},
electricity_selling_price = #{item.electricitySellingPrice},
gas_turbine_output = #{item.gasTurbineOutput},
electric_energy_storage_discharge = #{item.electricEnergyStorageDischarge},
electric_vehicle_discharge = #{item.electricVehicleDischarge},
electric_load = #{item.electricLoad},
electric_vehicle_charging = #{item.electricVehicleCharging},
heat_pump_consumption = #{item.heatPumpConsumption},
consumption_of_electric_refrigerator = #{item.consumptionOfElectricRefrigerator},
energy_storage_and_charging = #{item.energyStorageAndCharging},
selling_electricity = #{item.sellingElectricity}
WHERE
project_id = #{item.projectId}
AND type=#{item.type}
</foreach>
</update>
whereSQL
<sql id="whereSql">
<where>
<if test="projectName != null and projectName != ''">
AND pm.project_name = #{projectName}
</if>
<if test="type != null and type != ''">
AND pm.type = #{type}
</if>
<if test="projectId =='qwer'">
AND (pm.project_id is not null OR pm.project_id !='')
</if>
<if test="projectId == null or projectId == ''">
AND (pm.project_id is null OR pm.project_id='')
</if>
<if test="date != null and date != ''">
AND DATE_FORMAT(life.active_time,'%Y') = #{date}
</if>
</where>
</sql>
<sql id="whereSql">
<where>
<if test="proType != null and proType != ''">
AND pro.type = #{proType}
</if>
<if test="subType != null">
AND sub.type = #{subType}
</if>
<if test="subStage != null">
AND sub.state = #{subStage}
</if>
<if test="proSubId != null and proSubId != ''">da
AND sub.id = #{proSubId}
</if>
</where>
</sql>
if分支
<if test="obj.searchType!=null and obj.searchType !=''">
<choose>
<when test="obj.searchType ='pwNum'">
AND `pw_num` like CONCAT('%',#{obj.searchValue},'%')
</when>
<when test="obj.searchType ='pwDesc'">
AND `pw_desc` like CONCAT('%',#{obj.searchValue},'%')
</when>
<otherwise>
AND `pw_name` like CONCAT('%',#{obj.searchValue},'%')
</otherwise>
</choose>
</if>