<?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.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> 
 |