<?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.ProductionSchedulingMapper">
|
<resultMap id="ProductionSchedulingMap" type="com.example.erp.entity.pp.ProductionScheduling">
|
<result column="processes" property="processes"/>
|
<result column="scheduling_quantity" property="schedulingQuantity"/>
|
<result column="order_number" property="orderNumber"/>
|
<result column="scheduling_id" property="schedulingId"/>
|
<result column="order_id" property="orderId"/>
|
<!--接收其他外键实体类数据-->
|
<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="order_id" property="orderId"/>
|
<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>
|
|
|
</resultMap>
|
|
|
<!-- 查询已排版数据-->
|
<select id="SelectOkSchedulingMp">
|
select date(ps.scheduled_start_time) as scheduled_start_time,
|
date(ps.plan_end_time) as plan_end_time,
|
od.order_id,o.customer_name,o.project,od.order_number,od.width,od.height,od.quantity,
|
round(od.width*od.height*od.quantity/1000000,2) as area,
|
ps.scheduling_quantity,
|
# (od.quantity-IFNULL(ps.scheduling_quantity,0)) as pendingProductionQuantity,
|
# round(od.width*od.height*(od.quantity-IFNULL(ps.scheduling_quantity,0))/1000000,2) as pendingProductionArea,
|
IFNULL(ps.scheduling_quantity,0) as productionScheduledQuantity,
|
round(od.width*od.height*(IFNULL(ps.scheduling_quantity,0))/1000000,2) as productionScheduledArea,
|
IF(ps.review_status=0,"未审核","已审核") as review_status,
|
ps.reviewer,
|
od.product_name,od.shape,ps.scheduling_id
|
from sd.order_detail as od
|
left join sd.order as o on od.order_id=o.order_id
|
left join production_scheduling as ps on ps.order_id=od.order_id and ps.order_number=od.order_number
|
where ps.scheduling_id IS NOT NULL
|
and od.create_time between #{selectTime1} and #{selectTime2}
|
and position(#{processes} in ps.processes)
|
and position(#{orderId} in ps.order_id)
|
|
</select>
|
|
<!-- 查询已排产带订单编号的数据-->
|
<select id="selectSchedulingNotMp">
|
select date(ps.scheduled_start_time) as scheduled_start_time,
|
date(ps.plan_end_time) as plan_end_time,
|
od.order_id,o.customer_name,o.project,od.order_number,od.width,od.height,od.quantity,
|
round(od.width*od.height*od.quantity/1000000,2) as area,
|
ps.scheduling_quantity,
|
# (od.quantity-IFNULL(ps.scheduling_quantity,0)) as pendingProductionQuantity,
|
# round(od.width*od.height*(od.quantity-IFNULL(ps.scheduling_quantity,0))/1000000,2) as pendingProductionArea,
|
IFNULL(ps.scheduling_quantity,0) as productionScheduledQuantity,
|
round(od.width*od.height*(IFNULL(ps.scheduling_quantity,0))/1000000,2) as productionScheduledArea,
|
IF(ps.review_status=0,"未审核","已审核") as review_status,
|
ps.reviewer,
|
od.product_name,od.shape,ps.scheduling_id
|
from sd.order_detail as od
|
left join sd.order as o on od.order_id=o.order_id
|
left join production_scheduling as ps on ps.order_id=od.order_id and ps.order_number=od.order_number
|
where (ps.scheduling_id IS NOT NULL )
|
and position(#{processes} in ps.processes)
|
and position(#{orderId} in ps.order_id)
|
|
</select>
|
<!-- 查询未排产数据-->
|
<select id="SelectNoSchedulingMp" >
|
select od.order_id,o.customer_name,o.project,od.order_number,od.width,od.height,od.quantity,
|
round(od.width*od.height*od.quantity/1000000,2) as area,
|
(od.quantity-IFNULL(ps.scheduling_quantity,0)) as pendingProductionQuantity,
|
round(od.width*od.height*(od.quantity-IFNULL(ps.scheduling_quantity,0))/1000000,2) as pendingProductionArea,
|
IFNULL(ps.scheduling_quantity,0) as productionScheduledQuantity,
|
round(od.width*od.height*(IFNULL(ps.scheduling_quantity,0))/1000000,2) as productionScheduledArea,
|
od.product_name,od.shape
|
from sd.order_detail as od left join sd.order as o on od.order_id=o.order_id
|
left join production_scheduling as ps on ps.order_id=od.order_id and ps.order_number=od.order_number
|
where od.quantity-IFNULL(ps.scheduling_quantity,0)>0 and od.create_time between #{selectTime1} and #{selectTime2}
|
|
and position(#{orderId} in ps.order_id)
|
group by od.order_id,od.order_number
|
</select>
|
<!-- 首次查询排产数据-->
|
<select id="selectLastSchedulingMp">
|
select od.order_id,o.customer_name,o.project,od.order_number,od.width,od.height,od.quantity,
|
round(od.width*od.height*od.quantity/1000000,2) as area,
|
(od.quantity-IFNULL(sum(ps.scheduling_quantity),0)) as pendingProductionQuantity,
|
round(od.width*od.height*(od.quantity-IFNULL(sum(ps.scheduling_quantity),0))/1000000,2) as pendingProductionArea,
|
IFNULL(sum(ps.scheduling_quantity),0) as productionScheduledQuantity,
|
round(od.width*od.height*(IFNULL(sum(ps.scheduling_quantity),0))/1000000,2) as productionScheduledArea,
|
od.product_name,od.shape
|
from sd.order_detail as od left join sd.order as o on od.order_id=o.order_id
|
left join production_scheduling as ps on ps.order_id=od.order_id and ps.order_number=od.order_number
|
where od.create_time between #{selectTime1} and #{selectTime2} and od.quantity-IFNULL(ps.scheduling_quantity,0)>0
|
group by od.order_id,od.order_number
|
</select>
|
|
<select id="selectMaxId">
|
select
|
COUNT(ps.scheduling_id)
|
from
|
`production_scheduling` as ps
|
where
|
date(ps.create_time) = curdate()
|
</select>
|
|
<insert id="insertSelective">
|
insert into production_scheduling(
|
scheduling_id,
|
order_id,
|
order_number,
|
processes,
|
scheduling_quantity,
|
scheduled_start_time,
|
plan_end_time,
|
notes,
|
create_time
|
)
|
VALUES(
|
#{schedulingId},
|
#{orderId},
|
#{orderNumber},
|
#{processes},
|
#{schedulingQuantity},
|
#{scheduledStartTime},
|
#{planEndTime},
|
#{notes},
|
now()
|
)
|
</insert>
|
|
<update id="ExamineSchedulingMp">
|
update production_scheduling set review_status=1,reviewer=#{userName} where
|
scheduling_id=#{schedulingId}
|
</update>
|
|
<delete id="deleteSchedulingMp">
|
delete from production_scheduling where scheduling_id=#{schedulingId}
|
</delete>
|
</mapper>
|