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.

440 lines
22 KiB

  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.rohs.mapper.RohsMapper">
  4. <!-- 通用查询映射结果 -->
  5. <resultMap id="BaseResultMap" type="com.spring.modules.rohs.entity.RohsEntity">
  6. <result column="site" property="site" />
  7. <result column="reference_no" property="referenceNo" />
  8. <result column="applicant" property="applicant" />
  9. <result column="application_date" property="applicationDate" />
  10. <result column="process" property="process" />
  11. <result column="bu_no" property="buNo" />
  12. <result column="pm" property="pm" />
  13. <result column="planned_mass_production_date" property="plannedMassProductionDate" />
  14. <result column="color" property="color" />
  15. <result column="vendor_code" property="vendorCode" />
  16. <result column="vendor_material_code" property="vendorMaterialCode" />
  17. <result column="material_classify" property="materialClassify" />
  18. <result column="other_material_classify" property="otherMaterialClassify" />
  19. <result column="material_use_for" property="materialUseFor" />
  20. <result column="end_customer" property="endCustomer" />
  21. <result column="project_id" property="projectId" />
  22. <result column="is_macallan_material" property="isMacallanMaterial" />
  23. <result column="need_create_number" property="needCreateNumber" />
  24. <result column="npd_engineer" property="npdEngineer" />
  25. <result column="material_validity_time" property="materialValidityTime" />
  26. <result column="material_validity_comments" property="materialValidityComments" />
  27. <result column="need_deviation" property="needDeviation" />
  28. <result column="technical_plan" property="technicalPlan" />
  29. <result column="wm_required_spec" property="wmRequiredSpec" />
  30. <result column="is_fiber_material" property="isFiberMaterial" />
  31. <result column="material_thickness" property="materialThickness" />
  32. <result column="buyer" property="buyer" />
  33. <result column="expect_report_time" property="expectReportTime" />
  34. <result column="qualification_documents_needed" property="qualificationDocumentsNeeded" />
  35. <result column="test_report_including_items" property="testReportIncludingItems" />
  36. <result column="remark" property="remark" />
  37. <result column="status" property="status" />
  38. <result column="sgs_report_number" property="sgsReportNumber" />
  39. <result column="rohs_status" property="rohsStatus" />
  40. <result column="expired_date" property="expiredDate" />
  41. <result column="expiry_date" property="expiryDate" />
  42. <result column="fiber_information" property="fiberInformation" />
  43. <result column="hsf_standard" property="hsfStandard" />
  44. <result column="hsf_approver" property="hsfApprover" />
  45. <result column="related_people" property="relatedPeople" />
  46. <result column="valid_until_value" property="validUntilValue" />
  47. <result column="valid_until" property="validUntil" />
  48. <result column="is_meet_rohs_requirement" property="isMeetRohsRequirement" />
  49. <result column="is_ah_grade" property="isAhGrade" />
  50. <result column="hsf_supplier_classification" property="hsfSupplierClassification" />
  51. <result column="material_desc" property="materialDesc" />
  52. <result column="npd_remark" property="npdRemark" />
  53. <result column="is_same_material_diff_size" property="isSameMaterialDiffSize" />
  54. <result column="ifs_part_no" property="ifsPartNo" />
  55. <result column="comm_group1" property="commGroup1" />
  56. <result column="comm_group2" property="commGroup2" />
  57. <result column="comm_group3" property="commGroup3" />
  58. <result column="create_date" property="createDate" />
  59. <result column="create_by" property="createBy" />
  60. <result column="update_date" property="updateDate" />
  61. <result column="update_by" property="updateBy" />
  62. <result column="step_id" property="stepId" />
  63. <result column="reject_flag" property="rejectFlag" />
  64. <result column="reject_step_id" property="rejectStepId" />
  65. <result column="nodeId" property="nodeId" />
  66. <result column="nodeName" property="nodeName" />
  67. <result column="currentApprover" property="currentApprover" />
  68. <result column="applicantName" property="applicantName" />
  69. <result column="pmName" property="pmName" />
  70. <result column="npdEngineerName" property="npdEngineerName" />
  71. <result column="technicalPlanName" property="technicalPlanName" />
  72. <result column="buyerName" property="buyerName" />
  73. <result column="endCustomerName" property="endCustomerName" />
  74. <result column="projectName" property="projectName" />
  75. <result column="commGroup1Desc" property="commGroup1Desc" />
  76. <result column="commGroup2Desc" property="commGroup2Desc" />
  77. <result column="commGroup3Desc" property="commGroup3Desc" />
  78. <result column="mainIfsPartNo" property="mainIfsPartNo" />
  79. <result column="mainPartDesc" property="mainPartDesc" />
  80. </resultMap>
  81. <resultMap id="MaterialResultMap" type="com.spring.modules.rohs.entity.RohsMaterialEntity">
  82. <id column="id" property="id" />
  83. <result column="site" property="site" />
  84. <result column="reference_no" property="referenceNo" />
  85. <result column="line_no" property="lineNo" />
  86. <result column="project_id" property="projectId" />
  87. <result column="test_part_no" property="testPartNo" />
  88. <result column="final_part_no" property="finalPartNo" />
  89. <result column="part_desc" property="partDesc" />
  90. <result column="part_status" property="partStatus" />
  91. </resultMap>
  92. <!-- 通用查询结果列 -->
  93. <sql id="Base_Column_List">
  94. a.site, a.reference_no, a.applicant, a.application_date, a.process, a.bu_no, a.pm, a.planned_mass_production_date, a.color, a.vendor_code, a.vendor_material_code, a.material_classify, a.other_material_classify, a.material_use_for, a.end_customer, a.project_id, a.is_macallan_material, a.need_create_number, a.npd_engineer, a.material_validity_time, a.material_validity_comments, a.need_deviation, a.technical_plan, a.wm_required_spec, a.is_fiber_material, a.material_thickness, a.buyer, a.expect_report_time, a.qualification_documents_needed, a.test_report_including_items, a.remark, a.status, a.sgs_report_number, a.rohs_status, a.expired_date, a.expiry_date, a.fiber_information, a.hsf_standard, a.hsf_approver, a.related_people, a.valid_until_value, a.valid_until, a.is_meet_rohs_requirement, a.is_ah_grade, a.hsf_supplier_classification, a.material_desc, a.npd_remark, a.is_same_material_diff_size, a.ifs_part_no, a.comm_group1, a.comm_group2, a.comm_group3, a.create_date, a.create_by, a.update_date, a.update_by, a.step_id, a.reject_flag, a.reject_step_id
  95. </sql>
  96. <select id="getApprovalList" resultType="com.spring.modules.change.vo.ProcessFormVo">
  97. exec dbo.get_process_form #{site},#{menuId},#{documentNo}
  98. </select>
  99. <select id="queryPageWithNames" resultMap="BaseResultMap">
  100. select
  101. <include refid="Base_Column_List"/>,
  102. d.node_id as nodeId,
  103. d.node_name as nodeName,
  104. dbo.get_plm_Approval_username(a.site, prh.workflow_id, d.node_id, a.reference_no) as currentApprover,
  105. dbo.get_userDisPlay(a.applicant) as applicantName,
  106. dbo.get_userDisPlay(a.pm) as pmName,
  107. dbo.get_userDisPlay(a.npd_engineer) as npdEngineerName,
  108. dbo.get_userDisPlay(a.technical_plan) as technicalPlanName,
  109. dbo.get_userDisPlay(a.buyer) as buyerName,
  110. dbo.plm_get_customer_desc(a.site, a.end_customer) as endCustomerName,
  111. dbo.plm_get_project_name(a.site, a.project_id) as projectName,
  112. dbo.get_product_group_name(a.site, a.comm_group1, '1') as commGroup1Desc,
  113. dbo.get_product_group_name(a.site, a.comm_group2, '2') as commGroup2Desc,
  114. dbo.get_product_group_name(a.site, a.comm_group3, '5') as commGroup3Desc,
  115. isnull(firstMaterial.final_part_no, '') as mainIfsPartNo,
  116. isnull(firstMaterial.part_desc, '') as mainPartDesc
  117. from plm_rohs a
  118. left join plm_request_header prh on a.site = prh.site and prh.menu_id = #{params.menuId} and prh.status = 'Y'
  119. left join plm_request_node d on a.site = d.site and prh.classification_no = d.classification_no and prh.workflow_id = d.workflow_id and a.step_id = d.step_id
  120. outer apply (
  121. select
  122. m.final_part_no,
  123. m.part_desc
  124. from plm_rohs_material m
  125. where m.site = a.site
  126. and m.reference_no = a.reference_no
  127. and m.line_no = (
  128. select min(m2.line_no)
  129. from plm_rohs_material m2
  130. where m2.site = a.site
  131. and m2.reference_no = a.reference_no
  132. )
  133. and m.id = (
  134. select min(m3.id)
  135. from plm_rohs_material m3
  136. where m3.site = a.site
  137. and m3.reference_no = a.reference_no
  138. and m3.line_no = m.line_no
  139. )
  140. ) firstMaterial
  141. where 1 = 1
  142. <if test="params.site != null and params.site != ''">
  143. and a.site = #{params.site}
  144. </if>
  145. <if test="params.referenceNo != null and params.referenceNo != ''">
  146. and a.reference_no like #{params.referenceNo}
  147. </if>
  148. <if test="params.status != null and params.status != ''">
  149. and a.status = #{params.status}
  150. </if>
  151. <if test="params.rohsStatus != null and params.rohsStatus != ''">
  152. and a.rohs_status = #{params.rohsStatus}
  153. </if>
  154. <if test="params.nodeId != null and params.nodeId != ''">
  155. and d.node_id = #{params.nodeId}
  156. </if>
  157. <if test="params.currentApprover != null and params.currentApprover != ''">
  158. and dbo.get_plm_Approval_username(a.site, prh.workflow_id, d.node_id, a.reference_no) like #{params.currentApprover}
  159. </if>
  160. <if test="params.ifsPartNo != null and params.ifsPartNo != ''">
  161. and isnull(firstMaterial.final_part_no, '') like #{params.ifsPartNo}
  162. </if>
  163. <if test="params.materialDesc != null and params.materialDesc != ''">
  164. and isnull(firstMaterial.part_desc, '') like #{params.materialDesc}
  165. </if>
  166. <if test="params.applicant != null and params.applicant != ''">
  167. and a.applicant like #{params.applicant}
  168. </if>
  169. </select>
  170. <select id="queryPageWithNamesCount" resultType="long">
  171. select count(1)
  172. from plm_rohs a
  173. left join plm_request_header prh on a.site = prh.site and prh.menu_id = #{params.menuId} and prh.status = 'Y'
  174. left join plm_request_node d on a.site = d.site and prh.classification_no = d.classification_no and prh.workflow_id = d.workflow_id and a.step_id = d.step_id
  175. outer apply (
  176. select
  177. m.final_part_no,
  178. m.part_desc
  179. from plm_rohs_material m
  180. where m.site = a.site
  181. and m.reference_no = a.reference_no
  182. and m.line_no = (
  183. select min(m2.line_no)
  184. from plm_rohs_material m2
  185. where m2.site = a.site
  186. and m2.reference_no = a.reference_no
  187. )
  188. and m.id = (
  189. select min(m3.id)
  190. from plm_rohs_material m3
  191. where m3.site = a.site
  192. and m3.reference_no = a.reference_no
  193. and m3.line_no = m.line_no
  194. )
  195. ) firstMaterial
  196. where 1 = 1
  197. <if test="params.site != null and params.site != ''">
  198. and a.site = #{params.site}
  199. </if>
  200. <if test="params.referenceNo != null and params.referenceNo != ''">
  201. and a.reference_no like #{params.referenceNo}
  202. </if>
  203. <if test="params.status != null and params.status != ''">
  204. and a.status = #{params.status}
  205. </if>
  206. <if test="params.rohsStatus != null and params.rohsStatus != ''">
  207. and a.rohs_status = #{params.rohsStatus}
  208. </if>
  209. <if test="params.nodeId != null and params.nodeId != ''">
  210. and d.node_id = #{params.nodeId}
  211. </if>
  212. <if test="params.currentApprover != null and params.currentApprover != ''">
  213. and dbo.get_plm_Approval_username(a.site, prh.workflow_id, d.node_id, a.reference_no) like #{params.currentApprover}
  214. </if>
  215. <if test="params.ifsPartNo != null and params.ifsPartNo != ''">
  216. and isnull(firstMaterial.final_part_no, '') like #{params.ifsPartNo}
  217. </if>
  218. <if test="params.materialDesc != null and params.materialDesc != ''">
  219. and isnull(firstMaterial.part_desc, '') like #{params.materialDesc}
  220. </if>
  221. <if test="params.applicant != null and params.applicant != ''">
  222. and a.applicant like #{params.applicant}
  223. </if>
  224. </select>
  225. <select id="queryPageWithNamesData" resultMap="BaseResultMap">
  226. select
  227. <include refid="Base_Column_List"/>,
  228. d.node_id as nodeId,
  229. d.node_name as nodeName,
  230. dbo.get_plm_Approval_username(a.site, prh.workflow_id, d.node_id, a.reference_no) as currentApprover,
  231. dbo.get_userDisPlay(a.applicant) as applicantName,
  232. dbo.get_userDisPlay(a.pm) as pmName,
  233. dbo.get_userDisPlay(a.npd_engineer) as npdEngineerName,
  234. dbo.get_userDisPlay(a.technical_plan) as technicalPlanName,
  235. dbo.get_userDisPlay(a.buyer) as buyerName,
  236. dbo.plm_get_customer_desc(a.site, a.end_customer) as endCustomerName,
  237. dbo.plm_get_project_name(a.site, a.project_id) as projectName,
  238. dbo.get_product_group_name(a.site, a.comm_group1, '1') as commGroup1Desc,
  239. dbo.get_product_group_name(a.site, a.comm_group2, '2') as commGroup2Desc,
  240. dbo.get_product_group_name(a.site, a.comm_group3, '5') as commGroup3Desc,
  241. isnull(firstMaterial.final_part_no, '') as mainIfsPartNo,
  242. isnull(firstMaterial.part_desc, '') as mainPartDesc
  243. from plm_rohs a
  244. left join plm_request_header prh on a.site = prh.site and prh.menu_id = #{params.menuId} and prh.status = 'Y'
  245. left join plm_request_node d on a.site = d.site and prh.classification_no = d.classification_no and prh.workflow_id = d.workflow_id and a.step_id = d.step_id
  246. outer apply (
  247. select
  248. m.final_part_no,
  249. m.part_desc
  250. from plm_rohs_material m
  251. where m.site = a.site
  252. and m.reference_no = a.reference_no
  253. and m.line_no = (
  254. select min(m2.line_no)
  255. from plm_rohs_material m2
  256. where m2.site = a.site
  257. and m2.reference_no = a.reference_no
  258. )
  259. and m.id = (
  260. select min(m3.id)
  261. from plm_rohs_material m3
  262. where m3.site = a.site
  263. and m3.reference_no = a.reference_no
  264. and m3.line_no = m.line_no
  265. )
  266. ) firstMaterial
  267. where 1 = 1
  268. <if test="params.site != null and params.site != ''">
  269. and a.site = #{params.site}
  270. </if>
  271. <if test="params.referenceNo != null and params.referenceNo != ''">
  272. and a.reference_no like #{params.referenceNo}
  273. </if>
  274. <if test="params.status != null and params.status != ''">
  275. and a.status = #{params.status}
  276. </if>
  277. <if test="params.rohsStatus != null and params.rohsStatus != ''">
  278. and a.rohs_status = #{params.rohsStatus}
  279. </if>
  280. <if test="params.nodeId != null and params.nodeId != ''">
  281. and d.node_id = #{params.nodeId}
  282. </if>
  283. <if test="params.currentApprover != null and params.currentApprover != ''">
  284. and dbo.get_plm_Approval_username(a.site, prh.workflow_id, d.node_id, a.reference_no) like #{params.currentApprover}
  285. </if>
  286. <if test="params.ifsPartNo != null and params.ifsPartNo != ''">
  287. and isnull(firstMaterial.final_part_no, '') like #{params.ifsPartNo}
  288. </if>
  289. <if test="params.materialDesc != null and params.materialDesc != ''">
  290. and isnull(firstMaterial.part_desc, '') like #{params.materialDesc}
  291. </if>
  292. <if test="params.applicant != null and params.applicant != ''">
  293. and a.applicant like #{params.applicant}
  294. </if>
  295. order by a.reference_no desc
  296. <if test="size != null and size &gt; 0">
  297. offset #{offset} rows fetch next #{size} rows only
  298. </if>
  299. </select>
  300. <select id="queryPageWithNamesAny" resultMap="BaseResultMap">
  301. select
  302. <include refid="Base_Column_List"/>,
  303. d.node_id as nodeId,
  304. d.node_name as nodeName,
  305. dbo.get_plm_Approval_username(a.site, prh.workflow_id, d.node_id, a.reference_no) as currentApprover,
  306. dbo.get_userDisPlay(a.applicant) as applicantName,
  307. dbo.get_userDisPlay(a.pm) as pmName,
  308. dbo.get_userDisPlay(a.npd_engineer) as npdEngineerName,
  309. dbo.get_userDisPlay(a.technical_plan) as technicalPlanName,
  310. dbo.get_userDisPlay(a.buyer) as buyerName,
  311. dbo.plm_get_customer_desc(a.site, a.end_customer) as endCustomerName,
  312. dbo.plm_get_project_name(a.site, a.project_id) as projectName,
  313. dbo.get_product_group_name(a.site, a.comm_group1, '1') as commGroup1Desc,
  314. dbo.get_product_group_name(a.site, a.comm_group2, '2') as commGroup2Desc,
  315. dbo.get_product_group_name(a.site, a.comm_group3, '5') as commGroup3Desc,
  316. isnull(firstMaterial.final_part_no, '') as mainIfsPartNo,
  317. isnull(firstMaterial.part_desc, '') as mainPartDesc
  318. from plm_rohs a
  319. left join plm_request_header prh on a.site = prh.site and prh.menu_id = #{params.menuId} and prh.status = 'Y'
  320. left join plm_request_node d on a.site = d.site and prh.classification_no = d.classification_no and prh.workflow_id = d.workflow_id and a.step_id = d.step_id
  321. outer apply (
  322. select
  323. m.final_part_no,
  324. m.part_desc
  325. from plm_rohs_material m
  326. where m.site = a.site
  327. and m.reference_no = a.reference_no
  328. and m.line_no = (
  329. select min(m2.line_no)
  330. from plm_rohs_material m2
  331. where m2.site = a.site
  332. and m2.reference_no = a.reference_no
  333. )
  334. and m.id = (
  335. select min(m3.id)
  336. from plm_rohs_material m3
  337. where m3.site = a.site
  338. and m3.reference_no = a.reference_no
  339. and m3.line_no = m.line_no
  340. )
  341. ) firstMaterial
  342. <if test="params.whereClause != null and params.whereClause != ''">
  343. where ${params.whereClause}
  344. </if>
  345. </select>
  346. <select id="getDetailWithNames" resultMap="BaseResultMap">
  347. select
  348. <include refid="Base_Column_List"/>,
  349. dbo.get_userDisPlay(a.applicant) as applicantName,
  350. dbo.get_userDisPlay(a.pm) as pmName,
  351. dbo.get_userDisPlay(a.npd_engineer) as npdEngineerName,
  352. dbo.get_userDisPlay(a.technical_plan) as technicalPlanName,
  353. dbo.get_userDisPlay(a.buyer) as buyerName,
  354. dbo.plm_get_customer_desc(a.site, a.end_customer) as endCustomerName,
  355. dbo.plm_get_project_name(a.site, a.project_id) as projectName,
  356. dbo.get_product_group_name(a.site, a.comm_group1, '1') as commGroup1Desc,
  357. dbo.get_product_group_name(a.site, a.comm_group2, '2') as commGroup2Desc,
  358. dbo.get_product_group_name(a.site, a.comm_group3, '5') as commGroup3Desc,
  359. isnull(firstMaterial.final_part_no, '') as mainIfsPartNo,
  360. isnull(firstMaterial.part_desc, '') as mainPartDesc
  361. from plm_rohs a
  362. outer apply (
  363. select
  364. m.final_part_no,
  365. m.part_desc
  366. from plm_rohs_material m
  367. where m.site = a.site
  368. and m.reference_no = a.reference_no
  369. and m.line_no = (
  370. select min(m2.line_no)
  371. from plm_rohs_material m2
  372. where m2.site = a.site
  373. and m2.reference_no = a.reference_no
  374. )
  375. and m.id = (
  376. select min(m3.id)
  377. from plm_rohs_material m3
  378. where m3.site = a.site
  379. and m3.reference_no = a.reference_no
  380. and m3.line_no = m.line_no
  381. )
  382. ) firstMaterial
  383. where a.site = #{site}
  384. and a.reference_no = #{referenceNo}
  385. </select>
  386. <select id="queryProjectMaterialPage" resultType="java.util.HashMap">
  387. select
  388. p.site as site,
  389. p.part_no as testPartNo,
  390. case when p.ifs_part_no is null or p.ifs_part_no = '' then p.part_no else p.ifs_part_no end as finalPartNo,
  391. p.part_desc as partDesc,
  392. p.part_status as partStatus
  393. from part as p
  394. where p.site = #{params.site}
  395. and isnull(p.status, '') = 'Y'
  396. and isnull(p.show_in_query_flag, 'N') = 'Y'
  397. <if test="params.partDesc != null and params.partDesc != ''">
  398. and p.part_desc like #{params.partDesc}
  399. </if>
  400. <if test="params.finalPartNo != null and params.finalPartNo != ''">
  401. and (
  402. isnull(p.ifs_part_no, '') like #{params.finalPartNo}
  403. or p.part_no like #{params.finalPartNo}
  404. )
  405. </if>
  406. <if test="params.partStatus != null and params.partStatus != ''">
  407. and p.part_status like #{params.partStatus}
  408. </if>
  409. order by p.part_no
  410. </select>
  411. <select id="queryMaterialList" resultMap="MaterialResultMap">
  412. select
  413. m.id,
  414. m.site,
  415. m.reference_no,
  416. m.line_no,
  417. m.project_id,
  418. m.test_part_no,
  419. m.final_part_no,
  420. p.part_desc,
  421. p.part_status
  422. from plm_rohs_material m
  423. left join part p on m.site = p.site and m.test_part_no = p.part_no
  424. where m.site = #{site}
  425. and m.reference_no = #{referenceNo}
  426. order by m.line_no, m.id
  427. </select>
  428. </mapper>