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.

539 lines
24 KiB

2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
1 year ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
1 year ago
2 years ago
1 year ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years 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.quotation.mapper.QuotationInformationMapper">
  4. <resultMap id="getQuotation" type="com.spring.modules.quotation.vo.QuotationInformationVo">
  5. <result column="site" property="site"/>
  6. <result column="quotation_no" property="quotationNo"/>
  7. <result column="customer_no" property="customerNo"/>
  8. <result column="customerDesc" property="customerDesc"/>
  9. <result column="customerCurrency" property="customerCurrency"/>
  10. <result column="project_id" property="projectId"/>
  11. <result column="projectName" property="projectName"/>
  12. <result column="tracker" property="tracker"/>
  13. <result column="trackerName" property="trackerName"/>
  14. <result column="quoter" property="quoter"/>
  15. <result column="quoterName" property="quoterName"/>
  16. <result column="quotation_status" property="quotationStatus"/>
  17. <result column="test_part_no" property="testPartNo"/>
  18. <result column="partName" property="partName"/>
  19. <result column="priority_level" property="priorityLevel"/>
  20. <result column="required_completion_date" property="requiredCompletionDate"/>
  21. <result column="remark" property="remark"/>
  22. <result column="technical_considerations" property="technicalConsiderations"/>
  23. <result column="customer_responsible_person" property="customerResponsiblePerson"/>
  24. <result column="customer_responsible_person_phone" property="customerResponsiblePersonPhone"/>
  25. <result column="create_date" property="createDate"/>
  26. <result column="create_by" property="createBy"/>
  27. <result column="update_date" property="updateDate"/>
  28. <result column="update_by" property="updateBy"/>
  29. <result column="next_to_do" property="nextToDo"/>
  30. <result column="actuality_quotation_date" property="actualityQuotationDate"/>
  31. <result column="quotation_result_information" property="quotationResultInformation"/>
  32. <result column="actuality_submission_date" property="actualitySubmissionDate"/>
  33. <result column="submission_method" property="submissionMethod"/>
  34. <result column="submission_remark" property="submissionRemark"/>
  35. <result column="actuality_reply_date" property="actualityReplyDate"/>
  36. <result column="confirm_results" property="confirmResults"/>
  37. <result column="confirm_by" property="confirmBy"/>
  38. <result column="confirm_information" property="confirmInformation"/>
  39. <result column="quotation_result_status" property="quotationResultStatus"/>
  40. <result column="quotation_batch_no" property="quotationBatchNo"/>
  41. <result column="quotation_item_no" property="quotationItemNo"/>
  42. <result column="delivery_terms" property="deliveryTerms"/>
  43. <result column="quote_type" property="quoteType"/>
  44. <result column="quoteTypeLabel" property="quoteTypeLabel"/>
  45. <result column="deliveryTermsLabel" property="deliveryTermsLabel"/>
  46. <result column="finalCustomerId" property="finalCustomerId"/>
  47. <result column="sourcing" property="sourcing"/>
  48. <result column="finalCustomerName" property="finalCustomerName"/>
  49. <result column="quotation_amount" property="quotationAmount"/>
  50. <result column="customer_quote_no" property="customerQuoteNo"/>
  51. <result column="is_reject" property="isReject"/>
  52. <result column="node_id" property="nodeId"/>
  53. <result column="node_name" property="nodeName"/>
  54. <!-- <association property="priceCheckDetail" javaType="com.spring.modules.quotation.entity.PriceCheckDetail">-->
  55. <!-- <result column="site" property="site"/>-->
  56. <!-- <result column="quotation_no" property="quotationNo"/>-->
  57. <!-- <result column="associated_part_no" property="associatedPartNo"/>-->
  58. <!-- <result column="material_required" property="materialRequired"/>-->
  59. <!-- <result column="yearly_or_monthly_required" property="yearlyOrMonthlyRequirement"/>-->
  60. <!-- <result column="running_width" property="runningWidth"/>-->
  61. <!-- </association>-->
  62. </resultMap>
  63. <!-- 报价信息列表 -->
  64. <select id="quotationInformationSearch" resultMap="getQuotation" parameterType="com.spring.modules.quotation.vo.QuotationInformationVo">
  65. SELECT a.site,
  66. a.quotation_no,
  67. customer_no,
  68. dbo.plm_get_customer_desc(a.site, customer_no) as customerDesc,
  69. dbo.plm_get_customer_currency(a.site, customer_no) as customerCurrency,
  70. project_id,
  71. dbo.plm_get_project_name(a.site, project_id) as projectName,
  72. dbo.plm_get_project_final_customer_id(a.site, project_id) as finalCustomerId,
  73. dbo.plm_get_customer_desc(a.site,
  74. dbo.plm_get_project_final_customer_id(a.site, project_id)) as finalCustomerName,
  75. tracker,
  76. dbo.plm_get_user_display(a.site, tracker) as trackerName,
  77. quoter,
  78. dbo.plm_get_user_display(a.site, quoter) as quoterName,
  79. quotation_status,
  80. test_part_no,
  81. dbo.plm_get_test_part_desc(a.site, test_part_no) as partName,
  82. priority_level,
  83. required_completion_date,
  84. a.remark,
  85. technical_considerations,
  86. customer_responsible_person,
  87. customer_responsible_person_phone,
  88. a.create_date,
  89. a.create_by,
  90. a.update_date,
  91. a.update_by,
  92. next_to_do,
  93. actuality_quotation_date,
  94. quotation_result_information,
  95. actuality_submission_date,
  96. submission_method,
  97. submission_remark,
  98. actuality_reply_date,
  99. confirm_results,
  100. confirm_by,
  101. confirm_information,
  102. quotation_result_status,
  103. quotation_batch_no,
  104. quotation_item_no,
  105. delivery_terms,
  106. quote_type,
  107. dbo.plm_get_dictDataLabel('quote_type', quote_type, a.site) as quoteTypeLabel,
  108. dbo.plm_get_dictDataLabel('delivery_terms', delivery_terms, a.site) as deliveryTermsLabel,
  109. quotation_amount,
  110. customer_quote_no,
  111. sourcing,
  112. a.step_id,
  113. a.reject_flag,
  114. a.reject_step_id,
  115. d.is_reject,
  116. d.node_id,
  117. d.node_name
  118. FROM plm_quotation_information as a
  119. left join plm_request_header as prh on a.site = prh.site and prh.menu_id = #{query.menuId}
  120. left join plm_request_node as d on a.site = d.site and prh.classification_no = d.classification_no and
  121. prh.workflow_id = d.workflow_id and a.step_id = d.step_id
  122. <where>
  123. a.site = #{query.site}
  124. <if test="query.quotationNo != null and query.quotationNo != ''">
  125. AND a.quotation_no = #{query.quotationNo}
  126. </if>
  127. <if test="query.quotationBatchNo != null and query.quotationBatchNo != ''">
  128. AND quotation_batch_no like #{query.quotationBatchNo}
  129. </if>
  130. <if test="query.quotationItemNo != null and query.quotationItemNo != ''">
  131. AND quotation_item_no = #{query.quotationItemNo}
  132. </if>
  133. <if test="query.customerNo != null and query.customerNo != ''">
  134. AND customer_no like #{query.customerNo}
  135. </if>
  136. <if test="query.customerDesc != null and query.customerDesc != ''">
  137. AND dbo.plm_get_customer_desc(a.site, customer_no) like #{query.customerDesc}
  138. </if>
  139. <if test="query.projectId != null and query.projectId != ''">
  140. AND project_id like #{query.projectId}
  141. </if>
  142. <if test="query.projectName != null and query.projectName != ''">
  143. AND dbo.plm_get_project_name(a.site, project_id) like #{query.projectName}
  144. </if>
  145. <if test="query.trackerName != null and query.trackerName != ''">
  146. AND dbo.plm_get_user_display(a.site, tracker) like #{query.trackerName}
  147. </if>
  148. <if test="query.quoterName != null and query.quoterName != ''">
  149. AND dbo.plm_get_user_display(a.site, quoter) like #{query.quoterName}
  150. </if>
  151. <if test="query.testPartNo != null and query.testPartNo != ''">
  152. AND test_part_no like #{query.testPartNo}
  153. </if>
  154. <if test="query.partName != null and query.partName != ''">
  155. AND dbo.plm_get_test_part_desc(a.site, test_part_no) like #{query.partName}
  156. </if>
  157. <if test="query.quotationStatus != null and query.quotationStatus != ''">
  158. AND quotation_status = #{query.quotationStatus}
  159. </if>
  160. <if test="query.priorityLevel != null and query.priorityLevel != ''">
  161. AND priority_level = #{query.priorityLevel}
  162. </if>
  163. <if test="query.startDate != null">
  164. AND required_completion_date >= #{query.startDate}
  165. </if>
  166. <if test="query.endDate != null">
  167. AND #{query.endDate} >= required_completion_date
  168. </if>
  169. <if test="query.quotationResultStatus != null and query.quotationResultStatus != ''">
  170. AND quotation_result_status = #{query.quotationResultStatus}
  171. </if>
  172. order by quotation_batch_no desc, quotation_item_no
  173. </where>
  174. </select>
  175. <!--按照orderRef1查询文件文件参数-->
  176. <select id="getFileContentList" resultType="SysOssEntity" parameterType="SysOssEntity">
  177. SELECT
  178. id,
  179. url,
  180. create_date,
  181. file_name,
  182. new_file_name,
  183. create_by,
  184. order_ref1,
  185. order_ref2,
  186. order_ref3,
  187. file_type,
  188. file_suffix,
  189. file_type_code,
  190. file_remark
  191. FROM sys_oss
  192. <where>
  193. <if test="orderRef1 != '' and orderRef1 != null ">
  194. and order_ref1 = #{orderRef1}
  195. </if>
  196. <if test="orderRef2 != '' and orderRef2 != null ">
  197. and order_ref2 = #{orderRef2}
  198. </if>
  199. <!-- <if test="orderRef2 != '' and orderRef2 != null ">-->
  200. <!-- and order_ref2 in-->
  201. <!-- <foreach collection="refArr" item="item" open="(" separator="," close=")">-->
  202. <!-- #{item}-->
  203. <!-- </foreach>-->
  204. <!-- </if>-->
  205. <if test="orderRef3 != '' and orderRef3 != null ">
  206. and order_ref3 = #{orderRef3}
  207. </if>
  208. </where>
  209. </select>
  210. <!-- 获得报价单号 -->
  211. <select id="getQuotationNo" resultType="string" parameterType="QuotationInformationEntity">
  212. SELECT
  213. Right('0000000000' + convert(VARCHAR(10), isnull(max(convert(INT, SUBSTRING(quotation_batch_no, 3, 10))), 0) + 1), 8)
  214. FROM plm_quotation_information
  215. WHERE site = #{site}
  216. </select>
  217. <!-- 获取产品列表 -->
  218. <select id="getProjectPartList" parameterType="PlmProjectPartData" resultType="PlmProjectPartData">
  219. SELECT ppp.site,
  220. ppp.test_part_no,
  221. ppp.part_desc,
  222. ppp.part_spec,
  223. ppp.material_number,
  224. ppp.part_type,
  225. ppp.project_id,
  226. ppi.project_name,
  227. ppp.final_part_no,
  228. ppi.customer_id as customerNo,
  229. dbo.plm_get_customer_desc(ppi.site, ppi.customer_id) as customerDesc,
  230. dbo.get_family_name(ppp.site, ppp.part_type) as partTypeDesc,
  231. ppp.final_part_no,
  232. ppp.code_no,
  233. dbo.get_code_desc(ppp.site, ppp.code_no, 'IP') as codeDesc,
  234. ppp.group_id,
  235. dbo.get_group_name(ppp.site, ppp.group_id) as groupName,
  236. ppp.product_group_id1,
  237. dbo.get_product_group_name(ppp.site, ppp.product_group_id1, '1') as productGroupName1,
  238. ppp.product_group_id2,
  239. dbo.get_product_group_name(ppp.site, ppp.product_group_id2, '2') as productGroupName2,
  240. ppp.um_id,
  241. ppp.type,
  242. ppp.bu_no
  243. FROM view_Project_Part as ppp
  244. LEFT JOIN plm_project_info as ppi on ppp.site = ppi.site and ppp.project_id = ppi.project_id
  245. <where>
  246. ppp.site = #{site}
  247. <if test="projectId != null and projectId != ''">
  248. AND ppp.project_id = #{projectId}
  249. </if>
  250. <if test="testPartNo != null and testPartNo != ''">
  251. AND ppp.test_part_no LIKE '%' + #{testPartNo} + '%'
  252. </if>
  253. <if test="partName != null and partName != ''">
  254. AND ppp.part_desc LIKE '%' + #{partName} + '%'
  255. </if>
  256. </where>
  257. </select>
  258. <!-- 获取项目信息 -->
  259. <select id="getProjectInformation" parameterType="PlmProjectInfoData" resultType="PlmProjectInfoData">
  260. SELECT
  261. project_id,
  262. ori_project_id,
  263. project_type_db,
  264. project_name,
  265. status,
  266. project_source,
  267. customer_id,
  268. create_by,
  269. create_date,
  270. update_by,
  271. update_date,
  272. priority,
  273. site,
  274. id,
  275. project_desc,
  276. customer_remark,
  277. remark,
  278. dbo.get_projectTeamName(site, project_id, 'owner') projectOwnerName,
  279. dbo.get_projectTeamName(site, project_id, 'manager') ProjectManagerName,
  280. dbo.plm_get_dictDataLabel('project_info_type_db',project_type_db,site) projectType,
  281. dbo.plm_get_projectBaseDesc(status,'project_status') projectStatusDesc,
  282. dbo.plm_get_dictDataLabel('project_info_source',project_source,site) projectSourceDesc,
  283. dbo.plm_get_customer_desc(site,customer_id) customerName,
  284. dbo.plm_get_dictDataLabel('project_info_priority',priority,site) priorityDesc,
  285. need_date,
  286. dbo.get_projectUserRoleName(site,project_id) userRoleName
  287. FROM plm_project_info
  288. where site = #{site} and project_id = #{projectId}
  289. </select>
  290. <!-- 获取客户信息 -->
  291. <select id="getCustomerInformation" parameterType="com.spring.modules.customer.vo.CustomerInformationVo" resultType="com.spring.modules.customer.vo.CustomerInformationVo">
  292. SELECT
  293. a.site,
  294. a.customer_no,
  295. a.customer_desc,
  296. a.customer_currency,
  297. a.turnover_of_year,
  298. a.potential_revenue_of_year,
  299. a.important_customer,
  300. a.customer_status,
  301. a.customer_description,
  302. a.customer_industry,
  303. a.create_date,
  304. a.create_by,
  305. a.update_date,
  306. a.update_by,
  307. b.company_name AS companyName,
  308. b.address_type AS addressType,
  309. dbo.plm_get_contactName ( a.site, a.customer_no, 'Y' ) AS contactName,
  310. dbo.plm_get_contactPhoneNumber ( a.site, a.customer_no, 'Y' ) AS contactPhoneNumber1,
  311. dbo.plm_get_addressName ( a.site, a.customer_no ) AS addressName,
  312. dbo.plm_get_position ( a.site, a.customer_no, 'Y' ) AS POSITION
  313. FROM
  314. plm_customer_information a
  315. LEFT JOIN plm_customer_address b ON a.site = b.site
  316. AND a.customer_no = b.customer_no
  317. where a.site = #{site} and a.customer_no = #{customerNo}
  318. </select>
  319. <!-- 批量删除文件-->
  320. <delete id="batchDeleteQuotationFile" parameterType="com.spring.modules.quotation.vo.SysOssVo">
  321. DELETE FROM sys_oss
  322. <where>
  323. order_ref1 = #{orderRef1} and order_ref2 = #{orderRef2}
  324. <if test = "fileName != null and fileName != ''">
  325. AND file_name = #{fileName}
  326. </if>
  327. </where>
  328. </delete>
  329. <select id="searchQuotationByQuotationNo" resultType="com.spring.modules.quotation.vo.QuotationInformationVo">
  330. SELECT
  331. site,
  332. quotation_no,
  333. customer_no,
  334. dbo.plm_get_customer_desc(site, customer_no) as customerDesc,
  335. dbo.plm_get_customer_currency(site, customer_no) as customerCurrency,
  336. project_id,
  337. dbo.plm_get_project_name(site, project_id) as projectName,
  338. tracker,
  339. dbo.plm_get_user_display(site, tracker) as trackerName,
  340. quoter,
  341. dbo.plm_get_user_display(site, quoter) as quoterName,
  342. quotation_status,
  343. test_part_no,
  344. dbo.plm_get_test_part_desc(site, test_part_no) as partName,
  345. priority_level,
  346. required_completion_date,
  347. remark,
  348. technical_considerations,
  349. customer_responsible_person,
  350. customer_responsible_person_phone,
  351. create_date,
  352. create_by,
  353. update_date,
  354. update_by,
  355. next_to_do,
  356. actuality_quotation_date,
  357. quotation_result_information,
  358. actuality_submission_date,
  359. submission_method,
  360. submission_remark,
  361. actuality_reply_date,
  362. confirm_results,
  363. confirm_by,
  364. confirm_information,
  365. quotation_result_status,
  366. quotation_batch_no,
  367. quotation_item_no
  368. FROM plm_quotation_information
  369. <where>
  370. site = #{site}
  371. <if test = "quotationNo != null and quotationNo != ''">
  372. AND quotation_no like #{quotationNo}
  373. </if>
  374. </where>
  375. </select>
  376. <select id="searchQuotationByQuotationNoList" resultType="com.spring.modules.quotation.vo.QuotationInformationVo">
  377. SELECT
  378. site,
  379. quotation_no,
  380. customer_no,
  381. dbo.plm_get_customer_desc(site, customer_no) as customerDesc,
  382. dbo.plm_get_customer_currency(site, customer_no) as customerCurrency,
  383. project_id,
  384. dbo.plm_get_project_name(site, project_id) as projectName,
  385. dbo.plm_get_project_final_customer_id(site, project_id) as finalCustomerId,
  386. dbo.plm_get_customer_desc(site, dbo.plm_get_project_final_customer_id(site, project_id)) as finalCustomerName,
  387. tracker,
  388. dbo.plm_get_user_display(site, tracker) as trackerName,
  389. quoter,
  390. dbo.plm_get_user_display(site, quoter) as quoterName,
  391. quotation_status,
  392. test_part_no,
  393. dbo.plm_get_test_part_desc(site, test_part_no) as partName,
  394. priority_level,
  395. required_completion_date,
  396. remark,
  397. technical_considerations,
  398. customer_responsible_person,
  399. customer_responsible_person_phone,
  400. create_date,
  401. create_by,
  402. update_date,
  403. update_by,
  404. next_to_do,
  405. actuality_quotation_date,
  406. quotation_result_information,
  407. actuality_submission_date,
  408. submission_method,
  409. submission_remark,
  410. actuality_reply_date,
  411. confirm_results,
  412. confirm_by,
  413. confirm_information,
  414. quotation_result_status,
  415. quotation_batch_no,
  416. quotation_item_no,
  417. quotation_amount
  418. FROM plm_quotation_information
  419. <where>
  420. site = #{site}
  421. <if test = "quotationNo != null and quotationNo != ''">
  422. AND quotation_no like #{quotationNo}
  423. </if>
  424. <if test = "quotationBatchNo != null and quotationBatchNo != ''">
  425. AND quotation_batch_no like #{quotationBatchNo}
  426. </if>
  427. <if test = "quotationItemNo != null">
  428. AND quotation_item_no = #{quotationItemNo}
  429. </if>
  430. <if test = " testPartNo != null and testPartNo != ''">
  431. AND test_part_no like #{testPartNo}
  432. </if>
  433. <if test = "partName != null and partName != ''">
  434. AND dbo.plm_get_test_part_desc(site, test_part_no) like #{partName}
  435. </if>
  436. <if test="quotationStatus != null and quotationStatus != ''">
  437. and quotation_status = #{quotationStatus}
  438. </if>
  439. order by quotation_batch_no desc,quotation_item_no
  440. </where>
  441. </select>
  442. <resultMap id="getTestPropertiesVo" type="com.spring.modules.quotation.vo.PriceCheckPropertiesVo">
  443. <result column="site" property="site"/>
  444. <result column="quotation_no" property="quotationNo"/>
  445. <result column="function_type" property="functionType"/>
  446. <result column="item_no" property="itemNo"/>
  447. <result column="seq_no" property="seqNo"/>
  448. <result column="item_desc" property="itemDesc"/>
  449. <result column="default_value" property="defaultValue"/>
  450. <result column="value_type" property="valueType"/>
  451. <result column="value_type_db" property="valueTypeDb"/>
  452. <result column="value_choose_flag" property="valueChooseFlag"/>
  453. <result column="max_value" property="maxValue"/>
  454. <result column="min_value" property="minValue"/>
  455. <result column="text_value" property="textValue"/>
  456. <result column="num_value" property="numValue"/>
  457. <collection select="com.spring.modules.test.mapper.TestInformationMapper.selectAvailBleValue" column="{site=site,itemNo=item_no,functionType=function_type}" property="list" ofType="com.spring.modules.base.entity.PlmPropertiesItemAvailable">
  458. </collection>
  459. </resultMap>
  460. <select id="searchPriceCheckPropertiesVo" resultMap="getTestPropertiesVo">
  461. SELECT
  462. a.site,
  463. a.function_type,
  464. a.item_no,
  465. a.seq_no,
  466. a.item_desc,
  467. a.default_value,
  468. a.value_type,
  469. a.value_type_db,
  470. a.value_choose_flag,
  471. a.max_value,
  472. a.min_value,
  473. a.text_value,
  474. a.num_value,
  475. a.quotation_no
  476. FROM plm_price_check_properties a
  477. left join plm_properties_model_detail b on a.site = b.site and a.function_type = b.function_type and b.code_no = #{codeNo} and a.item_no = b.properties_item_no
  478. where quotation_no = #{quotationNo} and a.site = #{site} order by b.order_id
  479. </select>
  480. <select id="searchPriceCheckProperties" resultType="com.spring.modules.quotation.entity.PriceCheckProperties">
  481. SELECT
  482. a.site,
  483. a.function_type,
  484. a.properties_item_no as itemNo,
  485. a.seq_no,
  486. b.ItemDesc,
  487. b.DefaultValue,
  488. b.ValueType,
  489. b.ValueType_DB,
  490. b.ValueChooseFlag,
  491. b.MaxValue,
  492. b.MinValue
  493. FROM plm_properties_model_detail a
  494. left join plm_properties_item b on a.function_type = b.itemType and a.properties_item_no = b.itemNo and a.site = b.site
  495. where a.function_type = #{type} and a.code_no = #{code} and a.site = #{site}
  496. order by a.order_id
  497. </select>
  498. <select id="searchPriceCheckPropertiesItemList"
  499. resultType="com.spring.modules.quotation.entity.PriceCheckProperties">
  500. select
  501. site,
  502. ItemType as functionType,
  503. ItemNo,
  504. ItemDesc,
  505. DefaultValue,
  506. ValueType,
  507. ValueType_DB,
  508. ValueChooseFlag,
  509. MaxValue,
  510. MinValue
  511. from plm_properties_item where itemType = #{type} and site = #{site}
  512. <if test="itemNo != null and itemNo != ''">
  513. AND ItemNo = #{itemNo}
  514. </if>
  515. <if test="itemDesc != null and itemDesc != ''">
  516. AND ItemDesc like #{itemDesc}
  517. </if>
  518. <if test="list != null and list.size() != 0">
  519. and ItemNo not in (
  520. <foreach collection="list" item="item" separator=",">
  521. #{item}
  522. </foreach>
  523. )
  524. </if>
  525. </select>
  526. </mapper>