hd_real_name/target/classes/mappers/basic/ProAndWorkMapper.xml

115 lines
4.4 KiB
XML

<?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.bonus.gzrn.rnbmw.basic.dao.ProAndWorkDao">
<!--查询整个页面-->
<select id="getProAndWorkList" parameterType="com.bonus.gzrn.rnbmw.basic.entity.ProAndWorkBean" resultType="com.bonus.gzrn.rnbmw.basic.entity.ProAndWorkBean" >
select
DISTINCT a.ID,
bq.NAME as proName,
a.NAME as name,
a.LON as lon,
a.LAT as lat,
a.order_num as orderNum,
sub.SUB_NAME as subName
from bm_work_scene a /*工程与施工现场*/
left join bm_project bq on a.PRO_ID = bq.ID
left join pm_company pc on pc.ID = bq.company_id
LEFT JOIN bm_subcontractor sub on sub.id = a.SUB_ID
where a.IS_ACTIVE = 1 and bq.IS_ACTIVE = 1
<if test="params.companyId!=null and params.companyId!='' ">
and pc.ID =#{params.companyId}
</if>
<if test='params.keyWord != null and params.keyWord != ""'>
and (
bq.NAME like concat ('%',#{params.keyWord},'%') OR
a.NAME like concat ('%',#{params.keyWord},'%') OR
a.LON like concat ('%',#{params.keyWord},'%') OR
a.LAT like concat ('%',#{params.keyWord},'%')
)
</if>
order by bq.NAME asc
limit #{offset}, #{limit}
</select>
<!--查询页面数量-->
<select id="getProAndWorkCount" parameterType="com.bonus.gzrn.rnbmw.basic.entity.ProAndWorkBean" resultType="java.lang.Integer">
SELECT COUNT(*)
from
bm_work_scene a /*工程与施工现场*/
left join bm_project bq on a.PRO_ID = bq.ID
left join pm_company pc on pc.ID = bq.company_id
LEFT JOIN bm_subcontractor sub on sub.id = a.SUB_ID
where a.IS_ACTIVE = 1 and bq.IS_ACTIVE = 1
<if test="params.companyId!=null and params.companyId!='' ">
and pc.ID =#{params.companyId}
</if>
<if test='params.keyWord != null and params.keyWord != ""'>
and (
bq.NAME like concat ('%',#{params.keyWord},'%') OR
a.NAME like concat ('%',#{params.keyWord},'%') OR
a.LON like concat ('%',#{params.keyWord},'%') OR
a.LAT like concat ('%',#{params.keyWord},'%')
)
</if>
</select>
<!--新增-->
<insert id="insertProAndWorkManager" parameterType="com.bonus.gzrn.rnbmw.basic.entity.ProAndWorkBean">
insert into bm_work_scene
(NAME,PRO_ID,LON,LAT,UPDATE_TIME,SUB_ID,IS_ACTIVE)
values
(#{name},#{proId},#{lon},#{lat},now(),#{subId},'1')
</insert>
<!--删除-->
<update id="deleteProAndWork" parameterType="com.bonus.gzrn.rnbmw.basic.entity.ProAndWorkBean">
update bm_work_scene set IS_ACTIVE = '0' WHERE ID = #{id}
</update>
<!--根据id查找-->
<select id="getProAndWorkById" resultType="com.bonus.gzrn.rnbmw.basic.entity.ProAndWorkBean">
select
a.ID,
bq.id as proId,
bq.NAME as proName,
a.NAME as name,
a.LON ,
a.LAT,
a.SUB_ID as subId
from bm_work_scene a /*工程与施工现场*/
left join bm_project bq on a.PRO_ID = bq.ID and bq.is_active = '1' /*工程表*/
WHERE a.ID = #{id} and a.IS_ACTIVE = '1'
</select>
<!--修改施工现场-->
<update id="updateProAndWork" parameterType="com.bonus.gzrn.rnbmw.basic.entity.ProAndWorkBean">
update bm_work_scene
set `NAME`=#{name},
PRO_ID=#{proId},
LON=#{lon},
LAT=#{lat},
sub_id=#{subId},
UPDATE_TIME=now()
where ID = #{id}
</update>
<!--根据名称查询施工现场-->
<select id="findByProIdName" resultType="com.bonus.gzrn.rnbmw.basic.entity.ProAndWorkBean">
select ID,`NAME`
FROM bm_work_scene
WHERE IS_ACTIVE = 1 and `NAME` = #{name} and PRO_ID = #{proId}
limit 1
</select>
<insert id="insertList" parameterType="java.util.List">
insert into bm_work_scene
(NAME,PRO_ID,LON,LAT,UPDATE_TIME,SUB_ID,IS_ACTIVE)
values
<foreach item="params" collection="list" separator=",">
(#{params.name},#{params.proId},#{params.lon},#{params.lat},now(),#{params.subId},'1')
</foreach>
</insert>
</mapper>