insert into
sd.order_process_detail(
order_id,
order_number,
technology_number,
process,
process_id
)
values
(
#{processDetail.orderId},
#{processDetail.orderNumber},
#{processDetail.technologyNumber},
#{processDetail.process},
#{processDetail.processId}
)
update sd.order_process_detail as a
inner join
(select
rwd.completed_quantity,
rwd.breakage_quantity,
rw.process_id,
rwd.order_number,
rwd.technology_number
from pp.reporting_work_detail as rwd
left join pp.reporting_work as rw
on rwd.reporting_work_id = rw.reporting_work_id
where rwd.reporting_work_id =#{reportingWorkId} ) as b
on a.process_id = b.process_id
and a.order_number = b.order_number
and a.technology_number = b.technology_number
set a.reporting_work_num_count
= a.reporting_work_num_count-b.completed_quantity,
a.reporting_work_num
= a.reporting_work_num-b.completed_quantity,
a.broken_num
= a.broken_num-b.breakage_quantity
set a.reporting_work_num_count
= a.reporting_work_num_count+b.completed_quantity,
a.reporting_work_num
= a.reporting_work_num+b.completed_quantity,
a.broken_num
= a.broken_num+b.breakage_quantity
where a.process = #{process}
select a.* from( select id as id,process,order_number,technology_number,b.nickname,
case b.nickname when '' then 1
when null then 1
when 'stepC' then 2
when 'stepA' then 3
when 'stepD' then 4
when 'stepB' then 4
else 1
end as sort,
b.sort as 'sort2'
from order_process_detail
left join (select DISTINCT basic_name,nickname,sort from basic_data where basic_category = 'process') as b
on b.basic_name = process
where order_id = #{orderId}
group by process) as a
left join (SELECT max(count) as count,process from (SELECT count(opd1.id) as count,opd.process
from order_process_detail as opd
LEFT JOIN (SELECT id,process_id,order_number,technology_number
from order_process_detail
where order_id = #{orderId}) as opd1
on opd.process_id = opd1.process_id
and opd.order_number = opd1.order_number
and opd.technology_number = opd1.technology_number
and opd.id>=opd1.id
where opd.order_id =#{orderId}
group by opd.id) as a
GROUP BY process) as sort1
on sort1.process = a.process
order by sort,sort2,sort1.count,id
select id,process,order_number,technology_number
from order_process_detail
where order_id = #{orderId}
and order_number = #{orderNumber}
and technology_number = #{technologyNumber}
and id > #{id}
group by process
select
max(a.technology_number) as rowCount,
RowNum,
a.order_number,
a.process_id
from pp.flow_card as a
left join
(select min((@i:=@i+1)) AS RowNum,c.*
from pp.flow_card as c,
(SELECT @i:=-1) as d
where order_id = #{orderId}
GROUP BY order_number,process_id
) as b
on b.id = a.id
where a.order_id = #{orderId}
group by a.order_number,a.process_id
order by a.process_id,a.order_number
select
max(a.technology_number) as rowCount,
RowNum
from pp.flow_card as a
left join
(select min((@i:=@i+1)) AS RowNum,c.*
from pp.flow_card as c,
(SELECT @i:=-1) as d
where order_id = #{orderId}
GROUP BY process_id
) as b
on b.id = a.id
where a.order_id = #{orderId}
group by a.process_id
order by RowNum
update sd.order_process_detail as a
set
a.reporting_work_num_count=
a.reporting_work_num_count+#{reportingWorkDetail.completedQuantity},
a.reporting_work_num =a.reporting_work_num +#{reportingWorkDetail.completedQuantity},
a.broken_num =a.broken_num +#{reportingWorkDetail.breakageQuantity}
where
a.process_id = #{processId}
and a.order_number= #{reportingWorkDetail.orderNumber}
and a.technology_number= #{reportingWorkDetail.technologyNumber}
and a.process=#{thisProcess}
select a.id,process,order_number,technology_number,a.order_id
from order_process_detail as a
left join `order` as b on a.order_id=b.order_id
where b.create_time BETWEEN #{selectTime1} and #{selectTime2}
and position(#{orderId} in b.order_id)
group by process
select
max(a.technology_number) as rowCount,
RowNum
from order_process_detail as a
left join
(select min((@i:=@i+1)) AS RowNum,c.*
from sd.order_glass_detail as c
left join sd.`order` o2 on c.order_id = o2.order_id,
(SELECT @i:=-1) as d
where o2.create_time BETWEEN #{selectTime1} and #{selectTime2}
and position(#{orderId} in o2.order_id)
GROUP BY order_number
) as b
on b.order_number = a.order_number
left join sd.`order` o on a.order_id = o.order_id
where o.create_time BETWEEN #{selectTime1} and #{selectTime2} and position(#{orderId} in o.order_id)
group by a.order_number
select a.process from sd.order_process_detail as a,
(select id,process from sd.order_process_detail
where process_id=#{processId}
and position(technology_number in #{technologyNumber})
and order_number=#{orderNumber}
and process=#{thisProcess}
group by process) as b
where a.id = b.id + 1
and a.process_id=#{processId}
and a.order_number=#{orderNumber}
and position(a.technology_number in #{technologyNumber})
select *
,sum(e.break) as 'breakage_quantity'
,Round(sum(e.break)*e.area,2) as 'breakage_area'
,e.break as 'breakage_quantity'
,Round(e.break*e.area,2) as 'breakage_area'
from(select CAST(concat(b.order_id,'/',a.order_number,'/',a.technology_number) as char ) as 'order_id',
c.child_width,
c.child_height,
a.completed_quantity,
a.breakage_quantity as break,
a.order_number,
b.reporting_work_id,
round(c.area*a.completed_quantity,2) as finish_area,
c.area
from pp.reporting_work as b
left join pp.reporting_work_detail as a
on a.reporting_work_id = b.reporting_work_id
left join sd.order_glass_detail as c
on b.order_id = c.order_id
and c.order_number = a.order_number
and c.technology_number = a.technology_number
where b.reviewed_state >=0
and b.creator_id = #{creatorId}
and UNIX_TIMESTAMP(b.reporting_work_time) BETWEEN UNIX_TIMESTAMP(#{startDatetime}) and UNIX_TIMESTAMP(#{endDatetime})
order by b.id desc ) as e
group by e.order_number,e.reporting_work_id
select group_concat(process) from sd.order_process_detail as a
where a.order_id = #{orderId}
and a.process_id = #{processId}
and a.order_number =#{orderNumber}
and a.technology_number =#{technologyNumber}
and a.id>(select id
from sd.order_process_detail as b
where b.order_id = #{orderId}
and b.process_id = #{processId}
and b.order_number =#{orderNumber}
and b.technology_number =#{technologyNumber}
and b.process = #{thisProcess}
)
select a.*,(b.quantity-b.termination_quantity) as 'quantity'
from order_process_detail as a
inner join pp.flow_card as b
on a.order_id = b.order_id
and a.process_id = b.process_id
and a.order_number = b.order_number
and a.technology_number = b.technology_number
where termination_status = 0
and a.order_id=#{orderId}
and a.process_id=#{processId}
and a.order_number=#{orderNumber}
and a.technology_number=#{technologyNumber}
and a.process=#{process}
select a.process,
ROW_NUMBER() OVER (ORDER BY (SELECT NULL)) AS sort,
ifnull(b.nickname,"") as recombination
from sd.order_process_detail as a
inner join sd.basic_data as b
on a.process = b.basic_name and b.basic_category = 'process'
where a.order_id = #{orderId}
and a.process_id = #{processId}
and a.order_number =#{orderNumber}
and a.technology_number =#{technologyNumber}