<?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.dy.pmsGlobal.daoPr.PrAssemblyPlanMapper">
|
|
<resultMap id="BaseResultMap" type="com.dy.pmsGlobal.pojoPr.PrAssemblyPlan">
|
<id property="id" column="id" jdbcType="BIGINT"/>
|
<result property="orderId" column="order_id" jdbcType="BIGINT"/>
|
<result property="proId" column="pro_id" jdbcType="BIGINT"/>
|
<result property="batchId" column="batch_id" jdbcType="BIGINT"/>
|
<result property="processId" column="process_id" jdbcType="BIGINT"/>
|
<result property="name" column="name" jdbcType="VARCHAR"/>
|
<result property="number" column="number" jdbcType="INTEGER"/>
|
<result property="status" column="status" jdbcType="TINYINT"/>
|
<result property="creator" column="creator" jdbcType="VARCHAR"/>
|
<result property="dt" column="dt" jdbcType="TIMESTAMP"/>
|
<result property="startDate" column="start_date" jdbcType="VARCHAR"/>
|
<result property="endDate" column="end_date" jdbcType="VARCHAR"/>
|
<result property="deleted" column="deleted" jdbcType="TINYINT"/>
|
<result property="content" column="content" jdbcType="VARCHAR"/>
|
<result property="inputNumber" column="input_number" jdbcType="INTEGER"/>
|
<result property="outputNumber" column="output_number" jdbcType="INTEGER"/>
|
<association property="proName" column="pro_id" javaType="java.lang.Long"
|
select="com.dy.pmsGlobal.daoPlt.PltProductMapper.selectProNameById" fetchType="eager"/>
|
<association property="proType" column="pro_id" javaType="java.lang.Long"
|
select="com.dy.pmsGlobal.daoPlt.PltProductMapper.selectProTypeById" fetchType="eager" />
|
<association property="creatorName" column="creator" javaType="java.lang.Long"
|
select="com.dy.pmsGlobal.daoBa.BaUserMapper.selectNameByUserId" fetchType="eager"/>
|
<association property="batchNo" column="batch_id" javaType="java.lang.Long"
|
select="com.dy.pmsGlobal.daoPr.PrBatchNumberMapper.selectBatchNoById" fetchType="eager"/>
|
<association property="processName" column="process_id" javaType="java.lang.Long"
|
select="com.dy.pmsGlobal.daoPr.PrProductionProcessMapper.selectProcessNameById" fetchType="eager"/>
|
<association property="orderName" column="order_id" javaType="java.lang.Long"
|
select="com.dy.pmsGlobal.daoPr.PrOrderMapper.selectOrderNameById" fetchType="eager" />
|
<collection property="process" ofType="com.dy.pmsGlobal.pojoPr.PrProductionProcess"
|
select="com.dy.pmsGlobal.daoPr.PrProductionProcessMapper.selectByPrimaryKey" fetchType="eager"
|
column="process_id"/>
|
</resultMap>
|
|
<resultMap id="PlanResultMap" type="com.dy.pmsGlobal.pojoPr.PrAssemblyPlan">
|
<id property="id" column="id" jdbcType="BIGINT"/>
|
<result property="orderId" column="order_id" jdbcType="BIGINT"/>
|
<result property="proId" column="pro_id" jdbcType="BIGINT"/>
|
<result property="batchId" column="batch_id" jdbcType="BIGINT"/>
|
<result property="processId" column="process_id" jdbcType="BIGINT"/>
|
<result property="name" column="name" jdbcType="VARCHAR"/>
|
<result property="number" column="number" jdbcType="INTEGER"/>
|
<result property="status" column="status" jdbcType="TINYINT"/>
|
<result property="creator" column="creator" jdbcType="VARCHAR"/>
|
<result property="dt" column="dt" jdbcType="TIMESTAMP"/>
|
<result property="startDate" column="start_date" jdbcType="VARCHAR"/>
|
<result property="endDate" column="end_date" jdbcType="VARCHAR"/>
|
<result property="deleted" column="deleted" jdbcType="TINYINT"/>
|
<result property="content" column="content" jdbcType="VARCHAR"/>
|
<result property="inputNumber" column="input_number" jdbcType="INTEGER"/>
|
<result property="outputNumber" column="output_number" jdbcType="INTEGER"/>
|
<collection property="process" ofType="com.dy.pmsGlobal.pojoPr.PrProductionProcess"
|
select="com.dy.pmsGlobal.daoPr.PrProductionProcessMapper.selectByProcessId" fetchType="eager"
|
column="process_id"/>
|
</resultMap>
|
|
|
<sql id="Base_Column_List">
|
id,order_id
|
,pro_id,batch_id,
|
process_id,name,number,
|
status,creator,
|
dt,start_date,end_date,
|
deleted,content,input_number,output_number
|
</sql>
|
<sql id="part_Column_List" >
|
${alias}.id,
|
${alias}.order_id,
|
${alias}.pro_id,
|
${alias}.batch_id,
|
${alias}.process_id,
|
${alias}.name,
|
${alias}.number,
|
${alias}.status,
|
${alias}.creator,
|
${alias}.dt,
|
${alias}.start_date,
|
${alias}.end_date,
|
${alias}.deleted,
|
${alias}.content,
|
${alias}.input_number,
|
${alias}.output_number
|
</sql>
|
<select id="selectPlanNamesByProcessId" resultType="java.lang.String">
|
select GROUP_CONCAT(name SEPARATOR ',')
|
from pr_assembly_plan
|
where process_id = #{processId}
|
and deleted = 0
|
</select>
|
<select id="processIsQuote" resultType="java.lang.Boolean" parameterType="java.lang.Long">
|
select count(1)
|
from pr_assembly_plan
|
where deleted = 0
|
<if test="id != null">
|
and process_id = #{id}
|
</if>
|
</select>
|
<select id="selectNameByPlanId" parameterType="java.lang.Long" resultType="String">
|
select name
|
from pr_assembly_plan
|
where id = #{id}
|
</select>
|
<select id="selectByBatchId" parameterType="java.lang.Long" resultMap="BaseResultMap">
|
select
|
<include refid="Base_Column_List"/>
|
from pr_assembly_plan
|
where batch_id = #{batchId,jdbcType=BIGINT}
|
</select>
|
<select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
|
select
|
<include refid="Base_Column_List"/>
|
from pr_assembly_plan
|
where id = #{id,jdbcType=BIGINT}
|
</select>
|
<select id="selectByProcess" resultMap="com.dy.pmsGlobal.daoPr.PrProductionNodeMapper.BaseResultMap">
|
select *
|
from pr_production_node
|
where process_id = #{processId,jdbcType=BIGINT}
|
</select>
|
|
<select id="selectByDeviceNo" parameterType="java.lang.String" resultMap="PlanResultMap">
|
select
|
<include refid="part_Column_List">
|
<property name="alias" value="p"/>
|
</include>
|
from pr_assembly_plan p,plt_product pp,pr_batch_number b
|
where p.pro_id = pp.id and p.batch_id = b.id
|
and pp.code = #{proCode,jdbcType=VARCHAR}
|
and b.batch_number = #{batchNumber,jdbcType=VARCHAR}
|
</select>
|
|
<select id="selectAssyPlanSimplify" resultMap="PlanResultMap"
|
parameterType="com.dy.pmsGlobal.pojoPr.PrAssemblyPlan">
|
select
|
<include refid="Base_Column_List"/>
|
from pr_assembly_plan
|
<trim prefix="where" suffixOverrides="and">
|
<if test="orderId != null">
|
order_id = #{orderId,jdbcType=BIGINT} and
|
</if>
|
<if test="proId != null">
|
pro_id = #{proId,jdbcType=BIGINT} and
|
</if>
|
<if test="batchId != null">
|
batch_id = #{batchId,jdbcType=BIGINT} and
|
</if>
|
<if test="processId!= null">
|
process_id = #{processId,jdbcType=BIGINT} and
|
</if>
|
<if test="name != null and name !=''">
|
name = #{name,jdbcType=VARCHAR} and
|
</if>
|
<if test="number != null">
|
number = #{number,jdbcType=INTEGER} and
|
</if>
|
<if test="status != null">
|
status = #{status,jdbcType=TINYINT} and
|
</if>
|
<if test="creator != null and creator !=''">
|
creator = #{creator,jdbcType=VARCHAR} and
|
</if>
|
<if test="dt != null">
|
dt = #{dt,jdbcType=TIMESTAMP} and
|
</if>
|
<if test="startDate != null and startDate !=''">
|
start_date = #{startDate,jdbcType=VARCHAR} and
|
</if>
|
<if test="endDate != null and endDate !=''">
|
end_date = #{endDate,jdbcType=VARCHAR} and
|
</if>
|
<if test="deleted != null">
|
deleted = #{deleted,jdbcType=TINYINT} and
|
</if>
|
<if test="content != null and content !=''">
|
content = #{content,jdbcType=VARCHAR} and
|
</if>
|
</trim>
|
order by id desc
|
</select>
|
<select id="selectAssyPlanList" resultMap="BaseResultMap" parameterType="com.dy.pmsGlobal.pojoPr.PrAssemblyPlan">
|
select
|
<include refid="Base_Column_List"/>
|
from pr_assembly_plan
|
<trim prefix="where" suffixOverrides="and">
|
<if test="orderId != null">
|
order_id = #{orderId,jdbcType=BIGINT} and
|
</if>
|
<if test="proId != null">
|
pro_id = #{proId,jdbcType=BIGINT} and
|
</if>
|
<if test="batchId != null">
|
batch_id = #{batchId,jdbcType=BIGINT} and
|
</if>
|
<if test="processId!= null">
|
process_id = #{processId,jdbcType=BIGINT} and
|
</if>
|
<if test="name != null and name !=''">
|
name = #{name,jdbcType=VARCHAR} and
|
</if>
|
<if test="number != null">
|
number = #{number,jdbcType=INTEGER} and
|
</if>
|
<if test="status != null">
|
status = #{status,jdbcType=TINYINT} and
|
</if>
|
<if test="creator != null and creator !=''">
|
creator = #{creator,jdbcType=VARCHAR} and
|
</if>
|
<if test="dt != null">
|
dt = #{dt,jdbcType=TIMESTAMP} and
|
</if>
|
<if test="startDate != null and startDate !=''">
|
start_date = #{startDate,jdbcType=VARCHAR} and
|
</if>
|
<if test="endDate != null and endDate !=''">
|
end_date = #{endDate,jdbcType=VARCHAR} and
|
</if>
|
<if test="deleted != null">
|
deleted = #{deleted,jdbcType=TINYINT} and
|
</if>
|
<if test="content != null and content !=''">
|
content = #{content,jdbcType=VARCHAR} and
|
</if>
|
</trim>
|
order by id desc
|
</select>
|
|
<delete id="deleteByPrimaryKey" parameterType="java.lang.Long">
|
delete
|
from pr_assembly_plan
|
where id = #{id,jdbcType=BIGINT}
|
</delete>
|
<insert id="insert" keyColumn="id" keyProperty="id" parameterType="com.dy.pmsGlobal.pojoPr.PrAssemblyPlan"
|
useGeneratedKeys="true">
|
insert into pr_assembly_plan
|
( id,order_id, pro_id, batch_id
|
, process_id, name, number
|
, status, creator
|
, dt, start_date, end_date
|
, deleted, content, input_number, output_number)
|
values ( #{id,jdbcType=BIGINT},#{orderId,jdbcType=BIGINT}, #{proId,jdbcType=BIGINT}, #{batchId,jdbcType=BIGINT}
|
, #{processId,jdbcType=BIGINT}, #{name,jdbcType=VARCHAR}, #{number,jdbcType=INTEGER}
|
, #{status,jdbcType=TINYINT}, #{creator,jdbcType=VARCHAR}
|
, #{dt,jdbcType=TIMESTAMP}, #{startDate,jdbcType=VARCHAR}, #{endDate,jdbcType=VARCHAR}
|
, #{deleted,jdbcType=TINYINT}, #{content,jdbcType=VARCHAR}, #{inputNumber,jdbcType=INTEGER}
|
, #{outputNumber,jdbcType=INTEGER})
|
</insert>
|
<insert id="insertSelective" keyColumn="id" keyProperty="id" parameterType="com.dy.pmsGlobal.pojoPr.PrAssemblyPlan"
|
useGeneratedKeys="true">
|
insert into pr_assembly_plan
|
<trim prefix="(" suffix=")" suffixOverrides=",">
|
<if test="id != null">id,</if>
|
<if test="orderId != null">order_id,</if>
|
<if test="proId != null">pro_id,</if>
|
<if test="batchId != null">batch_id,</if>
|
<if test="processId != null">process_id,</if>
|
<if test="name != null and name !=''">name,</if>
|
<if test="number != null">number,</if>
|
<if test="status != null">status,</if>
|
<if test="creator != null and creator !=''">creator,</if>
|
<if test="dt != null">dt,</if>
|
<if test="startDate != null and startDate !=''">start_date,</if>
|
<if test="endDate != null and endDate !=''">end_date,</if>
|
<if test="deleted != null">deleted,</if>
|
<if test="content != null and content !=''">content,</if>
|
<if test="inputNumber!= null">input_number,</if>
|
<if test="outputNumber!= null">output_number,</if>
|
</trim>
|
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
<if test="id != null">#{id,jdbcType=BIGINT},</if>
|
<if test="orderId != null">#{orderId,jdbcType=BIGINT},</if>
|
<if test="proId != null">#{proId,jdbcType=BIGINT},</if>
|
<if test="batchId != null">#{batchId,jdbcType=BIGINT},</if>
|
<if test="processId != null">#{processId,jdbcType=BIGINT},</if>
|
<if test="name != null and name !=''">#{name,jdbcType=VARCHAR},</if>
|
<if test="number != null">#{number,jdbcType=INTEGER},</if>
|
<if test="status != null">#{status,jdbcType=TINYINT},</if>
|
<if test="creator != null and creator !=''">#{creator,jdbcType=VARCHAR},</if>
|
<if test="dt != null">#{dt,jdbcType=TIMESTAMP},</if>
|
<if test="startDate != null and startDate !=''">#{startDate,jdbcType=VARCHAR},</if>
|
<if test="endDate != null and endDate !=''">#{endDate,jdbcType=VARCHAR},</if>
|
<if test="deleted != null">#{deleted,jdbcType=TINYINT},</if>
|
<if test="content != null and content !=''">#{content,jdbcType=VARCHAR},</if>
|
<if test="inputNumber!= null">#{inputNumber,jdbcType=INTEGER},</if>
|
<if test="outputNumber!= null">#{outputNumber,jdbcType=INTEGER},</if>
|
</trim>
|
</insert>
|
<update id="updateByPrimaryKeySelective" parameterType="com.dy.pmsGlobal.pojoPr.PrAssemblyPlan">
|
update pr_assembly_plan
|
<set>
|
<if test="orderId != null">
|
order_id = #{orderId,jdbcType=BIGINT} ,
|
</if>
|
<if test="proId != null">
|
pro_id = #{proId,jdbcType=BIGINT},
|
</if>
|
<if test="batchId != null">
|
batch_id = #{batchId,jdbcType=BIGINT},
|
</if>
|
<if test="processId!= null">
|
process_id = #{processId,jdbcType=BIGINT},
|
</if>
|
<if test="name != null and name !=''">
|
name = #{name,jdbcType=VARCHAR},
|
</if>
|
<if test="number != null">
|
number = #{number,jdbcType=INTEGER},
|
</if>
|
<if test="status != null">
|
status = #{status,jdbcType=TINYINT},
|
</if>
|
<if test="creator != null and creator !=''">
|
creator = #{creator,jdbcType=VARCHAR},
|
</if>
|
<if test="dt != null">
|
dt = #{dt,jdbcType=TIMESTAMP},
|
</if>
|
<if test="startDate != null and startDate !=''">
|
start_date = #{startDate,jdbcType=VARCHAR},
|
</if>
|
<if test="endDate != null and endDate !=''">
|
end_date = #{endDate,jdbcType=VARCHAR},
|
</if>
|
<if test="deleted != null">
|
deleted = #{deleted,jdbcType=TINYINT},
|
</if>
|
<if test="content != null and content !=''">
|
content = #{content,jdbcType=VARCHAR},
|
</if>
|
<if test="inputNumber!= null">
|
input_number = #{inputNumber,jdbcType=INTEGER},
|
</if>
|
<if test="outputNumber!= null">
|
output_number = #{outputNumber,jdbcType=INTEGER},
|
</if>
|
</set>
|
where id = #{id,jdbcType=BIGINT}
|
</update>
|
<update id="updateByPrimaryKey" parameterType="com.dy.pmsGlobal.pojoPr.PrAssemblyPlan">
|
update pr_assembly_plan
|
set order_id = #{orderId,jdbcType=BIGINT},
|
pro_id = #{proId,jdbcType=BIGINT},
|
batch_id = #{batchId,jdbcType=BIGINT},
|
process_id = #{processId,jdbcType=BIGINT},
|
name = #{name,jdbcType=VARCHAR},
|
number = #{number,jdbcType=INTEGER},
|
status = #{status,jdbcType=TINYINT},
|
creator = #{creator,jdbcType=VARCHAR},
|
dt = #{dt,jdbcType=TIMESTAMP},
|
start_date = #{startDate,jdbcType=VARCHAR},
|
end_date = #{endDate,jdbcType=VARCHAR},
|
deleted = #{deleted,jdbcType=TINYINT},
|
content = #{content,jdbcType=VARCHAR},
|
input_number = #{inputNumber,jdbcType=INTEGER},
|
output_number = #{outputNumber,jdbcType=INTEGER}
|
where id = #{id,jdbcType=BIGINT}
|
</update>
|
|
<select id="selectSome" resultMap="BaseResultMap">
|
<!-- 一段时间开始的任务 -->
|
select
|
<include refid="Base_Column_List"/>
|
from pr_assembly_plan
|
<trim prefix="where" suffixOverrides="and">
|
<if test="proId != null">
|
pro_id = #{proId,jdbcType=BIGINT} and
|
</if>
|
<if test="startDate != null and startDate != '' ">
|
start_date <![CDATA[ > ]]> #{startDate,jdbcType=VARCHAR} and
|
</if>
|
<if test="endDate != null and endDate != ''">
|
start_date <![CDATA[ < ]]> #{endDate,jdbcType=VARCHAR} and
|
</if>
|
</trim>
|
order by id desc
|
<trim prefix="limit ">
|
<if test="start != null and count != null">
|
#{start}, #{count}
|
</if>
|
</trim>
|
</select>
|
|
<select id="selectSomeCount" resultType="java.lang.Long">
|
select count(1)
|
from pr_assembly_plan
|
<trim prefix="where" suffixOverrides="and">
|
<if test="proId != null">
|
pro_id = #{proId,jdbcType=BIGINT} and
|
</if>
|
<if test="startDate != null and startDate != '' ">
|
start_date <![CDATA[ > ]]> #{startDate,jdbcType=VARCHAR} and
|
</if>
|
<if test="endDate != null and endDate != ''">
|
start_date <![CDATA[ < ]]> #{endDate,jdbcType=VARCHAR} and
|
</if>
|
</trim>
|
</select>
|
<select id="exists" resultType="java.lang.Boolean">
|
select count(1) > 0
|
from pr_assembly_plan
|
where name = #{name,jdbcType=VARCHAR}
|
<if test="id != null">
|
and id != #{id,jdbcType=BIGINT}
|
</if>
|
</select>
|
|
<update id="deleteLogicById" parameterType="java.lang.Long">
|
update pr_assembly_plan
|
set deleted = 1
|
where id = #{id}
|
</update>
|
|
<select id="countByPlanIdAndNodeId" resultType="java.lang.Long">
|
select count(1) from pr_assembly_plan ap
|
left join pr_production_node pn on ap.process_id = pn.process_id
|
where ap.id = #{planId} and pn.id= #{nodeId}
|
</select>
|
|
<select id="selectByPlanName" resultType="cn.hutool.json.JSONObject">
|
select ap.id planId,ap.name planName,ap.`status`,pn.id nodeId,pn.content from pr_assembly_plan ap
|
left join pr_production_node pn on ap.process_id = pn.process_id
|
where status != -1
|
<if test="planName != null and planName!= ''">
|
and ap.name like concat('%', #{planName}, '%')
|
</if>
|
</select>
|
|
<select id="queryPlanList" resultType="cn.hutool.json.JSONObject">
|
select pp.`name` as pro_name, p.`name` ,p.number,p.input_number, p.output_number, concat(round(((p.output_number/p.number) * 100 ),0), '%') as complete_rate ,p.end_date,
|
TIMESTAMPDIFF(DAY, NOW(),p.end_date) AS days_difference
|
from (SELECT * FROM pr_assembly_plan WHERE STATUS = 1 and deleted = 0) p
|
LEFT JOIN plt_product pp
|
on p.pro_id = pp.id
|
ORDER BY end_date
|
</select>
|
|
|
</mapper>
|