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.

327 lines
12 KiB

1 year ago
10 months ago
1 year ago
10 months ago
1 year ago
10 months ago
10 months ago
1 year ago
10 months 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.QuoteGroupDetailMapper">
  4. <select id="queryQuoteGroupDetail" resultType="com.spring.modules.quote.entity.QuoteGroupDetail">
  5. select qd.id,
  6. qd.quote_id,
  7. qd.site,
  8. qd.bu_no,
  9. qd.quote_no,
  10. qd.version_no,
  11. qd.item_no,
  12. qd.part_id,
  13. pp.test_part_no as partNo,
  14. pp.part_desc,
  15. qd.internal_inquiry_no,
  16. qd.qty,
  17. qd.quote_count,
  18. qd.status,
  19. qd.part_cost,
  20. qd.adjust_part_cost,
  21. qd.labour_cost,
  22. qd.adjust_labour_cost,
  23. qd.fabricate_cost,
  24. qd.adjust_fabricate_cost,
  25. qd.tool_cost,
  26. qd.adjust_tool_cost,
  27. qd.machine_cost,
  28. qd.adjust_machine_cost,
  29. qd.other_cost,
  30. qd.manage_cost,
  31. qd.total_cost,
  32. qd.profit_rate,
  33. qd.profit_amount,
  34. qd.total_price,
  35. qd.unit_price,
  36. qd.tax_rate,
  37. qd.tax_total_price,
  38. qd.tax_unit_price,
  39. qd.remark,
  40. qd.active,
  41. qd.create_by,
  42. qd.create_date,
  43. qd.update_by,
  44. qd.update_date,
  45. qd.pack_cost,
  46. qd.shipping_cost,
  47. qd.process_time,
  48. qd.yield,
  49. qd.bom_un_yield,
  50. qd.bom_yield,
  51. qd.parent_attrition_rate,
  52. qd.child_attrition_rate,
  53. qd.adjust_bom_un_yield,
  54. qd.quote_cost,
  55. qd.adjust_quote_cost,
  56. qd.quote_total_cost,
  57. qd.quote_profit_rate,
  58. qd.quote_profit_amount,
  59. qd.quote_total_price,
  60. qd.quote_unit_price,
  61. qd.quote_tax_rate,
  62. qd.quote_tax_total_price,
  63. qd.quote_tax_unit_price,
  64. qd.currency1,
  65. dbo.plm_get_dictDataLabel('plm_customer_information_customer_customer_currency', qd.currency1,
  66. qd.site) as currencyDesc1,
  67. qd.exchange_rate1,
  68. qd.currency2,
  69. dbo.plm_get_dictDataLabel('plm_customer_information_customer_customer_currency', qd.currency2,
  70. qd.site) as currencyDesc2,
  71. qd.exchange_rate2,
  72. qd.moq,
  73. qd.currency_total_cost1,
  74. qd.currency_total_cost2,
  75. qd.quote_currency_total_cost1,
  76. qd.quote_currency_total_cost2,
  77. qd.calculated_items,
  78. qd.test_cost,
  79. qd.adjust_test_cost,
  80. qd.else_cost,
  81. qd.adjust_else_cost,
  82. qd.current_quote_detail_item_no
  83. from plm_quote_group_detail qd
  84. left join plm_quote q on qd.quote_id = q.id
  85. left join view_Project_Part pp
  86. on q.project_no = pp.project_id and qd.part_no = pp.test_part_no and qd.site = pp.site
  87. <where>
  88. <if test="id != null">
  89. and qd.id = #{id}
  90. </if>
  91. <if test="quoteId != null">
  92. and qd.quote_id = #{quoteId}
  93. </if>
  94. <if test="quoteNo != null and quoteNo != ''">
  95. and qd.quote_no = #{quoteNo}
  96. </if>
  97. <if test="site != null and site != ''">
  98. and qd.site = #{site}
  99. </if>
  100. <if test="buNo != null and buNo != ''">
  101. and qd.bu_no = #{buNo}
  102. </if>
  103. <if test="versionNo != null and versionNo != ''">
  104. and qd.version_no = #{versionNo}
  105. </if>
  106. </where>
  107. order by qd.id desc
  108. </select>
  109. <select id="queryQuoteGroupDetailByPage" resultType="com.spring.modules.quote.entity.QuoteGroupDetail">
  110. select qd.id,
  111. qd.quote_id,
  112. qd.site,
  113. qd.bu_no,
  114. qd.quote_no,
  115. qd.version_no,
  116. qd.item_no,
  117. qd.part_id,
  118. pp.test_part_no as partNo,
  119. pp.part_desc,
  120. qd.internal_inquiry_no,
  121. qd.qty,
  122. qd.quote_count,
  123. qd.status,
  124. qd.part_cost,
  125. qd.adjust_part_cost,
  126. qd.labour_cost,
  127. qd.adjust_labour_cost,
  128. qd.fabricate_cost,
  129. qd.adjust_fabricate_cost,
  130. qd.tool_cost,
  131. qd.adjust_tool_cost,
  132. qd.machine_cost,
  133. qd.adjust_machine_cost,
  134. qd.other_cost,
  135. qd.manage_cost,
  136. qd.total_cost,
  137. qd.profit_rate,
  138. qd.profit_amount,
  139. qd.total_price,
  140. qd.unit_price,
  141. qd.tax_rate,
  142. qd.tax_total_price,
  143. qd.tax_unit_price,
  144. qd.remark,
  145. qd.active,
  146. qd.create_by,
  147. qd.create_date,
  148. qd.update_by,
  149. qd.update_date,
  150. qd.pack_cost,
  151. qd.shipping_cost,
  152. qd.process_time,
  153. qd.yield,
  154. qd.bom_un_yield,
  155. qd.bom_yield,
  156. qd.parent_attrition_rate,
  157. qd.child_attrition_rate,
  158. qd.adjust_bom_un_yield,
  159. qd.quote_cost,
  160. qd.adjust_quote_cost,
  161. qd.quote_total_cost,
  162. qd.quote_profit_rate,
  163. qd.quote_profit_amount,
  164. qd.quote_total_price,
  165. qd.quote_unit_price,
  166. qd.quote_tax_rate,
  167. qd.quote_tax_total_price,
  168. qd.quote_tax_unit_price,
  169. qd.currency1,
  170. dbo.plm_get_dictDataLabel('plm_customer_information_customer_customer_currency', qd.currency1,
  171. qd.site) as currencyDesc1,
  172. qd.exchange_rate1,
  173. qd.currency2,
  174. qd.exchange_rate2,
  175. qd.moq,
  176. qd.currency_total_cost1,
  177. qd.currency_total_cost2,
  178. qd.quote_currency_total_cost1,
  179. qd.quote_currency_total_cost2,
  180. qd.calculated_items,
  181. qd.test_cost,
  182. qd.adjust_test_cost,
  183. qd.else_cost,
  184. qd.adjust_else_cost,
  185. qd.current_quote_detail_item_no
  186. from plm_quote_group_detail qd
  187. left join plm_quote q on qd.quote_id = q.id
  188. left join view_Project_Part pp
  189. on q.project_no = pp.project_id and qd.part_no = pp.test_part_no and qd.site = pp.site
  190. <where>
  191. <if test="params.quoteId != null">
  192. and qd.quote_id = #{params.quoteId}
  193. </if>
  194. <if test="params.quoteNo != null and params.quoteNo != ''">
  195. and qd.quote_no = #{params.quoteNo}
  196. </if>
  197. <if test="params.site != null and params.site != ''">
  198. and qd.site = #{params.site}
  199. </if>
  200. <if test="params.buNo != null and params.buNo != ''">
  201. and qd.bu_no = #{params.buNo}
  202. </if>
  203. <if test="params.versionNo != null and params.versionNo != ''">
  204. and qd.version_no = #{params.versionNo}
  205. </if>
  206. </where>
  207. order by qd.id desc
  208. </select>
  209. <select id="queryItemNo" resultType="java.lang.Integer">
  210. select ISNULL(max(item_no),0)+1 from plm_quote_group_detail where quote_id = #{quoteId}
  211. </select>
  212. <select id="queryQuoteGroupDetailByInquiry" resultType="com.spring.modules.quote.entity.QuoteGroupDetail">
  213. select qd.id,
  214. qd.quote_id,
  215. qd.site,
  216. qd.bu_no,
  217. qd.quote_no,
  218. qd.version_no,
  219. qd.item_no,
  220. qd.part_id,
  221. pp.test_part_no as partNo,
  222. pp.part_desc,
  223. qd.internal_inquiry_no,
  224. qd.qty,
  225. qd.quote_count,
  226. qd.status,
  227. qd.part_cost,
  228. qd.adjust_part_cost,
  229. qd.labour_cost,
  230. qd.adjust_labour_cost,
  231. qd.fabricate_cost,
  232. qd.adjust_fabricate_cost,
  233. qd.tool_cost,
  234. qd.adjust_tool_cost,
  235. qd.machine_cost,
  236. qd.adjust_machine_cost,
  237. qd.other_cost,
  238. qd.manage_cost,
  239. qd.total_cost,
  240. qd.profit_rate,
  241. qd.profit_amount,
  242. qd.total_price,
  243. qd.unit_price,
  244. qd.tax_rate,
  245. qd.tax_total_price,
  246. qd.tax_unit_price,
  247. qd.remark,
  248. qd.active,
  249. qd.create_by,
  250. qd.create_date,
  251. qd.update_by,
  252. qd.update_date,
  253. qd.pack_cost,
  254. qd.shipping_cost,
  255. qd.process_time,
  256. qd.yield,
  257. qd.bom_un_yield,
  258. qd.bom_yield,
  259. qd.parent_attrition_rate,
  260. qd.child_attrition_rate,
  261. qd.adjust_bom_un_yield,
  262. qd.quote_cost,
  263. qd.adjust_quote_cost,
  264. qd.quote_total_cost,
  265. qd.quote_profit_rate,
  266. qd.quote_profit_amount,
  267. qd.quote_total_price,
  268. qd.quote_unit_price,
  269. qd.quote_tax_rate,
  270. qd.quote_tax_total_price,
  271. qd.quote_tax_unit_price,
  272. qd.currency1,
  273. dbo.plm_get_dictDataLabel('plm_customer_information_customer_customer_currency', qd.currency1,
  274. qd.site) as currencyDesc1,
  275. qd.currency2,
  276. dbo.plm_get_dictDataLabel('plm_customer_information_customer_customer_currency', qd.currency2,
  277. qd.site) as currencyDesc2,
  278. qd.exchange_rate1,
  279. qd.currency2,
  280. qd.exchange_rate2,
  281. qd.moq,
  282. qd.currency_total_cost1,
  283. qd.currency_total_cost2,
  284. qd.quote_currency_total_cost1,
  285. qd.quote_currency_total_cost2,
  286. q.quote_date,
  287. q.quote_version_no,
  288. q.inside_inquiry_no,
  289. qd.calculated_items,
  290. qd.test_cost,
  291. qd.adjust_test_cost,
  292. qd.else_cost,
  293. qd.adjust_else_cost
  294. <!-- qd.current_quote_detail_item_no-->
  295. from plm_quote q
  296. left join plm_quote_detail qd on qd.quote_id = q.id
  297. left join view_Project_Part pp
  298. on q.project_no = pp.project_id and qd.part_no = pp.test_part_no and qd.site = pp.site
  299. <where>
  300. <if test="site != null and site != ''">
  301. and qd.site = #{site}
  302. </if>
  303. <if test="internalInquiryNo != null and internalInquiryNo != ''">
  304. and q.inside_inquiry_no = #{internalInquiryNo}
  305. </if>
  306. <if test="projectNo != null and projectNo != ''">
  307. and q.project_no = #{projectNo}
  308. </if>
  309. <if test="partNo != null and partNo != ''">
  310. and qd.part_no = #{partNo}
  311. </if>
  312. order by qd.part_no
  313. </where>
  314. </select>
  315. <update id="updateQuoteGroupDetailIsNull">
  316. update plm_quote_group_detail set current_quote_detail_item_no = null where id = #{quoteGroupDetailId}
  317. </update>
  318. <select id="queryQuoteGroupDetailByCurrent" resultType="com.spring.modules.quote.entity.QuoteGroupDetail">
  319. select id from plm_quote_group_detail where id = #{quoteGroupDetailId} and current_quote_detail_item_no = #{itemNo}
  320. </select>
  321. </mapper>