<?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.thhy.materials.modules.biz.pipeplan.mapper.PipePlanMapper">
|
|
<!-- 通用查询结果列 -->
|
<sql id="Base_Column_List">
|
t.plan_id as planId,
|
t.pro_id as proId,
|
t.plan_year as planYear,
|
t.plan_product as planProduct,
|
t.size as size,
|
t.create_time as createTime,
|
t.create_user as createUser,
|
t.update_time as updateTime,
|
t.update_user as updateUser
|
</sql>
|
|
<sql id="condition_query">
|
<where>
|
<trim suffixOverrides=" AND ">
|
t.is_use = 1 AND
|
<if test="proId!=null and proId!=''">
|
t.pro_id = #{proId} AND
|
</if>
|
<if test="planYear!=null">
|
t.plan_year = #{planYear} AND
|
</if>
|
<if test="planProduct!=null">
|
t.plan_product = #{planProduct} AND
|
</if>
|
<if test="size!=null and size!=''">
|
t.size = #{size} AND
|
</if>
|
<if test="createTime!=null">
|
t.create_time = #{createTime} AND
|
</if>
|
<if test="createUser!=null and createUser!=''">
|
t.create_user = #{createUser} AND
|
</if>
|
<if test="updateTime!=null">
|
t.update_time = #{updateTime} AND
|
</if>
|
<if test="updateUser!=null and updateUser!=''">
|
t.update_user = #{updateUser} AND
|
</if>
|
</trim>
|
</where>
|
</sql>
|
|
<select id="queryById" resultType="com.thhy.materials.modules.biz.pipeplan.entity.PipePlan">
|
select <include refid="Base_Column_List" />
|
from t_pipe_plan t
|
where t.plan_id=#{planId}
|
</select>
|
|
<select id="queryVersionById" resultType="integer">
|
select version from t_pipe_plan
|
where plan_id=#{planId}
|
</select>
|
|
<!--查询列表-->
|
<select id="findList" resultType="com.thhy.materials.modules.biz.pipeplan.entity.PipePlanListVo">
|
SELECT
|
t.plan_id as planId,
|
t.pro_id as proId,
|
t.plan_year as planYear,
|
t.plan_product as planProduct,
|
t.size as size,
|
sp.pro_name as proName,
|
sd.dict_name as sizeName
|
from t_pipe_plan t
|
left join sys_project sp on sp.pro_id = t.pro_id
|
left join sys_dict sd on sd.dict_id = t.size
|
<include refid="condition_query" />
|
AND sp.company_id = #{companyId}
|
order by t.create_time desc
|
</select>
|
|
<!--查询列表-->
|
<select id="findAll" resultType="com.thhy.materials.modules.biz.pipeplan.entity.PipePlan">
|
SELECT
|
<include refid="Base_Column_List" />
|
from t_pipe_plan t
|
</select>
|
|
<!--插入操作-->
|
<insert id="insert">
|
insert into t_pipe_plan
|
<trim prefix="(" suffix=")" suffixOverrides="," >
|
<if test="planId != null">
|
plan_id,
|
</if>
|
<if test="proId != null">
|
pro_id,
|
</if>
|
<if test="planYear != null">
|
plan_year,
|
</if>
|
<if test="planProduct != null">
|
plan_product,
|
</if>
|
<if test="size != null">
|
size,
|
</if>
|
<if test="createTime != null">
|
create_time,
|
</if>
|
<if test="createUser != null">
|
create_user,
|
</if>
|
<if test="updateTime != null">
|
update_time,
|
</if>
|
<if test="updateUser != null">
|
update_user,
|
</if>
|
</trim>
|
|
<trim prefix="values (" suffix=")" suffixOverrides="," >
|
<if test="planId != null">
|
#{planId},
|
</if>
|
<if test="proId != null">
|
#{proId},
|
</if>
|
<if test="planYear != null">
|
#{planYear},
|
</if>
|
<if test="planProduct != null">
|
#{planProduct},
|
</if>
|
<if test="size != null">
|
#{size},
|
</if>
|
<if test="createTime != null">
|
#{createTime},
|
</if>
|
<if test="createUser != null">
|
#{createUser},
|
</if>
|
<if test="updateTime != null">
|
#{updateTime},
|
</if>
|
<if test="updateUser != null">
|
#{updateUser},
|
</if>
|
</trim>
|
</insert>
|
|
|
<!--更新操作-->
|
<update id="update">
|
update t_pipe_plan
|
<set>
|
<if test="proId != null">
|
pro_id=#{proId},
|
</if>
|
<if test="planYear != null">
|
plan_year=#{planYear},
|
</if>
|
<if test="planProduct != null">
|
plan_product=#{planProduct},
|
</if>
|
<if test="size != null">
|
size=#{size},
|
</if>
|
<if test="createTime != null">
|
create_time=#{createTime},
|
</if>
|
<if test="createUser != null">
|
create_user=#{createUser},
|
</if>
|
<if test="updateTime != null">
|
update_time=#{updateTime},
|
</if>
|
<if test="updateUser != null">
|
update_user=#{updateUser},
|
</if>
|
</set>
|
where plan_id=#{planId}
|
</update>
|
|
<!--逻辑删除-->
|
<update id="deletelogic">
|
update t_pipe_plan
|
SET is_use = 0
|
where plan_id=#{planId}
|
</update>
|
|
<!--根据ID删除-->
|
<delete id="deleteById">
|
delete from t_pipe_plan
|
where plan_id=#{planId}
|
</delete>
|
|
<select id="queryMonthList" resultType="com.thhy.materials.modules.biz.pipeplanmonth.entity.PipePlanMonth">
|
select c.month,case when c.planProduct is null then 0 else c.planProduct end as planProduct from (select a.`index` as month,b.plan_product as planProduct from (SELECT @s :=@s + 1 as `index` FROM mysql.help_topic,(SELECT @s := 0) temp WHERE @s < 12) a
|
left join
|
(select `month`,plan_product from t_pipe_plan_month where
|
<if test="pipePlanId!=null and pipePlanId !=''">
|
pipe_plan_id = #{pipePlanId}
|
</if>
|
<if test="pipePlanId==null or pipePlanId ==''">
|
pipe_plan_id = -1
|
</if>
|
|
) b on a.index=b.month) c
|
</select>
|
|
<select id="sumProduct" resultType="double">
|
select sum(plan_product) from t_pipe_plan_month where pipe_plan_id = #{pipePlanId}
|
</select>
|
|
<select id="queryPlanProductByPlan" resultType="com.thhy.materials.modules.biz.pipeplan.entity.PlanMonthCal">
|
SELECT GROUP_CONCAT(c.planProduct order by c.MONTH) as resultStr,sum(c.planProduct) as resultSum FROM
|
(
|
SELECT
|
1 as wl,
|
a.`index` AS MONTH,
|
case when b.plan_product is NULL then '0' else b.plan_product end
|
AS planProduct
|
FROM
|
(
|
SELECT
|
@s := @s + 1 AS `index`
|
FROM
|
mysql.help_topic,(
|
SELECT
|
@s := 0
|
) temp
|
WHERE
|
@s < 13
|
) a
|
LEFT JOIN ( SELECT `month`, plan_product FROM t_pipe_plan_month WHERE pipe_plan_id = #{planId} ) b ON a.INDEX = b.MONTH
|
) c group by c.wl
|
</select>
|
|
<select id="queryProductedByPlan" resultType="com.thhy.materials.modules.biz.pipeplan.entity.PlanMonthCal">
|
select sum(e.resultSum) as resultSum,GROUP_CONCAT(e.resultSum order by e.resultStr) as resultStr from (select d.ym as resultStr,1 as wl,case when b.resultSum is null then 0 else b.resultSum end as resultSum
|
from (select DATE_FORMAT(CONCAT(#{planYear},'-',c.`month`,'-01'),'%Y-%m') as ym
|
from (SELECT @s := @s + 1 AS `month` FROM mysql.help_topic,(SELECT @s := 0) temp WHERE @s < 12) c) d
|
left join
|
(
|
select a.lastMonth,count(a.ringNum) as resultSum
|
from
|
(select tpi.ring_num as ringNum,tpi.pro_id,GROUP_CONCAT(sd.dict_name order by sd.dict_value) as ringBlocks,
|
|
(select GROUP_CONCAT(sd1.dict_name order by sd1.dict_value) from sys_pro_blok pb left join sys_dict sd1 on sd1.dict_id = pb.block_num where pb.pro_id = tpi.pro_id group by pb.pro_id) as proBlocks,DATE_FORMAT(max(tpi.check_time),'%Y-%m') as lastMonth
|
from t_pipe_info tpi
|
left join sys_dict sd on sd.dict_id = tpi.block_num
|
where tpi.check_result = 1 and tpi.check_time > DATE(CONCAT(#{planYear},'-01-01 00:00:00'))
|
and tpi.check_time < DATE(CONCAT(#{planYear},'-12-31 23:59:59')) and tpi.pro_id = #{proId} and tpi.size = #{size}
|
GROUP BY tpi.ring_num,tpi.pro_id) a where a.ringBlocks = a.proBlocks
|
GROUP BY a.lastMonth
|
) b on d.ym = b.lastMonth) e
|
group by e.wl
|
</select>
|
|
<select id="countByPYS" resultType="int">
|
select count(plan_id) from t_pipe_plan where pro_id = #{proId} and size = #{size} and plan_year = #{planYear} and is_use = 1
|
</select>
|
|
<select id="queryByPYS" resultType="String">
|
select plan_id from t_pipe_plan where pro_id = #{proId} and size = #{size} and plan_year = #{planYear} and is_use = 1
|
</select>
|
|
</mapper>
|