From 11663d958bddfbcb0820765217f93f3c0da47bc5 Mon Sep 17 00:00:00 2001 From: 刘小明 <liuxm_a@163.com> Date: 星期二, 24 九月 2024 10:25:52 +0800 Subject: [PATCH] 添加 查询产品类型接口 --- pms-parent/pms-global/src/main/resources/mapper/PrAssemblyPlanMapper.xml | 350 +++++++++++++++++++++++++++++++++++++++++++--------------- 1 files changed, 259 insertions(+), 91 deletions(-) diff --git a/pms-parent/pms-global/src/main/resources/mapper/PrAssemblyPlanMapper.xml b/pms-parent/pms-global/src/main/resources/mapper/PrAssemblyPlanMapper.xml index dd5106b..6531127 100644 --- a/pms-parent/pms-global/src/main/resources/mapper/PrAssemblyPlanMapper.xml +++ b/pms-parent/pms-global/src/main/resources/mapper/PrAssemblyPlanMapper.xml @@ -6,6 +6,7 @@ <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"/> @@ -18,68 +19,139 @@ <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" /> + select="com.dy.pmsGlobal.daoPlt.PltProductMapper.selectProNameById" fetchType="eager"/> <association property="creatorName" column="creator" javaType="java.lang.Long" - select="com.dy.pmsGlobal.daoBa.BaUserMapper.selectNameByUserId" fetchType="eager" /> + 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" /> + 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" /> - <collection property="nodes" ofType="com.dy.pmsGlobal.pojoPr.PrProductionNode" - select="selectByProcess" fetchType="eager" column="process_id" /> + 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,pro_id,batch_id, + id,order_id + ,pro_id,batch_id, process_id,name,number, status,creator, dt,start_date,end_date, - deleted,content + deleted,content,input_number,output_number </sql> - - <select id="selectPlanNamesByProcessId" resultType="java.lang.String" > + <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 + 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 + 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 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" /> + <include refid="Base_Column_List"/> from pr_assembly_plan - where id = #{id,jdbcType=BIGINT} + 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="selectAssyPlanList" resultMap="BaseResultMap" parameterType="com.dy.pmsGlobal.pojoPr.PrAssemblyPlan"> + + <select id="selectByDeviceNo" parameterType="java.lang.String" resultMap="PlanResultMap"> select - <include refid="Base_Column_List" /> + <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"> + <if test="processId!= null"> process_id = #{processId,jdbcType=BIGINT} and </if> - <if test="name != null"> + <if test="name != null and name !=''"> name = #{name,jdbcType=VARCHAR} and </if> <if test="number != null"> @@ -88,22 +160,69 @@ <if test="status != null"> status = #{status,jdbcType=TINYINT} and </if> - <if test="creator != null"> + <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"> + <if test="startDate != null and startDate !=''"> start_date = #{startDate,jdbcType=VARCHAR} and </if> - <if test="endDate != null"> + <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"> + <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> @@ -111,68 +230,81 @@ </select> <delete id="deleteByPrimaryKey" parameterType="java.lang.Long"> - delete from pr_assembly_plan - where id = #{id,jdbcType=BIGINT} + 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 id="insert" keyColumn="id" keyProperty="id" parameterType="com.dy.pmsGlobal.pojoPr.PrAssemblyPlan" + useGeneratedKeys="true"> insert into pr_assembly_plan - ( id,pro_id,batch_id - ,process_id,name,number - ,status,creator - ,dt,start_date,end_date - ,deleted,content) - values (#{id,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}) + ( 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 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="proId != null">pro_id,</if> - <if test="batchId != null">batch_id,</if> - <if test="processId != null">process_id,</if> - <if test="name != null">name,</if> - <if test="number != null">number,</if> - <if test="status != null">status,</if> - <if test="creator != null">creator,</if> - <if test="dt != null">dt,</if> - <if test="startDate != null">start_date,</if> - <if test="endDate != null">end_date,</if> - <if test="deleted != null">deleted,</if> - <if test="content != null">content,</if> + <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="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">#{name,jdbcType=VARCHAR},</if> - <if test="number != null">#{number,jdbcType=INTEGER},</if> - <if test="status != null">#{status,jdbcType=TINYINT},</if> - <if test="creator != null">#{creator,jdbcType=VARCHAR},</if> - <if test="dt != null">#{dt,jdbcType=TIMESTAMP},</if> - <if test="startDate != null">#{startDate,jdbcType=VARCHAR},</if> - <if test="endDate != null">#{endDate,jdbcType=VARCHAR},</if> - <if test="deleted != null">#{deleted,jdbcType=TINYINT},</if> - <if test="content != null">#{content,jdbcType=VARCHAR},</if> + <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"> + <if test="processId!= null"> process_id = #{processId,jdbcType=BIGINT}, </if> - <if test="name != null"> + <if test="name != null and name !=''"> name = #{name,jdbcType=VARCHAR}, </if> <if test="number != null"> @@ -181,62 +313,71 @@ <if test="status != null"> status = #{status,jdbcType=TINYINT}, </if> - <if test="creator != null"> + <if test="creator != null and creator !=''"> creator = #{creator,jdbcType=VARCHAR}, </if> <if test="dt != null"> dt = #{dt,jdbcType=TIMESTAMP}, </if> - <if test="startDate != null"> + <if test="startDate != null and startDate !=''"> start_date = #{startDate,jdbcType=VARCHAR}, </if> - <if test="endDate != null"> + <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"> + <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} + where id = #{id,jdbcType=BIGINT} </update> <update id="updateByPrimaryKey" parameterType="com.dy.pmsGlobal.pojoPr.PrAssemblyPlan"> update pr_assembly_plan - set - 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} - where id = #{id,jdbcType=BIGINT} + 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" /> + <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 = #{startDate,jdbcType=VARCHAR} and + start_date <![CDATA[ > ]]> #{startDate,jdbcType=VARCHAR} and </if> <if test="endDate != null and endDate != ''"> - end_date = #{endDate,jdbcType=VARCHAR} and + start_date <![CDATA[ < ]]> #{endDate,jdbcType=VARCHAR} and </if> </trim> order by id desc - <trim prefix="limit " > + <trim prefix="limit "> <if test="start != null and count != null"> #{start}, #{count} </if> @@ -251,10 +392,10 @@ pro_id = #{proId,jdbcType=BIGINT} and </if> <if test="startDate != null and startDate != '' "> - start_date = #{startDate,jdbcType=VARCHAR} and + start_date <![CDATA[ > ]]> #{startDate,jdbcType=VARCHAR} and </if> <if test="endDate != null and endDate != ''"> - end_date = #{endDate,jdbcType=VARCHAR} and + start_date <![CDATA[ < ]]> #{endDate,jdbcType=VARCHAR} and </if> </trim> </select> @@ -268,7 +409,34 @@ </select> <update id="deleteLogicById" parameterType="java.lang.Long"> - update pr_assembly_plan set deleted = 1 + 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> -- Gitblit v1.8.0