<?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.example.erp.mapper.pp.FlowCardMapper">
|
<resultMap id="flowCardMap" type="com.example.erp.entity.pp.FlowCard">
|
<result column="order_id" property="orderId"/>
|
<result column="process_Id" property="processId"/>
|
<result column="quantity" property="quantity"/>
|
<result column="founder" property="founder"/>
|
<result column="create_time" property="createTime"/>
|
<!--接收其他外键实体类数据-->
|
<association property="order" javaType="com.example.erp.entity.sd.Order">
|
<result column="project" property="project"/>
|
<result column="order_id" property="orderId"/>
|
<result column="customer_name" property="customerName"/>
|
<result column="batch" property="batch"/>
|
<result column="other_remarks" property="otherRemarks"/>
|
<result column="icon" property="icon"/>
|
<result column="order_type" property="orderType"/>
|
<result column="salesman" property="salesman"/>
|
<result column="processing_note" property="processingNote"/>
|
<result column="delivery_address" property="deliveryAddress"/>
|
</association>
|
<association property="orderDetail" javaType="com.example.erp.entity.sd.OrderDetail">
|
<result column="product_id" property="productId"/>
|
<result column="product_name" property="productName"/>
|
<result column="compute_gross_area" property="computeGrossArea"/>
|
<result column="processing_note" property="processingNote"/>
|
<result column="quantity" property="quantity"/>
|
<result column="compute_gross_area" property="computeGrossArea"/>
|
<result column="perimeter" property="perimeter"/>
|
<result column="order_number" property="orderNumber"/>
|
<result column="width" property="width"/>
|
<result column="height" property="height"/>
|
<result column="shape" property="shape"/>
|
<result column="weight" property="weight"/>
|
</association>
|
<association property="orderGlassDetail" javaType="com.example.erp.entity.sd.OrderGlassDetail">
|
<result column="production_id" property="productionId"/>
|
</association>
|
<association property="product" javaType="com.example.erp.entity.sd.Product">
|
<result column="total_thickness" property="totalThickness"/>
|
<result column="thickness" property="thickness"/>
|
</association>
|
|
<!--<result column="g_typeId" property="glassTypes.typeId"/>
|
<result column="g_type" property="glassTypes.type"/>-->
|
|
</resultMap>
|
<!-- 流程卡管理查询-->
|
<select id="selectFlowCard" resultMap="flowCardMap">
|
select
|
a.order_Id,
|
a.process_Id,
|
c.product_id,
|
c.product_name,
|
b.project,
|
a.quantity,
|
c.compute_gross_area,
|
a.founder,
|
c.processing_note
|
from flow_card as a left join sd.`order` as b on a.order_Id=b.order_id
|
left join sd.order_detail as c on a.order_Id=c.order_id and a.order_Number=c.order_number
|
where a.create_time between #{selectTime1} and #{selectTime2}
|
<if test="flowCard.orderId != null and flowCard.orderId != ''">
|
and a.order_id regexp #{flowCard.orderId}
|
</if>
|
<if test="flowCard.productionId != null and flowCard.productionId != ''">
|
and a.process_Id regexp #{flowCard.productionId}
|
</if>
|
<if test="flowCard.orderDetail.productId != null and flowCard.orderDetail.productId != ''">
|
and c.product_id regexp #{flowCard.orderDetail.productId}
|
</if>
|
<if test="flowCard.orderDetail.productName != null and flowCard.orderDetail.productName!= ''">
|
and c.product_name regexp #{flowCard.orderDetail.productName}
|
</if>
|
|
<if test="flowCard.order.project != null and flowCard.order.project!= ''">
|
and b.project regexp #{flowCard.order.project}
|
</if>
|
|
|
group by a.process_Id;
|
</select>
|
|
<!--分架查询-->
|
<select id="selectFlowCardMp" resultMap="flowCardMap">
|
select o.order_id,
|
o.customer_name,
|
o.project,
|
o.batch,
|
o.other_remarks,
|
o.icon,
|
o.order_type,
|
o.salesman,
|
o.processing_note,
|
o.delivery_address
|
from sd.`order` as o
|
left join sd.order_glass_detail ogd on o.order_id = ogd.order_id
|
where o.production_order=2 and ogd.splitting_status=0 and o.create_time between #{selectTime1} and #{selectTime2}
|
|
<if test="flowCard.order.orderId != null and flowCard.order.orderId != ''">
|
and o.order_id, regexp #{flowCard.order.orderId}
|
</if>
|
<if test="flowCard.order.customerName != null and flowCard.order.customerName != ''">
|
and o.customer_name regexp #{flowCard.order.customerName}
|
</if>
|
<if test="flowCard.order.project != null and flowCard.order.project != ''">
|
and o.project regexp #{flowCard.order.project}
|
</if>
|
<if test="flowCard.order.batch != null and flowCard.order.batch!= ''">
|
and o.batch regexp #{flowCard.order.batch}
|
</if>
|
|
<if test="flowCard.order.otherRemarks != null and flowCard.order.otherRemarks!= ''">
|
and o.other_remarks regexp #{flowCard.order.otherRemarks}
|
</if>
|
|
<if test="flowCard.order.icon != null and flowCard.order.icon!= ''">
|
and o.icon regexp #{flowCard.order.icon}
|
</if>
|
<if test="flowCard.order.orderType != null and flowCard.order.orderType!= ''">
|
and o.order_type regexp #{flowCard.order.orderType}
|
</if>
|
<if test="flowCard.order.salesman != null and flowCard.order.salesman!= ''">
|
and o.salesman regexp #{flowCard.order.salesman}
|
</if>
|
group by o.order_id
|
|
;
|
</select>
|
|
<!-- 分架明细查询-->
|
<select id="DetailsSelectMp" resultMap="flowCardMap">
|
select od.order_id,
|
ogd.production_id,
|
od.product_id,
|
od.product_name,
|
SUM( od.quantity) as quantity,
|
SUM(od.compute_gross_area) as compute_gross_area,
|
od.perimeter
|
from sd.order_detail as od left join sd.order_glass_detail as ogd
|
on od.order_id=ogd.order_id and od.order_number=ogd.order_number
|
where od.order_id = #{orderId} and ogd.splitting_status=0
|
<if test="flowCard.orderDetail.orderId != null and flowCard.orderDetail.orderId != ''">
|
and od.order_id regexp #{flowCard.orderDetail.orderId}
|
</if>
|
<if test="flowCard.orderGlassDetail.productionId != null and flowCard.orderGlassDetail.productionId != ''">
|
and ogd.production_id regexp #{flowCard.orderGlassDetail.productionId}
|
</if>
|
<if test="flowCard.orderDetail.productId != null and flowCard.orderDetail.productId != ''">
|
and od.product_id regexp #{flowCard.orderDetail.productId}
|
</if>
|
<if test="flowCard.orderDetail.productName != null and flowCard.orderDetail.productName != ''">
|
and od.product_name regexp #{flowCard.orderDetail.productName}
|
</if>
|
group by od.order_id, ogd.production_id
|
</select>
|
|
<update id="UpdateDeleteState">
|
update sd.order_glass_detail as ogd
|
set ogd.production_id=null,
|
ogd.production_time=null,
|
ogd.founder=null
|
where ogd.production_id = #{processId}
|
|
</update>
|
|
<!-- 删除流程卡-->
|
<update id="DeleteFlowCardMp">
|
update sd.order_detail as od left join sd.order_glass_detail as ogd
|
on od.order_id = ogd.order_id and od.order_number = ogd.order_number
|
set ogd.production_id=null,
|
ogd.production_time=null,
|
ogd.founder=null
|
where od.order_id = #{orderId}
|
and ogd.production_id = #{processId}
|
</update>
|
|
<!-- 分架新增明细查询-->
|
|
<!--resultMap="flowCardMap"-->
|
<select id="SelectNoCardMp" >
|
|
select
|
od.order_number,
|
od.order_number AS 'orderNumber',
|
od.width,
|
od.height,
|
od.shape,
|
od.quantity,
|
od.compute_gross_area,
|
p.total_thickness,
|
od.quantity as baiscQuantity,
|
od.compute_gross_area as 'computeGrossArea',
|
p.total_thickness AS 'totalThickness',
|
p.thickness,
|
od.weight
|
from
|
sd.order_detail as od
|
left join sd.order_glass_detail as ogd on od.order_id=ogd.order_id and od.order_number=ogd.order_number
|
left join sd.product as p on od.product_name=p.product_name
|
where od.order_id=#{orderId} and ogd.production_id=#{productionId} and ogd.splitting_status=0
|
GROUP BY od.order_number;
|
|
|
</select>
|
|
<!--修改排版状态-->
|
<update id="UpdateLayoutStatusMp">
|
update flow_card as fc
|
set fc.layout_status=2
|
where fc.process_id = #{processId}
|
</update>
|
|
<!-- 查询对应流程卡号排版状态-->
|
<select id="SelectLayoutStatus">
|
select fc.layout_status
|
from flow_card as fc
|
where fc.process_id = #{processId}
|
LIMIT 1
|
</select>
|
|
<!-- 查询报工表内是否有对应流程卡-->
|
<select id="ReportingWorkCount">
|
select COUNT(rw.process_id)
|
from reporting_work as rw
|
where rw.process_id = #{processId}
|
</select>
|
<!-- 插入Flow_card表-->
|
<insert id="AddFlowCardMp">
|
insert into
|
flow_card (
|
order_id,
|
production_id,
|
process_id,
|
landing_sequence,
|
order_number,
|
technology_number,
|
quantity,
|
founder,
|
splitFrame_time,
|
create_time
|
)
|
select
|
ogd.order_id,
|
ogd.production_id,
|
#{processId},
|
#{landingSequence},
|
ogd.order_number,
|
ogd.technology_number,
|
#{quantity},
|
#{userName},
|
NOW(),
|
NOW()
|
|
|
|
from sd.order_glass_detail as ogd
|
where ogd.production_id=#{productionId} and ogd.order_number=#{orderNumber}
|
GROUP BY ogd.technology_number
|
</insert>
|
|
<!-- 更新分架状态-->
|
<update id="UpdateFlowState">
|
update sd.order_glass_detail as ogd
|
set ogd.splitting_status=1
|
where ogd.production_id=#{productionId} and ogd.order_number=#{orderNumber}
|
</update>
|
<!-- 查询未分架的条数-->
|
<select id="SelectFlowCount">
|
select COUNT(*)
|
from sd.order_glass_detail as ogd
|
where ogd.order_id = left(#{productionId},10)
|
and ogd.splitting_status = 0
|
</select>
|
<!-- 修改订单表分架状态-->
|
<update id="UpdateProcessingCard">
|
update sd.`order` as o
|
set o.processing_card=#{state}
|
where o.order_id=left(#{productionId},10)
|
</update>
|
</mapper>
|