You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

63 lines
3.0 KiB
XML

5 months ago
<?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="cn.iocoder.yudao.module.product.dal.mysql.landjob.LandJobMapper">
<!--
一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。
无法满足的场景,例如说多表关联查询,才使用 XML 编写 SQL。
代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。
文档可见https://www.iocoder.cn/MyBatis/x-plugins/
-->
<select id="selectJobTypeById"
resultType="cn.iocoder.yudao.module.product.dal.dataobject.landjob.LandJobDO">
SELECT a.*,b.type_name job_type_name
FROM product_land_job a
LEFT JOIN product_land_job_type b on job_type = b.id
WHERE a.deleted = 0
<if test="landName != null and landName != ''"> and a.land_name LIKE CONCAT('%', #{landName}, '%') </if>
<if test="landId != null and landId != ''"> and a.land_id = #{landId} </if>
<if test="jobType != null and jobType != ''"> and b.id = #{jobType} </if>
<if test="belongBusinessName != null and belongBusinessName != ''"> and a.belong_business_name = #{belongBusinessName} </if>
ORDER BY a.id DESC
</select>
<!-- 根据id查询 这里不管是否删除 -->
<select id="getLandJob" resultType="cn.iocoder.yudao.module.product.dal.dataobject.landjob.LandJobDO">
select * from product_land_job
<where>
<if test="id != null">id = #{id}</if>
<if test="landJobId != null">land_job_id = #{landJobId}</if>
</where>
</select>
<resultMap id="querySameTypeJobMaps" type="cn.iocoder.yudao.module.product.controller.admin.landjob.vo.LandJobRespVO">
<collection property="landJobInputs" column="land_job_id=land_job_id" select="queryJobInputs"></collection>
</resultMap>
<select id="getSameTypeJobByType" resultMap="querySameTypeJobMaps">
select plj.*, pljt.type_name jobTypeName
from
product_land_job plj
left join product_land_job_type pljt on plj.job_type = pljt.id
where plj.deleted = 0
AND plj.job_type = #{type}
AND plj.land_id = #{landId}
AND plj.job_date >= NOW() - INTERVAL #{day} DAY
order by plj.job_date desc
</select>
<select id="queryJobInputs" resultType="cn.iocoder.yudao.module.product.controller.admin.landjobinputs.vo.LandJobInputsRespVO">
select * from
product_land_job_inputs
where deleted = 0 and land_job_id = #{land_job_id}
</select>
<select id="selectLandJob10Records"
resultType="cn.iocoder.yudao.module.product.dal.dataobject.landjob.LandJobDO">
SELECT a.*,b.type_name job_type_name
FROM product_land_job a
LEFT JOIN product_land_job_type b on job_type = b.id
ORDER BY id DESC
LIMIT 10;
</select>
</mapper>