祥兆质量后端
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.

1329 lines
56 KiB

9 months 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.xujie.sys.modules.pms.mapper.QcReportMapper">
  4. <!-- 获取IQC报表 -->
  5. <select id="getIQCReport" parameterType="com.xujie.sys.modules.pms.data.QcReportData" resultType="com.xujie.sys.modules.pms.data.QcReportData">
  6. SELECT
  7. a.inspection_no,
  8. a.site,
  9. a.bu_no,
  10. dbo.get_bu_desc(a.site, a.bu_no) as buDesc,
  11. a.state,
  12. a.inspection_result,
  13. a.create_date as taskDate,
  14. a.inspection_cycle,
  15. a.part_no,
  16. d.PartDescription + '' + Isnull(d.Spec, '') as part_desc,
  17. d.umid as umId,
  18. a.inspection_remark,
  19. a.roll_qty,
  20. a.sampling_qty,
  21. a.disposal_measures,
  22. a.disposal_remark,
  23. a.inspector_date,
  24. a.inspector_no,
  25. su.user_display as inspectorName,
  26. a.roll_no,
  27. a.supplier_no,
  28. s.supplierName as supplierDesc,
  29. a.po_orderNo,
  30. a.po_itemNo,
  31. a.roll_count,
  32. a.action_date,
  33. a.receipt_no,
  34. a.receipt_item_no,
  35. a.pass_qty,
  36. a.not_pass_qty,
  37. a.ref_info1,
  38. a.ref_info2,
  39. a.ref_info3,
  40. a.ref_info4,
  41. a.ref_info5,
  42. a.warehouse_id,
  43. w.WareHouseName as warehouseName,
  44. b.item_no,
  45. b.item_desc,
  46. b.default_value,
  47. b.max_value,
  48. b.min_value,
  49. b.sampling_qty as itemSamplingQty,
  50. b.unqualified_quantity,
  51. b.item_result,
  52. CASE WHEN b.item_result = 'Y' THEN '合格'
  53. WHEN b.item_result = 'N' THEN '不合格'
  54. END as itemResultDesc,
  55. CASE WHEN b.value_type_db = 'T' THEN b.text_value
  56. WHEN b.value_type_db = 'N' THEN CONVERT(varchar, b.number_value, 126)
  57. END as textValue
  58. FROM qc_iqc_record as a
  59. LEFT JOIN qc_iqc_detailed_record b ON a.site = b.site AND a.bu_no = b.bu_no AND a.inspection_no = b.inspection_no
  60. left join part as d on a.site = d.site and a.part_no = d.PartNo
  61. left join Supplier as s on a.site = s.site and a.supplier_no = s.SupplierID
  62. left join WareHouse as w on a.site = w.site and a.warehouse_id = w.WareHouseID
  63. left join sys_user as su on a.site = su.site and a.inspector_no = su.username
  64. <where>
  65. a.site in (select site from eam_access_site where username = #{query.userName})
  66. and (a.site + '-' + a.bu_no) in (select * from dbo.query_bu(#{query.userName}))
  67. <if test="query.buDesc != null and query.buDesc != ''">
  68. AND dbo.get_bu_desc (a.site, a.bu_no) = #{query.buDesc}
  69. </if>
  70. <if test = "query.inspectionNo != null and query.inspectionNo != ''">
  71. AND a.inspection_no LIKE #{query.inspectionNo}
  72. </if>
  73. <if test = "query.states != null and query.states.size > 0">
  74. AND a.state in
  75. <foreach item="item" collection="query.states" open="(" separator="," close=")">
  76. #{item}
  77. </foreach>
  78. </if>
  79. <if test = "query.inspectionResult != null and query.inspectionResult != ''">
  80. AND a.inspection_result = #{query.inspectionResult}
  81. </if>
  82. <if test = "query.partNo != null and query.partNo != ''">
  83. AND a.part_no LIKE #{query.partNo}
  84. </if>
  85. <if test = "query.partDesc != null and query.partDesc != ''">
  86. AND d.PartDescription + '' + Isnull(d.Spec, '') LIKE #{query.partDesc}
  87. </if>
  88. <if test = "query.disposalMeasures != null and query.disposalMeasures != ''">
  89. AND a.disposal_measures = #{query.disposalMeasures}
  90. </if>
  91. <if test = "query.inspectorName != null and query.inspectorName != ''">
  92. AND su.user_display LIKE #{query.inspectorName}
  93. </if>
  94. <if test="query.startDate != null">
  95. AND a.inspector_date >= #{query.startDate}
  96. </if>
  97. <if test="query.endDate != null">
  98. AND #{query.endDate} >= a.inspector_date
  99. </if>
  100. <if test="query.startDate2 != null">
  101. AND a.create_date >= #{query.startDate2}
  102. </if>
  103. <if test="query.endDate2 != null">
  104. AND #{query.endDate2} >= a.create_date
  105. </if>
  106. <if test = "query.poOrderNo != null and query.poOrderNo != ''">
  107. AND a.po_orderNo LIKE #{query.poOrderNo}
  108. </if>
  109. <if test = "query.poItemNo != null and query.poItemNo != ''">
  110. AND a.po_itemNo LIKE #{query.poItemNo}
  111. </if>
  112. <if test = "query.warehouseId != null and query.warehouseId != ''">
  113. AND a.warehouse_id like #{query.warehouseId}
  114. </if>
  115. <if test = "query.warehouseName != null and query.warehouseName != ''">
  116. AND w.WareHouseName like #{query.warehouseName}
  117. </if>
  118. <if test = "query.receiptNo != null and query.receiptNo != ''">
  119. AND a.receipt_no LIKE #{query.receiptNo}
  120. </if>
  121. <if test = "query.refInfo1 != null and query.refInfo1 != ''">
  122. AND a.ref_info1 LIKE #{query.refInfo1}
  123. </if>
  124. <if test = "query.refInfo2 != null and query.refInfo2 != ''">
  125. AND a.ref_info2 LIKE #{query.refInfo2}
  126. </if>
  127. <if test = "query.refInfo3 != null and query.refInfo3 != ''">
  128. AND a.ref_info3 LIKE #{query.refInfo3}
  129. </if>
  130. <if test = "query.refInfo4 != null and query.refInfo4 != ''">
  131. AND a.ref_info4 LIKE #{query.refInfo4}
  132. </if>
  133. <if test = "query.refInfo5 != null and query.refInfo5 != ''">
  134. AND a.ref_info5 LIKE #{query.refInfo5}
  135. </if>
  136. <if test = "query.itemResult != null and query.itemResult != ''">
  137. AND b.item_result = #{query.itemResult}
  138. </if>
  139. </where>
  140. ORDER BY
  141. CASE WHEN a.state = '待检验' THEN 1
  142. WHEN a.state = '待审核' THEN 2
  143. WHEN a.state = '已完成' THEN 3
  144. END, a.create_date desc
  145. </select>
  146. <!-- 获取IPQC报表 -->
  147. <select id="getIPQCReport" parameterType="com.xujie.sys.modules.pms.data.QcReportData" resultType="com.xujie.sys.modules.pms.data.QcReportData">
  148. SELECT
  149. a.inspection_no,
  150. a.site,
  151. a.bu_no,
  152. dbo.get_bu_desc(a.site, a.bu_no) as buDesc,
  153. a.state,
  154. a.inspection_result,
  155. a.task_date,
  156. a.inspection_type_no,
  157. a.inspection_cycle,
  158. a.order_no,
  159. a.operation_desc,
  160. a.resource_id,
  161. r.resourceDesc,
  162. a.part_no,
  163. d.PartDescription as part_desc,
  164. d.spec,
  165. a.inspection_remark,
  166. a.roll_qty,
  167. a.sampling_qty,
  168. a.disposal_measures,
  169. a.disposal_remark,
  170. a.inspector_date,
  171. a.seq_no,
  172. a.batch_roll_no,
  173. a.special_requirements,
  174. a.work_center_no,
  175. a.roll_no,
  176. a.um_id,
  177. um.UMName as umName,
  178. a.action_date,
  179. a.action_by,
  180. a.pass_qty,
  181. wc.WorkCenterDesc as work_center_desc,
  182. a.not_pass_qty,
  183. b.item_no,
  184. b.item_desc,
  185. b.default_value,
  186. b.max_value,
  187. b.min_value,
  188. b.sampling_qty as itemSamplingQty,
  189. b.unqualified_quantity,
  190. b.item_result,
  191. CASE WHEN b.item_result = 'Y' THEN '合格'
  192. WHEN b.item_result = 'N' THEN '不合格'
  193. END as itemResultDesc,
  194. CASE WHEN b.value_type_db = 'T' THEN b.text_value
  195. WHEN b.value_type_db = 'N' THEN CONVERT(varchar, b.number_value, 126)
  196. END as textValue
  197. FROM qc_ipqc_record as a
  198. LEFT JOIN qc_ipqc_detailed_record b ON a.site = b.site AND a.bu_no = b.bu_no AND a.inspection_no = b.inspection_no
  199. left join WorkCenterResource as r on a.site = r.site and a.resource_id = r.resourceID
  200. left join part as d on a.site = d.site and a.part_no = d.PartNo
  201. left join UM as um on a.site = um.site and a.um_id = um.UMID
  202. LEFT JOIN WorkCenter as wc on a.site = wc.site and a.work_center_no = wc.WorkCenterNo
  203. <where>
  204. a.site in (select site from eam_access_site where username = #{query.userName})
  205. and (a.site + '-' + a.bu_no) in (select * from dbo.query_bu(#{query.userName}))
  206. <if test="query.buDesc != null and query.buDesc != ''">
  207. AND dbo.get_bu_desc (a.site, a.bu_no) = #{query.buDesc}
  208. </if>
  209. <if test = "query.inspectionNo != null and query.inspectionNo != ''">
  210. AND a.inspection_no LIKE #{query.inspectionNo}
  211. </if>
  212. <if test = "query.partNo != null and query.partNo != ''">
  213. AND a.part_no LIKE #{query.partNo}
  214. </if>
  215. <if test = "query.partDesc != null and query.partDesc != ''">
  216. AND d.PartDescription LIKE #{query.partDesc}
  217. </if>
  218. <if test = "query.states != null and query.states.size > 0">
  219. AND a.state in
  220. <foreach item="item" collection="query.states" open="(" separator="," close=")">
  221. #{item}
  222. </foreach>
  223. </if>
  224. <if test = "query.inspectionTypeNo != null and query.inspectionTypeNo != ''">
  225. AND a.inspection_type_no = #{query.inspectionTypeNo}
  226. </if>
  227. <if test = "query.inspectionResult != null and query.inspectionResult != ''">
  228. AND a.inspection_result = #{query.inspectionResult}
  229. </if>
  230. <if test = "query.disposalMeasures != null and query.disposalMeasures != ''">
  231. AND a.disposal_measures = #{query.disposalMeasures}
  232. </if>
  233. <if test = "query.orderNo != null and query.orderNo != ''">
  234. AND a.order_no LIKE #{query.orderNo}
  235. </if>
  236. <if test = "query.seqNo != null and query.seqNo != ''">
  237. AND a.seq_no LIKE #{query.seqNo}
  238. </if>
  239. <if test = "query.operationDesc != null and query.operationDesc != ''">
  240. AND a.operation_desc LIKE #{query.operationDesc}
  241. </if>
  242. <if test="query.startDate != null">
  243. AND a.inspector_date >= #{query.startDate}
  244. </if>
  245. <if test="query.endDate != null">
  246. AND #{query.endDate} >= a.inspector_date
  247. </if>
  248. <if test="query.startDate2 != null">
  249. AND a.task_date >= #{query.startDate2}
  250. </if>
  251. <if test="query.endDate2 != null">
  252. AND #{query.endDate2} >= a.task_date
  253. </if>
  254. <if test = "query.workCenterNo != null and query.workCenterNo != ''">
  255. AND a.work_center_no like #{query.workCenterNo}
  256. </if>
  257. <if test = "query.itemResult != null and query.itemResult != ''">
  258. AND b.item_result = #{query.itemResult}
  259. </if>
  260. </where>
  261. ORDER BY
  262. CASE WHEN a.state = '待检验' THEN 1
  263. WHEN a.state = '待审核' THEN 2
  264. WHEN a.state = '已完成' THEN 3
  265. END, a.task_date desc
  266. </select>
  267. <!-- 获取FQAS报表 -->
  268. <select id="getFQASReport" parameterType="com.xujie.sys.modules.pms.data.QcReportData" resultType="com.xujie.sys.modules.pms.data.QcReportData">
  269. SELECT
  270. a.inspection_no,
  271. a.site,
  272. a.bu_no,
  273. dbo.get_bu_desc(a.site, a.bu_no) as buDesc,
  274. a.state,
  275. a.inspection_result,
  276. a.create_date as taskDate,
  277. a.inspection_type_no,
  278. a.inspection_cycle,
  279. a.part_no,
  280. d.PartDescription + '' + Isnull(d.Spec, '') as part_desc,
  281. d.umid as umId,
  282. a.inspection_remark,
  283. a.roll_qty,
  284. a.sampling_qty,
  285. a.disposal_measures,
  286. a.disposal_remark,
  287. a.inspector_date,
  288. a.inspector_no,
  289. su.user_display as inspectorName,
  290. a.submit_flag,
  291. a.roll_no,
  292. a.roll_count,
  293. a.action_date,
  294. a.action_by,
  295. a.pass_qty,
  296. a.not_pass_qty,
  297. a.order_ref_type,
  298. a.order_ref1,
  299. a.order_ref2,
  300. a.order_ref3,
  301. a.order_ref4,
  302. a.order_ref5,
  303. a.order_ref6,
  304. a.create_by,
  305. b.item_no,
  306. b.item_desc,
  307. b.default_value,
  308. b.max_value,
  309. b.min_value,
  310. b.sampling_qty as itemSamplingQty,
  311. b.unqualified_quantity,
  312. b.item_result,
  313. CASE WHEN b.item_result = 'Y' THEN '合格'
  314. WHEN b.item_result = 'N' THEN '不合格'
  315. END as itemResultDesc,
  316. CASE WHEN b.value_type_db = 'T' THEN b.text_value
  317. WHEN b.value_type_db = 'N' THEN CONVERT(varchar, b.number_value, 126)
  318. END as textValue
  319. FROM qc_stock_record as a
  320. LEFT JOIN qc_stock_detailed_record b ON a.site = b.site AND a.bu_no = b.bu_no AND a.inspection_no = b.inspection_no
  321. left join part as d on a.site = d.site and a.part_no = d.PartNo
  322. left join sys_user as su on a.site = su.site and a.inspector_no = su.username
  323. <where>
  324. a.site in (select site from eam_access_site where username = #{query.userName})
  325. and (a.site + '-' + a.bu_no) in (select * from dbo.query_bu(#{query.userName}))
  326. and a.order_ref_type <![CDATA[<>]]> '发货通知单'
  327. <if test="query.buDesc != null and query.buDesc != ''">
  328. AND dbo.get_bu_desc (a.site, a.bu_no) = #{query.buDesc}
  329. </if>
  330. <if test = "query.inspectionNo != null and query.inspectionNo != ''">
  331. AND a.inspection_no LIKE #{query.inspectionNo}
  332. </if>
  333. <if test = "query.states != null and query.states.size > 0">
  334. AND a.state in
  335. <foreach item="item" collection="query.states" open="(" separator="," close=")">
  336. #{item}
  337. </foreach>
  338. </if>
  339. <if test = "query.inspectionResult != null and query.inspectionResult != ''">
  340. AND a.inspection_result = #{query.inspectionResult}
  341. </if>
  342. <if test = "query.partNo != null and query.partNo != ''">
  343. AND a.part_no LIKE #{query.partNo}
  344. </if>
  345. <if test = "query.partDesc != null and query.partDesc != ''">
  346. AND d.PartDescription + '' + Isnull(d.Spec, '') LIKE #{query.partDesc}
  347. </if>
  348. <if test = "query.disposalMeasures != null and query.disposalMeasures != ''">
  349. AND a.disposal_measures = #{query.disposalMeasures}
  350. </if>
  351. <if test = "query.inspectorName != null and query.inspectorName != ''">
  352. AND su.user_display LIKE #{query.inspectorName}
  353. </if>
  354. <if test="query.startDate != null">
  355. AND a.inspector_date >= #{query.startDate}
  356. </if>
  357. <if test="query.endDate != null">
  358. AND #{query.endDate} >= a.inspector_date
  359. </if>
  360. <if test="query.startDate2 != null">
  361. AND a.create_date >= #{query.startDate2}
  362. </if>
  363. <if test="query.endDate2 != null">
  364. AND #{query.endDate2} >= a.create_date
  365. </if>
  366. <if test = "query.orderRef1 != null and query.orderRef1 != ''">
  367. AND a.order_ref1 LIKE #{query.orderRef1}
  368. </if>
  369. <if test = "query.orderRef2 != null and query.orderRef2 != ''">
  370. AND a.order_ref2 LIKE #{query.orderRef2}
  371. </if>
  372. <if test = "query.orderRef3 != null and query.orderRef3 != ''">
  373. AND a.order_ref3 LIKE #{query.orderRef3}
  374. </if>
  375. <if test = "query.orderRef4 != null and query.orderRef4 != ''">
  376. AND a.order_ref4 LIKE #{query.orderRef4}
  377. </if>
  378. <if test = "query.orderRef5 != null and query.orderRef5 != ''">
  379. AND a.order_ref5 LIKE #{query.orderRef5}
  380. </if>
  381. <if test = "query.itemResult != null and query.itemResult != ''">
  382. AND b.item_result = #{query.itemResult}
  383. </if>
  384. </where>
  385. ORDER BY
  386. CASE WHEN a.state = '待检验' THEN 1
  387. WHEN a.state = '待审核' THEN 2
  388. WHEN a.state = '已完成' THEN 3
  389. END, a.create_date desc
  390. </select>
  391. <!-- 获取OQC报表 -->
  392. <select id="getOQCReport" parameterType="com.xujie.sys.modules.pms.data.QcReportData" resultType="com.xujie.sys.modules.pms.data.QcReportData">
  393. SELECT
  394. a.inspection_no,
  395. a.site,
  396. a.bu_no,
  397. dbo.get_bu_desc(a.site, a.bu_no) as buDesc,
  398. a.state,
  399. a.inspection_result,
  400. a.create_date as taskDate,
  401. a.inspection_type_no,
  402. a.inspection_cycle,
  403. a.part_no,
  404. d.PartDescription + '' + Isnull(d.Spec, '') as part_desc,
  405. d.umid as umId,
  406. a.inspection_remark,
  407. a.roll_qty,
  408. a.sampling_qty,
  409. a.disposal_measures,
  410. a.disposal_remark,
  411. a.inspector_date,
  412. a.inspector_no,
  413. su.user_display as inspectorName,
  414. a.submit_flag,
  415. a.roll_no,
  416. a.roll_count,
  417. a.action_date,
  418. a.action_by,
  419. a.pass_qty,
  420. a.not_pass_qty,
  421. a.order_ref_type,
  422. a.order_ref1,
  423. a.order_ref2,
  424. a.order_ref3,
  425. a.order_ref4,
  426. a.order_ref5,
  427. a.order_ref6,
  428. a.create_by,
  429. b.item_no,
  430. b.item_desc,
  431. b.default_value,
  432. b.max_value,
  433. b.min_value,
  434. b.sampling_qty as itemSamplingQty,
  435. b.unqualified_quantity,
  436. b.item_result,
  437. CASE WHEN b.item_result = 'Y' THEN '合格'
  438. WHEN b.item_result = 'N' THEN '不合格'
  439. END as itemResultDesc,
  440. CASE WHEN b.value_type_db = 'T' THEN b.text_value
  441. WHEN b.value_type_db = 'N' THEN CONVERT(varchar, b.number_value, 126)
  442. END as textValue
  443. FROM qc_stock_record as a
  444. LEFT JOIN qc_stock_detailed_record b ON a.site = b.site AND a.bu_no = b.bu_no AND a.inspection_no = b.inspection_no
  445. left join part as d on a.site = d.site and a.part_no = d.PartNo
  446. left join sys_user as su on a.site = su.site and a.inspector_no = su.username
  447. <where>
  448. a.site in (select site from eam_access_site where username = #{query.userName})
  449. and (a.site + '-' + a.bu_no) in (select * from dbo.query_bu(#{query.userName}))
  450. and a.order_ref_type = '发货通知单'
  451. <if test="query.buDesc != null and query.buDesc != ''">
  452. AND dbo.get_bu_desc (a.site, a.bu_no) = #{query.buDesc}
  453. </if>
  454. <if test = "query.inspectionNo != null and query.inspectionNo != ''">
  455. AND a.inspection_no LIKE #{query.inspectionNo}
  456. </if>
  457. <if test = "query.states != null and query.states.size > 0">
  458. AND a.state in
  459. <foreach item="item" collection="query.states" open="(" separator="," close=")">
  460. #{item}
  461. </foreach>
  462. </if>
  463. <if test = "query.inspectionResult != null and query.inspectionResult != ''">
  464. AND a.inspection_result = #{query.inspectionResult}
  465. </if>
  466. <if test = "query.partNo != null and query.partNo != ''">
  467. AND a.part_no LIKE #{query.partNo}
  468. </if>
  469. <if test = "query.partDesc != null and query.partDesc != ''">
  470. AND d.PartDescription + '' + Isnull(d.Spec, '') LIKE #{query.partDesc}
  471. </if>
  472. <if test = "query.disposalMeasures != null and query.disposalMeasures != ''">
  473. AND a.disposal_measures = #{query.disposalMeasures}
  474. </if>
  475. <if test = "query.inspectorName != null and query.inspectorName != ''">
  476. AND su.user_display LIKE #{query.inspectorName}
  477. </if>
  478. <if test="query.startDate != null">
  479. AND a.inspector_date >= #{query.startDate}
  480. </if>
  481. <if test="query.endDate != null">
  482. AND #{query.endDate} >= a.inspector_date
  483. </if>
  484. <if test="query.startDate2 != null">
  485. AND a.create_date >= #{query.startDate2}
  486. </if>
  487. <if test="query.endDate2 != null">
  488. AND #{query.endDate2} >= a.create_date
  489. </if>
  490. <if test = "query.orderRef1 != null and query.orderRef1 != ''">
  491. AND a.order_ref1 LIKE #{query.orderRef1}
  492. </if>
  493. <if test = "query.orderRef2 != null and query.orderRef2 != ''">
  494. AND a.order_ref2 LIKE #{query.orderRef2}
  495. </if>
  496. <if test = "query.orderRef3 != null and query.orderRef3 != ''">
  497. AND a.order_ref3 LIKE #{query.orderRef3}
  498. </if>
  499. <if test = "query.orderRef4 != null and query.orderRef4 != ''">
  500. AND a.order_ref4 LIKE #{query.orderRef4}
  501. </if>
  502. <if test = "query.orderRef5 != null and query.orderRef5 != ''">
  503. AND a.order_ref5 LIKE #{query.orderRef5}
  504. </if>
  505. <if test = "query.itemResult != null and query.itemResult != ''">
  506. AND b.item_result = #{query.itemResult}
  507. </if>
  508. </where>
  509. ORDER BY
  510. CASE WHEN a.state = '待检验' THEN 1
  511. WHEN a.state = '待审核' THEN 2
  512. WHEN a.state = '已完成' THEN 3
  513. END, a.create_date desc
  514. </select>
  515. <!-- 获取IQC报表总条数 -->
  516. <select id="getIQCReportCount" parameterType="com.xujie.sys.modules.pms.data.QcReportData" resultType="com.xujie.sys.modules.pms.data.QcReportData">
  517. SELECT
  518. a.inspection_no
  519. from qc_iqc_detailed_record as b
  520. Left JOIN qc_iqc_record as a ON a.site = b.site AND a.bu_no = b.bu_no AND a.inspection_no = b.inspection_no
  521. left join part as d on a.site = d.site and a.part_no = d.PartNo
  522. left join WareHouse as w on a.site = w.site and a.warehouse_id = w.WareHouseID
  523. left join sys_user as su on a.site = su.site and a.inspector_no = su.username
  524. <where>
  525. a.site in (select site from eam_access_site where username = #{query.userName})
  526. and (a.site + '-' + a.bu_no) in (select * from dbo.query_bu(#{query.userName}))
  527. <if test="query.buDesc != null and query.buDesc != ''">
  528. AND dbo.get_bu_desc (a.site, a.bu_no) = #{query.buDesc}
  529. </if>
  530. <if test = "query.inspectionNo != null and query.inspectionNo != ''">
  531. AND a.inspection_no LIKE #{query.inspectionNo}
  532. </if>
  533. <if test = "query.states != null and query.states.size > 0">
  534. AND a.state in
  535. <foreach item="item" collection="query.states" open="(" separator="," close=")">
  536. #{item}
  537. </foreach>
  538. </if>
  539. <if test = "query.inspectionResult != null and query.inspectionResult != ''">
  540. AND a.inspection_result = #{query.inspectionResult}
  541. </if>
  542. <if test = "query.partNo != null and query.partNo != ''">
  543. AND a.part_no LIKE #{query.partNo}
  544. </if>
  545. <if test = "query.partDesc != null and query.partDesc != ''">
  546. AND d.PartDescription + '' + Isnull(d.Spec, '') LIKE #{query.partDesc}
  547. </if>
  548. <if test = "query.disposalMeasures != null and query.disposalMeasures != ''">
  549. AND a.disposal_measures = #{query.disposalMeasures}
  550. </if>
  551. <if test = "query.inspectorName != null and query.inspectorName != ''">
  552. AND su.user_display LIKE #{query.inspectorName}
  553. </if>
  554. <if test="query.startDate != null">
  555. AND a.inspector_date >= #{query.startDate}
  556. </if>
  557. <if test="query.endDate != null">
  558. AND #{query.endDate} >= a.inspector_date
  559. </if>
  560. <if test="query.startDate2 != null">
  561. AND a.create_date >= #{query.startDate2}
  562. </if>
  563. <if test="query.endDate2 != null">
  564. AND #{query.endDate2} >= a.create_date
  565. </if>
  566. <if test = "query.poOrderNo != null and query.poOrderNo != ''">
  567. AND a.po_orderNo LIKE #{query.poOrderNo}
  568. </if>
  569. <if test = "query.poItemNo != null and query.poItemNo != ''">
  570. AND a.po_itemNo LIKE #{query.poItemNo}
  571. </if>
  572. <if test = "query.warehouseId != null and query.warehouseId != ''">
  573. AND a.warehouse_id like #{query.warehouseId}
  574. </if>
  575. <if test = "query.warehouseName != null and query.warehouseName != ''">
  576. AND w.WareHouseName like #{query.warehouseName}
  577. </if>
  578. <if test = "query.receiptNo != null and query.receiptNo != ''">
  579. AND a.receipt_no LIKE #{query.receiptNo}
  580. </if>
  581. <if test = "query.refInfo1 != null and query.refInfo1 != ''">
  582. AND a.ref_info1 LIKE #{query.refInfo1}
  583. </if>
  584. <if test = "query.refInfo2 != null and query.refInfo2 != ''">
  585. AND a.ref_info2 LIKE #{query.refInfo2}
  586. </if>
  587. <if test = "query.refInfo3 != null and query.refInfo3 != ''">
  588. AND a.ref_info3 LIKE #{query.refInfo3}
  589. </if>
  590. <if test = "query.refInfo4 != null and query.refInfo4 != ''">
  591. AND a.ref_info4 LIKE #{query.refInfo4}
  592. </if>
  593. <if test = "query.refInfo5 != null and query.refInfo5 != ''">
  594. AND a.ref_info5 LIKE #{query.refInfo5}
  595. </if>
  596. <if test = "query.itemResult != null and query.itemResult != ''">
  597. AND b.item_result = #{query.itemResult}
  598. </if>
  599. </where>
  600. </select>
  601. <!-- 导出IQC明细 -->
  602. <select id="downloadIQCRecord" parameterType="com.xujie.sys.modules.pms.data.QcReportData" resultType="com.xujie.sys.modules.pms.data.QcReportData">
  603. SELECT
  604. a.inspection_no,
  605. a.site,
  606. a.bu_no,
  607. dbo.get_bu_desc(a.site, a.bu_no) as buDesc,
  608. a.state,
  609. a.inspection_result,
  610. a.create_date as taskDate,
  611. a.inspection_cycle,
  612. a.part_no,
  613. d.PartDescription + '' + Isnull(d.Spec, '') as part_desc,
  614. d.umid as umId,
  615. a.inspection_remark,
  616. a.roll_qty,
  617. a.sampling_qty,
  618. a.disposal_measures,
  619. a.disposal_remark,
  620. a.inspector_date,
  621. a.inspector_no,
  622. su.user_display as inspectorName,
  623. a.roll_no,
  624. a.supplier_no,
  625. s.supplierName as supplierDesc,
  626. a.po_orderNo,
  627. a.po_itemNo,
  628. a.roll_count,
  629. a.action_date,
  630. a.receipt_no,
  631. a.receipt_item_no,
  632. a.pass_qty,
  633. a.not_pass_qty,
  634. a.ref_info1,
  635. a.ref_info2,
  636. a.ref_info3,
  637. a.ref_info4,
  638. a.ref_info5,
  639. a.warehouse_id,
  640. w.WareHouseName as warehouseName,
  641. b.item_no,
  642. b.item_desc,
  643. b.default_value,
  644. b.max_value,
  645. b.min_value,
  646. b.sampling_qty as itemSamplingQty,
  647. b.unqualified_quantity,
  648. b.item_result,
  649. CASE WHEN b.item_result = 'Y' THEN '合格'
  650. WHEN b.item_result = 'N' THEN '不合格'
  651. END as itemResultDesc,
  652. CASE WHEN b.value_type_db = 'T' THEN b.text_value
  653. WHEN b.value_type_db = 'N' THEN CONVERT(varchar, b.number_value, 126)
  654. END as textValue
  655. FROM qc_iqc_record as a
  656. LEFT JOIN qc_iqc_detailed_record b ON a.site = b.site AND a.bu_no = b.bu_no AND a.inspection_no = b.inspection_no
  657. left join part as d on a.site = d.site and a.part_no = d.PartNo
  658. left join Supplier as s on a.site = s.site and a.supplier_no = s.SupplierID
  659. left join WareHouse as w on a.site = w.site and a.warehouse_id = w.WareHouseID
  660. left join sys_user as su on a.site = su.site and a.inspector_no = su.username
  661. <where>
  662. a.site in (select site from eam_access_site where username = #{userName})
  663. and (a.site + '-' + a.bu_no) in (select * from dbo.query_bu(#{userName}))
  664. <if test="buDesc != null and buDesc != ''">
  665. AND dbo.get_bu_desc (a.site, a.bu_no) = #{buDesc}
  666. </if>
  667. <if test = "inspectionNo != null and inspectionNo != ''">
  668. AND a.inspection_no LIKE #{inspectionNo}
  669. </if>
  670. <if test = "states != null and states.size > 0">
  671. AND a.state in
  672. <foreach item="item" collection="states" open="(" separator="," close=")">
  673. #{item}
  674. </foreach>
  675. </if>
  676. <if test = "inspectionResult != null and inspectionResult != ''">
  677. AND a.inspection_result = #{inspectionResult}
  678. </if>
  679. <if test = "partNo != null and partNo != ''">
  680. AND a.part_no LIKE #{partNo}
  681. </if>
  682. <if test = "partDesc != null and partDesc != ''">
  683. AND d.PartDescription + '' + Isnull(d.Spec, '') LIKE #{partDesc}
  684. </if>
  685. <if test = "disposalMeasures != null and disposalMeasures != ''">
  686. AND a.disposal_measures = #{disposalMeasures}
  687. </if>
  688. <if test = "inspectorName != null and inspectorName != ''">
  689. AND su.user_display LIKE #{inspectorName}
  690. </if>
  691. <if test="startDate != null">
  692. AND a.inspector_date >= #{startDate}
  693. </if>
  694. <if test="endDate != null">
  695. AND #{endDate} >= a.inspector_date
  696. </if>
  697. <if test="startDate2 != null">
  698. AND a.create_date >= #{startDate2}
  699. </if>
  700. <if test="endDate2 != null">
  701. AND #{endDate2} >= a.create_date
  702. </if>
  703. <if test = "poOrderNo != null and poOrderNo != ''">
  704. AND a.po_orderNo LIKE #{poOrderNo}
  705. </if>
  706. <if test = "poItemNo != null and poItemNo != ''">
  707. AND a.po_itemNo LIKE #{poItemNo}
  708. </if>
  709. <if test = "warehouseId != null and warehouseId != ''">
  710. AND a.warehouse_id like #{warehouseId}
  711. </if>
  712. <if test = "warehouseName != null and warehouseName != ''">
  713. AND w.WareHouseName like #{warehouseName}
  714. </if>
  715. <if test = "receiptNo != null and receiptNo != ''">
  716. AND a.receipt_no LIKE #{receiptNo}
  717. </if>
  718. <if test = "refInfo1 != null and refInfo1 != ''">
  719. AND a.ref_info1 LIKE #{refInfo1}
  720. </if>
  721. <if test = "refInfo2 != null and refInfo2 != ''">
  722. AND a.ref_info2 LIKE #{refInfo2}
  723. </if>
  724. <if test = "refInfo3 != null and refInfo3 != ''">
  725. AND a.ref_info3 LIKE #{refInfo3}
  726. </if>
  727. <if test = "refInfo4 != null and refInfo4 != ''">
  728. AND a.ref_info4 LIKE #{refInfo4}
  729. </if>
  730. <if test = "refInfo5 != null and refInfo5 != ''">
  731. AND a.ref_info5 LIKE #{refInfo5}
  732. </if>
  733. <if test = "itemResult != null and itemResult != ''">
  734. AND b.item_result = #{itemResult}
  735. </if>
  736. </where>
  737. ORDER BY
  738. CASE WHEN a.state = '待检验' THEN 1
  739. WHEN a.state = '待审核' THEN 2
  740. WHEN a.state = '已完成' THEN 3
  741. END, a.create_date desc
  742. </select>
  743. <!-- 获取IPQC报表总条数 -->
  744. <select id="getIPQCReportCount" parameterType="com.xujie.sys.modules.pms.data.QcReportData" resultType="com.xujie.sys.modules.pms.data.QcReportData">
  745. SELECT
  746. a.inspection_no
  747. from qc_ipqc_detailed_record as b
  748. Left JOIN qc_ipqc_record as a ON a.site = b.site AND a.bu_no = b.bu_no AND a.inspection_no = b.inspection_no
  749. left join part as d on a.site = d.site and a.part_no = d.PartNo
  750. <where>
  751. a.site in (select site from eam_access_site where username = #{query.userName})
  752. and (a.site + '-' + a.bu_no) in (select * from dbo.query_bu(#{query.userName}))
  753. <if test="query.buDesc != null and query.buDesc != ''">
  754. AND dbo.get_bu_desc (a.site, a.bu_no) = #{query.buDesc}
  755. </if>
  756. <if test = "query.inspectionNo != null and query.inspectionNo != ''">
  757. AND a.inspection_no LIKE #{query.inspectionNo}
  758. </if>
  759. <if test = "query.partNo != null and query.partNo != ''">
  760. AND a.part_no LIKE #{query.partNo}
  761. </if>
  762. <if test = "query.partDesc != null and query.partDesc != ''">
  763. AND d.PartDescription LIKE #{query.partDesc}
  764. </if>
  765. <if test = "query.states != null and query.states.size > 0">
  766. AND a.state in
  767. <foreach item="item" collection="query.states" open="(" separator="," close=")">
  768. #{item}
  769. </foreach>
  770. </if>
  771. <if test = "query.inspectionTypeNo != null and query.inspectionTypeNo != ''">
  772. AND a.inspection_type_no = #{query.inspectionTypeNo}
  773. </if>
  774. <if test = "query.inspectionResult != null and query.inspectionResult != ''">
  775. AND a.inspection_result = #{query.inspectionResult}
  776. </if>
  777. <if test = "query.disposalMeasures != null and query.disposalMeasures != ''">
  778. AND a.disposal_measures = #{query.disposalMeasures}
  779. </if>
  780. <if test = "query.orderNo != null and query.orderNo != ''">
  781. AND a.order_no LIKE #{query.orderNo}
  782. </if>
  783. <if test = "query.seqNo != null and query.seqNo != ''">
  784. AND a.seq_no LIKE #{query.seqNo}
  785. </if>
  786. <if test = "query.operationDesc != null and query.operationDesc != ''">
  787. AND a.operation_desc LIKE #{query.operationDesc}
  788. </if>
  789. <if test="query.startDate != null">
  790. AND a.inspector_date >= #{query.startDate}
  791. </if>
  792. <if test="query.endDate != null">
  793. AND #{query.endDate} >= a.inspector_date
  794. </if>
  795. <if test="query.startDate2 != null">
  796. AND a.task_date >= #{query.startDate2}
  797. </if>
  798. <if test="query.endDate2 != null">
  799. AND #{query.endDate2} >= a.task_date
  800. </if>
  801. <if test = "query.itemResult != null and query.itemResult != ''">
  802. AND b.item_result = #{query.itemResult}
  803. </if>
  804. </where>
  805. </select>
  806. <!-- 导出IPQC明细 -->
  807. <select id="downloadIPQCRecord" parameterType="com.xujie.sys.modules.pms.data.QcReportData" resultType="com.xujie.sys.modules.pms.data.QcReportIPQCData">
  808. SELECT
  809. a.inspection_no,
  810. a.site,
  811. a.bu_no,
  812. dbo.get_bu_desc(a.site, a.bu_no) as buDesc,
  813. a.state,
  814. a.inspection_result,
  815. a.task_date,
  816. a.inspection_type_no,
  817. a.inspection_cycle,
  818. a.order_no,
  819. a.operation_desc,
  820. a.resource_id,
  821. r.resourceDesc,
  822. a.part_no,
  823. d.PartDescription as part_desc,
  824. d.spec,
  825. a.inspection_remark,
  826. a.roll_qty,
  827. a.sampling_qty,
  828. a.disposal_measures,
  829. a.disposal_remark,
  830. a.inspector_date,
  831. a.seq_no,
  832. a.batch_roll_no,
  833. a.special_requirements,
  834. a.work_center_no,
  835. a.roll_no,
  836. a.um_id,
  837. um.UMName as umName,
  838. a.action_date,
  839. a.action_by,
  840. a.pass_qty,
  841. a.not_pass_qty,
  842. b.item_no,
  843. b.item_desc,
  844. b.default_value,
  845. b.max_value,
  846. b.min_value,
  847. b.sampling_qty as itemSamplingQty,
  848. b.unqualified_quantity,
  849. b.item_result,
  850. CASE WHEN b.item_result = 'Y' THEN '合格'
  851. WHEN b.item_result = 'N' THEN '不合格'
  852. END as itemResultDesc,
  853. CASE WHEN b.value_type_db = 'T' THEN b.text_value
  854. WHEN b.value_type_db = 'N' THEN CONVERT(varchar, b.number_value, 126)
  855. END as textValue
  856. FROM qc_ipqc_record as a
  857. LEFT JOIN qc_ipqc_detailed_record b ON a.site = b.site AND a.bu_no = b.bu_no AND a.inspection_no = b.inspection_no
  858. left join WorkCenterResource as r on a.site = r.site and a.resource_id = r.resourceID
  859. left join part as d on a.site = d.site and a.part_no = d.PartNo
  860. left join UM as um on a.site = um.site and a.um_id = um.UMID
  861. <where>
  862. a.site in (select site from eam_access_site where username = #{userName})
  863. and (a.site + '-' + a.bu_no) in (select * from dbo.query_bu(#{userName}))
  864. <if test="buDesc != null and buDesc != ''">
  865. AND dbo.get_bu_desc (a.site, a.bu_no) = #{buDesc}
  866. </if>
  867. <if test = "inspectionNo != null and inspectionNo != ''">
  868. AND a.inspection_no LIKE #{inspectionNo}
  869. </if>
  870. <if test = "partNo != null and partNo != ''">
  871. AND a.part_no LIKE #{partNo}
  872. </if>
  873. <if test = "partDesc != null and partDesc != ''">
  874. AND d.PartDescription LIKE #{partDesc}
  875. </if>
  876. <if test = "states != null and states.size > 0">
  877. AND a.state in
  878. <foreach item="item" collection="states" open="(" separator="," close=")">
  879. #{item}
  880. </foreach>
  881. </if>
  882. <if test = "inspectionTypeNo != null and inspectionTypeNo != ''">
  883. AND a.inspection_type_no = #{inspectionTypeNo}
  884. </if>
  885. <if test = "inspectionResult != null and inspectionResult != ''">
  886. AND a.inspection_result = #{inspectionResult}
  887. </if>
  888. <if test = "disposalMeasures != null and disposalMeasures != ''">
  889. AND a.disposal_measures = #{disposalMeasures}
  890. </if>
  891. <if test = "orderNo != null and orderNo != ''">
  892. AND a.order_no LIKE #{orderNo}
  893. </if>
  894. <if test = "seqNo != null and seqNo != ''">
  895. AND a.seq_no LIKE #{seqNo}
  896. </if>
  897. <if test = "operationDesc != null and operationDesc != ''">
  898. AND a.operation_desc LIKE #{operationDesc}
  899. </if>
  900. <if test="startDate != null">
  901. AND a.inspector_date >= #{startDate}
  902. </if>
  903. <if test="endDate != null">
  904. AND #{endDate} >= a.inspector_date
  905. </if>
  906. <if test="startDate2 != null">
  907. AND a.task_date >= #{startDate2}
  908. </if>
  909. <if test="endDate2 != null">
  910. AND #{endDate2} >= a.task_date
  911. </if>
  912. <if test = "itemResult != null and itemResult != ''">
  913. AND b.item_result = #{itemResult}
  914. </if>
  915. </where>
  916. ORDER BY
  917. CASE WHEN a.state = '待检验' THEN 1
  918. WHEN a.state = '待审核' THEN 2
  919. WHEN a.state = '已完成' THEN 3
  920. END, a.task_date desc
  921. </select>
  922. <!-- 获取FQAS报表总条数 -->
  923. <select id="getFQASReportCount" parameterType="com.xujie.sys.modules.pms.data.QcReportData" resultType="com.xujie.sys.modules.pms.data.QcReportData">
  924. SELECT
  925. a.inspection_no
  926. from qc_stock_detailed_record as b
  927. Left JOIN qc_stock_record as a ON a.site = b.site AND a.bu_no = b.bu_no AND a.inspection_no = b.inspection_no
  928. left join part as d on a.site = d.site and a.part_no = d.PartNo
  929. left join sys_user as su on a.site = su.site and a.inspector_no = su.username
  930. <where>
  931. a.site in (select site from eam_access_site where username = #{query.userName})
  932. and (a.site + '-' + a.bu_no) in (select * from dbo.query_bu(#{query.userName}))
  933. and a.order_ref_type <![CDATA[<>]]> '发货通知单'
  934. <if test="query.buDesc != null and query.buDesc != ''">
  935. AND dbo.get_bu_desc (a.site, a.bu_no) = #{query.buDesc}
  936. </if>
  937. <if test = "query.inspectionNo != null and query.inspectionNo != ''">
  938. AND a.inspection_no LIKE #{query.inspectionNo}
  939. </if>
  940. <if test = "query.states != null and query.states.size > 0">
  941. AND a.state in
  942. <foreach item="item" collection="query.states" open="(" separator="," close=")">
  943. #{item}
  944. </foreach>
  945. </if>
  946. <if test = "query.inspectionResult != null and query.inspectionResult != ''">
  947. AND a.inspection_result = #{query.inspectionResult}
  948. </if>
  949. <if test = "query.partNo != null and query.partNo != ''">
  950. AND a.part_no LIKE #{query.partNo}
  951. </if>
  952. <if test = "query.partDesc != null and query.partDesc != ''">
  953. AND d.PartDescription + '' + Isnull(d.Spec, '') LIKE #{query.partDesc}
  954. </if>
  955. <if test = "query.disposalMeasures != null and query.disposalMeasures != ''">
  956. AND a.disposal_measures = #{query.disposalMeasures}
  957. </if>
  958. <if test = "query.inspectorName != null and query.inspectorName != ''">
  959. AND su.user_display LIKE #{query.inspectorName}
  960. </if>
  961. <if test="query.startDate != null">
  962. AND a.inspector_date >= #{query.startDate}
  963. </if>
  964. <if test="query.endDate != null">
  965. AND #{query.endDate} >= a.inspector_date
  966. </if>
  967. <if test="query.startDate2 != null">
  968. AND a.create_date >= #{query.startDate2}
  969. </if>
  970. <if test="query.endDate2 != null">
  971. AND #{query.endDate2} >= a.create_date
  972. </if>
  973. <if test = "query.orderRef1 != null and query.orderRef1 != ''">
  974. AND a.order_ref1 LIKE #{query.orderRef1}
  975. </if>
  976. <if test = "query.orderRef2 != null and query.orderRef2 != ''">
  977. AND a.order_ref2 LIKE #{query.orderRef2}
  978. </if>
  979. <if test = "query.orderRef3 != null and query.orderRef3 != ''">
  980. AND a.order_ref3 LIKE #{query.orderRef3}
  981. </if>
  982. <if test = "query.orderRef4 != null and query.orderRef4 != ''">
  983. AND a.order_ref4 LIKE #{query.orderRef4}
  984. </if>
  985. <if test = "query.orderRef5 != null and query.orderRef5 != ''">
  986. AND a.order_ref5 LIKE #{query.orderRef5}
  987. </if>
  988. <if test = "query.itemResult != null and query.itemResult != ''">
  989. AND b.item_result = #{query.itemResult}
  990. </if>
  991. </where>
  992. </select>
  993. <!-- 导出FQAS明细 -->
  994. <select id="downloadFQASRecord" parameterType="com.xujie.sys.modules.pms.data.QcReportData" resultType="com.xujie.sys.modules.pms.data.QcReportFQASData">
  995. SELECT
  996. a.inspection_no,
  997. a.site,
  998. a.bu_no,
  999. dbo.get_bu_desc(a.site, a.bu_no) as buDesc,
  1000. a.state,
  1001. a.inspection_result,
  1002. a.create_date as taskDate,
  1003. a.inspection_type_no,
  1004. a.inspection_cycle,
  1005. a.part_no,
  1006. d.PartDescription + '' + Isnull(d.Spec, '') as part_desc,
  1007. d.umid as umId,
  1008. a.inspection_remark,
  1009. a.roll_qty,
  1010. a.sampling_qty,
  1011. a.disposal_measures,
  1012. a.disposal_remark,
  1013. a.inspector_date,
  1014. a.inspector_no,
  1015. su.user_display as inspectorName,
  1016. a.submit_flag,
  1017. a.roll_no,
  1018. a.roll_count,
  1019. a.action_date,
  1020. a.action_by,
  1021. a.pass_qty,
  1022. a.not_pass_qty,
  1023. a.order_ref_type,
  1024. a.order_ref1,
  1025. a.order_ref2,
  1026. a.order_ref3,
  1027. a.order_ref4,
  1028. a.order_ref5,
  1029. a.order_ref6,
  1030. a.create_by,
  1031. b.item_no,
  1032. b.item_desc,
  1033. b.default_value,
  1034. b.max_value,
  1035. b.min_value,
  1036. b.sampling_qty as itemSamplingQty,
  1037. b.unqualified_quantity,
  1038. b.item_result,
  1039. CASE WHEN b.item_result = 'Y' THEN '合格'
  1040. WHEN b.item_result = 'N' THEN '不合格'
  1041. END as itemResultDesc,
  1042. CASE WHEN b.value_type_db = 'T' THEN b.text_value
  1043. WHEN b.value_type_db = 'N' THEN CONVERT(varchar, b.number_value, 126)
  1044. END as textValue
  1045. FROM qc_stock_record as a
  1046. LEFT JOIN qc_stock_detailed_record b ON a.site = b.site AND a.bu_no = b.bu_no AND a.inspection_no = b.inspection_no
  1047. left join part as d on a.site = d.site and a.part_no = d.PartNo
  1048. left join sys_user as su on a.site = su.site and a.inspector_no = su.username
  1049. <where>
  1050. a.site in (select site from eam_access_site where username = #{userName})
  1051. and (a.site + '-' + a.bu_no) in (select * from dbo.query_bu(#{userName}))
  1052. and a.order_ref_type <![CDATA[<>]]> '发货通知单'
  1053. <if test="buDesc != null and buDesc != ''">
  1054. AND dbo.get_bu_desc (a.site, a.bu_no) = #{buDesc}
  1055. </if>
  1056. <if test = "inspectionNo != null and inspectionNo != ''">
  1057. AND a.inspection_no LIKE #{inspectionNo}
  1058. </if>
  1059. <if test = "states != null and states.size > 0">
  1060. AND a.state in
  1061. <foreach item="item" collection="states" open="(" separator="," close=")">
  1062. #{item}
  1063. </foreach>
  1064. </if>
  1065. <if test = "inspectionResult != null and inspectionResult != ''">
  1066. AND a.inspection_result = #{inspectionResult}
  1067. </if>
  1068. <if test = "partNo != null and partNo != ''">
  1069. AND a.part_no LIKE #{partNo}
  1070. </if>
  1071. <if test = "partDesc != null and partDesc != ''">
  1072. AND d.PartDescription + '' + Isnull(d.Spec, '') LIKE #{partDesc}
  1073. </if>
  1074. <if test = "disposalMeasures != null and disposalMeasures != ''">
  1075. AND a.disposal_measures = #{disposalMeasures}
  1076. </if>
  1077. <if test = "inspectorName != null and inspectorName != ''">
  1078. AND su.user_display LIKE #{inspectorName}
  1079. </if>
  1080. <if test="startDate != null">
  1081. AND a.inspector_date >= #{startDate}
  1082. </if>
  1083. <if test="endDate != null">
  1084. AND #{endDate} >= a.inspector_date
  1085. </if>
  1086. <if test="startDate2 != null">
  1087. AND a.create_date >= #{startDate2}
  1088. </if>
  1089. <if test="endDate2 != null">
  1090. AND #{endDate2} >= a.create_date
  1091. </if>
  1092. <if test = "orderRef1 != null and orderRef1 != ''">
  1093. AND a.order_ref1 LIKE #{orderRef1}
  1094. </if>
  1095. <if test = "orderRef2 != null and orderRef2 != ''">
  1096. AND a.order_ref2 LIKE #{orderRef2}
  1097. </if>
  1098. <if test = "orderRef3 != null and orderRef3 != ''">
  1099. AND a.order_ref3 LIKE #{orderRef3}
  1100. </if>
  1101. <if test = "orderRef4 != null and orderRef4 != ''">
  1102. AND a.order_ref4 LIKE #{orderRef4}
  1103. </if>
  1104. <if test = "orderRef5 != null and orderRef5 != ''">
  1105. AND a.order_ref5 LIKE #{orderRef5}
  1106. </if>
  1107. <if test = "itemResult != null and itemResult != ''">
  1108. AND b.item_result = #{itemResult}
  1109. </if>
  1110. </where>
  1111. ORDER BY
  1112. CASE WHEN a.state = '待检验' THEN 1
  1113. WHEN a.state = '待审核' THEN 2
  1114. WHEN a.state = '已完成' THEN 3
  1115. END, a.create_date desc
  1116. </select>
  1117. <!-- 获取OQC报表总条数 -->
  1118. <select id="getOQCReportCount" parameterType="com.xujie.sys.modules.pms.data.QcReportData" resultType="com.xujie.sys.modules.pms.data.QcReportData">
  1119. SELECT
  1120. a.inspection_no
  1121. from qc_stock_detailed_record as b
  1122. Left JOIN qc_stock_record as a ON a.site = b.site AND a.bu_no = b.bu_no AND a.inspection_no = b.inspection_no
  1123. left join part as d on a.site = d.site and a.part_no = d.PartNo
  1124. left join sys_user as su on a.site = su.site and a.inspector_no = su.username
  1125. <where>
  1126. a.site in (select site from eam_access_site where username = #{query.userName})
  1127. and (a.site + '-' + a.bu_no) in (select * from dbo.query_bu(#{query.userName}))
  1128. and a.order_ref_type = '发货通知单'
  1129. <if test="query.buDesc != null and query.buDesc != ''">
  1130. AND dbo.get_bu_desc (a.site, a.bu_no) = #{query.buDesc}
  1131. </if>
  1132. <if test = "query.inspectionNo != null and query.inspectionNo != ''">
  1133. AND a.inspection_no LIKE #{query.inspectionNo}
  1134. </if>
  1135. <if test = "query.states != null and query.states.size > 0">
  1136. AND a.state in
  1137. <foreach item="item" collection="query.states" open="(" separator="," close=")">
  1138. #{item}
  1139. </foreach>
  1140. </if>
  1141. <if test = "query.inspectionResult != null and query.inspectionResult != ''">
  1142. AND a.inspection_result = #{query.inspectionResult}
  1143. </if>
  1144. <if test = "query.partNo != null and query.partNo != ''">
  1145. AND a.part_no LIKE #{query.partNo}
  1146. </if>
  1147. <if test = "query.partDesc != null and query.partDesc != ''">
  1148. AND d.PartDescription + '' + Isnull(d.Spec, '') LIKE #{query.partDesc}
  1149. </if>
  1150. <if test = "query.disposalMeasures != null and query.disposalMeasures != ''">
  1151. AND a.disposal_measures = #{query.disposalMeasures}
  1152. </if>
  1153. <if test = "query.inspectorName != null and query.inspectorName != ''">
  1154. AND su.user_display LIKE #{query.inspectorName}
  1155. </if>
  1156. <if test="query.startDate != null">
  1157. AND a.inspector_date >= #{query.startDate}
  1158. </if>
  1159. <if test="query.endDate != null">
  1160. AND #{query.endDate} >= a.inspector_date
  1161. </if>
  1162. <if test="query.startDate2 != null">
  1163. AND a.create_date >= #{query.startDate2}
  1164. </if>
  1165. <if test="query.endDate2 != null">
  1166. AND #{query.endDate2} >= a.create_date
  1167. </if>
  1168. <if test = "query.orderRef1 != null and query.orderRef1 != ''">
  1169. AND a.order_ref1 LIKE #{query.orderRef1}
  1170. </if>
  1171. <if test = "query.orderRef2 != null and query.orderRef2 != ''">
  1172. AND a.order_ref2 LIKE #{query.orderRef2}
  1173. </if>
  1174. <if test = "query.orderRef3 != null and query.orderRef3 != ''">
  1175. AND a.order_ref3 LIKE #{query.orderRef3}
  1176. </if>
  1177. <if test = "query.orderRef4 != null and query.orderRef4 != ''">
  1178. AND a.order_ref4 LIKE #{query.orderRef4}
  1179. </if>
  1180. <if test = "query.orderRef5 != null and query.orderRef5 != ''">
  1181. AND a.order_ref5 LIKE #{query.orderRef5}
  1182. </if>
  1183. <if test = "query.itemResult != null and query.itemResult != ''">
  1184. AND b.item_result = #{query.itemResult}
  1185. </if>
  1186. </where>
  1187. </select>
  1188. <!-- 导出OQC明细 -->
  1189. <select id="downloadOQCRecord" parameterType="com.xujie.sys.modules.pms.data.QcReportData" resultType="com.xujie.sys.modules.pms.data.QcReportFQASData">
  1190. SELECT
  1191. a.inspection_no,
  1192. a.site,
  1193. a.bu_no,
  1194. dbo.get_bu_desc(a.site, a.bu_no) as buDesc,
  1195. a.state,
  1196. a.inspection_result,
  1197. a.create_date as taskDate,
  1198. a.inspection_type_no,
  1199. a.inspection_cycle,
  1200. a.part_no,
  1201. d.PartDescription + '' + Isnull(d.Spec, '') as part_desc,
  1202. d.umid as umId,
  1203. a.inspection_remark,
  1204. a.roll_qty,
  1205. a.sampling_qty,
  1206. a.disposal_measures,
  1207. a.disposal_remark,
  1208. a.inspector_date,
  1209. a.inspector_no,
  1210. su.user_display as inspectorName,
  1211. a.submit_flag,
  1212. a.roll_no,
  1213. a.roll_count,
  1214. a.action_date,
  1215. a.action_by,
  1216. a.pass_qty,
  1217. a.not_pass_qty,
  1218. a.order_ref_type,
  1219. a.order_ref1,
  1220. a.order_ref2,
  1221. a.order_ref3,
  1222. a.order_ref4,
  1223. a.order_ref5,
  1224. a.order_ref6,
  1225. a.create_by,
  1226. b.item_no,
  1227. b.item_desc,
  1228. b.default_value,
  1229. b.max_value,
  1230. b.min_value,
  1231. b.sampling_qty as itemSamplingQty,
  1232. b.unqualified_quantity,
  1233. b.item_result,
  1234. CASE WHEN b.item_result = 'Y' THEN '合格'
  1235. WHEN b.item_result = 'N' THEN '不合格'
  1236. END as itemResultDesc,
  1237. CASE WHEN b.value_type_db = 'T' THEN b.text_value
  1238. WHEN b.value_type_db = 'N' THEN CONVERT(varchar, b.number_value, 126)
  1239. END as textValue
  1240. FROM qc_stock_record as a
  1241. LEFT JOIN qc_stock_detailed_record b ON a.site = b.site AND a.bu_no = b.bu_no AND a.inspection_no = b.inspection_no
  1242. left join part as d on a.site = d.site and a.part_no = d.PartNo
  1243. left join sys_user as su on a.site = su.site and a.inspector_no = su.username
  1244. <where>
  1245. a.site in (select site from eam_access_site where username = #{userName})
  1246. and (a.site + '-' + a.bu_no) in (select * from dbo.query_bu(#{userName}))
  1247. and a.order_ref_type = '发货通知单'
  1248. <if test="buDesc != null and buDesc != ''">
  1249. AND dbo.get_bu_desc (a.site, a.bu_no) = #{buDesc}
  1250. </if>
  1251. <if test = "inspectionNo != null and inspectionNo != ''">
  1252. AND a.inspection_no LIKE #{inspectionNo}
  1253. </if>
  1254. <if test = "states != null and states.size > 0">
  1255. AND a.state in
  1256. <foreach item="item" collection="states" open="(" separator="," close=")">
  1257. #{item}
  1258. </foreach>
  1259. </if>
  1260. <if test = "inspectionResult != null and inspectionResult != ''">
  1261. AND a.inspection_result = #{inspectionResult}
  1262. </if>
  1263. <if test = "partNo != null and partNo != ''">
  1264. AND a.part_no LIKE #{partNo}
  1265. </if>
  1266. <if test = "partDesc != null and partDesc != ''">
  1267. AND d.PartDescription + '' + Isnull(d.Spec, '') LIKE #{partDesc}
  1268. </if>
  1269. <if test = "disposalMeasures != null and disposalMeasures != ''">
  1270. AND a.disposal_measures = #{disposalMeasures}
  1271. </if>
  1272. <if test = "inspectorName != null and inspectorName != ''">
  1273. AND su.user_display LIKE #{inspectorName}
  1274. </if>
  1275. <if test="startDate != null">
  1276. AND a.inspector_date >= #{startDate}
  1277. </if>
  1278. <if test="endDate != null">
  1279. AND #{endDate} >= a.inspector_date
  1280. </if>
  1281. <if test="startDate2 != null">
  1282. AND a.create_date >= #{startDate2}
  1283. </if>
  1284. <if test="endDate2 != null">
  1285. AND #{endDate2} >= a.create_date
  1286. </if>
  1287. <if test = "orderRef1 != null and orderRef1 != ''">
  1288. AND a.order_ref1 LIKE #{orderRef1}
  1289. </if>
  1290. <if test = "orderRef2 != null and orderRef2 != ''">
  1291. AND a.order_ref2 LIKE #{orderRef2}
  1292. </if>
  1293. <if test = "orderRef3 != null and orderRef3 != ''">
  1294. AND a.order_ref3 LIKE #{orderRef3}
  1295. </if>
  1296. <if test = "orderRef4 != null and orderRef4 != ''">
  1297. AND a.order_ref4 LIKE #{orderRef4}
  1298. </if>
  1299. <if test = "orderRef5 != null and orderRef5 != ''">
  1300. AND a.order_ref5 LIKE #{orderRef5}
  1301. </if>
  1302. <if test = "itemResult != null and itemResult != ''">
  1303. AND b.item_result = #{itemResult}
  1304. </if>
  1305. </where>
  1306. ORDER BY
  1307. CASE WHEN a.state = '待检验' THEN 1
  1308. WHEN a.state = '待审核' THEN 2
  1309. WHEN a.state = '已完成' THEN 3
  1310. END, a.create_date desc
  1311. </select>
  1312. </mapper>