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.

2207 lines
85 KiB

3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years 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.QcMapper">
  4. <!-- ================================================= 检验方法 ================================================= -->
  5. <!-- 条件查询检验方法 -->
  6. <select id="qcMethodSearch" parameterType="QcMethodData" resultType="QcMethodData">
  7. SELECT
  8. method_no,
  9. method_name,
  10. create_date,
  11. create_by,
  12. method_remark,
  13. update_date,
  14. update_by
  15. FROM qc_method
  16. <where>
  17. <if test="methodName != null and methodName != ''">
  18. AND method_name LIKE '%' + #{methodName} +'%'
  19. </if>
  20. </where>
  21. </select>
  22. <!-- 获取最大物料模板编码 -->
  23. <select id="queryLastMethodNo" resultType="string">
  24. SELECT top 1 method_no
  25. FROM qc_method
  26. ORDER BY method_no Desc
  27. </select>
  28. <!-- 检测是否存在该方法 -->
  29. <select id="checkQcMethod" parameterType="QcMethodData" resultType="QcMethodData">
  30. SELECT method_no,
  31. method_name
  32. FROM qc_method
  33. WHERE method_name = #{methodName}
  34. </select>
  35. <!-- 新增检验方法 -->
  36. <insert id="qcMethodSave" parameterType="QcMethodData">
  37. INSERT INTO qc_method (method_no, method_name, create_date, create_by, method_remark, update_date, update_by)
  38. VALUES (#{methodNo}, #{methodName}, GetDate(), #{createBy}, #{methodRemark}, getDate(), #{updateBy})
  39. </insert>
  40. <!-- 修改检验方法 -->
  41. <update id="qcMethodUpdate" parameterType="QcMethodData">
  42. UPDATE qc_method
  43. SET method_name = #{methodName},
  44. method_remark = #{methodRemark},
  45. update_date = getDate(),
  46. update_by = #{updateBy}
  47. WHERE method_no = #{methodNo}
  48. </update>
  49. <!-- 检查方法是否在被项目使用 -->
  50. <select id="checkMethodIsUsed" parameterType="QcMethodData" resultType="EamPropertiesItemData">
  51. SELECT
  52. ItemNo
  53. FROM qc_method_item
  54. WHERE method_no = #{methodNo}
  55. </select>
  56. <!-- 删除检验方法 -->
  57. <delete id="qcMethodDelete" parameterType="QcMethodData">
  58. DELETE
  59. FROM qc_method
  60. WHERE method_no = #{methodNo}
  61. </delete>
  62. <!-- ================================================= 检验项目 ================================================= -->
  63. <!-- 根据条件查询检验项目 -->
  64. <select id="qcItemSearch" parameterType="QcItemData" resultType="QcItemData">
  65. SELECT
  66. epi.ItemNo,
  67. epi.ItemDesc,
  68. epi.DefaultValue,
  69. epi.ValueType,
  70. epi.ValueType_DB as valueTypeDb,
  71. epi.ValueChooseFlag,
  72. epi.CreatedDate,
  73. epi.CreatedBy,
  74. epi.MaxValue,
  75. epi.MinValue,
  76. epi.ItemRemark,
  77. epi.ItemType,
  78. epi.update_date,
  79. epi.update_by,
  80. qm.method_no,
  81. qm.method_name,
  82. qm.method_remark
  83. FROM eam_properties_item as epi
  84. LEFT JOIN qc_method_item as qmi
  85. ON epi.ItemNo = qmi.ItemNo
  86. LEFT JOIN qc_method as qm
  87. ON qmi.method_no = qm.method_no
  88. <where>
  89. epi.ItemType = #{itemType}
  90. <if test="itemDesc != null and itemDesc != ''">
  91. AND epi.ItemDesc LIKE '%' + #{itemDesc} +'%'
  92. </if>
  93. </where>
  94. </select>
  95. <!-- 检测是否存在该项目 -->
  96. <select id="checkQcItem" parameterType="QcItemData" resultType="QcItemData">
  97. SELECT ItemNo,
  98. ItemDesc
  99. FROM eam_properties_item
  100. WHERE ItemDesc = #{itemDesc}
  101. AND ItemType = #{itemType}
  102. </select>
  103. <!-- 新增检验项目 -->
  104. <insert id="qcItemSave" parameterType="QcItemData">
  105. INSERT INTO eam_properties_item (ItemNo, ItemDesc, DefaultValue, ValueType, ValueType_DB, ValueChooseFlag, CreatedDate, CreatedBy, MaxValue, MinValue, ItemRemark, ItemType, update_date, update_by)
  106. VALUES (#{itemNo}, #{itemDesc}, #{defaultValue}, #{valueType}, #{valueTypeDb}, #{valueChooseFlag}, GetDate(), #{createdBy}, #{maxValue,jdbcType=DECIMAL}, #{minValue,jdbcType=DECIMAL}, #{itemRemark}, #{itemType}, getDate(), #{updateBy})
  107. </insert>
  108. <!-- 新增项目里的方法 -->
  109. <insert id="qcItemMethodSave" parameterType="QcItemData">
  110. INSERT INTO qc_method_item (ItemNo, method_no)
  111. VALUES (#{itemNo}, #{methodNo})
  112. </insert>
  113. <!-- 修改检验项目 -->
  114. <update id="qcItemUpdate" parameterType="QcItemData">
  115. UPDATE eam_properties_item
  116. SET ItemDesc = #{itemDesc},
  117. DefaultValue = #{defaultValue},
  118. ValueType = #{valueType},
  119. ValueType_DB = #{valueTypeDb},
  120. ValueChooseFlag = #{valueChooseFlag},
  121. MaxValue = #{maxValue,jdbcType=DECIMAL},
  122. MinValue = #{minValue,jdbcType=DECIMAL},
  123. ItemRemark = #{itemRemark},
  124. update_date = getDate(),
  125. update_by = #{updateBy}
  126. WHERE ItemNo = #{itemNo}
  127. AND ItemType = #{itemType}
  128. </update>
  129. <!-- 修改项目中的方法 -->
  130. <update id="qcItemMethodUpdate" parameterType="QcItemData">
  131. UPDATE qc_method_item
  132. SET method_no = #{methodNo}
  133. WHERE ItemNo = #{itemNo}
  134. </update>
  135. <!-- 检查项目是否在被模板使用 -->
  136. <select id="checkItemIsUsed" parameterType="QcItemData" resultType="EamPropertiesModelDetailData">
  137. SELECT code_no
  138. FROM eam_properties_model_detail
  139. WHERE properties_item_no = #{itemNo}
  140. AND function_type = #{itemType}
  141. </select>
  142. <!-- 删除检验项目 -->
  143. <delete id="qcItemDelete" parameterType="QcItemData">
  144. DELETE
  145. FROM eam_properties_item
  146. WHERE ItemNo = #{itemNo}
  147. AND ItemType = #{itemType}
  148. </delete>
  149. <!-- 删除项目-方法中间表数据 -->
  150. <delete id="qcItemMethodDelete" parameterType="QcItemData">
  151. DELETE
  152. FROM qc_method_item
  153. WHERE ItemNo = #{itemNo}
  154. </delete>
  155. <!-- ================================================= 质检员信息维护 ================================================= -->
  156. <!-- 查询质检员信息列表 -->
  157. <select id="inspectorSearch" resultType="QcInspectorData">
  158. SELECT inspector_no,
  159. inspector_name,
  160. inspector_phone,
  161. inspector_type,
  162. inspector_active
  163. FROM qc_inspector
  164. </select>
  165. <!-- 检验是否已存在该质检员 -->
  166. <select id="checkInspector" resultType="QcInspectorData">
  167. SELECT inspector_name
  168. FROM qc_inspector
  169. WHERE inspector_no = #{inspectorNo}
  170. </select>
  171. <!-- 新增质检员 -->
  172. <insert id="inspectorSave" parameterType="QcInspectorData">
  173. INSERT INTO qc_inspector (inspector_no, inspector_name, inspector_phone, inspector_type, inspector_active, create_time)
  174. VALUES (#{inspectorNo}, #{inspectorName}, #{inspectorPhone}, #{inspectorType}, #{inspectorActive}, getDate())
  175. </insert>
  176. <!-- 修改质检员 -->
  177. <update id="inspectorUpdate" parameterType="QcInspectorData">
  178. UPDATE qc_inspector
  179. SET inspector_name = #{inspectorName},
  180. inspector_phone = #{inspectorPhone},
  181. inspector_type = #{inspectorType},
  182. inspector_active = #{inspectorActive}
  183. WHERE inspector_no = #{inspectorNo}
  184. </update>
  185. <!-- 删除质检员 -->
  186. <delete id="inspectorDelete" parameterType="QcInspectorData">
  187. DELETE FROM qc_inspector
  188. WHERE inspector_no = #{inspectorNo}
  189. </delete>
  190. <!-- ================================================= 抽样矩阵维护 ================================================= -->
  191. <!-- 查询抽样矩阵 -->
  192. <select id="samplingInspectionPlanSearch" parameterType="QcSamplingInspectionPlanData" resultType="QcSamplingInspectionPlanData">
  193. SELECT
  194. qsip.site,
  195. qsip.sampling_plan_no,
  196. qsip.sampling_plan_desc,
  197. qsip.sampling_qty_no,
  198. qsiq.sampling_qty,
  199. qsiq.sampling_qty_desc,
  200. qsip.sampling_qty_rank_no,
  201. qsiqr.sampling_qty_rank_desc,
  202. qsiqr.min_qty,
  203. qsiqr.max_qty,
  204. qsip.sampling_level_no,
  205. qsil.sampling_level_desc,
  206. qsip.sampling_plan_active,
  207. qsip.create_date,
  208. qsip.create_by,
  209. qsip.update_date,
  210. qsip.update_by
  211. FROM qc_sampling_inspection_plan as qsip
  212. LEFT JOIN qc_sampling_inspection_qty as qsiq
  213. ON qsip.sampling_qty_no = qsiq.sampling_qty_no
  214. LEFT JOIN qc_sampling_inspection_qty_rank as qsiqr
  215. ON qsip.sampling_qty_rank_no = qsiqr.sampling_qty_rank_no
  216. LEFT JOIN qc_sampling_inspection_level as qsil
  217. ON qsip.sampling_level_no = qsil.sampling_level_no
  218. <where>
  219. qsip.site = #{query.site}
  220. <if test="query.samplingQtyDesc != null and query.samplingQtyDesc != ''">
  221. AND qsiq.sampling_qty_desc LIKE '%' + #{query.samplingQtyDesc}+'%'
  222. </if>
  223. <if test="query.samplingLevelDesc != null and query.samplingLevelDesc != ''">
  224. AND qsil.sampling_level_desc LIKE '%' + #{query.samplingLevelDesc}+'%'
  225. </if>
  226. <if test="query.samplingPlanActive != null and query.samplingPlanActive != ''">
  227. AND qsip.sampling_plan_active = #{query.samplingPlanActive}
  228. </if>
  229. </where>
  230. </select>
  231. <!-- 根据三个编码查矩阵 -->
  232. <select id="selectSamplingPlanByNo" resultType="QcSamplingInspectionPlanData" parameterType="QcSamplingInspectionPlanData">
  233. SELECT
  234. site,
  235. sampling_plan_no,
  236. sampling_qty_no,
  237. sampling_qty_rank_no,
  238. sampling_level_no,
  239. sampling_plan_active
  240. FROM qc_sampling_inspection_plan
  241. WHERE sampling_qty_no = #{samplingQtyNo}
  242. AND sampling_qty_rank_no = #{samplingQtyRankNo}
  243. AND sampling_level_no = #{samplingLevelNo}
  244. AND site = #{site}
  245. </select>
  246. <!-- 根据名称查矩阵 -->
  247. <select id="selectSamplingPlanByDesc" resultType="QcSamplingInspectionPlanData" parameterType="QcSamplingInspectionPlanData">
  248. SELECT
  249. site,
  250. sampling_plan_no,
  251. sampling_qty_no,
  252. sampling_qty_rank_no,
  253. sampling_level_no,
  254. sampling_plan_active
  255. FROM qc_sampling_inspection_plan
  256. WHERE sampling_plan_desc = #{samplingPlanDesc}
  257. AND site = #{site}
  258. </select>
  259. <!-- 获取最大方矩阵编码 -->
  260. <select id="queryLastSamplingPlanNo" resultType="string" parameterType="QcSamplingInspectionPlanData">
  261. SELECT top 1 sampling_plan_no
  262. FROM qc_sampling_inspection_plan
  263. where site = #{site}
  264. ORDER BY sampling_plan_no Desc
  265. </select>
  266. <!-- 新增抽样矩阵 -->
  267. <insert id="samplingInspectionPlanSave" parameterType="QcSamplingInspectionPlanData">
  268. INSERT INTO qc_sampling_inspection_plan (site, sampling_plan_no, sampling_plan_desc, sampling_qty_rank_no, sampling_level_no, sampling_qty_no, sampling_plan_active, create_date, create_by, update_date, update_by)
  269. VALUES (#{site}, #{samplingPlanNo}, #{samplingPlanDesc}, #{samplingQtyRankNo}, #{samplingLevelNo}, #{samplingQtyNo}, #{samplingPlanActive}, getDate(), #{createBy}, getDate(), #{updateBy})
  270. </insert>
  271. <!-- 修改抽样矩阵 -->
  272. <update id="samplingInspectionPlanUpdate" parameterType="QcSamplingInspectionPlanData">
  273. UPDATE qc_sampling_inspection_plan
  274. SET sampling_qty_rank_no = #{samplingQtyRankNo},
  275. sampling_level_no = #{samplingLevelNo},
  276. sampling_qty_no = #{samplingQtyNo},
  277. sampling_plan_active = #{samplingPlanActive},
  278. update_date = getDate(),
  279. update_by = #{updateBy}
  280. WHERE sampling_plan_no = #{samplingPlanNo}
  281. AND site = #{site}
  282. </update>
  283. <!-- 删除抽样矩阵 -->
  284. <delete id="samplingInspectionPlanDelete" parameterType="QcSamplingInspectionPlanData">
  285. DELETE FROM qc_sampling_inspection_plan
  286. WHERE sampling_plan_no = #{samplingPlanNo}
  287. AND site = #{site}
  288. </delete>
  289. <!-- ================================================= 检验模板维护 ================================================= -->
  290. <!-- 查询模板 -->
  291. <select id="templateSearch" parameterType="QcTemplateData" resultType="QcTemplateData">
  292. SELECT
  293. qt.site,
  294. qt.template_id,
  295. qt.template_name,
  296. qt.template_remark,
  297. qt.template_type,
  298. qt.template_version,
  299. qt.sampling_programme_no,
  300. qsip.sampling_programme_Desc,
  301. qt.inspection_type_no,
  302. qit.inspection_type_name,
  303. qt.sampling_level_no,
  304. qsil.sampling_level_desc,
  305. qt.inspection_cycle,
  306. qt.create_time,
  307. qt.create_by,
  308. qt.update_date,
  309. qt.update_by,
  310. qt.AQL,
  311. qt.AC,
  312. qt.RE,
  313. qt.default_sampling_quantity,
  314. qt.default_sampling_proportion
  315. FROM qc_template as qt
  316. LEFT JOIN qc_inspection_type as qit
  317. ON qt.inspection_type_no = qit.inspection_type_no
  318. LEFT JOIN qc_sampling_inspection_level as qsil
  319. ON qt.sampling_level_no = qsil.sampling_level_no
  320. LEFT JOIN qc_sampling_inspection_programme as qsip
  321. ON qt.sampling_programme_no = qsip.sampling_programme_no
  322. <where>
  323. qt.site = #{query.site}
  324. <if test = "query.templateId != null and query.templateId != ''">
  325. AND qt.template_id LIKE '%' + #{query.templateId}+'%'
  326. </if>
  327. <if test = "query.templateName != null and query.templateName != ''">
  328. AND qt.template_name LIKE '%' + #{query.templateName}+'%'
  329. </if>
  330. <if test = "query.inspectionTypeNo != null and query.inspectionTypeNo != ''">
  331. AND qt.inspection_type_no = #{query.inspectionTypeNo}
  332. </if>
  333. </where>
  334. </select>
  335. <!-- 新增模板 -->
  336. <insert id="templateSave" parameterType="QcTemplateData">
  337. INSERT INTO qc_template (site, template_id, template_name, template_version, template_remark, template_type, sampling_programme_no, inspection_type_no, create_time, create_by, sampling_level_no, inspection_cycle, AQL, AC, RE, default_sampling_quantity, default_sampling_proportion, update_date, update_by)
  338. VALUES (#{site}, #{templateId}, #{templateName},#{templateVersion}, #{templateRemark}, #{templateType}, #{samplingProgrammeNo}, #{inspectionTypeNo}, getDate(), #{createBy}, #{samplingLevelNo}, #{inspectionCycle,jdbcType=DECIMAL}, #{aql}, #{ac}, #{re}, #{defaultSamplingQuantity}, #{defaultSamplingProportion}, getDate(), #{updateBy})
  339. </insert>
  340. <!-- 获取最大模板编码 -->
  341. <select id="queryLastTemplateNo" resultType="string">
  342. SELECT top 1 template_id
  343. FROM qc_template
  344. ORDER BY template_id Desc
  345. </select>
  346. <!-- 修改模板 -->
  347. <update id="templateUpdate" parameterType="QcTemplateData">
  348. UPDATE qc_template
  349. SET template_name = #{templateName},
  350. template_version = #{templateVersion},
  351. template_remark = #{templateRemark},
  352. template_type = #{templateType},
  353. sampling_programme_no = #{samplingProgrammeNo},
  354. inspection_cycle = #{inspectionCycle},
  355. inspection_type_no = #{inspectionTypeNo},
  356. sampling_level_no = #{samplingLevelNo},
  357. AQL = #{aql},
  358. AC = #{ac},
  359. RE = #{re},
  360. default_sampling_quantity = #{defaultSamplingQuantity},
  361. default_sampling_proportion = #{defaultSamplingProportion},
  362. update_date = getDate(),
  363. update_by = #{updateBy}
  364. WHERE template_id = #{templateId}
  365. AND site = #{site}
  366. </update>
  367. <!-- 查询模板里的项目详情 -->
  368. <select id="templateDetailsSearch" resultType="QcTemplateData">
  369. SELECT a.template_id,
  370. a.ItemNo,
  371. b.ItemDesc,
  372. a.default_value,
  373. b.ValueType,
  374. b.ValueType_DB,
  375. a.max_value,
  376. a.min_value,
  377. b.ItemRemark,
  378. b.ItemType,
  379. a.object_id,
  380. eo.objectDesc
  381. FROM qc_template_detailed a
  382. LEFT JOIN eam_properties_item b
  383. ON a.ItemNo = b.ItemNo
  384. LEFT JOIN eam_object eo
  385. ON a.object_id = eo.ObjectID
  386. WHERE a.template_id = #{templateId}
  387. AND b.ItemType = #{itemType}
  388. </select>
  389. <!-- 查询模板里是否已存在该项目 -->
  390. <select id="selectItemDetails" resultType="QcTemplateData">
  391. SELECT template_id,
  392. ItemNo,
  393. default_value,
  394. max_value,
  395. min_value
  396. FROM qc_template_detailed
  397. WHERE template_id = #{templateId}
  398. AND ItemNo = #{itemNo}
  399. </select>
  400. <!-- 查询项目的最大最小值 -->
  401. <select id="selectDetail" resultType="QcTemplateData">
  402. SELECT ItemNo,
  403. DefaultValue,
  404. MaxValue,
  405. MinValue
  406. FROM eam_properties_item
  407. WHERE ItemNo = #{itemNo}
  408. AND ItemType = #{itemType}
  409. </select>
  410. <!-- 新增模板的检验项目 -->
  411. <insert id="addItemDetails" parameterType="QcTemplateData">
  412. INSERT INTO qc_template_detailed (template_id, ItemNo, default_value, max_value, min_value)
  413. VALUES (#{templateId}, #{itemNo}, #{defaultValue}, #{maxValue,jdbcType=DECIMAL}, #{minValue,jdbcType=DECIMAL})
  414. </insert>
  415. <!-- 删除模板的检验项目 -->
  416. <delete id="delItemDetails" >
  417. DELETE FROM qc_template_detailed
  418. WHERE template_id = #{templateId}
  419. AND ItemNo = #{itemNo}
  420. </delete>
  421. <!-- 获取当前模板不包含的项目 -->
  422. <select id="getItemList" resultType="QcTemplateData">
  423. SELECT a.itemNo,
  424. a.ItemDesc
  425. FROM eam_properties_item a
  426. LEFT JOIN qc_template_detailed b
  427. ON b.template_id = #{templateId} and b.ItemNo = a.ItemNo
  428. WHERE a.ItemType = #{itemType}
  429. AND b.template_id is null
  430. </select>
  431. <!-- 删除模板 -->
  432. <delete id="templateDelete" parameterType="QcTemplateData">
  433. DELETE FROM qc_template
  434. WHERE template_id = #{templateId}
  435. AND site = #{site}
  436. </delete>
  437. <!-- 删除模板-项目中间表 -->
  438. <delete id="itemItemDelete" parameterType="QcTemplateData">
  439. DELETE FROM qc_template_detailed
  440. WHERE template_id = #{templateId}
  441. </delete>
  442. <!-- 搜索所有检验类型 -->
  443. <select id="InspectionTypeSearch" resultType="QcInspectionTypeData">
  444. SELECT inspection_type_no,
  445. inspection_type_name
  446. FROM qc_inspection_type
  447. </select>
  448. <!-- 搜索所有设备 -->
  449. <select id="objectSearch" resultType="EamObjectData">
  450. SELECT ObjectID,
  451. ObjectDesc
  452. FROM eam_object
  453. WHERE Active = 'Y'
  454. </select>
  455. <!-- 导入文件检验 -->
  456. <select id="getItemByItemNo" resultType="EamPropertiesItemData" parameterType="QcItemData">
  457. SELECT ItemDesc,
  458. ItemType
  459. FROM eam_properties_item
  460. WHERE ItemDesc = #{itemDesc}
  461. AND DefaultValue = #{defaultValue}
  462. AND MaxValue = #{maxValue}
  463. AND MinValue = #{minValue}
  464. AND ItemType = #{itemType}
  465. </select>
  466. <!-- 新增检验项目 -->
  467. <insert id="insertItem" parameterType="EamPropertiesItemData">
  468. INSERT INTO eam_properties_item (ItemNo, ItemDesc,DefaultValue,ValueType,ValueType_DB, CreatedDate,CreatedBy,MaxValue, MinValue, ItemRemark,ItemType)
  469. VALUES(#{itemNo},#{itemDesc}, #{defaultValue}, #{valueType}, #{valueTypeDb}, GetDate(), #{createdBy}, #{maxValue,jdbcType=DECIMAL}, #{minValue,jdbcType=DECIMAL}, #{itemRemark}, #{itemType})
  470. </insert>
  471. <!-- 获取最大明细编码 -->
  472. <select id="selectLastItemNo" resultType="string">
  473. SELECT top 1 ItemNo
  474. FROM eam_properties_item
  475. WHERE ItemType = 'D'
  476. ORDER BY ItemNo Desc
  477. </select>
  478. <!-- 获取最大项目编码 -->
  479. <select id="queryLastItemNo" resultType="string" parameterType="QcItemData">
  480. SELECT top 1 ItemNo
  481. FROM eam_properties_item
  482. WHERE ItemType = #{itemType}
  483. ORDER BY ItemNo Desc
  484. </select>
  485. <!-- 根据模板名称查询模板 -->
  486. <select id="selectTemplateByDesc" parameterType="QcTemplateData" resultType="QcTemplateData">
  487. SELECT template_id,
  488. template_name,
  489. template_version
  490. FROM qc_template
  491. WHERE template_name = #{templateName}
  492. AND site = #{site}
  493. AND template_version = #{templateVersion}
  494. </select>
  495. <!-- 修改项目明细的最大最小值 -->
  496. <update id="saveItemDetailed" parameterType="QcTemplateData">
  497. UPDATE qc_template_detailed
  498. SET default_value = #{defaultValue},
  499. max_value = #{maxValue,jdbcType=DECIMAL},
  500. min_value = #{minValue,jdbcType=DECIMAL},
  501. object_id = #{objectID}
  502. WHERE template_id = #{templateId}
  503. AND ItemNo = #{itemNo}
  504. </update>
  505. <!-- 查询项目明细 -->
  506. <select id="selectItem" resultType="QcTemplateData">
  507. SELECT ItemNo,
  508. ItemDesc,
  509. DefaultValue,
  510. ValueType,
  511. ValueType_DB,
  512. MaxValue,
  513. MinValue,
  514. ItemRemark,
  515. ItemType
  516. FROM eam_properties_item
  517. WHERE ItemNo = #{itemNo}
  518. AND ItemType = #{itemType}
  519. </select>
  520. <!-- ================================================= 样本量维护 ================================================= -->
  521. <!-- 查询样本量 -->
  522. <select id="samplingQtySearch" parameterType="QcSamplingInspectionQtyData" resultType="QcSamplingInspectionQtyData">
  523. SELECT
  524. site,
  525. sampling_qty_no,
  526. sampling_qty_desc,
  527. sampling_qty,
  528. sampling_qty_remark,
  529. sampling_qty_active,
  530. create_date,
  531. create_by,
  532. update_date,
  533. update_by
  534. FROM qc_sampling_inspection_qty
  535. <where>
  536. site = #{site}
  537. <if test="samplingQtyNo != null and samplingQtyNo != ''">
  538. AND sampling_qty_no LIKE '%' + #{samplingQtyNo}+'%'
  539. </if>
  540. <if test="samplingQtyDesc != null and samplingQtyDesc != ''">
  541. AND sampling_qty_desc LIKE '%' + #{samplingQtyDesc}+'%'
  542. </if>
  543. <if test="samplingQty != null">
  544. AND sampling_qty = #{samplingQty,jdbcType=DECIMAL}
  545. </if>
  546. <if test="samplingQtyActive != null and samplingQtyActive != ''">
  547. AND sampling_qty_active = #{samplingQtyActive}
  548. </if>
  549. </where>
  550. </select>
  551. <!-- 新增样本量 -->
  552. <insert id="samplingQtySave" parameterType="QcSamplingInspectionQtyData">
  553. INSERT INTO qc_sampling_inspection_qty (site, sampling_qty_no, sampling_qty, sampling_qty_remark, sampling_qty_active, sampling_qty_desc, create_date, create_by, update_date, update_by)
  554. VALUES(#{site}, #{samplingQtyNo}, #{samplingQty,jdbcType=DECIMAL}, #{samplingQtyRemark}, #{samplingQtyActive}, #{samplingQtyDesc}, getDate(), #{createBy}, getDate(), #{updateBy})
  555. </insert>
  556. <!-- 根据样本量字码查询样本量 -->
  557. <select id="selectSamplingQtyByDesc" parameterType="QcSamplingInspectionQtyData" resultType="QcSamplingInspectionQtyData">
  558. SELECT
  559. site,
  560. sampling_qty_no,
  561. sampling_qty_desc,
  562. sampling_qty,
  563. sampling_qty_remark,
  564. sampling_qty_active
  565. FROM qc_sampling_inspection_qty
  566. WHERE sampling_qty_desc = #{samplingQtyDesc}
  567. AND site = #{site}
  568. </select>
  569. <!-- 获取最大样本量编码 -->
  570. <select id="queryLastSamplingQtyNo" resultType="string" parameterType="QcSamplingInspectionQtyData">
  571. SELECT top 1 sampling_qty_no
  572. FROM qc_sampling_inspection_qty
  573. where site = #{site}
  574. ORDER BY sampling_qty_no Desc
  575. </select>
  576. <!-- 修改样本量 -->
  577. <update id="samplingQtyUpdate" parameterType="QcSamplingInspectionQtyData">
  578. UPDATE qc_sampling_inspection_qty
  579. SET sampling_qty = #{samplingQty,jdbcType=DECIMAL},
  580. sampling_qty_desc = #{samplingQtyDesc},
  581. sampling_qty_remark = #{samplingQtyRemark},
  582. sampling_qty_active = #{samplingQtyActive},
  583. update_date = getDate(),
  584. update_by = #{updateBy}
  585. WHERE sampling_qty_no = #{samplingQtyNo}
  586. AND site = #{site}
  587. </update>
  588. <!-- 根据样本量编码查询矩阵 -->
  589. <select id="selectSamplingPlanBySamplingQtyNo" resultType="QcSamplingInspectionPlanData" parameterType="QcSamplingInspectionQtyData">
  590. SELECT
  591. site,
  592. sampling_plan_no,
  593. sampling_qty_no,
  594. sampling_qty_rank_no,
  595. sampling_level_no,
  596. sampling_plan_active
  597. FROM qc_sampling_inspection_plan
  598. WHERE site = #{site}
  599. AND sampling_qty_no = #{samplingQtyNo}
  600. </select>
  601. <!-- 删除样本量 -->
  602. <delete id="samplingQtyDelete" parameterType="QcSamplingInspectionQtyData">
  603. DELETE FROM qc_sampling_inspection_qty
  604. WHERE site = #{site}
  605. AND sampling_qty_no = #{samplingQtyNo}
  606. AND sampling_qty_desc = #{samplingQtyDesc}
  607. </delete>
  608. <!-- ================================================= 批量级次维护 ================================================= -->
  609. <!-- 查询批量级次 -->
  610. <select id="samplingQtyRankSearch" parameterType="QcSamplingInspectionQtyRankData" resultType="QcSamplingInspectionQtyRankData">
  611. SELECT
  612. site,
  613. sampling_qty_rank_no,
  614. sampling_qty_rank_desc,
  615. min_qty,
  616. max_qty,
  617. sampling_qty_rank_active,
  618. sampling_qty_rank_Remark,
  619. create_date,
  620. create_by,
  621. update_date,
  622. update_by
  623. FROM qc_sampling_inspection_qty_rank
  624. <where>
  625. site = #{site}
  626. <if test="samplingQtyRankNo != null and samplingQtyRankNo != ''">
  627. AND sampling_qty_rank_no LIKE '%' + #{samplingQtyRankNo}+'%'
  628. </if>
  629. <if test="samplingQtyRankDesc != null and samplingQtyRankDesc != ''">
  630. AND sampling_qty_rank_desc LIKE '%' + #{samplingQtyRankDesc}+'%'
  631. </if>
  632. <if test="samplingQtyRankActive != null and samplingQtyRankActive != ''">
  633. AND sampling_qty_rank_active = #{samplingQtyRankActive}
  634. </if>
  635. </where>
  636. </select>
  637. <!-- 根据名称查询批量级次 -->
  638. <select id="selectSamplingQtyRankByDesc" parameterType="QcSamplingInspectionQtyRankData" resultType="QcSamplingInspectionQtyRankData">
  639. SELECT
  640. site,
  641. sampling_qty_rank_no,
  642. sampling_qty_rank_desc,
  643. min_qty,
  644. max_qty,
  645. sampling_qty_rank_active,
  646. sampling_qty_rank_Remark
  647. FROM qc_sampling_inspection_qty_rank
  648. WHERE sampling_qty_rank_desc = #{samplingQtyRankDesc}
  649. AND site = #{site}
  650. </select>
  651. <!-- 获取最大批量级次编码 -->
  652. <select id="queryLastSamplingQtyRankNo" resultType="string" parameterType="QcSamplingInspectionQtyRankData">
  653. SELECT top 1 sampling_qty_rank_no
  654. FROM qc_sampling_inspection_qty_rank
  655. where site = #{site}
  656. ORDER BY sampling_qty_rank_no Desc
  657. </select>
  658. <!-- 新增批量级次 -->
  659. <insert id="samplingQtyRankSave" parameterType="QcSamplingInspectionQtyRankData">
  660. INSERT INTO qc_sampling_inspection_qty_rank (site, sampling_qty_rank_no, sampling_qty_rank_desc, min_qty, max_qty, sampling_qty_rank_Remark, sampling_qty_rank_active, create_date, create_by, update_date, update_by)
  661. VALUES(#{site}, #{samplingQtyRankNo}, #{samplingQtyRankDesc}, #{minQty,jdbcType=DECIMAL}, #{maxQty,jdbcType=DECIMAL}, #{samplingQtyRankRemark}, #{samplingQtyRankActive}, getDate(), #{createBy}, getDate(), #{updateBy})
  662. </insert>
  663. <!-- 根据批量级次编码查询矩阵 -->
  664. <select id="selectSamplingPlanBySamplingQtyRankNo" resultType="QcSamplingInspectionPlanData" parameterType="QcSamplingInspectionQtyRankData">
  665. SELECT
  666. site,
  667. sampling_plan_no,
  668. sampling_qty_no,
  669. sampling_qty_rank_no,
  670. sampling_level_no,
  671. sampling_plan_active
  672. FROM qc_sampling_inspection_plan
  673. WHERE site = #{site}
  674. AND sampling_qty_rank_no = #{samplingQtyRankNo}
  675. </select>
  676. <!-- 修改批量级次 -->
  677. <update id="samplingQtyRankUpdate" parameterType="QcSamplingInspectionQtyRankData">
  678. UPDATE qc_sampling_inspection_qty_rank
  679. SET sampling_qty_rank_desc = #{samplingQtyRankDesc},
  680. min_qty = #{minQty,jdbcType=DECIMAL},
  681. max_qty = #{maxQty,jdbcType=DECIMAL},
  682. sampling_qty_rank_Remark = #{samplingQtyRankRemark},
  683. sampling_qty_rank_active = #{samplingQtyRankActive},
  684. update_date = getDate(),
  685. update_by = #{updateBy}
  686. WHERE sampling_qty_rank_no = #{samplingQtyRankNo}
  687. AND site = #{site}
  688. </update>
  689. <!-- 删除批量级次 -->
  690. <delete id="samplingQtyRankDelete" parameterType="QcSamplingInspectionQtyRankData">
  691. DELETE FROM qc_sampling_inspection_qty_rank
  692. WHERE site = #{site}
  693. AND sampling_qty_rank_no = #{samplingQtyRankNo}
  694. AND sampling_qty_rank_desc = #{samplingQtyRankDesc}
  695. </delete>
  696. <!-- ================================================= 检验等级维护 ================================================= -->
  697. <!-- 查询检验等级 -->
  698. <select id="samplingLevelSearch" parameterType="QcSamplingInspectionLevelData" resultType="QcSamplingInspectionLevelData">
  699. SELECT
  700. site,
  701. sampling_level_no,
  702. sampling_level_desc,
  703. sampling_level_remark,
  704. sampling_level_active,
  705. create_date,
  706. create_by,
  707. update_date,
  708. update_by
  709. FROM qc_sampling_inspection_level
  710. <where>
  711. site = #{site}
  712. <if test="samplingLevelNo != null and samplingLevelNo != ''">
  713. AND sampling_level_no LIKE '%' + #{samplingLevelNo}+'%'
  714. </if>
  715. <if test="samplingLevelDesc != null and samplingLevelDesc != ''">
  716. AND sampling_level_desc LIKE '%' + #{samplingLevelDesc}+'%'
  717. </if>
  718. <if test="samplingLevelActive != null and samplingLevelActive != ''">
  719. AND sampling_level_active = #{samplingLevelActive}
  720. </if>
  721. </where>
  722. </select>
  723. <!-- 根据名称查询检验等级 -->
  724. <select id="selectSamplingLevelByDesc" parameterType="QcSamplingInspectionLevelData" resultType="QcSamplingInspectionLevelData">
  725. SELECT
  726. site,
  727. sampling_level_no,
  728. sampling_level_desc,
  729. sampling_level_remark,
  730. sampling_level_active
  731. FROM qc_sampling_inspection_level
  732. WHERE sampling_level_desc = #{samplingLevelDesc}
  733. AND site = #{site}
  734. </select>
  735. <!-- 获取最大检验等级编码 -->
  736. <select id="queryLastSamplingLevelNo" resultType="string" parameterType="QcSamplingInspectionLevelData">
  737. SELECT top 1 sampling_level_no
  738. FROM qc_sampling_inspection_level
  739. where site = #{site}
  740. ORDER BY sampling_level_no Desc
  741. </select>
  742. <!-- 新增检验等级 -->
  743. <insert id="samplingLevelSave" parameterType="QcSamplingInspectionLevelData">
  744. INSERT INTO qc_sampling_inspection_level (site, sampling_level_no, sampling_level_desc, sampling_level_remark, sampling_level_active, create_date, create_by, update_date, update_by)
  745. VALUES(#{site}, #{samplingLevelNo}, #{samplingLevelDesc}, #{samplingLevelRemark}, #{samplingLevelActive}, getDate(), #{createBy}, getDate(), #{updateBy})
  746. </insert>
  747. <!-- 根据检验等级编码查询矩阵 -->
  748. <select id="selectSamplingPlanBySamplingLevelNo" resultType="QcSamplingInspectionPlanData" parameterType="QcSamplingInspectionLevelData">
  749. SELECT
  750. site,
  751. sampling_plan_no,
  752. sampling_qty_no,
  753. sampling_qty_rank_no,
  754. sampling_level_no,
  755. sampling_plan_active
  756. FROM qc_sampling_inspection_plan
  757. WHERE site = #{site}
  758. AND sampling_level_no = #{samplingLevelNo}
  759. </select>
  760. <!-- 修改检验等级 -->
  761. <update id="samplingLevelUpdate" parameterType="QcSamplingInspectionLevelData">
  762. UPDATE qc_sampling_inspection_level
  763. SET sampling_level_desc = #{samplingLevelDesc},
  764. sampling_level_remark = #{samplingLevelRemark},
  765. sampling_level_active = #{samplingLevelActive},
  766. update_date = getDate(),
  767. update_by = #{updateBy}
  768. WHERE sampling_level_no = #{samplingLevelNo}
  769. AND site = #{site}
  770. </update>
  771. <!-- 删除检验等级 -->
  772. <delete id="samplingLevelDelete" parameterType="QcSamplingInspectionLevelData">
  773. DELETE FROM qc_sampling_inspection_level
  774. WHERE site = #{site}
  775. AND sampling_level_no = #{samplingLevelNo}
  776. AND sampling_level_desc = #{samplingLevelDesc}
  777. </delete>
  778. <!-- ================================================= 物料属性设置维护 ================================================= -->
  779. <!-- 查询物料属性 -->
  780. <select id="qcPartAttributeSearch" parameterType="QcPartAttributeData" resultType="QcPartAttributeData">
  781. SELECT
  782. p.part_no,
  783. p.part_desc,
  784. p.FamilyID,
  785. pf.FamilyName,
  786. p.umid,
  787. qa.supplier_no,
  788. qa.attribute_remark,
  789. qa.create_time,
  790. qa.create_by,
  791. qa.attribute_type,
  792. qa.update_date,
  793. qa.update_by
  794. FROM qc_part_attribute as qa
  795. LEFT JOIN part as p
  796. ON qa.attribute_no = p.part_no
  797. LEFT JOIN PartFamily as pf
  798. ON p.FamilyID = pf.FamilyID
  799. <where>
  800. qa.attribute_type = #{query.attributeType}
  801. <if test = "query.partNo != null and query.partNo != ''">
  802. AND qa.attribute_no LIKE '%' + #{query.partNo}+'%'
  803. </if>
  804. <if test = "query.partDesc != null and query.partDesc != ''">
  805. AND p.part_desc LIKE '%' + #{query.partDesc}+'%'
  806. </if>
  807. <if test = "query.familyName != null and query.familyName != ''">
  808. AND pf.FamilyName LIKE '%' + #{query.familyName}+'%'
  809. </if>
  810. </where>
  811. </select>
  812. <!-- 查询是否已有该物料属性 -->
  813. <select id="selectPartAttributeByNo" resultType="QcPartAttributeData" parameterType="QcPartAttributeData">
  814. SELECT
  815. attribute_no,
  816. supplier_no,
  817. attribute_remark,
  818. attribute_type
  819. FROM qc_part_attribute
  820. WHERE attribute_no = #{attributeNo}
  821. AND attribute_type = #{attributeType}
  822. </select>
  823. <!-- 新增物料属性 -->
  824. <insert id="qcPartAttributeSave" parameterType="QcPartAttributeData">
  825. INSERT INTO qc_part_attribute (attribute_no, supplier_no, attribute_remark, create_time, create_by, attribute_type)
  826. VALUES(#{partNo}, #{supplierNo}, #{attributeRemark}, getDate(), #{createBy}, #{attributeType})
  827. </insert>
  828. <!-- 删除物料属性 -->
  829. <delete id="qcPartAttributeDelete" parameterType="QcPartAttributeData">
  830. DELETE FROM qc_part_attribute
  831. WHERE attribute_no = #{partNo}
  832. AND attribute_type = #{attributeType}
  833. </delete>
  834. <!-- 删除物料属性模板 -->
  835. <delete id="deletePartAttributeTemplate" parameterType="QcPartAttributeData">
  836. DELETE FROM qc_attribute_template
  837. WHERE attribute_no = #{partNo}
  838. AND attribute_type = #{attributeType}
  839. </delete>
  840. <!-- 查询类别模板 -->
  841. <select id="searchPartAttributeDetails" resultType="QcTemplateData" parameterType="QcTemplateData">
  842. SELECT
  843. qpa.attribute_no,
  844. qpa.attribute_type,
  845. qt.template_id,
  846. qt.template_name,
  847. qt.template_remark,
  848. qt.template_version,
  849. qat.sampling_programme_no,
  850. qsip.sampling_programme_desc,
  851. qat.AQL,
  852. qat.AC,
  853. qat.RE,
  854. qt.inspection_type_no,
  855. qit.inspection_type_name,
  856. qt.default_sampling_quantity,
  857. qt.default_sampling_proportion,
  858. qat.sampling_level_no,
  859. qsil.sampling_level_desc,
  860. qat.inspection_cycle,
  861. qat.special_field
  862. FROM qc_attribute_template as qat
  863. LEFT JOIN qc_part_attribute as qpa ON qpa.attribute_no = qat.attribute_no
  864. LEFT JOIN qc_template as qt ON qat.template_id = qt.template_id
  865. LEFT JOIN qc_sampling_inspection_level as qsil ON qat.sampling_level_no = qsil.sampling_level_no
  866. LEFT JOIN qc_inspection_type as qit ON qt.inspection_type_no = qit.inspection_type_no
  867. LEFT JOIN qc_sampling_inspection_programme as qsip ON qat.sampling_programme_no = qsip.sampling_programme_no
  868. WHERE qpa.attribute_type = #{attributeType}
  869. AND qpa.attribute_no = #{attributeNo}
  870. </select>
  871. <!-- 物料属性模板查重 -->
  872. <select id="searchPartRepeat" resultType="QcTemplateData" parameterType="QcTemplateData">
  873. SELECT
  874. attribute_no,
  875. template_id
  876. FROM qc_attribute_template
  877. WHERE attribute_no = #{attributeNo}
  878. AND template_id = #{templateId}
  879. AND attribute_type = #{attributeType}
  880. AND special_field = #{specialField}
  881. </select>
  882. <!-- 新增物料属性模板 -->
  883. <insert id="savePartAttributeDetails" parameterType="QcTemplateData">
  884. INSERT INTO qc_attribute_template (attribute_no, template_id, sampling_level_no, inspection_cycle, sampling_programme_no, AQL, AC, RE, attribute_type, special_field)
  885. VALUES(#{attributeNo}, #{templateId}, #{samplingLevelNo}, #{inspectionCycle,jdbcType=DECIMAL}, #{samplingProgrammeNo}, #{aql,jdbcType=DECIMAL}, #{ac,jdbcType=DECIMAL}, #{re,jdbcType=DECIMAL}, #{attributeType}, #{specialField})
  886. </insert>
  887. <!-- 可选模板 -->
  888. <select id="getTemplateList" resultType="QcTemplateData" parameterType="QcTemplateData">
  889. SELECT
  890. qt.template_id,
  891. qt.template_name,
  892. qit.inspection_type_name
  893. FROM qc_template as qt
  894. LEFT JOIN qc_attribute_template as qat ON qat.template_id = qt.template_id and qat.attribute_no = #{attributeNo}
  895. LEFT JOIN qc_inspection_type AS qit ON qt.inspection_type_no = qit.inspection_type_no
  896. <where>
  897. qt.site = #{site}
  898. AND qat.attribute_no is null
  899. <if test = "inspectionTypeNo != null and inspectionTypeNo != ''">
  900. AND qt.inspection_type_no = #{inspectionTypeNo}
  901. </if>
  902. <if test = "templateId != null and templateId != ''">
  903. AND qt.template_id LIKE '%' + #{templateId}+'%'
  904. </if>
  905. <if test = "templateName != null and templateName != ''">
  906. AND qt.template_name LIKE '%' + #{templateName}+'%'
  907. </if>
  908. </where>
  909. </select>
  910. <!-- 已有模板 -->
  911. <select id="getPartTemplateList" resultType="QcTemplateData" parameterType="QcTemplateData">
  912. SELECT
  913. qt.template_id,
  914. qt.template_name,
  915. qit.inspection_type_name,
  916. qat.special_field
  917. FROM qc_attribute_template as qat
  918. LEFT JOIN qc_template as qt ON qat.template_id = qt.template_id
  919. LEFT JOIN qc_inspection_type AS qit ON qt.inspection_type_no = qit.inspection_type_no
  920. WHERE qt.site = #{site}
  921. AND qat.attribute_no = #{attributeNo}
  922. </select>
  923. <!-- 物料可选模板 -->
  924. <select id="getTemplateListAll" resultType="QcTemplateData" parameterType="QcTemplateData">
  925. SELECT
  926. qt.template_id,
  927. qt.template_name,
  928. qit.inspection_type_name
  929. FROM qc_template as qt
  930. LEFT JOIN qc_inspection_type AS qit ON qt.inspection_type_no = qit.inspection_type_no
  931. <where>
  932. qt.site = #{site}
  933. <if test = "inspectionTypeNo != null and inspectionTypeNo != ''">
  934. AND qt.inspection_type_no = #{inspectionTypeNo}
  935. </if>
  936. <if test = "templateId != null and templateId != ''">
  937. AND qt.template_id LIKE '%' + #{templateId}+'%'
  938. </if>
  939. <if test = "templateName != null and templateName != ''">
  940. AND qt.template_name LIKE '%' + #{templateName}+'%'
  941. </if>
  942. </where>
  943. </select>
  944. <!-- 删除物料属性模板 -->
  945. <delete id="deletePartAttributeDetails" parameterType="QcTemplateData">
  946. DELETE FROM qc_attribute_template
  947. <where>
  948. attribute_no = #{attributeNo}
  949. AND template_id = #{templateId}
  950. AND attribute_type = #{attributeType}
  951. <if test = "specialField != null and specialField != ''">
  952. AND special_field = #{specialField}
  953. </if>
  954. </where>
  955. </delete>
  956. <!-- 查询模板的基础数据 -->
  957. <select id="selectTemplateData" resultType="QcTemplateData" parameterType="QcTemplateData">
  958. SELECT
  959. template_id,
  960. template_name,
  961. sampling_programme_no,
  962. sampling_level_no,
  963. inspection_cycle,
  964. AQL,
  965. AC,
  966. RE
  967. FROM qc_template
  968. WHERE site = #{site}
  969. AND template_id = #{templateId}
  970. </select>
  971. <!-- 新增物料属性模板详情 -->
  972. <update id="saveAttributeDetailed" parameterType="QcTemplateData">
  973. UPDATE qc_attribute_template
  974. SET sampling_level_no = #{samplingLevelNo},
  975. inspection_cycle = #{inspectionCycle,jdbcType=DECIMAL},
  976. sampling_programme_no = #{samplingProgrammeNo},
  977. AQL = #{aql,jdbcType=DECIMAL},
  978. AC = #{ac,jdbcType=DECIMAL},
  979. RE = #{re,jdbcType=DECIMAL}
  980. WHERE attribute_no = #{attributeNo}
  981. AND template_id = #{templateId}
  982. AND attribute_type = #{attributeType}
  983. </update>
  984. <!-- 更新物料属性修改时间 -->
  985. <update id="updatePartAttributeTime" parameterType="QcTemplateData">
  986. UPDATE qc_part_attribute
  987. SET update_date = getDate(),
  988. update_by = #{updateBy}
  989. WHERE attribute_no = #{attributeNo}
  990. AND attribute_type = #{attributeType}
  991. </update>
  992. <!-- ================================================= 类别属性设置维护 ================================================= -->
  993. <!-- 查询类别属性 -->
  994. <select id="qcFamilyAttributeSearch" parameterType="QcPartAttributeData" resultType="QcPartAttributeData">
  995. SELECT
  996. qa.attribute_no as familyID,
  997. pf.FamilyName,
  998. qa.supplier_no,
  999. qa.attribute_remark,
  1000. qa.create_time,
  1001. qa.create_by,
  1002. qa.update_date,
  1003. qa.update_by,
  1004. qa.attribute_type
  1005. FROM qc_part_attribute as qa
  1006. LEFT JOIN PartFamily as pf
  1007. ON qa.attribute_no = pf.FamilyID
  1008. <where>
  1009. qa.attribute_type = #{query.attributeType}
  1010. <if test = "query.familyID != null and query.familyID != ''">
  1011. AND qa.attribute_no LIKE '%' + #{query.familyID}+'%'
  1012. </if>
  1013. <if test = "query.familyName != null and query.familyName != ''">
  1014. AND pf.FamilyName LIKE '%' + #{query.familyName}+'%'
  1015. </if>
  1016. </where>
  1017. </select>
  1018. <!-- 新增类别属性 -->
  1019. <insert id="qcFamilyAttributeSave" parameterType="QcPartAttributeData">
  1020. INSERT INTO qc_part_attribute (attribute_no, attribute_remark, create_time, create_by, attribute_type)
  1021. VALUES(#{familyID}, #{attributeRemark}, getDate(), #{createBy}, #{attributeType})
  1022. </insert>
  1023. <!-- 删除分类属性 -->
  1024. <delete id="qcFamilyAttributeDelete" parameterType="QcPartAttributeData">
  1025. DELETE FROM qc_part_attribute
  1026. WHERE attribute_no = #{familyID}
  1027. AND attribute_type = #{attributeType}
  1028. </delete>
  1029. <!-- 删除分类属性模板 -->
  1030. <delete id="deleteFamilyAttributeTemplate" parameterType="QcPartAttributeData">
  1031. DELETE FROM qc_attribute_template
  1032. WHERE attribute_no = #{familyID}
  1033. AND attribute_type = #{attributeType}
  1034. </delete>
  1035. <!-- ================================================= 抽样方案维护 ================================================= -->
  1036. <!-- 查询类别属性 -->
  1037. <select id="samplingProgrammeSearch" parameterType="QcSamplingInspectionProgrammeData" resultType="QcSamplingInspectionProgrammeData">
  1038. SELECT
  1039. site,
  1040. sampling_programme_no,
  1041. sampling_programme_desc,
  1042. sampling_programme_code,
  1043. create_time,
  1044. create_by,
  1045. update_date,
  1046. update_by
  1047. FROM qc_sampling_inspection_programme
  1048. <where>
  1049. site = #{query.site}
  1050. <if test = "query.samplingProgrammeCode != null and query.samplingProgrammeCode != ''">
  1051. AND qa.sampling_programme_code LIKE '%' + #{query.samplingProgrammeCode}+'%'
  1052. </if>
  1053. <if test = "query.samplingProgrammeDesc != null and query.samplingProgrammeDesc != ''">
  1054. AND pf.sampling_programme_desc LIKE '%' + #{query.samplingProgrammeDesc}+'%'
  1055. </if>
  1056. </where>
  1057. </select>
  1058. <!-- 新增抽样方案 -->
  1059. <insert id="samplingProgrammeSave" parameterType="QcSamplingInspectionProgrammeData">
  1060. INSERT INTO qc_sampling_inspection_programme (site, sampling_programme_no, sampling_programme_desc, sampling_programme_code, create_time, create_by, update_date, update_by)
  1061. VALUES(#{site}, #{samplingProgrammeNo}, #{samplingProgrammeDesc}, #{samplingProgrammeCode}, getDate(), #{createBy}, getDate(), #{updateBy})
  1062. </insert>
  1063. <!-- 删除抽样方案 -->
  1064. <delete id="samplingProgrammeDelete" parameterType="QcSamplingInspectionProgrammeData">
  1065. DELETE FROM qc_sampling_inspection_programme
  1066. WHERE site = #{site}
  1067. AND sampling_programme_no = #{samplingProgrammeNo}
  1068. </delete>
  1069. <!-- 删除抽样方案中的矩阵 -->
  1070. <delete id="deletePlanByProgrammeNo" parameterType="QcSamplingInspectionProgrammeData">
  1071. DELETE FROM qc_programme_plan
  1072. WHERE sampling_programme_no = #{samplingProgrammeNo}
  1073. </delete>
  1074. <!-- 根据名称查询抽样方案 -->
  1075. <select id="selectSamplingProgrammeByDesc" parameterType="QcSamplingInspectionProgrammeData" resultType="QcSamplingInspectionProgrammeData">
  1076. SELECT
  1077. site,
  1078. sampling_programme_no,
  1079. sampling_programme_desc
  1080. FROM qc_sampling_inspection_programme
  1081. WHERE sampling_programme_desc = #{samplingProgrammeDesc}
  1082. AND site = #{site}
  1083. </select>
  1084. <!-- 获取最大抽样方案编码 -->
  1085. <select id="queryLastSamplingProgrammeNo" resultType="string" parameterType="QcSamplingInspectionProgrammeData">
  1086. SELECT top 1 sampling_programme_no
  1087. FROM qc_sampling_inspection_programme
  1088. where site = #{site}
  1089. ORDER BY sampling_programme_no Desc
  1090. </select>
  1091. <!-- 搜索抽样方案中的矩阵 -->
  1092. <select id="searchSamplingProgrammeDetails" parameterType="QcSamplingInspectionProgrammeData" resultType="QcSamplingInspectionProgrammeData">
  1093. SELECT
  1094. qpp.sampling_programme_no,
  1095. qsip.sampling_plan_no,
  1096. qsip.sampling_plan_Desc,
  1097. qsip.sampling_qty_no,
  1098. qsiq.sampling_qty_desc,
  1099. qsiq.sampling_qty,
  1100. qsip.sampling_qty_rank_no,
  1101. qsiqr.sampling_qty_rank_desc,
  1102. qsiqr.min_qty,
  1103. qsiqr.max_qty,
  1104. qsip.sampling_level_no,
  1105. qsil.sampling_level_desc,
  1106. qsip.sampling_plan_active
  1107. FROM qc_programme_plan as qpp
  1108. LEFT JOIN qc_sampling_inspection_plan as qsip
  1109. ON qpp.sampling_plan_no = qsip.sampling_plan_no
  1110. LEFT JOIN qc_sampling_inspection_qty as qsiq
  1111. ON qsip.sampling_qty_no = qsiq.sampling_qty_no
  1112. LEFT JOIN qc_sampling_inspection_qty_rank as qsiqr
  1113. ON qsip.sampling_qty_rank_no = qsiqr.sampling_qty_rank_no
  1114. LEFT JOIN qc_sampling_inspection_level as qsil
  1115. ON qsip.sampling_level_no = qsil.sampling_level_no
  1116. WHERE qpp.sampling_programme_no = #{samplingProgrammeNo}
  1117. </select>
  1118. <!-- 获取该方案不包含的矩阵 -->
  1119. <select id="getPlanList" resultType="QcSamplingInspectionProgrammeData" parameterType="QcSamplingInspectionProgrammeData">
  1120. SELECT
  1121. qip.sampling_plan_no,
  1122. qip.sampling_plan_desc
  1123. FROM qc_sampling_inspection_plan as qip
  1124. LEFT JOIN qc_programme_plan as qpp
  1125. ON qpp.sampling_plan_no = qip.sampling_plan_no and qpp.sampling_programme_no = #{samplingProgrammeNo}
  1126. WHERE qip.site = #{site}
  1127. AND qpp.sampling_programme_no is null
  1128. </select>
  1129. <!-- 获取当前方案所包含的矩阵 -->
  1130. <select id="getProgrammePlanList" resultType="QcSamplingInspectionProgrammeData" parameterType="QcSamplingInspectionProgrammeData">
  1131. SELECT
  1132. qip.sampling_plan_no,
  1133. qip.sampling_plan_desc
  1134. FROM qc_programme_plan as qpp
  1135. LEFT JOIN qc_sampling_inspection_plan as qip
  1136. ON qpp.sampling_plan_no = qip.sampling_plan_no
  1137. WHERE qip.site = #{site}
  1138. AND qpp.sampling_programme_no = #{samplingProgrammeNo}
  1139. </select>
  1140. <!-- 查重 -->
  1141. <select id="searchPlanRepeat" resultType="QcSamplingInspectionProgrammeData" parameterType="QcSamplingInspectionProgrammeData">
  1142. SELECT
  1143. sampling_plan_no,
  1144. sampling_programme_no
  1145. FROM qc_programme_plan
  1146. WHERE sampling_programme_no = #{samplingProgrammeNo}
  1147. AND sampling_plan_no = #{samplingPlanNo}
  1148. </select>
  1149. <!-- 新增抽样方案中的矩阵 -->
  1150. <insert id="saveSamplingProgrammeDetails" parameterType="QcSamplingInspectionProgrammeData">
  1151. INSERT INTO qc_programme_plan (sampling_programme_no, sampling_plan_no)
  1152. VALUES(#{samplingProgrammeNo}, #{samplingPlanNo})
  1153. </insert>
  1154. <!-- 更新抽样方案修改时间 -->
  1155. <update id="updateSamplingInspectionProgrammeDate" parameterType="QcSamplingInspectionProgrammeData">
  1156. UPDATE qc_sampling_inspection_programme
  1157. SET update_date = getDate(),
  1158. update_by = #{updateBy}
  1159. WHERE site = #{site}
  1160. AND sampling_programme_no = #{samplingProgrammeNo}
  1161. </update>
  1162. <!-- 删除抽样方案中的矩阵 -->
  1163. <delete id="deleteSamplingProgrammeDetails" parameterType="QcSamplingInspectionProgrammeData">
  1164. DELETE FROM qc_programme_plan
  1165. WHERE sampling_programme_no = #{samplingProgrammeNo}
  1166. AND sampling_plan_no = #{samplingPlanNo}
  1167. </delete>
  1168. <!-- ================================================= FAI检验维护 ================================================= -->
  1169. <!-- 查询FAI基础数据 -->
  1170. <select id="selectFAIBasicData" resultType="QcFAIRecordData">
  1171. SELECT
  1172. top 1
  1173. a.orderno as orderNo,
  1174. j.part_no,
  1175. j.part_desc,
  1176. c.operation_desc,
  1177. b.approve_qty as rollQty,
  1178. a.s_resourceid as resourceId,
  1179. DBO.getResourceDesc(a.site, a.s_resourceid) as resourceDesc,
  1180. a.itemno as itemNo,
  1181. a.id as ssrId
  1182. FROM soscheduledrouting as a
  1183. LEFT JOIN sfdc as b
  1184. ON a.site = b.site and a.seqno = b.assjob_seq_no and b.id in (
  1185. select min(sfdc.id)
  1186. from sfdc
  1187. group by sfdc.assjob_seq_no, site
  1188. )
  1189. LEFT JOIN so_routing as c
  1190. ON c.order_no = a.orderno and a.itemno = c.item_no and c.site = a.site
  1191. LEFT JOIN part j
  1192. ON a.site = j.site and a.part_no = j.part_no
  1193. WHERE a.itemno = '10'
  1194. AND a.id not in (select ssr_id from qc_fai_record)
  1195. AND b.approve_qty is not null
  1196. ORDER BY a.id desc
  1197. </select>
  1198. <!-- AND a.id not in (select ssr_id from qc_fai_record)-->
  1199. <!-- 获取最大FAI检验记录编码 -->
  1200. <select id="queryLastFAIInspectionNo" resultType="string" parameterType="QcFAIRecordData">
  1201. SELECT top 1 inspection_no
  1202. FROM qc_fai_record
  1203. WHERE site = #{site}
  1204. ORDER BY inspection_no Desc
  1205. </select>
  1206. <!-- 获取该物料属性下维护的FAI检验模板 -->
  1207. <select id="selectPartAttributeByPartNo" resultType="QcFAIRecordData">
  1208. SELECT
  1209. qat.attribute_no,
  1210. qat.template_id,
  1211. qat.sampling_level_no,
  1212. qsil.sampling_level_desc,
  1213. qat.inspection_cycle,
  1214. qat.sampling_programme_no,
  1215. qsip.sampling_programme_desc,
  1216. qat.AQL,
  1217. qat.AC,
  1218. qat.RE,
  1219. qt.default_sampling_quantity,
  1220. qt.default_sampling_proportion
  1221. FROM qc_attribute_template as qat
  1222. LEFT JOIN qc_template as qt
  1223. ON qat.template_id = qt.template_id
  1224. LEFT JOIN qc_sampling_inspection_level as qsil
  1225. ON qat.sampling_level_no = qsil.sampling_level_no
  1226. LEFT JOIN qc_sampling_inspection_programme as qsip
  1227. ON qat.sampling_programme_no = qsip.sampling_programme_no
  1228. WHERE qat.attribute_no = #{partNo}
  1229. AND qat.attribute_type = #{attributeType}
  1230. AND qt.inspection_type_no = #{inspectionTypeNo}
  1231. </select>
  1232. <!-- 新增FAI主记录信息 -->
  1233. <insert id="saveFAIRecord" parameterType="QcFAIRecordData">
  1234. INSERT INTO qc_fai_record (inspection_no, site, state, task_date, inspection_type_no, inspection_cycle, order_no, operation_desc, resource_id, resource_desc, part_no, part_desc, roll_qty, sampling_qty, ssr_id)
  1235. VALUES(#{inspectionNo}, #{site}, #{state}, getDate(), #{inspectionTypeNo}, #{inspectionCycle,jdbcType=DECIMAL}, #{orderNo}, #{operationDesc}, #{resourceId}, #{resourceDesc}, #{partNo}, #{partDesc}, #{rollQty}, #{samplingQty,jdbcType=DECIMAL}, #{ssrId})
  1236. </insert>
  1237. <!-- 新增FAI明细记录信息 -->
  1238. <insert id="saveFAIDetailedRecord" parameterType="QcFAIRecordData">
  1239. INSERT INTO qc_fai_detailed_record (inspection_no, order_no, template_id, sampling_level_no, sampling_level_desc, sampling_programme_no, sampling_programme_desc, AQL, AC, RE, item_no, item_desc, object_id, object_desc, default_value, min_value, max_value, value_type_db, value_type)
  1240. VALUES(#{inspectionNo}, #{orderNo}, #{templateId}, #{samplingLevelNo}, #{samplingLevelDesc}, #{samplingProgrammeNo}, #{samplingProgrammeDesc}, #{aql,jdbcType=DECIMAL}, #{ac,jdbcType=DECIMAL}, #{re,jdbcType=DECIMAL}, #{itemNo}, #{itemDesc}, #{objectId}, #{objectDesc}, #{defaultValue}, #{minValue,jdbcType=DECIMAL}, #{maxValue,jdbcType=DECIMAL}, #{valueTypeDb}, #{valueType})
  1241. </insert>
  1242. <!-- 查询FAI主记录信息 -->
  1243. <select id="qcFAIInspectionSearch" parameterType="QcFAIRecordData" resultType="QcFAIRecordData">
  1244. SELECT
  1245. inspection_no,
  1246. site,
  1247. state,
  1248. inspection_result,
  1249. task_date,
  1250. inspection_type_no,
  1251. inspection_cycle,
  1252. order_no,
  1253. operation_desc,
  1254. resource_id,
  1255. resource_desc,
  1256. part_no,
  1257. part_desc,
  1258. inspection_remark,
  1259. roll_qty,
  1260. sampling_qty,
  1261. disposal_measures,
  1262. disposal_remark,
  1263. inspector_date,
  1264. inspector_no,
  1265. ssr_id,
  1266. unqualified_qty,
  1267. submit_flag
  1268. FROM qc_fai_record
  1269. <where>
  1270. site = #{query.site}
  1271. <if test = "query.inspectionNo != null and query.inspectionNo != ''">
  1272. AND inspection_no LIKE '%' + #{query.inspectionNo} + '%'
  1273. </if>
  1274. <if test = "query.state != null and query.state != ''">
  1275. AND state = #{query.state}
  1276. </if>
  1277. <if test = "query.inspectionResult != null and query.inspectionResult != ''">
  1278. AND inspection_result = #{query.inspectionResult}
  1279. </if>
  1280. <if test = "query.orderNo != null and query.orderNo != ''">
  1281. AND order_no LIKE '%' + #{query.orderNo} + '%'
  1282. </if>
  1283. <if test = "query.operationDesc != null and query.operationDesc != ''">
  1284. AND operation_desc LIKE '%' + #{query.operationDesc} + '%'
  1285. </if>
  1286. <if test="query.startDate != null">
  1287. AND task_date >= #{query.startDate}
  1288. </if>
  1289. <if test="query.endDate != null">
  1290. AND #{query.endDate} >= task_date
  1291. </if>
  1292. </where>
  1293. ORDER BY
  1294. CASE WHEN state = '待检验' THEN 1
  1295. WHEN state = '待审核' THEN 2
  1296. WHEN state = '已完成' THEN 3
  1297. END
  1298. </select>
  1299. <!-- 获取物料的类别编码 -->
  1300. <select id="selectFamilyIdByPartNo" parameterType="string" resultType="string">
  1301. SELECT FamilyID
  1302. FROM part
  1303. WHERE part_no = #{partNo}
  1304. AND site = #{site}
  1305. </select>
  1306. <!-- 获取该类别属性下维护的FAI检验模板 -->
  1307. <select id="selectFamilyAttributeByFamilyId" resultType="QcFAIRecordData">
  1308. SELECT
  1309. qat.attribute_no,
  1310. qat.template_id,
  1311. qat.sampling_level_no,
  1312. qsil.sampling_level_desc,
  1313. qat.inspection_cycle,
  1314. qat.sampling_programme_no,
  1315. qsip.sampling_programme_desc,
  1316. qat.AQL,
  1317. qat.AC,
  1318. qat.RE,
  1319. qt.default_sampling_quantity,
  1320. qt.default_sampling_proportion
  1321. FROM qc_attribute_template as qat
  1322. LEFT JOIN qc_template as qt
  1323. ON qat.template_id = qt.template_id
  1324. LEFT JOIN qc_sampling_inspection_level as qsil
  1325. ON qat.sampling_level_no = qsil.sampling_level_no
  1326. LEFT JOIN qc_sampling_inspection_programme as qsip
  1327. ON qat.sampling_programme_no = qsip.sampling_programme_no
  1328. WHERE qat.attribute_no = #{familyId}
  1329. AND qat.attribute_type = #{attributeType}
  1330. AND qt.inspection_type_no = #{inspectionTypeNo}
  1331. </select>
  1332. <!-- FAI明细记录查询 -->
  1333. <select id="faiDetailSearch" parameterType="QcFAIRecordData" resultType="QcFAIRecordData">
  1334. SELECT
  1335. inspection_no,
  1336. order_no,
  1337. template_id,
  1338. sampling_level_no,
  1339. sampling_level_desc,
  1340. sampling_programme_no,
  1341. sampling_programme_desc,
  1342. AQL,
  1343. AC,
  1344. RE,
  1345. item_no,
  1346. item_desc,
  1347. object_id,
  1348. object_desc,
  1349. default_value,
  1350. min_value,
  1351. max_value,
  1352. value_type_db,
  1353. value_type,
  1354. item_result,
  1355. is_submit,
  1356. unqualified_quantity
  1357. FROM qc_fai_detailed_record
  1358. WHERE inspection_no = #{inspectionNo}
  1359. </select>
  1360. <!-- 修改FAI主记录信息 -->
  1361. <update id="updateFAIMasterRecord" parameterType="QcFAIRecordData">
  1362. UPDATE qc_fai_record
  1363. SET disposal_measures = #{disposalMeasures},
  1364. disposal_remark = #{disposalRemark},
  1365. inspection_result = #{inspectionResult},
  1366. inspector_no = #{inspectorNo},
  1367. state = #{state},
  1368. inspection_remark = #{inspectionRemark},
  1369. inspector_date = getDate()
  1370. WHERE site = #{site}
  1371. AND inspection_no = #{inspectionNo}
  1372. </update>
  1373. <!-- 修改FAI明细记录信息 -->
  1374. <update id="updateFAIDetailedRecord" parameterType="QcFAIRecordData">
  1375. UPDATE qc_fai_detailed_record
  1376. SET item_result = #{itemResult},
  1377. unqualified_quantity = #{unqualifiedQuantity,jdbcType=DECIMAL}
  1378. WHERE inspection_no = #{inspectionNo}
  1379. AND item_no = #{itemNo}
  1380. </update>
  1381. <!-- 修改子明细提交标识 -->
  1382. <update id="updateSubDetailedRecord" parameterType="QcFAIRecordData">
  1383. UPDATE qc_fai_sub_detail_record
  1384. SET is_submit = 'Y'
  1385. WHERE inspection_no = #{inspectionNo}
  1386. </update>
  1387. <!-- 删除FAI检验记录 -->
  1388. <delete id="deleteFAIRecord" parameterType="QcFAIRecordData">
  1389. DELETE FROM qc_fai_record
  1390. WHERE inspection_no = #{inspectionNo}
  1391. AND site = #{site}
  1392. </delete>
  1393. <!-- 删除FAI明细记录信息 -->
  1394. <delete id="deleteFAIDetailedRecord" parameterType="QcFAIRecordData">
  1395. DELETE FROM qc_fai_detailed_record
  1396. WHERE inspection_no = #{inspectionNo}
  1397. </delete>
  1398. <!-- 删除FAI子明细记录信息 -->
  1399. <delete id="deleteFAISubDetailedRecord" parameterType="QcFAIRecordData">
  1400. DELETE FROM qc_fai_sub_detail_record
  1401. WHERE inspection_no = #{inspectionNo}
  1402. </delete>
  1403. <!-- 修改FAI主记录标识为已提交 -->
  1404. <update id="updateFAIMasterSubmitFlag" parameterType="QcFAIRecordData">
  1405. UPDATE qc_fai_record
  1406. SET submit_flag = 'Y',
  1407. state = '已完成'
  1408. WHERE inspection_no = #{inspectionNo}
  1409. AND site = #{site}
  1410. </update>
  1411. <!-- 修改FAI明细记录标识为已提交 -->
  1412. <update id="updateFAIDetailSubmitFlag" parameterType="QcFAIRecordData">
  1413. UPDATE qc_fai_detailed_record
  1414. SET is_submit = 'Y'
  1415. WHERE inspection_no = #{inspectionNo}
  1416. </update>
  1417. <!-- 修改子明细记录标识为已提交 -->
  1418. <update id="updateFAISubDetailSubmitFlag" parameterType="QcFAIRecordData">
  1419. UPDATE qc_fai_sub_detail_record
  1420. SET is_submit = 'Y'
  1421. WHERE inspection_no = #{inspectionNo}
  1422. </update>
  1423. <!-- 查询FAI检验记录是否已提交 -->
  1424. <select id="checkFAIIsSubmit" parameterType="SubDetailValues" resultType="QcFAIRecordData">
  1425. SELECT submit_flag
  1426. FROM qc_fai_record
  1427. WHERE inspection_no = #{inspectionNo}
  1428. AND site = #{site}
  1429. </select>
  1430. <!-- 删除子明细的老数据 -->
  1431. <delete id="delFAISubDetailedRecord" parameterType="QcSubDetailInformationData">
  1432. DELETE FROM qc_fai_sub_detail_record
  1433. WHERE inspection_no = #{inspectionNo}
  1434. AND item_no = #{itemNo}
  1435. </delete>
  1436. <!-- 新增子明细信息 -->
  1437. <insert id="saveFAISubDetailed">
  1438. INSERT INTO qc_fai_sub_detail_record
  1439. (inspection_no, item_no, sub_detail_value, sampling_location)
  1440. VALUES
  1441. <foreach collection="list" item="item" separator=",">
  1442. (#{item.inspectionNo}, #{item.itemNo}, #{item.subDetailValue}, #{item.samplingLocation})
  1443. </foreach>
  1444. </insert>
  1445. <!-- 查询FAI的子明细 -->
  1446. <select id="selectFAISubDetailedRecord" parameterType="SubDetailValues" resultType="SubDetailValues">
  1447. SELECT sub_detail_value,
  1448. sampling_location,
  1449. is_submit
  1450. FROM qc_fai_sub_detail_record
  1451. WHERE inspection_no = #{inspectionNo}
  1452. AND item_no = #{itemNo}
  1453. </select>
  1454. <!-- 获取该项目的子明细值 -->
  1455. <select id="selectFAISubDetailValue" parameterType="string" resultType="SubDetailValues">
  1456. SELECT sub_detail_value,
  1457. sampling_location,
  1458. is_submit
  1459. FROM qc_fai_sub_detail_record
  1460. WHERE inspection_no = #{inspectionNo}
  1461. AND item_no = #{itemNo}
  1462. </select>
  1463. <!-- ================================================= IPQC检验维护 ================================================= -->
  1464. <!-- 查询IPQC基础数据 -->
  1465. <select id="selectIPQCBasicData" resultType="QcFAIRecordData">
  1466. SELECT
  1467. top 1
  1468. a.orderno as orderNo,
  1469. j.part_no,
  1470. j.part_desc,
  1471. c.operation_desc,
  1472. b.approve_qty as rollQty,
  1473. a.s_resourceid as resourceId,
  1474. DBO.getResourceDesc(a.site, a.s_resourceid) as resourceDesc,
  1475. a.itemno as itemNo,
  1476. a.id as ssrId
  1477. FROM soscheduledrouting as a
  1478. LEFT JOIN sfdc as b
  1479. ON a.site = b.site and a.seqno = b.assjob_seq_no and b.id in (
  1480. select max(sfdc.id)
  1481. from sfdc
  1482. group by sfdc.assjob_seq_no, site
  1483. )
  1484. LEFT JOIN so_routing as c
  1485. ON c.order_no = a.orderno and a.itemno = c.item_no and c.site = a.site
  1486. LEFT JOIN part j
  1487. ON a.site = j.site and a.part_no = j.part_no
  1488. LEFT JOIN (select ssr_id from qc_ipqc_record where check_type = '末件检') as temp
  1489. ON a.id = temp.ssr_id
  1490. WHERE b.approve_qty is not null
  1491. AND temp.ssr_id is null
  1492. ORDER BY a.id desc
  1493. </select>
  1494. <select id="qcExec" resultType="QcFAIRecordData" parameterType="string" statementType="CALLABLE">
  1495. {CALL
  1496. getIpqcRecord(#{site,mode=IN,jdbcType=VARCHAR})
  1497. }
  1498. </select>
  1499. <!-- 获取最大IPQC检验记录编码 -->
  1500. <select id="queryLastIPQCInspectionNo" resultType="string" parameterType="QcFAIRecordData">
  1501. SELECT top 1 inspection_no
  1502. FROM qc_ipqc_record
  1503. where site = #{site}
  1504. ORDER BY inspection_no Desc
  1505. </select>
  1506. <!-- 新增IPQC明细记录信息 -->
  1507. <insert id="saveIPQCDetailedRecord" parameterType="QcFAIRecordData">
  1508. INSERT INTO qc_ipqc_detailed_record (inspection_no, order_no, template_id, sampling_level_no, sampling_level_desc, sampling_programme_no, sampling_programme_desc, AQL, AC, RE, item_no, item_desc, object_id, object_desc, default_value, min_value, max_value, value_type_db, value_type)
  1509. VALUES(#{inspectionNo}, #{orderNo}, #{templateId}, #{samplingLevelNo}, #{samplingLevelDesc}, #{samplingProgrammeNo}, #{samplingProgrammeDesc}, #{aql,jdbcType=DECIMAL}, #{ac,jdbcType=DECIMAL}, #{re,jdbcType=DECIMAL}, #{itemNo}, #{itemDesc}, #{objectId}, #{objectDesc}, #{defaultValue}, #{minValue,jdbcType=DECIMAL}, #{maxValue,jdbcType=DECIMAL}, #{valueTypeDb}, #{valueType})
  1510. </insert>
  1511. <!-- 新增IPQC主记录信息 -->
  1512. <insert id="saveIPQCRecord" parameterType="QcFAIRecordData">
  1513. INSERT INTO qc_ipqc_record (inspection_no, site, state, task_date, inspection_type_no, inspection_cycle, order_no, operation_desc, resource_id, resource_desc, part_no, part_desc, roll_qty, sampling_qty, ssr_id, check_type)
  1514. VALUES(#{inspectionNo}, #{site}, #{state}, getDate(), #{inspectionTypeNo}, #{inspectionCycle,jdbcType=DECIMAL}, #{orderNo}, #{operationDesc}, #{resourceId}, #{resourceDesc}, #{partNo}, #{partDesc}, #{rollQty}, #{samplingQty,jdbcType=DECIMAL}, #{ssrId}, #{checkType})
  1515. </insert>
  1516. <!-- 查询IPQC主记录信息 -->
  1517. <select id="qcIPQCInspectionSearch" parameterType="QcFAIRecordData" resultType="QcFAIRecordData">
  1518. SELECT
  1519. inspection_no,
  1520. site,
  1521. state,
  1522. inspection_result,
  1523. task_date,
  1524. inspection_type_no,
  1525. inspection_cycle,
  1526. order_no,
  1527. operation_desc,
  1528. resource_id,
  1529. resource_desc,
  1530. part_no,
  1531. part_desc,
  1532. inspection_remark,
  1533. roll_qty,
  1534. sampling_qty,
  1535. disposal_measures,
  1536. disposal_remark,
  1537. inspector_date,
  1538. inspector_no,
  1539. ssr_id,
  1540. unqualified_qty,
  1541. submit_flag,
  1542. check_type
  1543. FROM qc_ipqc_record
  1544. <where>
  1545. site = #{query.site}
  1546. <if test = "query.inspectionNo != null and query.inspectionNo != ''">
  1547. AND inspection_no LIKE '%' + #{query.inspectionNo} + '%'
  1548. </if>
  1549. <if test = "query.state != null and query.state != ''">
  1550. AND `state` = #{query.state}
  1551. </if>
  1552. <if test = "query.checkType != null and query.checkType != ''">
  1553. AND check_type = #{query.checkType}
  1554. </if>
  1555. <if test = "query.inspectionResult != null and query.inspectionResult != ''">
  1556. AND inspection_result = #{query.inspectionResult}
  1557. </if>
  1558. <if test = "query.orderNo != null and query.orderNo != ''">
  1559. AND order_no LIKE '%' + #{query.orderNo} + '%'
  1560. </if>
  1561. <if test = "query.operationDesc != null and query.operationDesc != ''">
  1562. AND operation_desc LIKE '%' + #{query.operationDesc} + '%'
  1563. </if>
  1564. <if test="query.startDate != null">
  1565. AND task_date >= #{query.startDate}
  1566. </if>
  1567. <if test="query.endDate != null">
  1568. AND #{query.endDate} >= task_date
  1569. </if>
  1570. </where>
  1571. ORDER BY
  1572. CASE WHEN state = '待检验' THEN 1
  1573. WHEN state = '待审核' THEN 2
  1574. WHEN state = '已完成' THEN 3
  1575. END
  1576. </select>
  1577. <!-- IPQC明细记录查询 -->
  1578. <select id="ipqcDetailSearch" parameterType="QcFAIRecordData" resultType="QcFAIRecordData">
  1579. SELECT
  1580. inspection_no,
  1581. order_no,
  1582. template_id,
  1583. sampling_level_no,
  1584. sampling_level_desc,
  1585. sampling_programme_no,
  1586. sampling_programme_desc,
  1587. AQL,
  1588. AC,
  1589. RE,
  1590. item_no,
  1591. item_desc,
  1592. object_id,
  1593. object_desc,
  1594. default_value,
  1595. min_value,
  1596. max_value,
  1597. value_type_db,
  1598. value_type,
  1599. item_result,
  1600. is_submit,
  1601. unqualified_quantity
  1602. FROM qc_ipqc_detailed_record
  1603. WHERE inspection_no = #{inspectionNo}
  1604. </select>
  1605. <!-- 删除IPQC检验记录 -->
  1606. <delete id="deleteIPQCRecord" parameterType="QcFAIRecordData">
  1607. DELETE FROM qc_ipqc_record
  1608. WHERE inspection_no = #{inspectionNo}
  1609. AND site = #{site}
  1610. </delete>
  1611. <!-- 删除IPQC明细记录信息 -->
  1612. <delete id="deleteIPQCDetailedRecord" parameterType="QcFAIRecordData">
  1613. DELETE FROM qc_ipqc_detailed_record
  1614. WHERE inspection_no = #{inspectionNo}
  1615. </delete>
  1616. <!-- 删除IPQC子明细记录信息 -->
  1617. <delete id="deleteIPQCSubDetailedRecord" parameterType="QcFAIRecordData">
  1618. DELETE FROM qc_ipqc_sub_detail_record
  1619. WHERE inspection_no = #{inspectionNo}
  1620. </delete>
  1621. <!-- 修改IPQC主记录信息 -->
  1622. <update id="updateIPQCMasterRecord" parameterType="QcFAIRecordData">
  1623. UPDATE qc_ipqc_record
  1624. SET disposal_measures = #{disposalMeasures},
  1625. disposal_remark = #{disposalRemark},
  1626. inspection_result = #{inspectionResult},
  1627. inspector_no = #{inspectorNo},
  1628. state = #{state},
  1629. inspection_remark = #{inspectionRemark},
  1630. inspector_date = getDate()
  1631. WHERE site = #{site}
  1632. AND inspection_no = #{inspectionNo}
  1633. </update>
  1634. <!-- 修改IPQC明细记录信息 -->
  1635. <update id="updateIPQCDetailedRecord" parameterType="QcFAIRecordData">
  1636. UPDATE qc_ipqc_detailed_record
  1637. SET item_result = #{itemResult},
  1638. unqualified_quantity = #{unqualifiedQuantity,jdbcType=DECIMAL}
  1639. WHERE inspection_no = #{inspectionNo}
  1640. AND item_no = #{itemNo}
  1641. </update>
  1642. <!-- 修改IPQC主记录标识为已提交 -->
  1643. <update id="updateIPQCMasterSubmitFlag" parameterType="QcFAIRecordData">
  1644. UPDATE qc_ipqc_record
  1645. SET submit_flag = 'Y',
  1646. state = '已完成'
  1647. WHERE inspection_no = #{inspectionNo}
  1648. AND site = #{site}
  1649. </update>
  1650. <!-- 修改IPQC明细记录标识为已提交 -->
  1651. <update id="updateIPQCDetailSubmitFlag" parameterType="QcFAIRecordData">
  1652. UPDATE qc_ipqc_detailed_record
  1653. SET is_submit = 'Y'
  1654. WHERE inspection_no = #{inspectionNo}
  1655. </update>
  1656. <!-- 修改IPQC子明细记录标识为已提交 -->
  1657. <update id="updateIPQCSubDetailSubmitFlag" parameterType="QcFAIRecordData">
  1658. UPDATE qc_ipqc_sub_detail_record
  1659. SET is_submit = 'Y'
  1660. WHERE inspection_no = #{inspectionNo}
  1661. </update>
  1662. <!-- 删除IPQC子明细的老数据 -->
  1663. <delete id="delIPQCSubDetailedRecord" parameterType="QcSubDetailInformationData">
  1664. DELETE FROM qc_ipqc_sub_detail_record
  1665. WHERE inspection_no = #{inspectionNo}
  1666. AND item_no = #{itemNo}
  1667. </delete>
  1668. <!-- 新增IPQC子明细信息 -->
  1669. <insert id="saveIPQCSubDetailed">
  1670. INSERT INTO qc_ipqc_sub_detail_record
  1671. (inspection_no, item_no, sub_detail_value, sampling_location)
  1672. VALUES
  1673. <foreach collection="list" item="item" separator=",">
  1674. (#{item.inspectionNo}, #{item.itemNo}, #{item.subDetailValue}, #{item.samplingLocation})
  1675. </foreach>
  1676. </insert>
  1677. <!-- 查询IPQC的子明细 -->
  1678. <select id="selectIPQCSubDetailedRecord" parameterType="SubDetailValues" resultType="SubDetailValues">
  1679. SELECT sub_detail_value,
  1680. sampling_location,
  1681. is_submit
  1682. FROM qc_ipqc_sub_detail_record
  1683. WHERE inspection_no = #{inspectionNo}
  1684. AND item_no = #{itemNo}
  1685. </select>
  1686. <!-- 查询IPQC检验记录是否已提交 -->
  1687. <select id="checkIPQCIsSubmit" parameterType="SubDetailValues" resultType="QcFAIRecordData">
  1688. SELECT submit_flag
  1689. FROM qc_ipqc_record
  1690. WHERE inspection_no = #{inspectionNo}
  1691. AND site = #{site}
  1692. </select>
  1693. <!-- 获取该项目的子明细值 -->
  1694. <select id="selectIPQCSubDetailValue" parameterType="string" resultType="SubDetailValues">
  1695. SELECT sub_detail_value,
  1696. sampling_location,
  1697. is_submit
  1698. FROM qc_ipqc_sub_detail_record
  1699. WHERE inspection_no = #{inspectionNo}
  1700. AND item_no = #{itemNo}
  1701. </select>
  1702. <!-- 查询工序列表 -->
  1703. <select id="getOperationList" parameterType="QcFAIRecordData" resultType="QcFAIRecordData">
  1704. SELECT
  1705. j.part_no,
  1706. j.part_desc,
  1707. c.operation_desc as operationDesc,
  1708. a.itemno as operationNo
  1709. FROM soscheduledrouting as a
  1710. LEFT JOIN sfdc as b
  1711. ON a.site = b.site and a.seqno = b.assjob_seq_no
  1712. LEFT JOIN so_routing as c
  1713. ON c.order_no = a.orderno and a.itemno = c.item_no and c.site = a.site
  1714. LEFT JOIN part j
  1715. ON a.site = j.site and a.part_no = j.part_no
  1716. WHERE b.approve_qty is not null
  1717. AND a.orderno = #{orderNo}
  1718. ORDER BY a.id desc
  1719. </select>
  1720. <!-- 根据工单号和工序号查出所有数据 -->
  1721. <select id="getResourceList" parameterType="QcFAIRecordData" resultType="QcFAIRecordData">
  1722. SELECT
  1723. a.s_resourceid as resourceId,
  1724. DBO.getResourceDesc(a.site, a.s_resourceid) as resourceDesc
  1725. FROM soscheduledrouting as a
  1726. LEFT JOIN sfdc as b
  1727. ON a.site = b.site and a.seqno = b.assjob_seq_no
  1728. LEFT JOIN so_routing as c
  1729. ON c.order_no = a.orderno and a.itemno = c.item_no and c.site = a.site
  1730. LEFT JOIN part j
  1731. ON a.site = j.site and a.part_no = j.part_no
  1732. WHERE b.approve_qty is not null
  1733. AND a.orderno = #{orderNo}
  1734. AND c.operation_desc = #{operationDesc}
  1735. ORDER BY a.id desc
  1736. </select>
  1737. <!-- 查询机台名称 -->
  1738. <select id="selectResourceDesc" parameterType="QcFAIRecordData" resultType="QcFAIRecordData">
  1739. SELECT distinct
  1740. resource_desc
  1741. FROM resource
  1742. WHERE site = #{site}
  1743. AND resource_id = #{resourceId}
  1744. </select>
  1745. <!-- 查询物料名称 -->
  1746. <select id="selectPartDesc" parameterType="QcFAIRecordData" resultType="QcFAIRecordData">
  1747. SELECT distinct
  1748. part_desc
  1749. FROM part
  1750. WHERE site = #{site}
  1751. AND part_no = #{partNo}
  1752. </select>
  1753. <!-- ================================================= IQC检验维护 ================================================= -->
  1754. <!-- 查询IQC基础数据 -->
  1755. <select id="selectIQCBasicData" resultType="QcFAIRecordData">
  1756. SELECT
  1757. qir.inspection_no,
  1758. qir.state,
  1759. qir.create_date as taskDate,
  1760. qir.roll_no,
  1761. qir.part_no,
  1762. p.part_desc,
  1763. qir.roll_qty,
  1764. qir.print_flag,
  1765. qir.create_by,
  1766. qir.supplier_no,
  1767. qir.site,
  1768. qir.po_orderNo,
  1769. qir.po_itemNo
  1770. FROM qc_iqc_record as qir
  1771. LEFT JOIN part p
  1772. ON qir.part_no = p.part_no
  1773. </select>
  1774. <!-- 获取最大IQC检验记录编码 -->
  1775. <select id="queryLastIQCInspectionNo" resultType="string" parameterType="QcFAIRecordData">
  1776. SELECT top 1 inspection_no
  1777. FROM qc_iqc_record
  1778. where site = #{site}
  1779. ORDER BY inspection_no Desc
  1780. </select>
  1781. <!-- 新增IQC明细记录信息 -->
  1782. <insert id="saveIQCDetailedRecord" parameterType="QcFAIRecordData">
  1783. INSERT INTO qc_iqc_detailed_record (inspection_no, template_id, sampling_level_no, sampling_level_desc, sampling_programme_no, sampling_programme_desc, AQL, AC, RE, item_no, item_desc, object_id, object_desc, default_value, min_value, max_value, value_type_db, value_type)
  1784. VALUES(#{inspectionNo}, #{templateId}, #{samplingLevelNo}, #{samplingLevelDesc}, #{samplingProgrammeNo}, #{samplingProgrammeDesc}, #{aql,jdbcType=DECIMAL}, #{ac,jdbcType=DECIMAL}, #{re,jdbcType=DECIMAL}, #{itemNo}, #{itemDesc}, #{objectId}, #{objectDesc}, #{defaultValue}, #{minValue,jdbcType=DECIMAL}, #{maxValue,jdbcType=DECIMAL}, #{valueTypeDb}, #{valueType})
  1785. </insert>
  1786. <!-- 修改IQC检验记录 -->
  1787. <update id="updateIQCRecord" parameterType="QcFAIRecordData">
  1788. UPDATE qc_iqc_record
  1789. SET inspection_type_no = #{inspectionTypeNo},
  1790. sampling_qty = #{samplingQty},
  1791. inspection_cycle = #{inspectionCycle},
  1792. part_desc = #{partDesc}
  1793. WHERE inspection_no = #{inspectionNo}
  1794. AND site = #{site}
  1795. </update>
  1796. <!-- 查询IQC主记录信息 -->
  1797. <select id="qcIQCInspectionSearch" parameterType="QcFAIRecordData" resultType="QcFAIRecordData">
  1798. SELECT
  1799. inspection_no,
  1800. site,
  1801. state,
  1802. inspection_result,
  1803. create_date as taskDate,
  1804. inspection_type_no,
  1805. inspection_cycle,
  1806. part_no,
  1807. part_desc,
  1808. inspection_remark,
  1809. roll_qty,
  1810. sampling_qty,
  1811. disposal_measures,
  1812. disposal_remark,
  1813. inspector_date,
  1814. inspector_no,
  1815. unqualified_quantity,
  1816. submit_flag,
  1817. roll_no,
  1818. supplier_no
  1819. FROM qc_iqc_record
  1820. <where>
  1821. site = #{query.site}
  1822. <if test = "query.inspectionNo != null and query.inspectionNo != ''">
  1823. AND inspection_no LIKE '%' + #{query.inspectionNo} + '%'
  1824. </if>
  1825. <if test = "query.state != null and query.state != ''">
  1826. AND state = #{query.state}
  1827. </if>
  1828. <if test = "query.inspectionResult != null and query.inspectionResult != ''">
  1829. AND inspection_result = #{query.inspectionResult}
  1830. </if>
  1831. <if test="query.startDate != null">
  1832. AND create_date >= #{query.startDate}
  1833. </if>
  1834. <if test="query.endDate != null">
  1835. AND #{query.endDate} >= create_date
  1836. </if>
  1837. </where>
  1838. ORDER BY
  1839. CASE WHEN state = '待检验' THEN 1
  1840. WHEN state = '待审核' THEN 2
  1841. WHEN state = '已完成' THEN 3
  1842. END
  1843. </select>
  1844. <!-- IQC明细记录查询 -->
  1845. <select id="iqcDetailSearch" parameterType="QcFAIRecordData" resultType="QcFAIRecordData">
  1846. SELECT
  1847. inspection_no,
  1848. template_id,
  1849. sampling_level_no,
  1850. sampling_level_desc,
  1851. sampling_programme_no,
  1852. sampling_programme_desc,
  1853. AQL,
  1854. AC,
  1855. RE,
  1856. item_no,
  1857. item_desc,
  1858. object_id,
  1859. object_desc,
  1860. default_value,
  1861. min_value,
  1862. max_value,
  1863. value_type_db,
  1864. value_type,
  1865. item_result,
  1866. is_submit,
  1867. unqualified_quantity
  1868. FROM qc_iqc_detailed_record
  1869. WHERE inspection_no = #{inspectionNo}
  1870. </select>
  1871. <!-- 查询IQC的子明细 -->
  1872. <select id="selectIQCSubDetailedRecord" parameterType="SubDetailValues" resultType="SubDetailValues">
  1873. SELECT sub_detail_value,
  1874. sampling_location,
  1875. is_submit
  1876. FROM qc_iqc_sub_detail_record
  1877. WHERE inspection_no = #{inspectionNo}
  1878. AND item_no = #{itemNo}
  1879. </select>
  1880. <!-- 获取该项目的子明细值 -->
  1881. <select id="selectIQCSubDetailValue" parameterType="string" resultType="SubDetailValues">
  1882. SELECT sub_detail_value,
  1883. sampling_location,
  1884. is_submit
  1885. FROM qc_iqc_sub_detail_record
  1886. WHERE inspection_no = #{inspectionNo}
  1887. AND item_no = #{itemNo}
  1888. </select>
  1889. <!-- 修改IQC主记录信息 -->
  1890. <update id="updateIQCMasterRecord" parameterType="QcFAIRecordData">
  1891. UPDATE qc_iqc_record
  1892. SET disposal_measures = #{disposalMeasures},
  1893. disposal_remark = #{disposalRemark},
  1894. inspection_result = #{inspectionResult},
  1895. inspector_no = #{inspectorNo},
  1896. state = #{state},
  1897. inspection_remark = #{inspectionRemark},
  1898. inspector_date = getDate()
  1899. WHERE site = #{site}
  1900. AND inspection_no = #{inspectionNo}
  1901. </update>
  1902. <!-- 修改IQC明细记录信息 -->
  1903. <update id="updateIQCDetailedRecord" parameterType="QcFAIRecordData">
  1904. UPDATE qc_iqc_detailed_record
  1905. SET item_result = #{itemResult},
  1906. unqualified_quantity = #{unqualifiedQuantity,jdbcType=DECIMAL}
  1907. WHERE inspection_no = #{inspectionNo}
  1908. AND item_no = #{itemNo}
  1909. </update>
  1910. <!-- 查询该记录明细是否已存在 -->
  1911. <select id="checkIQCDetail" parameterType="QcFAIRecordData" resultType="QcFAIRecordData">
  1912. SELECT inspection_no,
  1913. template_id
  1914. FROM qc_iqc_detailed_record
  1915. WHERE inspection_no = #{inspectionNo}
  1916. </select>
  1917. <!-- 查询IQC检验记录是否已提交 -->
  1918. <select id="checkIQCIsSubmit" parameterType="SubDetailValues" resultType="QcFAIRecordData">
  1919. SELECT submit_flag
  1920. FROM qc_iqc_record
  1921. WHERE inspection_no = #{inspectionNo}
  1922. AND site = #{site}
  1923. </select>
  1924. <!-- 删除IQC子明细的老数据 -->
  1925. <delete id="delIQCSubDetailedRecord" parameterType="QcSubDetailInformationData">
  1926. DELETE FROM qc_iqc_sub_detail_record
  1927. WHERE inspection_no = #{inspectionNo}
  1928. AND item_no = #{itemNo}
  1929. </delete>
  1930. <!-- 新增IQC子明细信息 -->
  1931. <insert id="saveIQCSubDetailed">
  1932. INSERT INTO qc_iqc_sub_detail_record
  1933. (inspection_no, item_no, sub_detail_value, sampling_location)
  1934. VALUES
  1935. <foreach collection="list" item="item" separator=",">
  1936. (#{item.inspectionNo}, #{item.itemNo}, #{item.subDetailValue}, #{item.samplingLocation})
  1937. </foreach>
  1938. </insert>
  1939. <!-- 修改IQC主记录标识为已提交 -->
  1940. <update id="updateIQCMasterSubmitFlag" parameterType="QcFAIRecordData">
  1941. UPDATE qc_iqc_record
  1942. SET submit_flag = 'Y',
  1943. state = '已完成'
  1944. WHERE inspection_no = #{inspectionNo}
  1945. AND site = #{site}
  1946. </update>
  1947. <!-- 修改IQC明细记录标识为已提交 -->
  1948. <update id="updateIQCDetailSubmitFlag" parameterType="QcFAIRecordData">
  1949. UPDATE qc_iqc_detailed_record
  1950. SET is_submit = 'Y'
  1951. WHERE inspection_no = #{inspectionNo}
  1952. </update>
  1953. <!-- 修改IQC子明细记录标识为已提交 -->
  1954. <update id="updateIQCSubDetailSubmitFlag" parameterType="QcFAIRecordData">
  1955. UPDATE qc_iqc_sub_detail_record
  1956. SET is_submit = 'Y'
  1957. WHERE inspection_no = #{inspectionNo}
  1958. </update>
  1959. <!-- 删除IQC检验记录 -->
  1960. <delete id="deleteIQCRecord" parameterType="QcFAIRecordData">
  1961. DELETE FROM qc_iqc_record
  1962. WHERE inspection_no = #{inspectionNo}
  1963. AND site = #{site}
  1964. </delete>
  1965. <!-- 删除IQC明细记录信息 -->
  1966. <delete id="deleteIQCDetailedRecord" parameterType="QcFAIRecordData">
  1967. DELETE FROM qc_iqc_detailed_record
  1968. WHERE inspection_no = #{inspectionNo}
  1969. </delete>
  1970. <!-- 删除IQC子明细记录信息 -->
  1971. <delete id="deleteIQCSubDetailedRecord" parameterType="QcFAIRecordData">
  1972. DELETE FROM qc_iqc_sub_detail_record
  1973. WHERE inspection_no = #{inspectionNo}
  1974. </delete>
  1975. <!-- 查询文件ID -->
  1976. <select id="queryFileId" parameterType="SysOssEntity" resultType="SysOssEntity">
  1977. SELECT id, file_name
  1978. FROM sys_oss
  1979. WHERE order_ref1 = #{orderRef1}
  1980. AND order_ref2 = #{orderRef2}
  1981. </select>
  1982. <!-- 获取工序列表 -->
  1983. <select id="getOperationDescList" parameterType="QcPartAttributeData" resultType="QcPartAttributeData">
  1984. SELECT distinct
  1985. operation_desc
  1986. FROM so_routing
  1987. <where>
  1988. <if test = "operationDesc != null and operationDesc != ''">
  1989. AND operation_desc LIKE '%' + #{operationDesc} + '%'
  1990. </if>
  1991. </where>
  1992. </select>
  1993. <!-- 获取供应商列表 -->
  1994. <select id="getManufacturerList" parameterType="QcPartAttributeData" resultType="QcPartAttributeData">
  1995. SELECT
  1996. ManufacturerID,
  1997. ManufacturerName
  1998. FROM eam_manufacturer
  1999. <where>
  2000. site = #{site}
  2001. AND Active = 'Y'
  2002. <if test = "manufacturerID != null and manufacturerID != ''">
  2003. AND ManufacturerID LIKE '%' + #{manufacturerID} + '%'
  2004. </if>
  2005. <if test = "manufacturerName != null and manufacturerName != ''">
  2006. AND ManufacturerName LIKE '%' + #{manufacturerName} + '%'
  2007. </if>
  2008. </where>
  2009. </select>
  2010. </mapper>