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.

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