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.

330 lines
12 KiB

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