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.

217 lines
8.9 KiB

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.spring.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. rc.part_no,
  22. rc.routing_revision,
  23. rc.routing_type,
  24. rc.alternative_no,
  25. rc.operation_no,
  26. rc.efficiency_factor,
  27. rc.mach_run_factor,
  28. rc.mach_setup_time,
  29. rc.run_time_code,
  30. rc.labor_run_factor,
  31. rc.labor_setup_time,
  32. rc.crew_size,
  33. rc.setup_crew_size,
  34. rc.outside_op_item,
  35. rc.machine_no,
  36. rc.work_center_no,
  37. rc.labor_class_no,
  38. rc.setup_labor_class_no,
  39. rc.overlap,
  40. rc.note_text,
  41. rc.operation_id,
  42. rc.operation_name,
  43. #{createBy},
  44. #{createDate},
  45. #{treeId},
  46. 0,
  47. 0,
  48. 0,
  49. isnull(lc.current_level_cost, 0) as labor_class_cost, -- 人工
  50. isnull(slc.current_level_cost, 0) as setup_labor_class_cost, -- 调机人工
  51. dbo.get_workCenter_cost(rc.site, rc.work_center_no), -- 加工中心成本
  52. dbo.get_workCenter_cost(rc.site, rc.work_center_no) -- 制造费用
  53. from plm_routing_component rc
  54. left join labor_class lc on rc.labor_class_no = lc.level_id and rc.site = lc.site
  55. left join labor_class slc on rc.setup_labor_class_no = slc.level_id and rc.site = slc.site
  56. where rc.part_no = #{partNo}
  57. and rc.routing_revision = #{routingRevision}
  58. and rc.routing_type = #{routingType}
  59. and rc.alternative_no = #{alternativeNo}
  60. and rc.site = #{site}
  61. </insert>
  62. <select id="queryQuoteDetailRouting" resultType="com.spring.modules.quote.entity.QuoteDetailRouting">
  63. select qdr.id,
  64. qdr.quote_id,
  65. qdr.quote_detail_id,
  66. qdr.quote_detail_item_no,
  67. qdr.site,
  68. qdr.bu_no,
  69. qdr.quote_no,
  70. qdr.version_no,
  71. qdr.part_no,
  72. qdr.routing_revision,
  73. qdr.routing_type,
  74. qdr.alternative_no,
  75. qdr.operation_no,
  76. qdr.efficiency_factor,
  77. qdr.mach_run_factor,
  78. qdr.mach_setup_time,
  79. qdr.run_time_code,
  80. (case
  81. when qdr.run_time_code = 'Units/Hour' then '单位/小时'
  82. when qdr.run_time_code = 'Hour/Units' then '小时/单位'
  83. when qdr.run_time_code = 'Hour' then '小时'
  84. else '' end) as runTimeDesc,
  85. qdr.labor_run_factor,
  86. qdr.labor_setup_time,
  87. qdr.crew_size,
  88. qdr.setup_crew_size,
  89. qdr.outside_op_item,
  90. qdr.machine_no,
  91. qdr.work_center_no,
  92. qdr.labor_class_no,
  93. qdr.setup_labor_class_no,
  94. qdr.overlap,
  95. qdr.note_text,
  96. qdr.operation_id,
  97. qdr.operation_name,
  98. qdr.create_by,
  99. qdr.create_date,
  100. qdr.tree_id,
  101. p.part_desc,
  102. wc.work_center_desc,
  103. qdr.mach_cycle_time,
  104. qdr.labor_cycle_time,
  105. qdr.resource_num,
  106. qdr.labor_class_cost,
  107. qdr.setup_labor_class_cost,
  108. qdr.work_center_cost,
  109. qdr.manu_cost,
  110. qdr.shrinkage_factor
  111. from plm_quote_detail_routing qdr
  112. left join part p on qdr.part_no = p.part_no and qdr.site = p.site
  113. left join work_center wc
  114. on qdr.work_center_no = wc.work_center_no and qdr.site = wc.site
  115. where qdr.tree_id = #{treeId}
  116. order by qdr.tree_id, qdr.operation_no
  117. </select>
  118. <select id="queryQuoteDetailRoutingByTreeIds"
  119. resultType="com.spring.modules.quote.entity.QuoteDetailRouting">
  120. select qdr.id,
  121. qdr.quote_id,
  122. qdr.quote_detail_id,
  123. qdr.quote_detail_item_no,
  124. qdr.site,
  125. qdr.bu_no,
  126. qdr.quote_no,
  127. qdr.version_no,
  128. qdr.part_no,
  129. qdr.routing_revision,
  130. qdr.routing_type,
  131. qdr.alternative_no,
  132. qdr.operation_no,
  133. qdr.efficiency_factor,
  134. qdr.mach_run_factor,
  135. qdr.mach_setup_time,
  136. qdr.run_time_code,
  137. (case
  138. when qdr.run_time_code = 'Units/Hour' then '单位/小时'
  139. when qdr.run_time_code = 'Hours/Unit' then '小时/单位'
  140. when qdr.run_time_code = 'Hours' then '小时'
  141. else '' end) as runTimeDesc,
  142. qdr.labor_run_factor,
  143. qdr.labor_setup_time,
  144. qdr.crew_size,
  145. qdr.setup_crew_size,
  146. qdr.outside_op_item,
  147. qdr.machine_no,
  148. qdr.work_center_no,
  149. qdr.labor_class_no,
  150. qdr.setup_labor_class_no,
  151. qdr.overlap,
  152. qdr.note_text,
  153. qdr.operation_id,
  154. qdr.operation_name,
  155. qdr.create_by,
  156. qdr.create_date,
  157. qdr.tree_id,
  158. p.part_desc,
  159. wc.work_center_desc,
  160. qdr.mach_cycle_time,
  161. qdr.labor_cycle_time,
  162. qdr.resource_num,
  163. qdr.labor_class_cost,
  164. qdr.setup_labor_class_cost,
  165. qdr.work_center_cost,
  166. qdr.manu_cost,
  167. qdr.shrinkage_factor
  168. from plm_quote_detail_routing qdr
  169. left join part p on qdr.part_no = p.part_no and qdr.site = p.site
  170. left join work_center wc
  171. on qdr.work_center_no = wc.work_center_no and qdr.site = wc.site
  172. <where>
  173. <if test="ids != null and ids.size() > 0">
  174. and qdr.tree_id in (
  175. <foreach collection="ids" item="id" separator=",">
  176. #{id}
  177. </foreach>
  178. )
  179. </if>
  180. </where>
  181. order by qdr.tree_id, qdr.operation_no
  182. </select>
  183. <select id="queryQuoteDetailRoutingByVersion"
  184. resultType="com.spring.modules.quote.entity.QuoteDetailRouting">
  185. select
  186. prh.site,
  187. prh.part_no,
  188. prh.routing_revision,
  189. prh.routing_type,
  190. p.part_desc
  191. from plm_routing_header prh
  192. left join part p on prh.part_no = p.part_no and prh.site = p.site
  193. where prh.site = #{site}
  194. and prh.part_no = #{partNo}
  195. <if test="routingType != null and routingType != ''">
  196. and prh.routing_type = #{routingType}
  197. </if>
  198. order by prh.routing_type, prh.routing_revision
  199. </select>
  200. <select id="queryQuoteDetailRoutingAlternative"
  201. resultType="com.spring.modules.quote.entity.QuoteDetailRouting">
  202. select prd.site,
  203. prd.part_no,
  204. prd.routing_revision,
  205. prd.routing_type,
  206. prd.alternative_no,
  207. p.part_desc
  208. from plm_routing_detail prd
  209. left join part p on prd.part_no = p.part_no and prd.site = p.site
  210. where prd.site = #{site}
  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>