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

1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  3. <mapper namespace="com.xujie.sys.modules.quote.mapper.QuoteDetailRoutingMapper">
  4. <insert id="saveQuoteDetailRouting">
  5. insert into plm_quote_detail_routing(quote_id, quote_detail_id, quote_detail_item_no, site, bu_no, quote_no,
  6. version_no, part_no, routing_revision, routing_type, alternative_no,
  7. operation_no, efficiency_factor, mach_run_factor, mach_setup_time,
  8. run_time_code, labor_run_factor, labor_setup_time, crew_size,
  9. setup_crew_size, outside_op_item, machine_no, work_center_no,
  10. labor_class_no, setup_labor_class_no, overlap, note_text, operation_id,
  11. operation_name, create_by, create_date, tree_id, mach_cycle_time,
  12. labor_cycle_time, resource_num, labor_class_cost, setup_labor_class_cost,
  13. work_center_cost,manu_cost)
  14. select #{quoteId},
  15. #{quoteDetailId},
  16. #{quoteDetailItemNo},
  17. #{site},
  18. #{buNo},
  19. #{quoteNo},
  20. #{versionNo},
  21. part_no,
  22. routing_revision,
  23. routing_type,
  24. alternative_no,
  25. operation_no,
  26. efficiency_factor,
  27. mach_run_factor,
  28. mach_setup_time,
  29. run_time_code,
  30. labor_run_factor,
  31. labor_setup_time,
  32. crew_size,
  33. setup_crew_size,
  34. outside_op_item,
  35. machine_no,
  36. work_center_no,
  37. labor_class_no,
  38. setup_labor_class_no,
  39. overlap,
  40. note_text,
  41. operation_id,
  42. operation_name,
  43. #{createBy},
  44. #{createDate},
  45. #{treeId},
  46. mach_cycle_time,
  47. labor_cycle_time,
  48. dbo.get_work_center_resource_num(site, work_center_no),
  49. dbo.get_labor_class_cost(site, bu_no, labor_class_no, #{quoteDate}), -- 人工
  50. dbo.get_labor_class_cost(site, bu_no, setup_labor_class_no, #{quoteDate}), -- 调机人工
  51. dbo.get_work_center_cost(site, bu_no, work_center_no, #{quoteDate}, 'A'), -- 加工中心成本
  52. dbo.get_work_center_cost(site, bu_no, work_center_no, #{quoteDate}, 'B') -- 制造费用
  53. from plm_routing_component
  54. where part_no = #{partNo}
  55. and routing_revision = #{routingRevision}
  56. and routing_type = #{routingType}
  57. and alternative_no = #{alternativeNo}
  58. and site = #{site}
  59. </insert>
  60. <select id="queryQuoteDetailRouting" resultType="com.xujie.sys.modules.quote.entity.QuoteDetailRouting">
  61. select qdr.id,
  62. qdr.quote_id,
  63. qdr.quote_detail_id,
  64. qdr.quote_detail_item_no,
  65. qdr.site,
  66. qdr.bu_no,
  67. qdr.quote_no,
  68. qdr.version_no,
  69. qdr.part_no,
  70. qdr.routing_revision,
  71. qdr.routing_type,
  72. qdr.alternative_no,
  73. qdr.operation_no,
  74. qdr.efficiency_factor,
  75. qdr.mach_run_factor,
  76. qdr.mach_setup_time,
  77. qdr.run_time_code,
  78. (case
  79. when qdr.run_time_code = 'Units/Hour' then '单位/小时'
  80. when qdr.run_time_code = 'Hour/Units' then '小时/单位'
  81. when qdr.run_time_code = 'Hour' then '小时'
  82. else '' end) as runTimeDesc,
  83. qdr.labor_run_factor,
  84. qdr.labor_setup_time,
  85. qdr.crew_size,
  86. qdr.setup_crew_size,
  87. qdr.outside_op_item,
  88. qdr.machine_no,
  89. qdr.work_center_no,
  90. qdr.labor_class_no,
  91. qdr.setup_labor_class_no,
  92. qdr.overlap,
  93. qdr.note_text,
  94. qdr.operation_id,
  95. qdr.operation_name,
  96. qdr.create_by,
  97. qdr.create_date,
  98. qdr.tree_id,
  99. p.part_desc,
  100. wc.work_center_desc,
  101. qdr.mach_cycle_time,
  102. qdr.labor_cycle_time,
  103. qdr.resource_num,
  104. qdr.labor_class_cost,
  105. qdr.setup_labor_class_cost,
  106. qdr.work_center_cost,
  107. qdr.manu_cost
  108. from plm_quote_detail_routing qdr
  109. left join part p on qdr.part_no = p.part_no and qdr.site = p.site
  110. left join work_center wc
  111. on qdr.work_center_no = wc.work_center_no and qdr.site = wc.site
  112. where qdr.tree_id = #{treeId}
  113. order by qdr.tree_id, qdr.operation_no
  114. </select>
  115. <select id="queryQuoteDetailRoutingByTreeIds"
  116. resultType="com.xujie.sys.modules.quote.entity.QuoteDetailRouting">
  117. select qdr.id,
  118. qdr.quote_id,
  119. qdr.quote_detail_id,
  120. qdr.quote_detail_item_no,
  121. qdr.site,
  122. qdr.bu_no,
  123. qdr.quote_no,
  124. qdr.version_no,
  125. qdr.part_no,
  126. qdr.routing_revision,
  127. qdr.routing_type,
  128. qdr.alternative_no,
  129. qdr.operation_no,
  130. qdr.efficiency_factor,
  131. qdr.mach_run_factor,
  132. qdr.mach_setup_time,
  133. qdr.run_time_code,
  134. (case
  135. when qdr.run_time_code = 'Units/Hour' then '单位/小时'
  136. when qdr.run_time_code = 'Hour/Units' then '小时/单位'
  137. when qdr.run_time_code = 'Hour' then '小时'
  138. else '' end) as runTimeDesc,
  139. qdr.labor_run_factor,
  140. qdr.labor_setup_time,
  141. qdr.crew_size,
  142. qdr.setup_crew_size,
  143. qdr.outside_op_item,
  144. qdr.machine_no,
  145. qdr.work_center_no,
  146. qdr.labor_class_no,
  147. qdr.setup_labor_class_no,
  148. qdr.overlap,
  149. qdr.note_text,
  150. qdr.operation_id,
  151. qdr.operation_name,
  152. qdr.create_by,
  153. qdr.create_date,
  154. qdr.tree_id,
  155. p.part_desc,
  156. wc.work_center_desc,
  157. qdr.mach_cycle_time,
  158. qdr.labor_cycle_time,
  159. qdr.resource_num,
  160. qdr.labor_class_cost,
  161. qdr.setup_labor_class_cost,
  162. qdr.work_center_cost,
  163. qdr.manu_cost
  164. from plm_quote_detail_routing qdr
  165. left join part p on qdr.part_no = p.part_no and qdr.site = p.site
  166. left join work_center wc
  167. on qdr.work_center_no = wc.work_center_no and qdr.site = wc.site and qdr.bu_no = wc.bu_no
  168. <where>
  169. <if test="ids != null and ids.size() > 0">
  170. and qdr.tree_id in (
  171. <foreach collection="ids" item="id" separator=",">
  172. #{id}
  173. </foreach>
  174. )
  175. </if>
  176. </where>
  177. order by qdr.tree_id, qdr.operation_no
  178. </select>
  179. <select id="queryQuoteDetailRoutingByVersion"
  180. resultType="com.xujie.sys.modules.quote.entity.QuoteDetailRouting">
  181. select
  182. prh.site,
  183. prh.bu_no,
  184. prh.part_no,
  185. prh.routing_revision,
  186. prh.routing_type,
  187. p.part_desc
  188. from plm_routing_header prh
  189. left join part p on prh.part_no = p.part_no and prh.site = p.site
  190. where prh.site = #{site}
  191. and prh.bu_no = #{buNo}
  192. and prh.part_no = #{partNo}
  193. <if test="routingType != null and routingType != ''">
  194. and prh.routing_type = #{routingType}
  195. </if>
  196. order by prh.routing_type, prh.routing_revision
  197. </select>
  198. <select id="queryQuoteDetailRoutingAlternative"
  199. resultType="com.xujie.sys.modules.quote.entity.QuoteDetailRouting">
  200. select prd.site,
  201. prd.bu_no,
  202. prd.part_no,
  203. prd.routing_revision,
  204. prd.routing_type,
  205. prd.alternative_no,
  206. p.part_desc
  207. from plm_routing_detail prd
  208. left join part p on prd.part_no = p.part_no and prd.site = p.site
  209. where prd.site = #{site}
  210. and prd.bu_no = #{buNo}
  211. and prd.part_no = #{partNo}
  212. and prd.routing_type = #{routingType}
  213. and prd.routing_revision = #{routingRevision}
  214. order by prd.alternative_no desc
  215. </select>
  216. </mapper>