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.

459 lines
21 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.PqcMapper">
  4. <select id="qcPQCInspectionSearch" parameterType="com.xujie.sys.modules.pms.data.QcFAIRecordData" resultType="com.xujie.sys.modules.pms.data.QcFAIRecordData">
  5. SELECT
  6. a.inspection_no,
  7. a.site,
  8. a.bu_no,
  9. dbo.get_bu_desc(a.site, a.bu_no) as buDesc,
  10. a.state,
  11. a.inspection_result,
  12. a.task_date,
  13. a.inspection_type_no,
  14. dbo.qc_get_inspection_type_name(a.site, a.inspection_type_no) as inspectionTypeName,
  15. a.inspection_cycle,
  16. a.order_no,
  17. a.operation_desc,
  18. a.resource_id,
  19. r.resource_desc,
  20. a.part_no,
  21. d.part_desc,
  22. d.cinv_source_code as cinvSourceCode,
  23. d.sku as sku,
  24. d.invdefinetype as invdefinetype,
  25. a.inspection_remark,
  26. a.roll_qty,
  27. a.sampling_qty,
  28. a.disposal_measures,
  29. a.disposal_remark,
  30. a.inspector_date,
  31. a.inspector_no,
  32. u.user_display as inspectorName,
  33. a.unqualified_qty,
  34. a.submit_flag,
  35. a.seq_no,
  36. a.batch_roll_no,
  37. a.special_requirements,
  38. a.work_center_no,
  39. a.roll_no,
  40. a.um_id,
  41. um.UMName as umName,
  42. a.action_date,
  43. a.action_by,
  44. isnull(dbo.joint_id(a.site, a.bu_no, a.inspection_no, 'coordination'), '') as operator,
  45. isnull(dbo.joint_name(a.site, a.bu_no, a.inspection_no, 'coordination'), '') as operatorName,
  46. isnull(dbo.joint_id(a.site, a.bu_no, a.inspection_no, 'responsible'), '') as responsiblePerson,
  47. isnull(dbo.joint_name2(a.site, a.bu_no, a.inspection_no, 'responsible'), '') as responsiblePersonName,
  48. a.pass_qty,
  49. a.not_pass_qty,
  50. a.batch_qualified_qty
  51. FROM qc_pqc_record as a
  52. left join part as d on a.site = d.site and a.bu_no = d.sourceBu and a.part_no = d.part_no
  53. left join sys_user as u on a.inspector_no = u.username
  54. 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
  55. left join UM as um on a.site = um.site and a.um_id = um.UMID
  56. <where>
  57. a.site in (select site from eam_access_site where username = #{query.userName})
  58. and (a.site + '-' + a.bu_no) in (select * from dbo.query_bu(#{query.userName}))
  59. <if test="query.buNo != null and query.buNo != ''">
  60. AND a.bu_no = #{query.buNo}
  61. </if>
  62. <if test = "query.inspectionNo != null and query.inspectionNo != ''">
  63. AND a.inspection_no LIKE '%' + #{query.inspectionNo} + '%'
  64. </if>
  65. <if test = "query.partNo != null and query.partNo != ''">
  66. AND a.part_no LIKE '%' + #{query.partNo} + '%'
  67. </if>
  68. <if test = "query.partDesc != null and query.partDesc != ''">
  69. AND d.part_desc LIKE '%' + #{query.partDesc} + '%'
  70. </if>
  71. <if test = "query.cinvSourceCode != null and query.cinvSourceCode != ''">
  72. AND d.cinv_source_code LIKE '%' + #{query.cinvSourceCode} + '%'
  73. </if>
  74. <if test = "query.sku != null and query.sku != ''">
  75. AND d.sku LIKE '%' + #{query.sku} + '%'
  76. </if>
  77. <if test = "query.disposalMeasures != null and query.disposalMeasures != ''">
  78. AND a.disposal_measures LIKE '%' + #{query.disposalMeasures} + '%'
  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.orderNo != null and query.orderNo != ''">
  90. AND a.order_no LIKE '%' + #{query.orderNo} + '%'
  91. </if>
  92. <if test = "query.seqNo != null and query.seqNo != ''">
  93. AND a.seq_no LIKE '%' + #{query.seqNo} + '%'
  94. </if>
  95. <if test = "query.operationDesc != null and query.operationDesc != ''">
  96. AND a.operation_desc LIKE '%' + #{query.operationDesc} + '%'
  97. </if>
  98. <if test="query.startDate != null">
  99. AND a.inspector_date >= #{query.startDate}
  100. </if>
  101. <if test="query.endDate != null">
  102. AND #{query.endDate} >= a.inspector_date
  103. </if>
  104. <if test="query.startDate2 != null">
  105. AND a.task_date >= #{query.startDate2}
  106. </if>
  107. <if test="query.endDate2 != null">
  108. AND #{query.endDate2} >= a.task_date
  109. </if>
  110. </where>
  111. ORDER BY
  112. CASE WHEN a.state = '待检验' THEN 1
  113. WHEN a.state = '待审核' THEN 2
  114. WHEN a.state = '已完成' THEN 3
  115. END, a.task_date desc
  116. </select>
  117. <select id="pqcDetailSearch" parameterType="com.xujie.sys.modules.pms.data.QcFAIRecordData" resultType="com.xujie.sys.modules.pms.data.QcFAIRecordData">
  118. SELECT
  119. a.site,
  120. a.bu_no,
  121. a.inspection_no,
  122. a.order_no,
  123. a.template_id,
  124. a.sampling_level_no,
  125. a.sampling_level_desc,
  126. a.sampling_programme_no,
  127. a.sampling_programme_desc,
  128. a.AQL,
  129. a.AC,
  130. a.RE,
  131. a.item_no,
  132. a.item_desc,
  133. a.object_id,
  134. a.object_desc,
  135. a.default_value,
  136. a.min_value,
  137. a.max_value,
  138. a.text_value,
  139. a.number_value,
  140. a.value_type_db,
  141. a.value_type,
  142. case when a.item_result = '' or a.item_result is null then 'Y' else a.item_result end as itemResult,
  143. a.is_submit,
  144. isnull(a.unqualified_quantity,0) as unqualifiedQuantity,
  145. a.sampling_qty,
  146. dbo.qc_get_pqc_sub_record_num(a.site, a.bu_no, a.inspection_no, a.item_no) as subDetailRecordNum,
  147. c.method_no,
  148. c.method_name,
  149. c.method_remark
  150. FROM qc_pqc_detailed_record as a
  151. LEFT JOIN qc_method_item as b on a.site = b.site and a.item_no = b.ItemNo and a.bu_no = b.bu_no
  152. LEFT JOIN qc_method as c on b.site = c.site and b.method_no = c.method_no and b.bu_no = c.bu_no
  153. WHERE a.inspection_no = #{inspectionNo} and a.site = #{site} and a.bu_no = #{buNo}
  154. order by a.order_id
  155. </select>
  156. <delete id="deletePQCRecord" parameterType="com.xujie.sys.modules.pms.data.QcFAIRecordData">
  157. DELETE FROM qc_pqc_record
  158. WHERE site = #{site} and bu_no = #{buNo} and inspection_no = #{inspectionNo}
  159. </delete>
  160. <delete id="deletePQCDetailedRecord" parameterType="com.xujie.sys.modules.pms.data.QcFAIRecordData">
  161. DELETE FROM qc_pqc_detailed_record
  162. WHERE site = #{site} and bu_no = #{buNo} and inspection_no = #{inspectionNo}
  163. </delete>
  164. <delete id="deletePQCSubDetailedRecord" parameterType="com.xujie.sys.modules.pms.data.QcFAIRecordData">
  165. DELETE FROM qc_pqc_sub_detail_record
  166. WHERE site = #{site} and bu_no = #{buNo} and inspection_no = #{inspectionNo}
  167. </delete>
  168. <update id="updatePQCMasterRecord" parameterType="com.xujie.sys.modules.pms.data.QcFAIRecordData">
  169. UPDATE qc_pqc_record
  170. SET disposal_measures = #{disposalMeasures},
  171. disposal_remark = #{disposalRemark},
  172. inspection_result = #{inspectionResult},
  173. inspector_no = #{inspectorNo},
  174. state = #{state},
  175. inspection_remark = #{inspectionRemark},
  176. inspector_date = getDate(),
  177. sampling_qty = #{samplingQty,jdbcType=DECIMAL},
  178. roll_qty = #{rollQty,jdbcType=DECIMAL},
  179. unqualified_qty = #{unqualifiedQty,jdbcType=DECIMAL},
  180. pass_qty = #{passQty,jdbcType=DECIMAL},
  181. not_pass_qty = #{notPassQty,jdbcType=DECIMAL},
  182. batch_qualified_qty = #{batchQualifiedQty,jdbcType=DECIMAL},
  183. submit_date = getDate()
  184. WHERE site = #{site} and inspection_no = #{inspectionNo} and bu_no = #{buNo}
  185. </update>
  186. <update id="updatePQCDetailedRecord" parameterType="com.xujie.sys.modules.pms.data.QcFAIRecordData">
  187. UPDATE qc_pqc_detailed_record
  188. SET item_result = #{itemResult},
  189. unqualified_quantity = #{unqualifiedQuantity,jdbcType=DECIMAL},
  190. sampling_qty = #{samplingQty,jdbcType=DECIMAL},
  191. text_value = #{textValue},
  192. number_value = #{numberValue,jdbcType=DECIMAL}
  193. WHERE inspection_no = #{inspectionNo} and item_no = #{itemNo} and site = #{site} and bu_no = #{buNo}
  194. </update>
  195. <delete id="delPQCSubDetailedRecord" parameterType="com.xujie.sys.modules.pms.data.QcSubDetailInformationData">
  196. DELETE FROM qc_pqc_sub_detail_record
  197. WHERE inspection_no = #{inspectionNo} and item_no = #{itemNo} and site = #{site} and bu_no = #{buNo}
  198. </delete>
  199. <delete id="deleteOperationForResource">
  200. delete from operation_resource where id = #{id}
  201. </delete>
  202. <delete id="deleteUserDefaultOperation">
  203. delete from user_default_operation where id = #{id}
  204. </delete>
  205. <insert id="savePQCSubDetailed">
  206. INSERT INTO qc_pqc_sub_detail_record
  207. (inspection_no, item_no, sub_detail_value, sampling_location, site, sampling_location_b, bu_no, num, sub_detail_value_b, sub_detail_value_c, sub_detail_value_d, sub_detail_value_e)
  208. VALUES
  209. <foreach collection="list" item="item" separator=",">
  210. (#{item.inspectionNo}, #{item.itemNo}, #{item.subDetailValue}, #{item.samplingLocation}, #{item.site}, #{item.samplingLocationB}, #{item.buNo}, #{item.num}, #{item.subDetailValueB}, #{item.subDetailValueC}, #{item.subDetailValueD}, #{item.subDetailValueE})
  211. </foreach>
  212. </insert>
  213. <select id="selectPQCSubDetailedRecord" parameterType="com.xujie.sys.modules.pms.data.SubDetailValues" resultType="com.xujie.sys.modules.pms.data.SubDetailValues">
  214. SELECT
  215. site,
  216. bu_no,
  217. sub_detail_value,
  218. sampling_location,
  219. is_submit,
  220. sampling_location_b,
  221. num,
  222. sub_detail_value_b,
  223. sub_detail_value_c,
  224. sub_detail_value_d,
  225. sub_detail_value_e
  226. FROM qc_pqc_sub_detail_record
  227. WHERE inspection_no = #{inspectionNo} and item_no = #{itemNo} and site = #{site} and bu_no = #{buNo}
  228. <if test = "collectionDataContent != null and collectionDataContent != ''">
  229. AND sub_detail_value ${collectionDataContent}
  230. </if>
  231. </select>
  232. <select id="checkPQCIsSubmit" parameterType="com.xujie.sys.modules.pms.data.SubDetailValues" resultType="com.xujie.sys.modules.pms.data.QcFAIRecordData">
  233. SELECT submit_flag
  234. FROM qc_pqc_record
  235. WHERE site = #{site} and bu_no = #{buNo} and inspection_no = #{inspectionNo}
  236. </select>
  237. <select id="selectPQCInspectionNo" resultType="string" parameterType="com.xujie.sys.modules.pms.data.QcFAIRecordData">
  238. SELECT
  239. Right('0000000000' + convert(VARCHAR(10), isnull(max(convert(INT, SUBSTRING(inspection_no, 4, 10))), 0) + 1), 8)
  240. FROM qc_pqc_record
  241. WHERE site = #{site} and bu_no = #{buNo}
  242. </select>
  243. <insert id="savePQCDetailedRecord" parameterType="com.xujie.sys.modules.pms.data.QcFAIRecordData">
  244. INSERT INTO qc_pqc_detailed_record
  245. (inspection_no, order_no, template_id, sampling_level_no, sampling_level_desc, sampling_programme_no, sampling_programme_desc,
  246. AQL, AC, RE, item_no, item_desc, object_id, object_desc, default_value, min_value,
  247. max_value, value_type_db, value_type, site, sampling_qty, bu_no,order_id)
  248. VALUES
  249. (#{inspectionNo}, #{orderNo}, #{templateId}, #{samplingLevelNo}, #{samplingLevelDesc}, #{samplingProgrammeNo}, #{samplingProgrammeDesc},
  250. #{aql,jdbcType=DECIMAL}, #{ac,jdbcType=DECIMAL}, #{re,jdbcType=DECIMAL}, #{itemNo}, #{itemDesc}, #{objectId}, #{objectDesc}, #{defaultValue}, #{minValue,jdbcType=DECIMAL},
  251. #{maxValue,jdbcType=DECIMAL}, #{valueTypeDb}, #{valueType}, #{site}, #{samplingQty,jdbcType=DECIMAL}, #{buNo},#{orderId,jdbcType=INTEGER})
  252. </insert>
  253. <insert id="savePQCRecord" parameterType="com.xujie.sys.modules.pms.data.QcFAIRecordData">
  254. INSERT INTO qc_pqc_record
  255. (inspection_no, site, bu_no, state, task_date, inspection_type_no, inspection_cycle, order_no, operation_desc, resource_id, part_no,
  256. roll_qty, sampling_qty, ssr_id, seq_no, batch_roll_no, special_requirements, work_center_no, roll_no, um_id,change_line_time,sop_num,eam_object_id)
  257. VALUES
  258. (#{inspectionNo}, #{site}, #{buNo}, #{state}, getDate(), #{inspectionTypeNo}, #{inspectionCycle,jdbcType=DECIMAL}, #{orderNo}, #{operationDesc}, #{resourceId}, #{partNo},
  259. #{rollQty}, #{samplingQty,jdbcType=DECIMAL}, #{ssrId}, #{seqNo}, #{batchRollNo}, #{specialRequirements}, #{workCenterNo}, #{rollNo}, #{umId},#{changeLineTime},#{sopNum},#{eamObjectId})
  260. </insert>
  261. <insert id="saveUserDefaultOperation">
  262. insert into user_default_operation(username,operation,bu,bu_no,site) VALUES(#{params.username},#{params.operation},#{params.bu},#{params.buNo},#{params.site})
  263. </insert>
  264. <insert id="saveOperationForResource">
  265. insert into operation_resource (operation,resource,bu,bu_no,site) values (#{params.operation},#{params.resource},#{params.bu},#{params.buNo},#{params.site})
  266. </insert>
  267. <update id="actionPQCInspection" parameterType="com.xujie.sys.modules.pms.data.EamObjectInData">
  268. update qc_pqc_record
  269. set action_date = getDate(),
  270. action_by = #{actionBy},
  271. state = #{state}
  272. where site = #{site} and bu_no = #{buNo} and inspection_no = #{inspectionNo}
  273. </update>
  274. <select id="getPQCInspectionDetail" parameterType="com.xujie.sys.modules.pms.data.EamObjectInData" resultType="com.xujie.sys.modules.pms.data.EamObjectInData">
  275. select
  276. a.site,
  277. a.bu_no,
  278. a.inspection_no,
  279. a.item_no,
  280. a.item_desc,
  281. b.collection_source,
  282. b.collection_method
  283. from qc_fqc_detailed_record as a
  284. left join eam_properties_item as b on a.site = b.site and a.bu_no = b.bu_no and a.item_no = b.ItemNo
  285. where a.site = #{site} and a.bu_no = #{buNo} and a.inspection_no = #{inspectionNo} and b.ItemType = 'D' and b.inspection_type_no = '108' and b.collection_flag = 'Y'
  286. order by a.order_id
  287. </select>
  288. <select id="getPartAttribute" parameterType="com.xujie.sys.modules.pms.data.QcTemplateData" resultType="com.xujie.sys.modules.pms.data.QcTemplateData">
  289. SELECT
  290. site,
  291. bu_no,
  292. attribute_no,
  293. template_id,
  294. sampling_level_no,
  295. sampling_programme_no,
  296. attribute_type,
  297. inspection_type_no
  298. FROM qc_attribute_template
  299. WHERE site = #{site} and bu_no = #{buNo} and attribute_no = #{attributeNo} and attribute_type = #{attributeType} and inspection_type_no = #{inspectionTypeNo}
  300. </select>
  301. <select id="getOperationList" parameterType="com.xujie.sys.modules.pms.data.QcFAIRecordData" resultType="com.xujie.sys.modules.pms.data.QcFAIRecordData">
  302. SELECT
  303. DISTINCT
  304. a.seqno as seqNo,
  305. a.orderno as orderNo,
  306. j.part_no,
  307. j.part_desc,
  308. j.invdefinetype,
  309. j.sku,
  310. c.operation_desc as operationDesc,
  311. a.itemno as operationNo,
  312. a.s_resourceid as resourceId,
  313. DBO.getResourceDesc(a.site, a.s_resourceid) as resourceDesc,
  314. c.work_center_no,
  315. qat.template_id,
  316. qt.template_name
  317. FROM soscheduledrouting as a
  318. LEFT JOIN so_routing as c ON a.site = c.site and c.order_no = a.orderno and a.itemno = c.item_no
  319. LEFT JOIN part as j ON a.site = j.site and a.part_no = j.part_no
  320. LEFT JOIN qc_attribute_template as qat on j.site = qat.site and j.sourceBu = qat.bu_no and j.part_no = qat.attribute_no and qat.inspection_type_no = #{inspectionTypeNo}
  321. LEFT JOIN qc_template as qt on qat.site = qt.site and qat.bu_no = qt.bu_no and qat.template_id = qt.template_id
  322. WHERE a.site = #{site} and a.seqno = #{seqNo}
  323. </select>
  324. <select id="queytOperationList" resultType="com.xujie.sys.modules.pms.data.QcPqcRecordOperation">
  325. select * FROM qc_pqc_record_operation
  326. </select>
  327. <select id="queryUserDefaultOperationList" resultType="com.xujie.sys.modules.pms.data.UserDefaultOperation">
  328. select udo.*,
  329. dbo.get_bu_desc(udo.site, udo.bu_no) as buDesc,
  330. su.user_display,
  331. qro.description as operationDesc
  332. from user_default_operation udo
  333. left join sys_user su on su.username = udo.username
  334. left join qc_pqc_record_operation qro on udo.operation = qro.code
  335. <where>
  336. <if test="params.bu != null and params.bu != ''">
  337. and udo.bu =#{params.bu}
  338. </if>
  339. <if test="params.username != null and params.username != ''">
  340. and udo.username like '%'+#{params.username}+'%'
  341. </if>
  342. <if test="params.operation != null and params.operation != ''">
  343. and udo.operation =#{params.operation}
  344. </if>
  345. <if test="params.bu != null and params.bu != ''">
  346. and udo.bu = #{params.bu}
  347. </if>
  348. </where>
  349. order by id
  350. </select>
  351. <select id="queryUserDefaultOperationListByUsername" resultType="com.xujie.sys.modules.pms.data.UserDefaultOperation">
  352. select * from user_default_operation where username = #{username}
  353. </select>
  354. <select id="queryPartDescByNo" resultType="com.xujie.sys.modules.orderIssure.vo.Part">
  355. select * from part
  356. <where>
  357. <if test="1==1">
  358. and active = 'Y'
  359. </if>
  360. <if test="params.partNo != null and params.partNo != ''">
  361. and part_no like '%'+#{params.partNo}+'%'
  362. </if>
  363. <if test="params.partDesc != null and params.partDesc != ''">
  364. and part_desc like '%'+#{params.partDesc}+'%'
  365. </if>
  366. </where>
  367. </select>
  368. <select id="queryOperationForResourceList" resultType="com.xujie.sys.modules.pms.data.OperationForResource">
  369. SELECT a.*,
  370. dbo.get_bu_desc(a.site, a.bu_no) as buDesc,
  371. b.resource_desc,
  372. qro.description as operationDesc
  373. FROM operation_resource a
  374. left join resource b on a.resource = b.resource_id
  375. left join qc_pqc_record_operation qro on a.operation = qro.code
  376. <where>
  377. <if test="params.bu != null and params.bu != ''">
  378. and a.bu =#{params.bu}
  379. </if>
  380. <if test="params.operation != null and params.operation != ''">
  381. and operation =#{params.operation}
  382. </if>
  383. <if test="params.resource != null and params.resource != ''">
  384. and resource like '%'+ #{params.resource}+'%'
  385. </if>
  386. </where>
  387. </select>
  388. <select id="queryResourceList" resultType="com.xujie.sys.modules.pms.data.ResourceData">
  389. select * from resource
  390. </select>
  391. <select id="queryOperationResourceList" resultType="com.xujie.sys.modules.pms.data.OperationForResource">
  392. select *
  393. from operation_resource a
  394. where operation = #{operation}
  395. </select>
  396. <select id="queryEamObjectlist" resultType="com.xujie.sys.modules.pms.data.EamObjectData">
  397. select * from eam_object
  398. <where>
  399. <if test="resourceID != null and resourceID != ''">
  400. and ResourceID =#{resourceID}
  401. </if>
  402. <if test="1==1">
  403. and active = 'Y'
  404. </if>
  405. </where>
  406. </select>
  407. <select id="getHuanXianSysUserList" resultType="com.xujie.sys.modules.sys.entity.SysUserEntity">
  408. select * from sys_user
  409. where user_id in (select user_id from sys_user_role where role_id = 97)
  410. </select>
  411. <select id="getAllUserList" resultType="com.xujie.sys.modules.sys.entity.SysUserEntity">
  412. select * from sys_user
  413. <where>
  414. <if test="username != null and username != ''">
  415. and username like '%'+ #{username} +'%'
  416. </if>
  417. <if test="userDisplay != null and userDisplay != ''">
  418. and user_display like '%'+ #{userDisplay}+'%'
  419. </if>
  420. </where>
  421. </select>
  422. <select id="queryResourceList2" resultType="com.xujie.sys.modules.pms.data.ResourceData">
  423. select * from resource
  424. <where>
  425. <if test="resourceId != null and resourceId != ''">
  426. and resource_id like '%'+ #{resourceId} +'%'
  427. </if>
  428. <if test="resourceDesc != null and resourceDesc != ''">
  429. and resource_desc like '%'+ #{resourceDesc}+'%'
  430. </if>
  431. </where>
  432. </select>
  433. </mapper>