You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

218 lines
8.8 KiB

<?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.xujie.sys.modules.quote.mapper.QuoteDetailRoutingMapper">
<insert id="saveQuoteDetailRouting">
insert into plm_quote_detail_routing(quote_id, quote_detail_id, quote_detail_item_no, site, bu_no, quote_no,
version_no, part_no, routing_revision, routing_type, alternative_no,
operation_no, efficiency_factor, mach_run_factor, mach_setup_time,
run_time_code, labor_run_factor, labor_setup_time, crew_size,
setup_crew_size, outside_op_item, machine_no, work_center_no,
labor_class_no, setup_labor_class_no, overlap, note_text, operation_id,
operation_name, create_by, create_date, tree_id, mach_cycle_time,
labor_cycle_time, resource_num, labor_class_cost, setup_labor_class_cost,
work_center_cost,manu_cost)
select #{quoteId},
#{quoteDetailId},
#{quoteDetailItemNo},
#{site},
#{buNo},
#{quoteNo},
#{versionNo},
part_no,
routing_revision,
routing_type,
alternative_no,
operation_no,
efficiency_factor,
mach_run_factor,
mach_setup_time,
run_time_code,
labor_run_factor,
labor_setup_time,
crew_size,
setup_crew_size,
outside_op_item,
machine_no,
work_center_no,
labor_class_no,
setup_labor_class_no,
overlap,
note_text,
operation_id,
operation_name,
#{createBy},
#{createDate},
#{treeId},
mach_cycle_time,
labor_cycle_time,
dbo.get_work_center_resource_num(site, work_center_no),
dbo.get_labor_class_cost(site, bu_no, labor_class_no, #{quoteDate}), -- 人工
dbo.get_labor_class_cost(site, bu_no, setup_labor_class_no, #{quoteDate}), -- 调机人工
dbo.get_work_center_cost(site, bu_no, work_center_no, #{quoteDate}, 'A'), -- 加工中心成本
dbo.get_work_center_cost(site, bu_no, work_center_no, #{quoteDate}, 'B') -- 制造费用
from plm_routing_component
where part_no = #{partNo}
and routing_revision = #{routingRevision}
and routing_type = #{routingType}
and alternative_no = #{alternativeNo}
and site = #{site}
</insert>
<select id="queryQuoteDetailRouting" resultType="com.xujie.sys.modules.quote.entity.QuoteDetailRouting">
select qdr.id,
qdr.quote_id,
qdr.quote_detail_id,
qdr.quote_detail_item_no,
qdr.site,
qdr.bu_no,
qdr.quote_no,
qdr.version_no,
qdr.part_no,
qdr.routing_revision,
qdr.routing_type,
qdr.alternative_no,
qdr.operation_no,
qdr.efficiency_factor,
qdr.mach_run_factor,
qdr.mach_setup_time,
qdr.run_time_code,
(case
when qdr.run_time_code = 'Units/Hour' then '单位/小时'
when qdr.run_time_code = 'Hour/Units' then '小时/单位'
when qdr.run_time_code = 'Hour' then '小时'
else '' end) as runTimeDesc,
qdr.labor_run_factor,
qdr.labor_setup_time,
qdr.crew_size,
qdr.setup_crew_size,
qdr.outside_op_item,
qdr.machine_no,
qdr.work_center_no,
qdr.labor_class_no,
qdr.setup_labor_class_no,
qdr.overlap,
qdr.note_text,
qdr.operation_id,
qdr.operation_name,
qdr.create_by,
qdr.create_date,
qdr.tree_id,
p.part_desc,
wc.work_center_desc,
qdr.mach_cycle_time,
qdr.labor_cycle_time,
qdr.resource_num,
qdr.labor_class_cost,
qdr.setup_labor_class_cost,
qdr.work_center_cost,
qdr.manu_cost
from plm_quote_detail_routing qdr
left join part p on qdr.part_no = p.part_no and qdr.site = p.site
left join work_center wc
on qdr.work_center_no = wc.work_center_no and qdr.site = wc.site
where qdr.tree_id = #{treeId}
order by qdr.tree_id, qdr.operation_no
</select>
<select id="queryQuoteDetailRoutingByTreeIds"
resultType="com.xujie.sys.modules.quote.entity.QuoteDetailRouting">
select qdr.id,
qdr.quote_id,
qdr.quote_detail_id,
qdr.quote_detail_item_no,
qdr.site,
qdr.bu_no,
qdr.quote_no,
qdr.version_no,
qdr.part_no,
qdr.routing_revision,
qdr.routing_type,
qdr.alternative_no,
qdr.operation_no,
qdr.efficiency_factor,
qdr.mach_run_factor,
qdr.mach_setup_time,
qdr.run_time_code,
(case
when qdr.run_time_code = 'Units/Hour' then '单位/小时'
when qdr.run_time_code = 'Hour/Units' then '小时/单位'
when qdr.run_time_code = 'Hour' then '小时'
else '' end) as runTimeDesc,
qdr.labor_run_factor,
qdr.labor_setup_time,
qdr.crew_size,
qdr.setup_crew_size,
qdr.outside_op_item,
qdr.machine_no,
qdr.work_center_no,
qdr.labor_class_no,
qdr.setup_labor_class_no,
qdr.overlap,
qdr.note_text,
qdr.operation_id,
qdr.operation_name,
qdr.create_by,
qdr.create_date,
qdr.tree_id,
p.part_desc,
wc.work_center_desc,
qdr.mach_cycle_time,
qdr.labor_cycle_time,
qdr.resource_num,
qdr.labor_class_cost,
qdr.setup_labor_class_cost,
qdr.work_center_cost,
qdr.manu_cost
from plm_quote_detail_routing qdr
left join part p on qdr.part_no = p.part_no and qdr.site = p.site
left join work_center wc
on qdr.work_center_no = wc.work_center_no and qdr.site = wc.site and qdr.bu_no = wc.bu_no
<where>
<if test="ids != null and ids.size() > 0">
and qdr.tree_id in (
<foreach collection="ids" item="id" separator=",">
#{id}
</foreach>
)
</if>
</where>
order by qdr.tree_id, qdr.operation_no
</select>
<select id="queryQuoteDetailRoutingByVersion"
resultType="com.xujie.sys.modules.quote.entity.QuoteDetailRouting">
select
prh.site,
prh.bu_no,
prh.part_no,
prh.routing_revision,
prh.routing_type,
p.part_desc
from plm_routing_header prh
left join part p on prh.part_no = p.part_no and prh.site = p.site
where prh.site = #{site}
and prh.bu_no = #{buNo}
and prh.part_no = #{partNo}
<if test="routingType != null and routingType != ''">
and prh.routing_type = #{routingType}
</if>
order by prh.routing_type, prh.routing_revision
</select>
<select id="queryQuoteDetailRoutingAlternative"
resultType="com.xujie.sys.modules.quote.entity.QuoteDetailRouting">
select prd.site,
prd.bu_no,
prd.part_no,
prd.routing_revision,
prd.routing_type,
prd.alternative_no,
p.part_desc
from plm_routing_detail prd
left join part p on prd.part_no = p.part_no and prd.site = p.site
where prd.site = #{site}
and prd.bu_no = #{buNo}
and prd.part_no = #{partNo}
and prd.routing_type = #{routingType}
and prd.routing_revision = #{routingRevision}
order by prd.alternative_no desc
</select>
</mapper>