O
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.

1966 lines
90 KiB

1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  3. <mapper namespace="com.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. a.inspection_no,b.order_id, b.item_no desc
  143. </select>
  144. <!-- 获取IPQC报表 -->
  145. <select id="getIPQCReport" parameterType="QcReportData" resultType="QcReportData">
  146. SELECT
  147. a.inspection_no,
  148. a.site,
  149. a.bu_no,
  150. dbo.get_bu_desc(a.site, a.bu_no) as buDesc,
  151. a.state,
  152. a.inspection_result,
  153. a.task_date,
  154. a.inspection_type_no,
  155. a.inspection_cycle,
  156. a.order_no,
  157. a.operation_desc,
  158. a.resource_id,
  159. r.resource_desc,
  160. a.part_no,
  161. d.part_desc,
  162. d.cinv_source_code as cinvSourceCode,
  163. d.sku as sku,
  164. d.invdefinetype as invdefinetype,
  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.inspector_no,
  172. isnull(dbo.joint_id(a.site, a.bu_no, a.inspection_no, 'coordination'), '') as operator,
  173. isnull(dbo.joint_name(a.site, a.bu_no, a.inspection_no, 'coordination'), '') as operatorName,
  174. isnull(dbo.joint_id(a.site, a.bu_no, a.inspection_no, 'responsible'), '') as responsiblePerson,
  175. isnull(dbo.joint_name2(a.site, a.bu_no, a.inspection_no, 'responsible'), '') as responsiblePersonName,
  176. u.user_display as inspectorName,
  177. a.seq_no,
  178. a.batch_roll_no,
  179. a.special_requirements,
  180. a.work_center_no,
  181. a.roll_no,
  182. a.um_id,
  183. um.UMName as umName,
  184. a.action_date,
  185. a.action_by,
  186. b.item_no,
  187. b.item_desc,
  188. b.default_value,
  189. b.max_value,
  190. b.min_value,
  191. b.sampling_qty as itemSamplingQty,
  192. b.unqualified_quantity,
  193. b.item_result,
  194. CASE WHEN b.item_result = 'Y' THEN '合格' WHEN b.item_result = 'N' THEN '不合格' END as itemResultDesc,
  195. 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
  196. FROM qc_ipqc_record as a
  197. 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
  198. left join part as d on a.site = d.site and a.bu_no = d.sourceBu and a.part_no = d.part_no
  199. left join sys_user as u on a.inspector_no = u.username
  200. 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
  201. left join UM as um on a.site = um.site and a.um_id = um.UMID
  202. <where>
  203. a.site in (select site from eam_access_site where username = #{query.userName})
  204. and (a.site + '-' + a.bu_no) in (select * from dbo.query_bu(#{query.userName}))
  205. <if test="query.buNo != null and query.buNo != ''">
  206. AND a.bu_no = #{query.buNo}
  207. </if>
  208. <if test = "query.inspectionNo != null and query.inspectionNo != ''">
  209. AND a.inspection_no LIKE '%' + #{query.inspectionNo} + '%'
  210. </if>
  211. <if test = "query.partNo != null and query.partNo != ''">
  212. AND a.part_no LIKE '%' + #{query.partNo} + '%'
  213. </if>
  214. <if test = "query.partDesc != null and query.partDesc != ''">
  215. AND d.part_desc LIKE '%' + #{query.partDesc} + '%'
  216. </if>
  217. <if test = "query.cinvSourceCode != null and query.cinvSourceCode != ''">
  218. AND d.cinv_source_code LIKE '%' + #{query.cinvSourceCode} + '%'
  219. </if>
  220. <if test = "query.sku != null and query.sku != ''">
  221. AND d.sku LIKE '%' + #{query.sku} + '%'
  222. </if>
  223. <if test = "query.states != null and query.states.size > 0">
  224. AND a.state in
  225. <foreach item="item" collection="query.states" open="(" separator="," close=")">
  226. #{item}
  227. </foreach>
  228. </if>
  229. <if test = "query.inspectionTypeNo != null and query.inspectionTypeNo != ''">
  230. AND a.inspection_type_no = #{query.inspectionTypeNo}
  231. </if>
  232. <if test = "query.inspectionResult != null and query.inspectionResult != ''">
  233. AND a.inspection_result = #{query.inspectionResult}
  234. </if>
  235. <if test = "query.disposalMeasures != null and query.disposalMeasures != ''">
  236. AND a.disposal_measures = #{query.disposalMeasures}
  237. </if>
  238. <if test = "query.orderNo != null and query.orderNo != ''">
  239. AND a.order_no LIKE '%' + #{query.orderNo} + '%'
  240. </if>
  241. <if test = "query.seqNo != null and query.seqNo != ''">
  242. AND a.seq_no LIKE '%' + #{query.seqNo} + '%'
  243. </if>
  244. <if test = "query.operationDesc != null and query.operationDesc != ''">
  245. AND a.operation_desc LIKE #{query.operationDesc}
  246. </if>
  247. <if test="query.startDate != null">
  248. AND a.inspector_date >= #{query.startDate}
  249. </if>
  250. <if test="query.endDate != null">
  251. AND #{query.endDate} >= a.inspector_date
  252. </if>
  253. <if test="query.startDate2 != null">
  254. AND a.task_date >= #{query.startDate2}
  255. </if>
  256. <if test="query.endDate2 != null">
  257. AND #{query.endDate2} >= a.task_date
  258. </if>
  259. <if test = "query.operatorName != null and query.operatorName != ''">
  260. AND dbo.joint_name(a.site, a.bu_no, a.inspection_no, 'coordination') like '%' + #{query.operatorName} + '%'
  261. </if>
  262. <if test = "query.responsiblePersonName != null and query.responsiblePersonName != ''">
  263. AND dbo.joint_name2(a.site, a.bu_no, a.inspection_no, 'responsible') like '%' + #{query.responsiblePersonName} + '%'
  264. </if>
  265. <if test = "query.itemResult != null and query.itemResult != ''">
  266. AND b.item_result = #{query.itemResult}
  267. </if>
  268. </where>
  269. ORDER BY
  270. a.inspection_no ,b.order_id, b.item_no desc
  271. </select>
  272. <!-- 获取FAI报表 -->
  273. <select id="getFAIReport" parameterType="QcReportData" resultType="QcReportData">
  274. SELECT
  275. a.inspection_no,
  276. a.site,
  277. a.bu_no,
  278. dbo.get_bu_desc(a.site, a.bu_no) as buDesc,
  279. a.state,
  280. a.inspection_result,
  281. a.task_date,
  282. a.inspection_type_no,
  283. a.inspection_cycle,
  284. a.order_no,
  285. a.operation_desc,
  286. a.resource_id,
  287. r.resource_desc,
  288. a.part_no,
  289. d.part_desc,
  290. d.cinv_source_code as cinvSourceCode,
  291. d.sku as sku,
  292. d.invdefinetype as invdefinetype,
  293. a.inspection_remark,
  294. a.roll_qty,
  295. a.sampling_qty,
  296. a.disposal_measures,
  297. a.disposal_remark,
  298. a.inspector_date,
  299. a.inspector_no,
  300. u.user_display as inspectorName,
  301. a.seq_no,
  302. a.batch_roll_no,
  303. a.special_requirements,
  304. a.work_center_no,
  305. a.roll_no,
  306. a.um_id,
  307. um.UMName as umName,
  308. a.action_date,
  309. a.action_by,
  310. isnull(dbo.joint_id(a.site, a.bu_no, a.inspection_no, 'coordination'), '') as operator,
  311. isnull(dbo.joint_name(a.site, a.bu_no, a.inspection_no, 'coordination'), '') as operatorName,
  312. isnull(dbo.joint_id(a.site, a.bu_no, a.inspection_no, 'responsible'), '') as responsiblePerson,
  313. isnull(dbo.joint_name2(a.site, a.bu_no, a.inspection_no, 'responsible'), '') as responsiblePersonName,
  314. b.item_no,
  315. b.item_desc,
  316. b.default_value,
  317. b.max_value,
  318. b.min_value,
  319. b.sampling_qty as itemSamplingQty,
  320. b.unqualified_quantity,
  321. b.item_result,
  322. CASE WHEN b.item_result = 'Y' THEN '合格'
  323. WHEN b.item_result = 'N' THEN '不合格'
  324. END as itemResultDesc,
  325. CASE WHEN b.value_type_db = 'T' THEN b.text_value
  326. WHEN b.value_type_db = 'N' THEN CONVERT(varchar, b.number_value, 126)
  327. END as textValue
  328. FROM qc_fai_record as a
  329. 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
  330. left join part as d on a.site = d.site and a.bu_no = d.sourceBu and a.part_no = d.part_no
  331. left join sys_user as u on a.inspector_no = u.username
  332. 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
  333. left join UM as um on a.site = um.site and a.um_id = um.UMID
  334. <where>
  335. a.site in (select site from eam_access_site where username = #{query.userName})
  336. and (a.site + '-' + a.bu_no) in (select * from dbo.query_bu(#{query.userName}))
  337. <if test="query.buNo != null and query.buNo != ''">
  338. AND a.bu_no = #{query.buNo}
  339. </if>
  340. <if test = "query.inspectionNo != null and query.inspectionNo != ''">
  341. AND a.inspection_no LIKE '%' + #{query.inspectionNo} + '%'
  342. </if>
  343. <if test = "query.partNo != null and query.partNo != ''">
  344. AND a.part_no LIKE '%' + #{query.partNo} + '%'
  345. </if>
  346. <if test = "query.partDesc != null and query.partDesc != ''">
  347. AND d.part_desc LIKE '%' + #{query.partDesc} + '%'
  348. </if>
  349. <if test = "query.cinvSourceCode != null and query.cinvSourceCode != ''">
  350. AND d.cinv_source_code LIKE '%' + #{query.cinvSourceCode} + '%'
  351. </if>
  352. <if test = "query.sku != null and query.sku != ''">
  353. AND d.sku LIKE '%' + #{query.sku} + '%'
  354. </if>
  355. <if test = "query.disposalMeasures != null and query.disposalMeasures != ''">
  356. AND a.disposal_measures LIKE '%' + #{query.disposalMeasures} + '%'
  357. </if>
  358. <if test = "query.states != null and query.states.size > 0">
  359. AND a.state in
  360. <foreach item="item" collection="query.states" open="(" separator="," close=")">
  361. #{item}
  362. </foreach>
  363. </if>
  364. <if test = "query.inspectionResult != null and query.inspectionResult != ''">
  365. AND a.inspection_result = #{query.inspectionResult}
  366. </if>
  367. <if test = "query.orderNo != null and query.orderNo != ''">
  368. AND a.order_no LIKE '%' + #{query.orderNo} + '%'
  369. </if>
  370. <if test = "query.seqNo != null and query.seqNo != ''">
  371. AND a.seq_no LIKE '%' + #{query.seqNo} + '%'
  372. </if>
  373. <if test = "query.operationDesc != null and query.operationDesc != ''">
  374. AND a.operation_desc LIKE '%' + #{query.operationDesc} + '%'
  375. </if>
  376. <if test="query.startDate != null">
  377. AND a.inspector_date >= #{query.startDate}
  378. </if>
  379. <if test="query.endDate != null">
  380. AND #{query.endDate} >= a.inspector_date
  381. </if>
  382. <if test="query.startDate2 != null">
  383. AND a.task_date >= #{query.startDate2}
  384. </if>
  385. <if test="query.endDate2 != null">
  386. AND #{query.endDate2} >= a.task_date
  387. </if>
  388. <if test = "query.operatorName != null and query.operatorName != ''">
  389. AND dbo.joint_name(a.site, a.bu_no, a.inspection_no, 'coordination') like '%' + #{query.operatorName} + '%'
  390. </if>
  391. <if test = "query.responsiblePersonName != null and query.responsiblePersonName != ''">
  392. AND dbo.joint_name2(a.site, a.bu_no, a.inspection_no, 'responsible') like '%' + #{query.responsiblePersonName} + '%'
  393. </if>
  394. <if test = "query.itemResult != null and query.itemResult != ''">
  395. AND b.item_result = #{query.itemResult}
  396. </if>
  397. </where>
  398. ORDER BY
  399. a.inspection_no,b.order_id, b.item_no desc
  400. </select>
  401. <!-- 获取FQC报表 -->
  402. <select id="getFQCReport" parameterType="QcReportData" resultType="QcReportData">
  403. SELECT
  404. a.inspection_no,
  405. a.site,
  406. a.bu_no,
  407. dbo.get_bu_desc(a.site, a.bu_no) as buDesc,
  408. a.state,
  409. a.inspection_result,
  410. a.task_date,
  411. a.inspection_cycle,
  412. a.order_no,
  413. a.operation_desc,
  414. a.resource_id,
  415. r.resource_desc,
  416. a.part_no,
  417. d.part_desc,
  418. d.cinv_source_code as cinvSourceCode,
  419. d.sku as sku,
  420. d.invdefinetype as invdefinetype,
  421. a.inspection_remark,
  422. a.roll_qty,
  423. a.sampling_qty,
  424. a.disposal_measures,
  425. a.disposal_remark,
  426. a.inspector_date,
  427. a.inspector_no,
  428. u.user_display as inspectorName,
  429. a.seq_no,
  430. a.batch_roll_no,
  431. a.special_requirements,
  432. a.work_center_no,
  433. a.roll_no,
  434. a.um_id,
  435. um.UMName as umName,
  436. a.action_date,
  437. a.action_by,
  438. isnull(dbo.joint_id(a.site, a.bu_no, a.inspection_no, 'coordination'), '') as operator,
  439. isnull(dbo.joint_name(a.site, a.bu_no, a.inspection_no, 'coordination'), '') as operatorName,
  440. isnull(dbo.joint_id(a.site, a.bu_no, a.inspection_no, 'responsible'), '') as responsiblePerson,
  441. isnull(dbo.joint_name2(a.site, a.bu_no, a.inspection_no, 'responsible'), '') as responsiblePersonName,
  442. b.item_no,
  443. b.item_desc,
  444. b.default_value,
  445. b.max_value,
  446. b.min_value,
  447. b.sampling_qty as itemSamplingQty,
  448. b.unqualified_quantity,
  449. b.item_result,
  450. CASE WHEN b.item_result = 'Y' THEN '合格'
  451. WHEN b.item_result = 'N' THEN '不合格'
  452. END as itemResultDesc,
  453. CASE WHEN b.value_type_db = 'T' THEN b.text_value
  454. WHEN b.value_type_db = 'N' THEN CONVERT(varchar, b.number_value, 126)
  455. END as textValue
  456. FROM qc_fqc_record as a
  457. 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
  458. left join part as d on a.site = d.site and a.bu_no = d.sourceBu and a.part_no = d.part_no
  459. left join sys_user as u on a.inspector_no = u.username
  460. 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
  461. left join UM as um on a.site = um.site and a.um_id = um.UMID
  462. <where>
  463. a.site in (select site from eam_access_site where username = #{query.userName})
  464. and (a.site + '-' + a.bu_no) in (select * from dbo.query_bu(#{query.userName}))
  465. <if test="query.buNo != null and query.buNo != ''">
  466. AND a.bu_no = #{query.buNo}
  467. </if>
  468. <if test = "query.inspectionNo != null and query.inspectionNo != ''">
  469. AND a.inspection_no LIKE '%' + #{query.inspectionNo} + '%'
  470. </if>
  471. <if test = "query.partNo != null and query.partNo != ''">
  472. AND a.part_no LIKE '%' + #{query.partNo} + '%'
  473. </if>
  474. <if test = "query.partDesc != null and query.partDesc != ''">
  475. AND d.part_desc LIKE '%' + #{query.partDesc} + '%'
  476. </if>
  477. <if test = "query.cinvSourceCode != null and query.cinvSourceCode != ''">
  478. AND d.cinv_source_code LIKE '%' + #{query.cinvSourceCode} + '%'
  479. </if>
  480. <if test = "query.sku != null and query.sku != ''">
  481. AND d.sku LIKE '%' + #{query.sku} + '%'
  482. </if>
  483. <if test = "query.disposalMeasures != null and query.disposalMeasures != ''">
  484. AND a.disposal_measures LIKE '%' + #{query.disposalMeasures} + '%'
  485. </if>
  486. <if test = "query.states != null and query.states.size > 0">
  487. AND a.state in
  488. <foreach item="item" collection="query.states" open="(" separator="," close=")">
  489. #{item}
  490. </foreach>
  491. </if>
  492. <if test = "query.inspectionResult != null and query.inspectionResult != ''">
  493. AND a.inspection_result = #{query.inspectionResult}
  494. </if>
  495. <if test = "query.orderNo != null and query.orderNo != ''">
  496. AND a.order_no LIKE '%' + #{query.orderNo} + '%'
  497. </if>
  498. <if test = "query.seqNo != null and query.seqNo != ''">
  499. AND a.seq_no LIKE '%' + #{query.seqNo} + '%'
  500. </if>
  501. <if test = "query.operationDesc != null and query.operationDesc != ''">
  502. AND a.operation_desc LIKE '%' + #{query.operationDesc} + '%'
  503. </if>
  504. <if test="query.startDate != null">
  505. AND a.inspector_date >= #{query.startDate}
  506. </if>
  507. <if test="query.endDate != null">
  508. AND #{query.endDate} >= a.inspector_date
  509. </if>
  510. <if test="query.startDate2 != null">
  511. AND a.task_date >= #{query.startDate2}
  512. </if>
  513. <if test="query.endDate2 != null">
  514. AND #{query.endDate2} >= a.task_date
  515. </if>
  516. <if test = "query.operatorName != null and query.operatorName != ''">
  517. AND dbo.joint_name(a.site, a.bu_no, a.inspection_no, 'coordination') like '%' + #{query.operatorName} + '%'
  518. </if>
  519. <if test = "query.responsiblePersonName != null and query.responsiblePersonName != ''">
  520. AND dbo.joint_name2(a.site, a.bu_no, a.inspection_no, 'responsible') like '%' + #{query.responsiblePersonName} + '%'
  521. </if>
  522. <if test = "query.itemResult != null and query.itemResult != ''">
  523. AND b.item_result = #{query.itemResult}
  524. </if>
  525. </where>
  526. ORDER BY
  527. a.inspection_no,b.order_id, b.item_no desc
  528. </select>
  529. <!-- 获取IQC明细报表 -->
  530. <select id="getIQCDetailReport" parameterType="QcDetailReport" resultType="QcDetailReport">
  531. SELECT
  532. a.inspection_no,
  533. a.site,
  534. a.bu_no,
  535. dbo.get_bu_desc(a.site, a.bu_no) as buDesc,
  536. a.state,
  537. a.inspection_result,
  538. a.create_date as taskDate,
  539. a.inspection_cycle,
  540. a.part_no,
  541. a.part_desc,
  542. d.cinv_source_code as cinvSourceCode,
  543. d.sku,
  544. d.umid as umId,
  545. d.invdefinetype as invdefinetype,
  546. a.inspection_remark,
  547. a.roll_qty,
  548. a.sampling_qty,
  549. a.disposal_measures,
  550. a.disposal_remark,
  551. a.inspector_date,
  552. a.inspector_no,
  553. u.user_display inspectorName,
  554. a.roll_no,
  555. a.supplier_no,
  556. s.SupplierName as supplierDesc,
  557. a.po_orderNo,
  558. a.po_itemNo,
  559. a.roll_count,
  560. dbo.qc_get_order_type(a.site, a.po_orderNo, a.po_itemNo) as orderType,
  561. a.action_date,
  562. a.action_by,
  563. a.submission_remark,
  564. a.submission_type,
  565. b.item_no,
  566. b.item_desc,
  567. b.default_value,
  568. b.max_value,
  569. b.min_value,
  570. b.sampling_qty as itemSamplingQty,
  571. b.unqualified_quantity,
  572. b.item_result,
  573. CASE WHEN b.item_result = 'Y' THEN '合格' WHEN b.item_result = 'N' THEN '不合格' END as itemResultDesc,
  574. 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,
  575. c.id,
  576. c.num,
  577. c.sampling_location,
  578. c.sampling_location_b,
  579. c.sub_detail_value,
  580. c.sub_detail_value_b,
  581. c.sub_detail_value_c,
  582. c.sub_detail_value_d,
  583. c.sub_detail_value_e
  584. FROM qc_iqc_record as a
  585. 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
  586. 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
  587. left join part as d on a.site = d.site and a.bu_no = d.sourceBu and a.part_no = d.part_no
  588. left join view_Supplier as s on a.site = s.site and a.supplier_no = s.SupplierID
  589. left join sys_user as u on a.inspector_no = u.username
  590. <where>
  591. a.site in (select site from eam_access_site where username = #{query.userName})
  592. and (a.site + '-' + a.bu_no) in (select * from dbo.query_bu(#{query.userName}))
  593. <if test="query.buNo != null and query.buNo != ''">
  594. AND a.bu_no = #{query.buNo}
  595. </if>
  596. <if test = "query.inspectionNo != null and query.inspectionNo != ''">
  597. AND a.inspection_no LIKE '%' + #{query.inspectionNo} + '%'
  598. </if>
  599. <if test = "query.states != null and query.states.size > 0">
  600. AND a.state in
  601. <foreach item="item" collection="query.states" open="(" separator="," close=")">
  602. #{item}
  603. </foreach>
  604. </if>
  605. <if test = "query.inspectionResult != null and query.inspectionResult != ''">
  606. AND a.inspection_result = #{query.inspectionResult}
  607. </if>
  608. <if test = "query.partNo != null and query.partNo != ''">
  609. AND a.part_no LIKE '%' + #{query.partNo} + '%'
  610. </if>
  611. <if test = "query.partDesc != null and query.partDesc != ''">
  612. AND a.part_desc LIKE '%' + #{query.partDesc} + '%'
  613. </if>
  614. <if test = "query.cinvSourceCode != null and query.cinvSourceCode != ''">
  615. AND d.cinv_source_code LIKE '%' + #{query.cinvSourceCode} + '%'
  616. </if>
  617. <if test = "query.sku != null and query.sku != ''">
  618. AND d.sku LIKE '%' + #{query.sku} + '%'
  619. </if>
  620. <if test = "query.disposalMeasures != null and query.disposalMeasures != ''">
  621. AND a.disposal_measures = #{query.disposalMeasures}
  622. </if>
  623. <if test = "query.inspectorName != null and query.inspectorName != ''">
  624. AND u.user_display LIKE '%' + #{query.inspectorName} + '%'
  625. </if>
  626. <if test="query.startDate != null">
  627. AND a.inspector_date >= #{query.startDate}
  628. </if>
  629. <if test="query.endDate != null">
  630. AND #{query.endDate} >= a.inspector_date
  631. </if>
  632. <if test="query.startDate2 != null">
  633. AND a.create_date >= #{query.startDate2}
  634. </if>
  635. <if test="query.endDate2 != null">
  636. AND #{query.endDate2} >= a.create_date
  637. </if>
  638. <if test = "query.poOrderNo != null and query.poOrderNo != ''">
  639. AND a.po_orderNo LIKE #{query.poOrderNo}
  640. </if>
  641. <if test = "query.poItemNo != null and query.poItemNo != ''">
  642. AND a.po_itemNo LIKE #{query.poItemNo}
  643. </if>
  644. <if test = "query.orderType != null and query.orderType != ''">
  645. AND dbo.qc_get_order_type(a.site, a.po_orderNo, a.po_itemNo) = #{query.orderType}
  646. </if>
  647. <if test = "query.submissionType != null and query.submissionType != ''">
  648. AND a.submission_type = #{query.submissionType}
  649. </if>
  650. <if test = "query.operatorName != null and query.operatorName != ''">
  651. AND dbo.joint_name(a.site, a.bu_no, a.inspection_no, 'coordination') like '%' + #{query.operatorName} + '%'
  652. </if>
  653. <if test = "query.responsiblePersonName != null and query.responsiblePersonName != ''">
  654. AND dbo.joint_name2(a.site, a.bu_no, a.inspection_no, 'responsible') like '%' + #{query.responsiblePersonName} + '%'
  655. </if>
  656. <if test = "query.itemResult != null and query.itemResult != ''">
  657. AND b.item_result = #{query.itemResult}
  658. </if>
  659. <if test = "query.itemNo != null and query.itemNo != ''">
  660. AND b.item_no like '%' + #{query.itemNo} + '%'
  661. </if>
  662. <if test = "query.itemDesc != null and query.itemDesc != ''">
  663. AND b.item_desc like '%' + #{query.itemDesc} + '%'
  664. </if>
  665. </where>
  666. ORDER BY
  667. a.inspection_no,b.order_id, b.item_no, c.num desc
  668. </select>
  669. <!-- 获取IQC明细报表总条数 -->
  670. <select id="getIQCDetailReportCount" parameterType="QcDetailReport" resultType="QcDetailReport">
  671. SELECT
  672. a.inspection_no
  673. FROM qc_iqc_sub_detail_record as c
  674. 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
  675. 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
  676. left join part as d on a.site = d.site and a.bu_no = d.sourceBu and a.part_no = d.part_no
  677. left join view_Supplier as s on a.site = s.site and a.supplier_no = s.SupplierID
  678. left join sys_user as u on a.inspector_no = u.username
  679. <where>
  680. a.site in (select site from eam_access_site where username = #{query.userName})
  681. and (a.site + '-' + a.bu_no) in (select * from dbo.query_bu(#{query.userName}))
  682. <if test="query.buNo != null and query.buNo != ''">
  683. AND a.bu_no = #{query.buNo}
  684. </if>
  685. <if test = "query.inspectionNo != null and query.inspectionNo != ''">
  686. AND a.inspection_no LIKE '%' + #{query.inspectionNo} + '%'
  687. </if>
  688. <if test = "query.states != null and query.states.size > 0">
  689. AND a.state in
  690. <foreach item="item" collection="query.states" open="(" separator="," close=")">
  691. #{item}
  692. </foreach>
  693. </if>
  694. <if test = "query.inspectionResult != null and query.inspectionResult != ''">
  695. AND a.inspection_result = #{query.inspectionResult}
  696. </if>
  697. <if test = "query.partNo != null and query.partNo != ''">
  698. AND a.part_no LIKE '%' + #{query.partNo} + '%'
  699. </if>
  700. <if test = "query.partDesc != null and query.partDesc != ''">
  701. AND a.part_desc LIKE '%' + #{query.partDesc} + '%'
  702. </if>
  703. <if test = "query.cinvSourceCode != null and query.cinvSourceCode != ''">
  704. AND d.cinv_source_code LIKE '%' + #{query.cinvSourceCode} + '%'
  705. </if>
  706. <if test = "query.sku != null and query.sku != ''">
  707. AND d.sku LIKE '%' + #{query.sku} + '%'
  708. </if>
  709. <if test = "query.disposalMeasures != null and query.disposalMeasures != ''">
  710. AND a.disposal_measures = #{query.disposalMeasures}
  711. </if>
  712. <if test = "query.inspectorName != null and query.inspectorName != ''">
  713. AND u.user_display LIKE '%' + #{query.inspectorName} + '%'
  714. </if>
  715. <if test="query.startDate != null">
  716. AND a.inspector_date >= #{query.startDate}
  717. </if>
  718. <if test="query.endDate != null">
  719. AND #{query.endDate} >= a.inspector_date
  720. </if>
  721. <if test="query.startDate2 != null">
  722. AND a.create_date >= #{query.startDate2}
  723. </if>
  724. <if test="query.endDate2 != null">
  725. AND #{query.endDate2} >= a.create_date
  726. </if>
  727. <if test = "query.poOrderNo != null and query.poOrderNo != ''">
  728. AND a.po_orderNo LIKE #{query.poOrderNo}
  729. </if>
  730. <if test = "query.poItemNo != null and query.poItemNo != ''">
  731. AND a.po_itemNo LIKE #{query.poItemNo}
  732. </if>
  733. <if test = "query.submissionType != null and query.submissionType != ''">
  734. AND a.submission_type = #{query.submissionType}
  735. </if>
  736. <if test = "query.operatorName != null and query.operatorName != ''">
  737. AND dbo.joint_name(a.site, a.bu_no, a.inspection_no, 'coordination') like '%' + #{query.operatorName} + '%'
  738. </if>
  739. <if test = "query.responsiblePersonName != null and query.responsiblePersonName != ''">
  740. AND dbo.joint_name2(a.site, a.bu_no, a.inspection_no, 'responsible') like '%' + #{query.responsiblePersonName} + '%'
  741. </if>
  742. <if test = "query.itemResult != null and query.itemResult != ''">
  743. AND b.item_result = #{query.itemResult}
  744. </if>
  745. <if test = "query.itemNo != null and query.itemNo != ''">
  746. AND b.item_no like '%' + #{query.itemNo} + '%'
  747. </if>
  748. <if test = "query.itemDesc != null and query.itemDesc != ''">
  749. AND b.item_desc like '%' + #{query.itemDesc} + '%'
  750. </if>
  751. </where>
  752. </select>
  753. <!-- 导出IQC明细 -->
  754. <select id="downloadIQCDetailRecord" parameterType="QcDetailReport" resultType="QcDetailReport">
  755. SELECT
  756. a.inspection_no,
  757. a.site,
  758. a.state,
  759. a.inspection_result,
  760. a.create_date as taskDate,
  761. a.inspection_cycle,
  762. a.part_no,
  763. a.part_desc,
  764. d.cinv_source_code as cinvSourceCode,
  765. d.sku,
  766. d.umid as umId,
  767. d.invdefinetype as invdefinetype,
  768. a.inspection_remark,
  769. a.roll_qty,
  770. a.sampling_qty,
  771. a.disposal_measures,
  772. a.disposal_remark,
  773. a.inspector_date,
  774. u.user_display inspectorName,
  775. a.roll_no,
  776. s.SupplierName as supplierDesc,
  777. a.po_orderNo,
  778. a.po_itemNo,
  779. a.roll_count,
  780. '' as orderType,
  781. a.action_date,
  782. a.submission_remark,
  783. a.submission_type,
  784. b.item_no,
  785. b.item_desc,
  786. b.default_value,
  787. b.max_value,
  788. b.min_value,
  789. b.sampling_qty as itemSamplingQty,
  790. b.unqualified_quantity,
  791. b.item_result,
  792. CASE WHEN b.item_result = 'Y' THEN '合格' WHEN b.item_result = 'N' THEN '不合格' END as itemResultDesc,
  793. 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,
  794. c.id,
  795. c.num,
  796. c.sampling_location,
  797. c.sampling_location_b,
  798. c.sub_detail_value,
  799. c.sub_detail_value_b,
  800. c.sub_detail_value_c,
  801. c.sub_detail_value_d,
  802. c.sub_detail_value_e
  803. FROM qc_iqc_record as a
  804. 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
  805. 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
  806. left join part as d on a.site = d.site and a.bu_no = d.sourceBu and a.part_no = d.part_no
  807. left join view_Supplier as s on a.site = s.site and a.supplier_no = s.SupplierID
  808. left join sys_user as u on a.inspector_no = u.username
  809. <where>
  810. a.site in (select site from eam_access_site where username = #{userName})
  811. and (a.site + '-' + a.bu_no) in (select * from dbo.query_bu(#{userName}))
  812. <if test="buNo != null and buNo != ''">
  813. AND a.bu_no = #{buNo}
  814. </if>
  815. <if test = "inspectionNo != null and inspectionNo != ''">
  816. AND a.inspection_no LIKE '%' + #{inspectionNo} + '%'
  817. </if>
  818. <if test = "states != null and states.size > 0">
  819. AND a.state in
  820. <foreach item="item" collection="states" open="(" separator="," close=")">
  821. #{item}
  822. </foreach>
  823. </if>
  824. <if test = "inspectionResult != null and inspectionResult != ''">
  825. AND a.inspection_result = #{inspectionResult}
  826. </if>
  827. <if test = "partNo != null and partNo != ''">
  828. AND a.part_no LIKE '%' + #{partNo} + '%'
  829. </if>
  830. <if test = "partDesc != null and partDesc != ''">
  831. AND a.part_desc LIKE '%' + #{partDesc} + '%'
  832. </if>
  833. <if test = "cinvSourceCode != null and cinvSourceCode != ''">
  834. AND d.cinv_source_code LIKE '%' + #{cinvSourceCode} + '%'
  835. </if>
  836. <if test = "sku != null and sku != ''">
  837. AND d.sku LIKE '%' + #{sku} + '%'
  838. </if>
  839. <if test = "disposalMeasures != null and disposalMeasures != ''">
  840. AND a.disposal_measures = #{disposalMeasures}
  841. </if>
  842. <if test = "inspectorName != null and inspectorName != ''">
  843. AND u.user_display LIKE '%' + #{inspectorName} + '%'
  844. </if>
  845. <if test="startDate != null">
  846. AND a.inspector_date >= #{startDate}
  847. </if>
  848. <if test="endDate != null">
  849. AND #{endDate} >= a.inspector_date
  850. </if>
  851. <if test="startDate2 != null">
  852. AND a.create_date >= #{startDate2}
  853. </if>
  854. <if test="endDate2 != null">
  855. AND #{endDate2} >= a.create_date
  856. </if>
  857. <if test = "poOrderNo != null and poOrderNo != ''">
  858. AND a.po_orderNo LIKE #{poOrderNo}
  859. </if>
  860. <if test = "poItemNo != null and poItemNo != ''">
  861. AND a.po_itemNo LIKE #{poItemNo}
  862. </if>
  863. <if test = "submissionType != null and submissionType != ''">
  864. AND a.submission_type = #{submissionType}
  865. </if>
  866. <if test = "operatorName != null and operatorName != ''">
  867. AND dbo.joint_name(a.site, a.bu_no, a.inspection_no, 'coordination') like '%' + #{operatorName} + '%'
  868. </if>
  869. <if test = "responsiblePersonName != null and responsiblePersonName != ''">
  870. AND dbo.joint_name2(a.site, a.bu_no, a.inspection_no, 'responsible') like '%' + #{responsiblePersonName} + '%'
  871. </if>
  872. <if test = "itemResult != null and itemResult != ''">
  873. AND b.item_result = #{itemResult}
  874. </if>
  875. <if test = "itemNo != null and itemNo != ''">
  876. AND b.item_no like '%' + #{itemNo} + '%'
  877. </if>
  878. <if test = "itemDesc != null and itemDesc != ''">
  879. AND b.item_desc like '%' + #{itemDesc} + '%'
  880. </if>
  881. </where>
  882. ORDER BY
  883. a.inspection_no,b.order_id, b.item_no, c.num desc
  884. </select>
  885. <!-- 获取IPQC明细报表 -->
  886. <select id="getIPQCDetailReport" parameterType="QcDetailReport" resultType="QcDetailReport">
  887. SELECT
  888. a.inspection_no,
  889. a.site,
  890. a.bu_no,
  891. dbo.get_bu_desc(a.site, a.bu_no) as buDesc,
  892. a.state,
  893. a.inspection_result,
  894. a.task_date,
  895. a.inspection_type_no,
  896. a.inspection_cycle,
  897. a.order_no,
  898. a.operation_desc,
  899. a.resource_id,
  900. r.resource_desc,
  901. a.part_no,
  902. d.part_desc,
  903. d.cinv_source_code as cinvSourceCode,
  904. d.sku as sku,
  905. d.invdefinetype as invdefinetype,
  906. a.inspection_remark,
  907. a.roll_qty,
  908. a.sampling_qty,
  909. a.disposal_measures,
  910. a.disposal_remark,
  911. a.inspector_date,
  912. a.inspector_no,
  913. u.user_display as inspectorName,
  914. a.seq_no,
  915. a.batch_roll_no,
  916. a.special_requirements,
  917. a.work_center_no,
  918. a.roll_no,
  919. a.um_id,
  920. um.UMName as umName,
  921. a.action_date,
  922. a.action_by,
  923. b.item_no,
  924. b.item_desc,
  925. b.default_value,
  926. b.max_value,
  927. b.min_value,
  928. b.sampling_qty as itemSamplingQty,
  929. b.unqualified_quantity,
  930. b.item_result,
  931. CASE WHEN b.item_result = 'Y' THEN '合格' WHEN b.item_result = 'N' THEN '不合格' END as itemResultDesc,
  932. 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,
  933. c.id,
  934. c.num,
  935. c.sampling_location,
  936. c.sampling_location_b,
  937. c.sub_detail_value,
  938. c.sub_detail_value_b,
  939. c.sub_detail_value_c,
  940. c.sub_detail_value_d,
  941. c.sub_detail_value_e
  942. FROM qc_ipqc_record as a
  943. 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
  944. 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
  945. left join part as d on a.site = d.site and a.bu_no = d.sourceBu and a.part_no = d.part_no
  946. left join sys_user as u on a.inspector_no = u.username
  947. 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
  948. left join UM as um on a.site = um.site and a.um_id = um.UMID
  949. <where>
  950. a.site in (select site from eam_access_site where username = #{query.userName})
  951. and (a.site + '-' + a.bu_no) in (select * from dbo.query_bu(#{query.userName}))
  952. <if test="query.buNo != null and query.buNo != ''">
  953. AND a.bu_no = #{query.buNo}
  954. </if>
  955. <if test = "query.inspectionNo != null and query.inspectionNo != ''">
  956. AND a.inspection_no LIKE '%' + #{query.inspectionNo} + '%'
  957. </if>
  958. <if test = "query.partNo != null and query.partNo != ''">
  959. AND a.part_no LIKE '%' + #{query.partNo} + '%'
  960. </if>
  961. <if test = "query.partDesc != null and query.partDesc != ''">
  962. AND d.part_desc LIKE '%' + #{query.partDesc} + '%'
  963. </if>
  964. <if test = "query.cinvSourceCode != null and query.cinvSourceCode != ''">
  965. AND d.cinv_source_code LIKE '%' + #{query.cinvSourceCode} + '%'
  966. </if>
  967. <if test = "query.sku != null and query.sku != ''">
  968. AND d.sku LIKE '%' + #{query.sku} + '%'
  969. </if>
  970. <if test = "query.states != null and query.states.size > 0">
  971. AND a.state in
  972. <foreach item="item" collection="query.states" open="(" separator="," close=")">
  973. #{item}
  974. </foreach>
  975. </if>
  976. <if test = "query.inspectionTypeNo != null and query.inspectionTypeNo != ''">
  977. AND a.inspection_type_no = #{query.inspectionTypeNo}
  978. </if>
  979. <if test = "query.inspectionResult != null and query.inspectionResult != ''">
  980. AND a.inspection_result = #{query.inspectionResult}
  981. </if>
  982. <if test = "query.disposalMeasures != null and query.disposalMeasures != ''">
  983. AND a.disposal_measures = #{query.disposalMeasures}
  984. </if>
  985. <if test = "query.orderNo != null and query.orderNo != ''">
  986. AND a.order_no LIKE '%' + #{query.orderNo} + '%'
  987. </if>
  988. <if test = "query.seqNo != null and query.seqNo != ''">
  989. AND a.seq_no LIKE '%' + #{query.seqNo} + '%'
  990. </if>
  991. <if test = "query.operationDesc != null and query.operationDesc != ''">
  992. AND a.operation_desc LIKE #{query.operationDesc}
  993. </if>
  994. <if test="query.startDate != null">
  995. AND a.inspector_date >= #{query.startDate}
  996. </if>
  997. <if test="query.endDate != null">
  998. AND #{query.endDate} >= a.inspector_date
  999. </if>
  1000. <if test="query.startDate2 != null">
  1001. AND a.task_date >= #{query.startDate2}
  1002. </if>
  1003. <if test="query.endDate2 != null">
  1004. AND #{query.endDate2} >= a.task_date
  1005. </if>
  1006. <if test = "query.operatorName != null and query.operatorName != ''">
  1007. AND dbo.joint_name(a.site, a.bu_no, a.inspection_no, 'coordination') like '%' + #{query.operatorName} + '%'
  1008. </if>
  1009. <if test = "query.responsiblePersonName != null and query.responsiblePersonName != ''">
  1010. AND dbo.joint_name2(a.site, a.bu_no, a.inspection_no, 'responsible') like '%' + #{query.responsiblePersonName} + '%'
  1011. </if>
  1012. <if test = "query.itemResult != null and query.itemResult != ''">
  1013. AND b.item_result = #{query.itemResult}
  1014. </if>
  1015. <if test = "query.itemNo != null and query.itemNo != ''">
  1016. AND b.item_no like '%' + #{query.itemNo} + '%'
  1017. </if>
  1018. <if test = "query.itemDesc != null and query.itemDesc != ''">
  1019. AND b.item_desc like '%' + #{query.itemDesc} + '%'
  1020. </if>
  1021. </where>
  1022. ORDER BY
  1023. a.inspection_no,b.order_id, b.item_no, c.num desc
  1024. </select>
  1025. <!-- 获取IPQC明细报表总条数 -->
  1026. <select id="getIPQCDetailReportCount" parameterType="QcDetailReport" resultType="QcDetailReport">
  1027. SELECT
  1028. a.inspection_no
  1029. FROM qc_ipqc_sub_detail_record as c
  1030. 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
  1031. 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
  1032. left join part as d on a.site = d.site and a.bu_no = d.sourceBu and a.part_no = d.part_no
  1033. left join sys_user as u on a.inspector_no = u.username
  1034. 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
  1035. <where>
  1036. a.site in (select site from eam_access_site where username = #{query.userName})
  1037. and (a.site + '-' + a.bu_no) in (select * from dbo.query_bu(#{query.userName}))
  1038. <if test="query.buNo != null and query.buNo != ''">
  1039. AND a.bu_no = #{query.buNo}
  1040. </if>
  1041. <if test = "query.inspectionNo != null and query.inspectionNo != ''">
  1042. AND a.inspection_no LIKE '%' + #{query.inspectionNo} + '%'
  1043. </if>
  1044. <if test = "query.partNo != null and query.partNo != ''">
  1045. AND a.part_no LIKE '%' + #{query.partNo} + '%'
  1046. </if>
  1047. <if test = "query.partDesc != null and query.partDesc != ''">
  1048. AND d.part_desc LIKE '%' + #{query.partDesc} + '%'
  1049. </if>
  1050. <if test = "query.cinvSourceCode != null and query.cinvSourceCode != ''">
  1051. AND d.cinv_source_code LIKE '%' + #{query.cinvSourceCode} + '%'
  1052. </if>
  1053. <if test = "query.sku != null and query.sku != ''">
  1054. AND d.sku LIKE '%' + #{query.sku} + '%'
  1055. </if>
  1056. <if test = "query.states != null and query.states.size > 0">
  1057. AND a.state in
  1058. <foreach item="item" collection="query.states" open="(" separator="," close=")">
  1059. #{item}
  1060. </foreach>
  1061. </if>
  1062. <if test = "query.inspectionTypeNo != null and query.inspectionTypeNo != ''">
  1063. AND a.inspection_type_no = #{query.inspectionTypeNo}
  1064. </if>
  1065. <if test = "query.inspectionResult != null and query.inspectionResult != ''">
  1066. AND a.inspection_result = #{query.inspectionResult}
  1067. </if>
  1068. <if test = "query.disposalMeasures != null and query.disposalMeasures != ''">
  1069. AND a.disposal_measures = #{query.disposalMeasures}
  1070. </if>
  1071. <if test = "query.orderNo != null and query.orderNo != ''">
  1072. AND a.order_no LIKE '%' + #{query.orderNo} + '%'
  1073. </if>
  1074. <if test = "query.seqNo != null and query.seqNo != ''">
  1075. AND a.seq_no LIKE '%' + #{query.seqNo} + '%'
  1076. </if>
  1077. <if test = "query.operationDesc != null and query.operationDesc != ''">
  1078. AND a.operation_desc LIKE #{query.operationDesc}
  1079. </if>
  1080. <if test="query.startDate != null">
  1081. AND a.inspector_date >= #{query.startDate}
  1082. </if>
  1083. <if test="query.endDate != null">
  1084. AND #{query.endDate} >= a.inspector_date
  1085. </if>
  1086. <if test="query.startDate2 != null">
  1087. AND a.task_date >= #{query.startDate2}
  1088. </if>
  1089. <if test="query.endDate2 != null">
  1090. AND #{query.endDate2} >= a.task_date
  1091. </if>
  1092. <if test = "query.operatorName != null and query.operatorName != ''">
  1093. AND dbo.joint_name(a.site, a.bu_no, a.inspection_no, 'coordination') like '%' + #{query.operatorName} + '%'
  1094. </if>
  1095. <if test = "query.responsiblePersonName != null and query.responsiblePersonName != ''">
  1096. AND dbo.joint_name2(a.site, a.bu_no, a.inspection_no, 'responsible') like '%' + #{query.responsiblePersonName} + '%'
  1097. </if>
  1098. <if test = "query.itemResult != null and query.itemResult != ''">
  1099. AND b.item_result = #{query.itemResult}
  1100. </if>
  1101. <if test = "query.itemNo != null and query.itemNo != ''">
  1102. AND b.item_no like '%' + #{query.itemNo} + '%'
  1103. </if>
  1104. <if test = "query.itemDesc != null and query.itemDesc != ''">
  1105. AND b.item_desc like '%' + #{query.itemDesc} + '%'
  1106. </if>
  1107. </where>
  1108. </select>
  1109. <!-- 导出IPQC明细 -->
  1110. <select id="downloadIPQCDetailRecord" parameterType="QcDetailReport" resultType="QcReportOtherData">
  1111. SELECT
  1112. a.inspection_no,
  1113. a.site,
  1114. a.state,
  1115. a.inspection_result,
  1116. a.task_date,
  1117. a.inspection_type_no,
  1118. a.inspection_cycle,
  1119. a.order_no,
  1120. a.operation_desc,
  1121. a.resource_id,
  1122. r.resource_desc,
  1123. a.part_no,
  1124. d.part_desc,
  1125. d.cinv_source_code as cinvSourceCode,
  1126. d.sku as sku,
  1127. d.invdefinetype as invdefinetype,
  1128. a.inspection_remark,
  1129. a.roll_qty,
  1130. a.sampling_qty,
  1131. a.disposal_measures,
  1132. a.disposal_remark,
  1133. a.inspector_date,
  1134. a.inspector_no,
  1135. u.user_display as inspectorName,
  1136. a.seq_no,
  1137. a.batch_roll_no,
  1138. a.special_requirements,
  1139. a.work_center_no,
  1140. a.roll_no,
  1141. a.um_id,
  1142. um.UMName as umName,
  1143. a.action_date,
  1144. a.action_by,
  1145. b.item_no,
  1146. b.item_desc,
  1147. b.default_value,
  1148. b.max_value,
  1149. b.min_value,
  1150. b.sampling_qty as itemSamplingQty,
  1151. b.unqualified_quantity,
  1152. b.item_result,
  1153. CASE WHEN b.item_result = 'Y' THEN '合格' WHEN b.item_result = 'N' THEN '不合格' END as itemResultDesc,
  1154. 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,
  1155. c.id,
  1156. c.num,
  1157. c.sampling_location,
  1158. c.sampling_location_b,
  1159. c.sub_detail_value,
  1160. c.sub_detail_value_b,
  1161. c.sub_detail_value_c,
  1162. c.sub_detail_value_d,
  1163. c.sub_detail_value_e
  1164. FROM qc_ipqc_record as a
  1165. 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
  1166. 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
  1167. left join part as d on a.site = d.site and a.bu_no = d.sourceBu and a.part_no = d.part_no
  1168. left join sys_user as u on a.inspector_no = u.username
  1169. 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
  1170. left join UM as um on a.site = um.site and a.um_id = um.UMID
  1171. <where>
  1172. a.site in (select site from eam_access_site where username = #{userName})
  1173. and (a.site + '-' + a.bu_no) in (select * from dbo.query_bu(#{userName}))
  1174. <if test="buNo != null and buNo != ''">
  1175. AND a.bu_no = #{buNo}
  1176. </if>
  1177. <if test = "inspectionNo != null and inspectionNo != ''">
  1178. AND a.inspection_no LIKE '%' + #{inspectionNo} + '%'
  1179. </if>
  1180. <if test = "partNo != null and partNo != ''">
  1181. AND a.part_no LIKE '%' + #{partNo} + '%'
  1182. </if>
  1183. <if test = "partDesc != null and partDesc != ''">
  1184. AND d.part_desc LIKE '%' + #{partDesc} + '%'
  1185. </if>
  1186. <if test = "cinvSourceCode != null and cinvSourceCode != ''">
  1187. AND d.cinv_source_code LIKE '%' + #{cinvSourceCode} + '%'
  1188. </if>
  1189. <if test = "sku != null and sku != ''">
  1190. AND d.sku LIKE '%' + #{sku} + '%'
  1191. </if>
  1192. <if test = "states != null and states.size > 0">
  1193. AND a.state in
  1194. <foreach item="item" collection="states" open="(" separator="," close=")">
  1195. #{item}
  1196. </foreach>
  1197. </if>
  1198. <if test = "inspectionTypeNo != null and inspectionTypeNo != ''">
  1199. AND a.inspection_type_no = #{inspectionTypeNo}
  1200. </if>
  1201. <if test = "inspectionResult != null and inspectionResult != ''">
  1202. AND a.inspection_result = #{inspectionResult}
  1203. </if>
  1204. <if test = "disposalMeasures != null and disposalMeasures != ''">
  1205. AND a.disposal_measures = #{disposalMeasures}
  1206. </if>
  1207. <if test = "orderNo != null and orderNo != ''">
  1208. AND a.order_no LIKE '%' + #{orderNo} + '%'
  1209. </if>
  1210. <if test = "seqNo != null and seqNo != ''">
  1211. AND a.seq_no LIKE '%' + #{seqNo} + '%'
  1212. </if>
  1213. <if test = "operationDesc != null and operationDesc != ''">
  1214. AND a.operation_desc LIKE #{operationDesc}
  1215. </if>
  1216. <if test="startDate != null">
  1217. AND a.inspector_date >= #{startDate}
  1218. </if>
  1219. <if test="endDate != null">
  1220. AND #{endDate} >= a.inspector_date
  1221. </if>
  1222. <if test="startDate2 != null">
  1223. AND a.task_date >= #{startDate2}
  1224. </if>
  1225. <if test="endDate2 != null">
  1226. AND #{endDate2} >= a.task_date
  1227. </if>
  1228. <if test = "operatorName != null and operatorName != ''">
  1229. AND dbo.joint_name(a.site, a.bu_no, a.inspection_no, 'coordination') like '%' + #{operatorName} + '%'
  1230. </if>
  1231. <if test = "responsiblePersonName != null and responsiblePersonName != ''">
  1232. AND dbo.joint_name2(a.site, a.bu_no, a.inspection_no, 'responsible') like '%' + #{responsiblePersonName} + '%'
  1233. </if>
  1234. <if test = "itemResult != null and itemResult != ''">
  1235. AND b.item_result = #{itemResult}
  1236. </if>
  1237. <if test = "itemNo != null and itemNo != ''">
  1238. AND b.item_no like '%' + #{itemNo} + '%'
  1239. </if>
  1240. <if test = "itemDesc != null and itemDesc != ''">
  1241. AND b.item_desc like '%' + #{itemDesc} + '%'
  1242. </if>
  1243. </where>
  1244. ORDER BY
  1245. a.inspection_no,b.order_id, b.item_no, c.num desc
  1246. </select>
  1247. <!-- 获取FAI明细报表 -->
  1248. <select id="getFAIDetailReport" parameterType="QcDetailReport" resultType="QcDetailReport">
  1249. SELECT
  1250. a.inspection_no,
  1251. a.site,
  1252. a.bu_no,
  1253. dbo.get_bu_desc(a.site, a.bu_no) as buDesc,
  1254. a.state,
  1255. a.inspection_result,
  1256. a.task_date,
  1257. a.inspection_cycle,
  1258. a.order_no,
  1259. a.operation_desc,
  1260. a.resource_id,
  1261. r.resource_desc,
  1262. a.part_no,
  1263. d.part_desc,
  1264. a.inspection_remark,
  1265. a.roll_qty,
  1266. a.sampling_qty,
  1267. a.disposal_measures,
  1268. a.disposal_remark,
  1269. a.inspector_date,
  1270. a.inspector_no,
  1271. u.user_display as inspectorName,
  1272. d.cinv_source_code as cinvSourceCode,
  1273. d.sku as sku,
  1274. d.invdefinetype as invdefinetype,
  1275. a.seq_no,
  1276. a.batch_roll_no,
  1277. a.special_requirements,
  1278. a.work_center_no,
  1279. a.roll_no,
  1280. a.um_id,
  1281. um.UMName as umName,
  1282. a.action_date,
  1283. a.action_by,
  1284. b.item_no,
  1285. b.item_desc,
  1286. b.default_value,
  1287. b.max_value,
  1288. b.min_value,
  1289. b.sampling_qty as itemSamplingQty,
  1290. b.unqualified_quantity,
  1291. b.item_result,
  1292. CASE WHEN b.item_result = 'Y' THEN '合格' WHEN b.item_result = 'N' THEN '不合格' END as itemResultDesc,
  1293. 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,
  1294. c.id,
  1295. c.num,
  1296. c.sampling_location,
  1297. c.sampling_location_b,
  1298. c.sub_detail_value,
  1299. c.sub_detail_value_b,
  1300. c.sub_detail_value_c,
  1301. c.sub_detail_value_d,
  1302. c.sub_detail_value_e
  1303. FROM qc_fai_record as a
  1304. inner JOIN qc_fai_detailed_record as b ON a.site = b.site AND a.bu_no = b.bu_no AND a.inspection_no = b.inspection_no
  1305. inner JOIN qc_fai_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
  1306. left join part as d on a.site = d.site and a.bu_no = d.sourceBu and a.part_no = d.part_no
  1307. left join sys_user as u on a.inspector_no = u.username
  1308. 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
  1309. left join UM as um on a.site = um.site and a.um_id = um.UMID
  1310. <where>
  1311. a.site in (select site from eam_access_site where username = #{query.userName})
  1312. and (a.site + '-' + a.bu_no) in (select * from dbo.query_bu(#{query.userName}))
  1313. <if test="query.buNo != null and query.buNo != ''">
  1314. AND a.bu_no = #{query.buNo}
  1315. </if>
  1316. <if test = "query.inspectionNo != null and query.inspectionNo != ''">
  1317. AND a.inspection_no LIKE '%' + #{query.inspectionNo} + '%'
  1318. </if>
  1319. <if test = "query.partNo != null and query.partNo != ''">
  1320. AND a.part_no LIKE '%' + #{query.partNo} + '%'
  1321. </if>
  1322. <if test = "query.partDesc != null and query.partDesc != ''">
  1323. AND dbo.qc_get_part_desc(a.site, a.bu_no, a.part_no) LIKE '%' + #{query.partDesc} + '%'
  1324. </if>
  1325. <if test = "query.cinvSourceCode != null and query.cinvSourceCode != ''">
  1326. AND d.cinv_source_code LIKE '%' + #{query.cinvSourceCode} + '%'
  1327. </if>
  1328. <if test = "query.sku != null and query.sku != ''">
  1329. AND d.sku LIKE '%' + #{query.sku} + '%'
  1330. </if>
  1331. <if test = "query.disposalMeasures != null and query.disposalMeasures != ''">
  1332. AND a.disposal_measures LIKE '%' + #{query.disposalMeasures} + '%'
  1333. </if>
  1334. <if test = "query.states != null and query.states.size > 0">
  1335. AND a.state in
  1336. <foreach item="item" collection="query.states" open="(" separator="," close=")">
  1337. #{item}
  1338. </foreach>
  1339. </if>
  1340. <if test = "query.inspectionResult != null and query.inspectionResult != ''">
  1341. AND a.inspection_result = #{query.inspectionResult}
  1342. </if>
  1343. <if test = "query.orderNo != null and query.orderNo != ''">
  1344. AND a.order_no LIKE '%' + #{query.orderNo} + '%'
  1345. </if>
  1346. <if test = "query.seqNo != null and query.seqNo != ''">
  1347. AND a.seq_no LIKE '%' + #{query.seqNo} + '%'
  1348. </if>
  1349. <if test = "query.operationDesc != null and query.operationDesc != ''">
  1350. AND a.operation_desc LIKE '%' + #{query.operationDesc} + '%'
  1351. </if>
  1352. <if test="query.startDate != null">
  1353. AND a.inspector_date >= #{query.startDate}
  1354. </if>
  1355. <if test="query.endDate != null">
  1356. AND #{query.endDate} >= a.inspector_date
  1357. </if>
  1358. <if test="query.startDate2 != null">
  1359. AND a.task_date >= #{query.startDate2}
  1360. </if>
  1361. <if test="query.endDate2 != null">
  1362. AND #{query.endDate2} >= a.task_date
  1363. </if>
  1364. <if test = "query.operatorName != null and query.operatorName != ''">
  1365. AND dbo.joint_name(a.site, a.bu_no, a.inspection_no, 'coordination') like '%' + #{query.operatorName} + '%'
  1366. </if>
  1367. <if test = "query.responsiblePersonName != null and query.responsiblePersonName != ''">
  1368. AND dbo.joint_name2(a.site, a.bu_no, a.inspection_no, 'responsible') like '%' + #{query.responsiblePersonName} + '%'
  1369. </if>
  1370. <if test = "query.itemResult != null and query.itemResult != ''">
  1371. AND b.item_result = #{query.itemResult}
  1372. </if>
  1373. <if test = "query.itemNo != null and query.itemNo != ''">
  1374. AND b.item_no like '%' + #{query.itemNo} + '%'
  1375. </if>
  1376. <if test = "query.itemDesc != null and query.itemDesc != ''">
  1377. AND b.item_desc like '%' + #{query.itemDesc} + '%'
  1378. </if>
  1379. </where>
  1380. ORDER BY
  1381. a.inspection_no,b.order_id, b.item_no, c.num desc
  1382. </select>
  1383. <!-- 获取FAI明细报表总条数 -->
  1384. <select id="getFAIDetailReportCount" parameterType="QcDetailReport" resultType="QcDetailReport">
  1385. SELECT
  1386. a.inspection_no
  1387. FROM qc_fai_sub_detail_record as c
  1388. LEFT JOIN qc_fai_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
  1389. Left JOIN qc_fai_record as a ON a.site = b.site AND a.bu_no = b.bu_no AND a.inspection_no = b.inspection_no
  1390. left join part as d on a.site = d.site and a.bu_no = d.sourceBu and a.part_no = d.part_no
  1391. left join sys_user as u on a.inspector_no = u.username
  1392. 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
  1393. <where>
  1394. a.site in (select site from eam_access_site where username = #{query.userName})
  1395. and (a.site + '-' + a.bu_no) in (select * from dbo.query_bu(#{query.userName}))
  1396. <if test="query.buNo != null and query.buNo != ''">
  1397. AND a.bu_no = #{query.buNo}
  1398. </if>
  1399. <if test = "query.inspectionNo != null and query.inspectionNo != ''">
  1400. AND a.inspection_no LIKE '%' + #{query.inspectionNo} + '%'
  1401. </if>
  1402. <if test = "query.partNo != null and query.partNo != ''">
  1403. AND a.part_no LIKE '%' + #{query.partNo} + '%'
  1404. </if>
  1405. <if test = "query.partDesc != null and query.partDesc != ''">
  1406. AND d.part_desc LIKE '%' + #{query.partDesc} + '%'
  1407. </if>
  1408. <if test = "query.cinvSourceCode != null and query.cinvSourceCode != ''">
  1409. AND d.cinv_source_code LIKE '%' + #{query.cinvSourceCode} + '%'
  1410. </if>
  1411. <if test = "query.sku != null and query.sku != ''">
  1412. AND d.sku LIKE '%' + #{query.sku} + '%'
  1413. </if>
  1414. <if test = "query.disposalMeasures != null and query.disposalMeasures != ''">
  1415. AND a.disposal_measures LIKE '%' + #{query.disposalMeasures} + '%'
  1416. </if>
  1417. <if test = "query.states != null and query.states.size > 0">
  1418. AND a.state in
  1419. <foreach item="item" collection="query.states" open="(" separator="," close=")">
  1420. #{item}
  1421. </foreach>
  1422. </if>
  1423. <if test = "query.inspectionResult != null and query.inspectionResult != ''">
  1424. AND a.inspection_result = #{query.inspectionResult}
  1425. </if>
  1426. <if test = "query.orderNo != null and query.orderNo != ''">
  1427. AND a.order_no LIKE '%' + #{query.orderNo} + '%'
  1428. </if>
  1429. <if test = "query.seqNo != null and query.seqNo != ''">
  1430. AND a.seq_no LIKE '%' + #{query.seqNo} + '%'
  1431. </if>
  1432. <if test = "query.operationDesc != null and query.operationDesc != ''">
  1433. AND a.operation_desc LIKE '%' + #{query.operationDesc} + '%'
  1434. </if>
  1435. <if test="query.startDate != null">
  1436. AND a.inspector_date >= #{query.startDate}
  1437. </if>
  1438. <if test="query.endDate != null">
  1439. AND #{query.endDate} >= a.inspector_date
  1440. </if>
  1441. <if test="query.startDate2 != null">
  1442. AND a.task_date >= #{query.startDate2}
  1443. </if>
  1444. <if test="query.endDate2 != null">
  1445. AND #{query.endDate2} >= a.task_date
  1446. </if>
  1447. <if test = "query.operatorName != null and query.operatorName != ''">
  1448. AND dbo.joint_name(a.site, a.bu_no, a.inspection_no, 'coordination') like '%' + #{query.operatorName} + '%'
  1449. </if>
  1450. <if test = "query.responsiblePersonName != null and query.responsiblePersonName != ''">
  1451. AND dbo.joint_name2(a.site, a.bu_no, a.inspection_no, 'responsible') like '%' + #{query.responsiblePersonName} + '%'
  1452. </if>
  1453. <if test = "query.itemResult != null and query.itemResult != ''">
  1454. AND b.item_result = #{query.itemResult}
  1455. </if>
  1456. <if test = "query.itemNo != null and query.itemNo != ''">
  1457. AND b.item_no like '%' + #{query.itemNo} + '%'
  1458. </if>
  1459. <if test = "query.itemDesc != null and query.itemDesc != ''">
  1460. AND b.item_desc like '%' + #{query.itemDesc} + '%'
  1461. </if>
  1462. </where>
  1463. </select>
  1464. <!-- 导出FAI明细 -->
  1465. <select id="downloadFAIDetailRecord" parameterType="QcDetailReport" resultType="QcReportOtherData">
  1466. SELECT
  1467. a.inspection_no,
  1468. a.site,
  1469. a.bu_no,
  1470. dbo.get_bu_desc(a.site, a.bu_no) as buDesc,
  1471. a.state,
  1472. a.inspection_result,
  1473. 'FAI' as inspectionTypeNo,
  1474. a.task_date,
  1475. a.inspection_cycle,
  1476. a.order_no,
  1477. a.operation_desc,
  1478. a.resource_id,
  1479. r.resource_desc,
  1480. a.part_no,
  1481. d.part_desc,
  1482. a.inspection_remark,
  1483. a.roll_qty,
  1484. a.sampling_qty,
  1485. a.disposal_measures,
  1486. a.disposal_remark,
  1487. a.inspector_date,
  1488. a.inspector_no,
  1489. u.user_display as inspectorName,
  1490. d.cinv_source_code as cinvSourceCode,
  1491. d.sku as sku,
  1492. d.invdefinetype as invdefinetype,
  1493. a.seq_no,
  1494. a.batch_roll_no,
  1495. a.special_requirements,
  1496. a.work_center_no,
  1497. a.roll_no,
  1498. a.um_id,
  1499. um.UMName as umName,
  1500. a.action_date,
  1501. a.action_by,
  1502. b.item_no,
  1503. b.item_desc,
  1504. b.default_value,
  1505. b.max_value,
  1506. b.min_value,
  1507. b.sampling_qty as itemSamplingQty,
  1508. b.unqualified_quantity,
  1509. b.item_result,
  1510. CASE WHEN b.item_result = 'Y' THEN '合格' WHEN b.item_result = 'N' THEN '不合格' END as itemResultDesc,
  1511. 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,
  1512. c.id,
  1513. c.num,
  1514. c.sampling_location,
  1515. c.sampling_location_b,
  1516. c.sub_detail_value,
  1517. c.sub_detail_value_b,
  1518. c.sub_detail_value_c,
  1519. c.sub_detail_value_d,
  1520. c.sub_detail_value_e
  1521. FROM qc_fai_record as a
  1522. inner JOIN qc_fai_detailed_record as b ON a.site = b.site AND a.bu_no = b.bu_no AND a.inspection_no = b.inspection_no
  1523. inner JOIN qc_fai_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
  1524. left join part as d on a.site = d.site and a.bu_no = d.sourceBu and a.part_no = d.part_no
  1525. left join sys_user as u on a.inspector_no = u.username
  1526. 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
  1527. left join UM as um on a.site = um.site and a.um_id = um.UMID
  1528. <where>
  1529. a.site in (select site from eam_access_site where username = #{userName})
  1530. and (a.site + '-' + a.bu_no) in (select * from dbo.query_bu(#{userName}))
  1531. <if test="buNo != null and buNo != ''">
  1532. AND a.bu_no = #{buNo}
  1533. </if>
  1534. <if test = "inspectionNo != null and inspectionNo != ''">
  1535. AND a.inspection_no LIKE '%' + #{inspectionNo} + '%'
  1536. </if>
  1537. <if test = "partNo != null and partNo != ''">
  1538. AND a.part_no LIKE '%' + #{partNo} + '%'
  1539. </if>
  1540. <if test = "partDesc != null and partDesc != ''">
  1541. AND d.part_desc LIKE '%' + #{partDesc} + '%'
  1542. </if>
  1543. <if test = "cinvSourceCode != null and cinvSourceCode != ''">
  1544. AND d.cinv_source_code LIKE '%' + #{cinvSourceCode} + '%'
  1545. </if>
  1546. <if test = "sku != null and sku != ''">
  1547. AND d.sku LIKE '%' + #{sku} + '%'
  1548. </if>
  1549. <if test = "states != null and states.size > 0">
  1550. AND a.state in
  1551. <foreach item="item" collection="states" open="(" separator="," close=")">
  1552. #{item}
  1553. </foreach>
  1554. </if>
  1555. <if test = "inspectionResult != null and inspectionResult != ''">
  1556. AND a.inspection_result = #{inspectionResult}
  1557. </if>
  1558. <if test = "disposalMeasures != null and disposalMeasures != ''">
  1559. AND a.disposal_measures = #{disposalMeasures}
  1560. </if>
  1561. <if test = "orderNo != null and orderNo != ''">
  1562. AND a.order_no LIKE '%' + #{orderNo} + '%'
  1563. </if>
  1564. <if test = "seqNo != null and seqNo != ''">
  1565. AND a.seq_no LIKE '%' + #{seqNo} + '%'
  1566. </if>
  1567. <if test = "operationDesc != null and operationDesc != ''">
  1568. AND a.operation_desc LIKE #{operationDesc}
  1569. </if>
  1570. <if test="startDate != null">
  1571. AND a.inspector_date >= #{startDate}
  1572. </if>
  1573. <if test="endDate != null">
  1574. AND #{endDate} >= a.inspector_date
  1575. </if>
  1576. <if test="startDate2 != null">
  1577. AND a.task_date >= #{startDate2}
  1578. </if>
  1579. <if test="endDate2 != null">
  1580. AND #{endDate2} >= a.task_date
  1581. </if>
  1582. <if test = "operatorName != null and operatorName != ''">
  1583. AND dbo.joint_name(a.site, a.bu_no, a.inspection_no, 'coordination') like '%' + #{operatorName} + '%'
  1584. </if>
  1585. <if test = "responsiblePersonName != null and responsiblePersonName != ''">
  1586. AND dbo.joint_name2(a.site, a.bu_no, a.inspection_no, 'responsible') like '%' + #{responsiblePersonName} + '%'
  1587. </if>
  1588. <if test = "itemResult != null and itemResult != ''">
  1589. AND b.item_result = #{itemResult}
  1590. </if>
  1591. <if test = "itemNo != null and itemNo != ''">
  1592. AND b.item_no like '%' + #{itemNo} + '%'
  1593. </if>
  1594. <if test = "itemDesc != null and itemDesc != ''">
  1595. AND b.item_desc like '%' + #{itemDesc} + '%'
  1596. </if>
  1597. </where>
  1598. ORDER BY
  1599. a.inspection_no,b.order_id, b.item_no, c.num desc
  1600. </select>
  1601. <!-- 获取FQC明细报表 -->
  1602. <select id="getFQCDetailReport" parameterType="QcDetailReport" resultType="QcDetailReport">
  1603. SELECT
  1604. a.inspection_no,
  1605. a.site,
  1606. a.bu_no,
  1607. dbo.get_bu_desc(a.site, a.bu_no) as buDesc,
  1608. a.state,
  1609. a.inspection_result,
  1610. a.task_date,
  1611. a.inspection_cycle,
  1612. a.order_no,
  1613. a.operation_desc,
  1614. a.resource_id,
  1615. r.resource_desc,
  1616. a.part_no,
  1617. d.part_desc,
  1618. a.inspection_remark,
  1619. a.roll_qty,
  1620. a.sampling_qty,
  1621. a.disposal_measures,
  1622. a.disposal_remark,
  1623. a.inspector_date,
  1624. a.inspector_no,
  1625. u.user_display as inspectorName,
  1626. d.cinv_source_code as cinvSourceCode,
  1627. d.sku as sku,
  1628. d.invdefinetype as invdefinetype,
  1629. a.seq_no,
  1630. a.batch_roll_no,
  1631. a.special_requirements,
  1632. a.work_center_no,
  1633. a.roll_no,
  1634. a.um_id,
  1635. um.UMName as umName,
  1636. a.action_date,
  1637. a.action_by,
  1638. b.item_no,
  1639. b.item_desc,
  1640. b.default_value,
  1641. b.max_value,
  1642. b.min_value,
  1643. b.sampling_qty as itemSamplingQty,
  1644. b.unqualified_quantity,
  1645. b.item_result,
  1646. CASE WHEN b.item_result = 'Y' THEN '合格' WHEN b.item_result = 'N' THEN '不合格' END as itemResultDesc,
  1647. 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,
  1648. c.id,
  1649. c.num,
  1650. c.sampling_location,
  1651. c.sampling_location_b,
  1652. c.sub_detail_value,
  1653. c.sub_detail_value_b,
  1654. c.sub_detail_value_c,
  1655. c.sub_detail_value_d,
  1656. c.sub_detail_value_e
  1657. FROM qc_fqc_record as a
  1658. inner JOIN qc_fqc_detailed_record as b ON a.site = b.site AND a.bu_no = b.bu_no AND a.inspection_no = b.inspection_no
  1659. inner JOIN qc_fqc_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
  1660. left join part as d on a.site = d.site and a.bu_no = d.sourceBu and a.part_no = d.part_no
  1661. left join sys_user as u on a.inspector_no = u.username
  1662. 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
  1663. left join UM as um on a.site = um.site and a.um_id = um.UMID
  1664. <where>
  1665. a.site in (select site from eam_access_site where username = #{query.userName})
  1666. and (a.site + '-' + a.bu_no) in (select * from dbo.query_bu(#{query.userName}))
  1667. <if test="query.buNo != null and query.buNo != ''">
  1668. AND a.bu_no = #{query.buNo}
  1669. </if>
  1670. <if test = "query.inspectionNo != null and query.inspectionNo != ''">
  1671. AND a.inspection_no LIKE '%' + #{query.inspectionNo} + '%'
  1672. </if>
  1673. <if test = "query.partNo != null and query.partNo != ''">
  1674. AND a.part_no LIKE '%' + #{query.partNo} + '%'
  1675. </if>
  1676. <if test = "query.partDesc != null and query.partDesc != ''">
  1677. AND d.part_desc LIKE '%' + #{query.partDesc} + '%'
  1678. </if>
  1679. <if test = "query.cinvSourceCode != null and query.cinvSourceCode != ''">
  1680. AND d.cinv_source_code LIKE '%' + #{query.cinvSourceCode} + '%'
  1681. </if>
  1682. <if test = "query.sku != null and query.sku != ''">
  1683. AND d.sku LIKE '%' + #{query.sku} + '%'
  1684. </if>
  1685. <if test = "query.disposalMeasures != null and query.disposalMeasures != ''">
  1686. AND a.disposal_measures LIKE '%' + #{query.disposalMeasures} + '%'
  1687. </if>
  1688. <if test = "query.states != null and query.states.size > 0">
  1689. AND a.state in
  1690. <foreach item="item" collection="query.states" open="(" separator="," close=")">
  1691. #{item}
  1692. </foreach>
  1693. </if>
  1694. <if test = "query.inspectionResult != null and query.inspectionResult != ''">
  1695. AND a.inspection_result = #{query.inspectionResult}
  1696. </if>
  1697. <if test = "query.orderNo != null and query.orderNo != ''">
  1698. AND a.order_no LIKE '%' + #{query.orderNo} + '%'
  1699. </if>
  1700. <if test = "query.seqNo != null and query.seqNo != ''">
  1701. AND a.seq_no LIKE '%' + #{query.seqNo} + '%'
  1702. </if>
  1703. <if test = "query.operationDesc != null and query.operationDesc != ''">
  1704. AND a.operation_desc LIKE '%' + #{query.operationDesc} + '%'
  1705. </if>
  1706. <if test="query.startDate != null">
  1707. AND a.inspector_date >= #{query.startDate}
  1708. </if>
  1709. <if test="query.endDate != null">
  1710. AND #{query.endDate} >= a.inspector_date
  1711. </if>
  1712. <if test="query.startDate2 != null">
  1713. AND a.task_date >= #{query.startDate2}
  1714. </if>
  1715. <if test="query.endDate2 != null">
  1716. AND #{query.endDate2} >= a.task_date
  1717. </if>
  1718. <if test = "query.operatorName != null and query.operatorName != ''">
  1719. AND dbo.joint_name(a.site, a.bu_no, a.inspection_no, 'coordination') like '%' + #{query.operatorName} + '%'
  1720. </if>
  1721. <if test = "query.responsiblePersonName != null and query.responsiblePersonName != ''">
  1722. AND dbo.joint_name2(a.site, a.bu_no, a.inspection_no, 'responsible') like '%' + #{query.responsiblePersonName} + '%'
  1723. </if>
  1724. <if test = "query.itemResult != null and query.itemResult != ''">
  1725. AND b.item_result = #{query.itemResult}
  1726. </if>
  1727. <if test = "query.itemNo != null and query.itemNo != ''">
  1728. AND b.item_no like '%' + #{query.itemNo} + '%'
  1729. </if>
  1730. <if test = "query.itemDesc != null and query.itemDesc != ''">
  1731. AND b.item_desc like '%' + #{query.itemDesc} + '%'
  1732. </if>
  1733. </where>
  1734. ORDER BY
  1735. a.inspection_no,b.order_id, b.item_no, c.num desc
  1736. </select>
  1737. <!-- 获取FQC明细报表总条数 -->
  1738. <select id="getFQCDetailReportCount" parameterType="QcDetailReport" resultType="QcDetailReport">
  1739. SELECT
  1740. a.inspection_no
  1741. FROM qc_fqc_sub_detail_record as c
  1742. LEFT JOIN qc_fqc_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
  1743. Left JOIN qc_fqc_record as a ON a.site = b.site AND a.bu_no = b.bu_no AND a.inspection_no = b.inspection_no
  1744. left join part as d on a.site = d.site and a.bu_no = d.sourceBu and a.part_no = d.part_no
  1745. left join sys_user as u on a.inspector_no = u.username
  1746. 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
  1747. <where>
  1748. a.site in (select site from eam_access_site where username = #{query.userName})
  1749. and (a.site + '-' + a.bu_no) in (select * from dbo.query_bu(#{query.userName}))
  1750. <if test="query.buNo != null and query.buNo != ''">
  1751. AND a.bu_no = #{query.buNo}
  1752. </if>
  1753. <if test = "query.inspectionNo != null and query.inspectionNo != ''">
  1754. AND a.inspection_no LIKE '%' + #{query.inspectionNo} + '%'
  1755. </if>
  1756. <if test = "query.partNo != null and query.partNo != ''">
  1757. AND a.part_no LIKE '%' + #{query.partNo} + '%'
  1758. </if>
  1759. <if test = "query.partDesc != null and query.partDesc != ''">
  1760. AND d.part_desc LIKE '%' + #{query.partDesc} + '%'
  1761. </if>
  1762. <if test = "query.cinvSourceCode != null and query.cinvSourceCode != ''">
  1763. AND d.cinv_source_code LIKE '%' + #{query.cinvSourceCode} + '%'
  1764. </if>
  1765. <if test = "query.sku != null and query.sku != ''">
  1766. AND d.sku LIKE '%' + #{query.sku} + '%'
  1767. </if>
  1768. <if test = "query.disposalMeasures != null and query.disposalMeasures != ''">
  1769. AND a.disposal_measures LIKE '%' + #{query.disposalMeasures} + '%'
  1770. </if>
  1771. <if test = "query.states != null and query.states.size > 0">
  1772. AND a.state in
  1773. <foreach item="item" collection="query.states" open="(" separator="," close=")">
  1774. #{item}
  1775. </foreach>
  1776. </if>
  1777. <if test = "query.inspectionResult != null and query.inspectionResult != ''">
  1778. AND a.inspection_result = #{query.inspectionResult}
  1779. </if>
  1780. <if test = "query.orderNo != null and query.orderNo != ''">
  1781. AND a.order_no LIKE '%' + #{query.orderNo} + '%'
  1782. </if>
  1783. <if test = "query.seqNo != null and query.seqNo != ''">
  1784. AND a.seq_no LIKE '%' + #{query.seqNo} + '%'
  1785. </if>
  1786. <if test = "query.operationDesc != null and query.operationDesc != ''">
  1787. AND a.operation_desc LIKE '%' + #{query.operationDesc} + '%'
  1788. </if>
  1789. <if test="query.startDate != null">
  1790. AND a.inspector_date >= #{query.startDate}
  1791. </if>
  1792. <if test="query.endDate != null">
  1793. AND #{query.endDate} >= a.inspector_date
  1794. </if>
  1795. <if test="query.startDate2 != null">
  1796. AND a.task_date >= #{query.startDate2}
  1797. </if>
  1798. <if test="query.endDate2 != null">
  1799. AND #{query.endDate2} >= a.task_date
  1800. </if>
  1801. <if test = "query.operatorName != null and query.operatorName != ''">
  1802. AND dbo.joint_name(a.site, a.bu_no, a.inspection_no, 'coordination') like '%' + #{query.operatorName} + '%'
  1803. </if>
  1804. <if test = "query.responsiblePersonName != null and query.responsiblePersonName != ''">
  1805. AND dbo.joint_name2(a.site, a.bu_no, a.inspection_no, 'responsible') like '%' + #{query.responsiblePersonName} + '%'
  1806. </if>
  1807. <if test = "query.itemResult != null and query.itemResult != ''">
  1808. AND b.item_result = #{query.itemResult}
  1809. </if>
  1810. <if test = "query.itemNo != null and query.itemNo != ''">
  1811. AND b.item_no like '%' + #{query.itemNo} + '%'
  1812. </if>
  1813. <if test = "query.itemDesc != null and query.itemDesc != ''">
  1814. AND b.item_desc like '%' + #{query.itemDesc} + '%'
  1815. </if>
  1816. </where>
  1817. </select>
  1818. <!-- 导出FQC明细 -->
  1819. <select id="downloadFQCDetailRecord" parameterType="QcDetailReport" resultType="QcReportOtherData">
  1820. SELECT
  1821. a.inspection_no,
  1822. a.site,
  1823. a.bu_no,
  1824. dbo.get_bu_desc(a.site, a.bu_no) as buDesc,
  1825. a.state,
  1826. a.inspection_result,
  1827. 'FQC' as inspectionTypeNo,
  1828. a.task_date,
  1829. a.inspection_cycle,
  1830. a.order_no,
  1831. a.operation_desc,
  1832. a.resource_id,
  1833. r.resource_desc,
  1834. a.part_no,
  1835. d.part_desc,
  1836. a.inspection_remark,
  1837. a.roll_qty,
  1838. a.sampling_qty,
  1839. a.disposal_measures,
  1840. a.disposal_remark,
  1841. a.inspector_date,
  1842. a.inspector_no,
  1843. u.user_display as inspectorName,
  1844. d.cinv_source_code as cinvSourceCode,
  1845. d.sku as sku,
  1846. d.invdefinetype as invdefinetype,
  1847. a.seq_no,
  1848. a.batch_roll_no,
  1849. a.special_requirements,
  1850. a.work_center_no,
  1851. a.roll_no,
  1852. a.um_id,
  1853. um.UMName as umName,
  1854. a.action_date,
  1855. a.action_by,
  1856. b.item_no,
  1857. b.item_desc,
  1858. b.default_value,
  1859. b.max_value,
  1860. b.min_value,
  1861. b.sampling_qty as itemSamplingQty,
  1862. b.unqualified_quantity,
  1863. b.item_result,
  1864. CASE WHEN b.item_result = 'Y' THEN '合格' WHEN b.item_result = 'N' THEN '不合格' END as itemResultDesc,
  1865. 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,
  1866. c.id,
  1867. c.num,
  1868. c.sampling_location,
  1869. c.sampling_location_b,
  1870. c.sub_detail_value,
  1871. c.sub_detail_value_b,
  1872. c.sub_detail_value_c,
  1873. c.sub_detail_value_d,
  1874. c.sub_detail_value_e
  1875. FROM qc_fqc_record as a
  1876. inner JOIN qc_fqc_detailed_record as b ON a.site = b.site AND a.bu_no = b.bu_no AND a.inspection_no = b.inspection_no
  1877. inner JOIN qc_fqc_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
  1878. left join part as d on a.site = d.site and a.bu_no = d.sourceBu and a.part_no = d.part_no
  1879. left join sys_user as u on a.inspector_no = u.username
  1880. 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
  1881. left join UM as um on a.site = um.site and a.um_id = um.UMID
  1882. <where>
  1883. a.site in (select site from eam_access_site where username = #{userName})
  1884. and (a.site + '-' + a.bu_no) in (select * from dbo.query_bu(#{userName}))
  1885. <if test="buNo != null and buNo != ''">
  1886. AND a.bu_no = #{buNo}
  1887. </if>
  1888. <if test = "inspectionNo != null and inspectionNo != ''">
  1889. AND a.inspection_no LIKE '%' + #{inspectionNo} + '%'
  1890. </if>
  1891. <if test = "partNo != null and partNo != ''">
  1892. AND a.part_no LIKE '%' + #{partNo} + '%'
  1893. </if>
  1894. <if test = "partDesc != null and partDesc != ''">
  1895. AND d.part_desc LIKE '%' + #{partDesc} + '%'
  1896. </if>
  1897. <if test = "cinvSourceCode != null and cinvSourceCode != ''">
  1898. AND d.cinv_source_code LIKE '%' + #{cinvSourceCode} + '%'
  1899. </if>
  1900. <if test = "sku != null and sku != ''">
  1901. AND d.sku LIKE '%' + #{sku} + '%'
  1902. </if>
  1903. <if test = "states != null and states.size > 0">
  1904. AND a.state in
  1905. <foreach item="item" collection="states" open="(" separator="," close=")">
  1906. #{item}
  1907. </foreach>
  1908. </if>
  1909. <if test = "inspectionResult != null and inspectionResult != ''">
  1910. AND a.inspection_result = #{inspectionResult}
  1911. </if>
  1912. <if test = "disposalMeasures != null and disposalMeasures != ''">
  1913. AND a.disposal_measures = #{disposalMeasures}
  1914. </if>
  1915. <if test = "orderNo != null and orderNo != ''">
  1916. AND a.order_no LIKE '%' + #{orderNo} + '%'
  1917. </if>
  1918. <if test = "seqNo != null and seqNo != ''">
  1919. AND a.seq_no LIKE '%' + #{seqNo} + '%'
  1920. </if>
  1921. <if test = "operationDesc != null and operationDesc != ''">
  1922. AND a.operation_desc LIKE #{operationDesc}
  1923. </if>
  1924. <if test="startDate != null">
  1925. AND a.inspector_date >= #{startDate}
  1926. </if>
  1927. <if test="endDate != null">
  1928. AND #{endDate} >= a.inspector_date
  1929. </if>
  1930. <if test="startDate2 != null">
  1931. AND a.task_date >= #{startDate2}
  1932. </if>
  1933. <if test="endDate2 != null">
  1934. AND #{endDate2} >= a.task_date
  1935. </if>
  1936. <if test = "operatorName != null and operatorName != ''">
  1937. AND dbo.joint_name(a.site, a.bu_no, a.inspection_no, 'coordination') like '%' + #{operatorName} + '%'
  1938. </if>
  1939. <if test = "responsiblePersonName != null and responsiblePersonName != ''">
  1940. AND dbo.joint_name2(a.site, a.bu_no, a.inspection_no, 'responsible') like '%' + #{responsiblePersonName} + '%'
  1941. </if>
  1942. <if test = "itemResult != null and itemResult != ''">
  1943. AND b.item_result = #{itemResult}
  1944. </if>
  1945. <if test = "itemNo != null and itemNo != ''">
  1946. AND b.item_no like '%' + #{itemNo} + '%'
  1947. </if>
  1948. <if test = "itemDesc != null and itemDesc != ''">
  1949. AND b.item_desc like '%' + #{itemDesc} + '%'
  1950. </if>
  1951. </where>
  1952. ORDER BY
  1953. a.inspection_no,b.order_id, b.item_no, c.num desc
  1954. </select>
  1955. </mapper>