|  |  |  | 
|---|
|  |  |  | <mapper namespace="com.dy.pmsGlobal.daoPr.PrOrderItemMapper"> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <resultMap id="BaseResultMap" type="com.dy.pmsGlobal.pojoPr.PrOrderItem"> | 
|---|
|  |  |  | <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="number" column="number" jdbcType="INTEGER"/> | 
|---|
|  |  |  | <result property="completeNumber" column="complete_number" jdbcType="INTEGER"/> | 
|---|
|  |  |  | <result column="deleted" property="deleted" typeHandler="com.dy.common.mybatis.BooleanTypeHandler" /> | 
|---|
|  |  |  | <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="number" column="number" jdbcType="INTEGER"/> | 
|---|
|  |  |  | <result property="completeNumber" column="complete_number" jdbcType="INTEGER"/> | 
|---|
|  |  |  | <result column="deleted" property="deleted" typeHandler="com.dy.common.mybatis.BooleanTypeHandler" /> | 
|---|
|  |  |  | <result property="name" column="name"  jdbcType="VARCHAR"/> | 
|---|
|  |  |  | <association property="proType" column="pro_id" javaType="java.lang.Long" | 
|---|
|  |  |  | select="com.dy.pmsGlobal.daoPlt.PltProductMapper.selectProTypeById" fetchType="eager" /> | 
|---|
|  |  |  | </resultMap> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <sql id="Base_Column_List"> | 
|---|
|  |  |  | 
|---|
|  |  |  | <select id="selectItems"  parameterType="java.lang.Long" resultMap="BaseResultMap"> | 
|---|
|  |  |  | <!--算出完成率 Base_Column_List--> | 
|---|
|  |  |  | SELECT aa.*, concat(round(((complete_number/number) * 100 ),2), '%') as complete_rate  from ( | 
|---|
|  |  |  | select oi.id,oi.order_id,oi.pro_id,oi.number, sum(IFNULL(pap.output_number,0)) as complete_number | 
|---|
|  |  |  | select oi.id,oi.order_id,oi.pro_id,pp.`name`,oi.number, sum(IFNULL(pap.output_number,0)) as complete_number | 
|---|
|  |  |  | from (SELECT * from  pr_order_item where order_id = #{orderId,jdbcType=BIGINT} and deleted !=1 ) oi | 
|---|
|  |  |  | LEFT JOIN pr_assembly_plan pap | 
|---|
|  |  |  | ON oi.order_id = pap.order_id AND  oi.pro_id = pap.pro_id | 
|---|
|  |  |  | LEFT JOIN plt_product pp | 
|---|
|  |  |  | ON oi.pro_id = pp.id | 
|---|
|  |  |  | GROUP BY oi.id,oi.order_id,oi.pro_id,oi.number) aa | 
|---|
|  |  |  | </select> | 
|---|
|  |  |  | <select id="selectDistinctPro"  parameterType="java.lang.Long" resultMap="BaseResultMap"> | 
|---|
|  |  |  | <!--Distinct出order_id中的产品   Base_Column_List--> | 
|---|
|  |  |  | select DISTINCT(oi.order_id),oi.pro_id,pp.`name` | 
|---|
|  |  |  | from (SELECT * from  pr_order_item where order_id = #{orderId,jdbcType=BIGINT} and deleted !=1 ) oi | 
|---|
|  |  |  | LEFT JOIN plt_product pp | 
|---|
|  |  |  | ON oi.pro_id = pp.id | 
|---|
|  |  |  | GROUP BY oi.order_id,oi.pro_id | 
|---|
|  |  |  | ORDER BY oi.order_id | 
|---|
|  |  |  | </select> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <delete id="deleteByPrimaryKey" parameterType="java.lang.Long"> | 
|---|
|  |  |  | delete from pr_order_item | 
|---|
|  |  |  | where  id = #{id,jdbcType=BIGINT} | 
|---|
|  |  |  | 
|---|
|  |  |  | from pr_order_item p | 
|---|
|  |  |  | where p.deleted!=1 | 
|---|
|  |  |  | <trim prefix="and " suffixOverrides="and"> | 
|---|
|  |  |  | <if test="orderId != null and orderId != ''"> | 
|---|
|  |  |  | p.orderId = #{orderId,jdbcType=BIGINT} and | 
|---|
|  |  |  | <if test="orderId != null"> | 
|---|
|  |  |  | p.order_id = #{orderId,jdbcType=BIGINT} and | 
|---|
|  |  |  | </if> | 
|---|
|  |  |  | </trim> | 
|---|
|  |  |  | order by id desc | 
|---|
|  |  |  | 
|---|
|  |  |  | from pr_order_item p | 
|---|
|  |  |  | where p.deleted!=1 | 
|---|
|  |  |  | <trim prefix="and " suffixOverrides="and"> | 
|---|
|  |  |  | <if test="orderId != null and orderId != ''"> | 
|---|
|  |  |  | p.orderId = #{orderId,jdbcType=BIGINT} and | 
|---|
|  |  |  | <if test="orderId != null"> | 
|---|
|  |  |  | p.order_id = #{orderId,jdbcType=BIGINT} and | 
|---|
|  |  |  | </if> | 
|---|
|  |  |  | </trim> | 
|---|
|  |  |  | </select> | 
|---|