赫艾后端
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.

4330 lines
197 KiB

3 weeks ago
4 weeks ago
4 weeks ago
4 weeks ago
4 weeks ago
4 weeks ago
4 weeks ago
4 weeks ago
4 weeks ago
2 months ago
4 weeks ago
3 weeks ago
4 weeks 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.heai.modules.pms.mapper.QcMapper">
  4. <!-- ================================================= 检验方法 ================================================= -->
  5. <!-- 条件查询检验方法 -->
  6. <select id="qcMethodSearch" parameterType="com.heai.modules.pms.data.QcMethodData" resultType="com.heai.modules.pms.data.QcMethodData">
  7. SELECT
  8. qm.site,
  9. qm.bu_no,
  10. qm.method_no,
  11. qm.method_name,
  12. qm.create_date,
  13. qm.create_by,
  14. dbo.getOperatorDesc(qm.site, qm.create_by) as createByDesc,
  15. qm.method_remark,
  16. qm.update_date,
  17. qm.update_by,
  18. dbo.getOperatorDesc(qm.site, qm.update_by) as updateByDesc,
  19. qm.inspection_type_no,
  20. qit.inspection_type_name
  21. FROM qc_method as qm
  22. LEFT JOIN qc_inspection_type as qit on qm.site = qit.site and qm.inspection_type_no = qit.inspection_type_no
  23. <where>
  24. <if test="query.site != null and query.site != ''">
  25. AND qm.site = #{query.site}
  26. </if>
  27. <if test="query.methodNo != null and query.methodNo != ''">
  28. AND qm.method_no LIKE '%' + #{query.methodNo} +'%'
  29. </if>
  30. <if test="query.methodName != null and query.methodName != ''">
  31. AND qm.method_name LIKE '%' + #{query.methodName} +'%'
  32. </if>
  33. <if test="query.inspectionTypeNo != null and query.inspectionTypeNo != ''">
  34. AND qm.inspection_type_no = #{query.inspectionTypeNo}
  35. </if>
  36. </where>
  37. </select>
  38. <!-- 获得检验方法单号 -->
  39. <select id="getMethodNo" resultType="string" parameterType="com.heai.modules.pms.data.QcMethodData">
  40. SELECT
  41. Right('0000' + convert(varchar(10),isnull(max(convert(INT,Right(method_no,4))),0)+1),4)
  42. FROM qc_method
  43. WHERE site = #{site} AND inspection_type_no = #{inspectionTypeNo} and bu_no = #{buNo}
  44. </select>
  45. <!-- 新增检验方法 -->
  46. <insert id="qcMethodSave" parameterType="com.heai.modules.pms.data.QcMethodData">
  47. INSERT INTO qc_method (site, bu_no, method_no, method_name, create_date, create_by, method_remark, update_date, update_by, inspection_type_no)
  48. VALUES (#{site}, #{buNo}, #{methodNo}, #{methodName}, GetDate(), #{createBy}, #{methodRemark}, getDate(), #{updateBy}, #{inspectionTypeNo})
  49. </insert>
  50. <!-- 修改检验方法 -->
  51. <update id="qcMethodUpdate" parameterType="com.heai.modules.pms.data.QcMethodData">
  52. UPDATE qc_method
  53. SET method_name = #{methodName},
  54. method_remark = #{methodRemark},
  55. update_date = getDate(),
  56. update_by = #{updateBy},
  57. inspection_type_no = #{inspectionTypeNo}
  58. WHERE site = #{site} and method_no = #{methodNo}
  59. </update>
  60. <!-- 检查方法是否在被项目使用 -->
  61. <select id="checkMethodIsUsed" parameterType="com.heai.modules.pms.data.QcMethodData" resultType="com.heai.modules.pms.data.EamPropertiesItemData">
  62. SELECT
  63. ItemNo
  64. FROM qc_method_item
  65. WHERE site = #{site} and method_no = #{methodNo} and bu_no = #{buNo}
  66. </select>
  67. <!-- 删除检验方法 -->
  68. <delete id="qcMethodDelete" parameterType="com.heai.modules.pms.data.QcMethodData">
  69. DELETE FROM qc_method
  70. WHERE site = #{site} and method_no = #{methodNo}
  71. </delete>
  72. <!-- ================================================= 检验项目 ================================================= -->
  73. <!-- 根据条件查询检验项目 -->
  74. <select id="qcItemSearch" parameterType="com.heai.modules.pms.data.QcItemData" resultType="com.heai.modules.pms.data.QcItemData">
  75. SELECT
  76. epi.site,
  77. epi.bu_no,
  78. epi.ItemNo,
  79. epi.ItemDesc,
  80. epi.DefaultValue,
  81. epi.ValueType,
  82. epi.ValueType_DB as valueTypeDb,
  83. epi.ValueChooseFlag,
  84. epi.CreatedDate,
  85. epi.CreatedBy,
  86. dbo.getOperatorDesc(epi.site, epi.CreatedBy) as createdByDesc,
  87. epi.MaxValue,
  88. epi.MinValue,
  89. epi.ItemRemark,
  90. epi.ItemType,
  91. epi.update_date,
  92. epi.update_by,
  93. dbo.getOperatorDesc(epi.site, epi.update_by) as updateByDesc,
  94. qm.method_no,
  95. qm.method_name,
  96. qm.method_remark,
  97. epi.inspection_type_no,
  98. qit.inspection_type_name,
  99. epi.item_sampling_quantity,
  100. epi.sampling_programme_no,
  101. qsip.sampling_programme_desc,
  102. epi.sampling_level_no,
  103. qsil.sampling_level_desc,
  104. epi.default_sampling_proportion,
  105. epi.collection_flag,
  106. epi.collection_source,
  107. epi.collection_method,
  108. CASE WHEN epi.collection_method = 'plc' THEN 'PLC'
  109. WHEN epi.collection_method = 'file' THEN '文件'
  110. WHEN epi.collection_method = 'image' THEN '图片'
  111. else '' end as collectionMethodDesc,
  112. epi.collection_condition,
  113. epi.collection_data_content
  114. FROM eam_properties_item as epi
  115. LEFT JOIN qc_method_item as qmi on epi.ItemNo = qmi.ItemNo and epi.site = qmi.site
  116. LEFT JOIN qc_method as qm on qmi.method_no = qm.method_no and qmi.site = qm.site
  117. LEFT JOIN qc_inspection_type as qit on qit.inspection_type_no = epi.inspection_type_no and qit.site = epi.site
  118. left join qc_sampling_inspection_programme as qsip on qsip.site = epi.site and qsip.sampling_programme_no = epi.sampling_programme_no
  119. left join qc_sampling_inspection_level as qsil on qsil.site = epi.site and qsil.sampling_level_no = epi.sampling_level_no
  120. <where>
  121. <if test="query.site != null and query.site != ''">
  122. AND epi.site LIKE '%' + #{query.site} +'%'
  123. </if>
  124. <if test="query.itemDesc != null and query.itemDesc != ''">
  125. AND epi.ItemDesc LIKE '%' + #{query.itemDesc} +'%'
  126. </if>
  127. <if test="query.itemNo != null and query.itemNo != ''">
  128. AND epi.ItemNo LIKE '%' + #{query.itemNo} +'%'
  129. </if>
  130. <if test="query.inspectionTypeNo != null and query.inspectionTypeNo != ''">
  131. AND epi.inspection_type_no = #{query.inspectionTypeNo}
  132. </if>
  133. </where>
  134. </select>
  135. <!-- 检测是否存在该项目 -->
  136. <select id="checkQcItem" parameterType="com.heai.modules.pms.data.QcItemData" resultType="com.heai.modules.pms.data.QcItemData">
  137. SELECT ItemNo,
  138. ItemDesc
  139. FROM eam_properties_item
  140. WHERE site = #{site} and ItemNo = #{itemNo} and ItemType = #{itemType}
  141. </select>
  142. <!-- 获得检验项目单号 -->
  143. <select id="getItemNo" resultType="string" parameterType="com.heai.modules.pms.data.QcItemData">
  144. SELECT
  145. Right('0000' + convert(varchar(10),isnull(max(convert(INT,Right(ItemNo,4))),0)+1),4)
  146. FROM eam_properties_item
  147. WHERE site = #{site} and ItemType = 'D' and inspection_type_no = #{inspectionTypeNo} and bu_no = #{buNo}
  148. </select>
  149. <!-- 新增检验项目 -->
  150. <insert id="qcItemSave" parameterType="com.heai.modules.pms.data.QcItemData">
  151. INSERT INTO eam_properties_item (site,bu_no,ItemNo, ItemDesc, DefaultValue, ValueType, ValueType_DB, ValueChooseFlag, CreatedDate, CreatedBy, MaxValue, MinValue, ItemRemark, ItemType, update_date, update_by, inspection_type_no, item_sampling_quantity, sampling_programme_no, sampling_level_no, default_sampling_proportion, collection_flag, collection_source, collection_method, collection_condition, collection_data_content)
  152. VALUES (#{site},#{buNo}, #{itemNo}, #{itemDesc}, #{defaultValue}, #{valueType}, #{valueTypeDb}, #{valueChooseFlag}, GetDate(), #{createdBy}, #{maxValue,jdbcType=DECIMAL}, #{minValue,jdbcType=DECIMAL}, #{itemRemark}, #{itemType}, getDate(), #{updateBy}, #{inspectionTypeNo}, #{itemSamplingQuantity}, #{samplingProgrammeNo}, #{samplingLevelNo}, #{defaultSamplingProportion}, #{collectionFlag}, #{collectionSource}, #{collectionMethod}, #{collectionCondition}, #{collectionDataContent})
  153. </insert>
  154. <!-- 新增项目里的方法 -->
  155. <insert id="qcItemMethodSave" parameterType="com.heai.modules.pms.data.QcItemData">
  156. INSERT INTO qc_method_item (ItemNo, method_no, site,bu_no)
  157. VALUES (#{itemNo}, #{methodNo}, #{site},#{buNo})
  158. </insert>
  159. <!-- 修改检验项目 -->
  160. <update id="qcItemUpdate" parameterType="com.heai.modules.pms.data.QcItemData">
  161. UPDATE eam_properties_item
  162. SET ItemDesc = #{itemDesc},
  163. DefaultValue = #{defaultValue},
  164. ValueType = #{valueType},
  165. ValueType_DB = #{valueTypeDb},
  166. ValueChooseFlag = #{valueChooseFlag},
  167. MaxValue = #{maxValue,jdbcType=DECIMAL},
  168. MinValue = #{minValue,jdbcType=DECIMAL},
  169. ItemRemark = #{itemRemark},
  170. update_date = getDate(),
  171. update_by = #{updateBy},
  172. inspection_type_no = #{inspectionTypeNo},
  173. item_sampling_quantity = #{itemSamplingQuantity},
  174. sampling_programme_no = #{samplingProgrammeNo},
  175. sampling_level_no = #{samplingLevelNo},
  176. default_sampling_proportion = #{defaultSamplingProportion},
  177. collection_flag = #{collectionFlag},
  178. collection_source = #{collectionSource},
  179. collection_method = #{collectionMethod},
  180. collection_condition = #{collectionCondition},
  181. collection_data_content = #{collectionDataContent}
  182. WHERE site = #{site} and ItemNo = #{itemNo} and ItemType = #{itemType}
  183. </update>
  184. <!-- 修改项目中的方法 -->
  185. <update id="qcItemMethodUpdate" parameterType="com.heai.modules.pms.data.QcItemData">
  186. UPDATE qc_method_item
  187. SET method_no = #{methodNo}
  188. WHERE site = #{site} and ItemNo = #{itemNo}
  189. </update>
  190. <!-- 检查项目是否在被模板使用 -->
  191. <select id="checkItemIsUsed" parameterType="com.heai.modules.pms.data.QcItemData" resultType="com.heai.modules.pms.data.EamPropertiesModelDetailData">
  192. SELECT template_id
  193. FROM qc_template_detailed
  194. WHERE site = #{site} and ItemNo = #{itemNo} and bu_no = #{buNo}
  195. </select>
  196. <!-- 删除检验项目 -->
  197. <delete id="qcItemDelete" parameterType="com.heai.modules.pms.data.QcItemData">
  198. DELETE
  199. FROM eam_properties_item
  200. WHERE site = #{site} and ItemNo = #{itemNo} and ItemType = #{itemType}
  201. </delete>
  202. <!-- 删除项目-方法中间表数据 -->
  203. <delete id="qcItemMethodDelete" parameterType="com.heai.modules.pms.data.QcItemData">
  204. DELETE
  205. FROM qc_method_item
  206. WHERE site = #{site} and ItemNo = #{itemNo}
  207. </delete>
  208. <!-- ================================================= 质检员信息维护 ================================================= -->
  209. <!-- 查询质检员信息列表 -->
  210. <select id="inspectorSearch" resultType="com.heai.modules.pms.data.QcInspectorData">
  211. SELECT inspector_no,
  212. inspector_name,
  213. inspector_phone,
  214. inspector_type,
  215. inspector_active
  216. FROM qc_inspector
  217. </select>
  218. <!-- 检验是否已存在该质检员 -->
  219. <select id="checkInspector" resultType="com.heai.modules.pms.data.QcInspectorData">
  220. SELECT inspector_name
  221. FROM qc_inspector
  222. WHERE inspector_no = #{inspectorNo}
  223. </select>
  224. <!-- 新增质检员 -->
  225. <insert id="inspectorSave" parameterType="com.heai.modules.pms.data.QcInspectorData">
  226. INSERT INTO qc_inspector (inspector_no, inspector_name, inspector_phone, inspector_type, inspector_active, create_time)
  227. VALUES (#{inspectorNo}, #{inspectorName}, #{inspectorPhone}, #{inspectorType}, #{inspectorActive}, getDate())
  228. </insert>
  229. <!-- 修改质检员 -->
  230. <update id="inspectorUpdate" parameterType="com.heai.modules.pms.data.QcInspectorData">
  231. UPDATE qc_inspector
  232. SET inspector_name = #{inspectorName},
  233. inspector_phone = #{inspectorPhone},
  234. inspector_type = #{inspectorType},
  235. inspector_active = #{inspectorActive}
  236. WHERE inspector_no = #{inspectorNo}
  237. </update>
  238. <!-- 删除质检员 -->
  239. <delete id="inspectorDelete" parameterType="com.heai.modules.pms.data.QcInspectorData">
  240. DELETE FROM qc_inspector
  241. WHERE inspector_no = #{inspectorNo}
  242. </delete>
  243. <!-- ================================================= 抽样矩阵维护 ================================================= -->
  244. <!-- 查询抽样矩阵 -->
  245. <select id="samplingInspectionPlanSearch" parameterType="com.heai.modules.pms.data.QcSamplingInspectionPlanData" resultType="com.heai.modules.pms.data.QcSamplingInspectionPlanData">
  246. SELECT
  247. qsip.site,
  248. qsip.bu_no,
  249. qsip.sampling_plan_no,
  250. qsip.sampling_plan_desc,
  251. qsip.sampling_qty_no,
  252. qsiq.sampling_qty,
  253. qsiq.sampling_qty_desc,
  254. qsip.sampling_qty_rank_no,
  255. qsiqr.sampling_qty_rank_desc,
  256. qsiqr.min_qty,
  257. qsiqr.max_qty,
  258. qsip.sampling_level_no,
  259. qsil.sampling_level_desc,
  260. qsip.sampling_plan_active,
  261. case when qsip.sampling_plan_active = 'Y' then '是' when qsip.sampling_plan_active = 'N' then '否' else '' end as samplingPlanActiveDesc,
  262. qsip.create_date,
  263. qsip.create_by,
  264. dbo.getOperatorDesc(qsip.site, qsip.create_by) as createByDesc,
  265. qsip.update_date,
  266. qsip.update_by,
  267. dbo.getOperatorDesc(qsip.site, qsip.update_by) as updateByDesc
  268. FROM qc_sampling_inspection_plan as qsip
  269. LEFT JOIN qc_sampling_inspection_qty as qsiq ON qsip.sampling_qty_no = qsiq.sampling_qty_no and qsip.site = qsiq.site and qsip.bu_no = qsiq.bu_no
  270. LEFT JOIN qc_sampling_inspection_qty_rank as qsiqr ON qsip.sampling_qty_rank_no = qsiqr.sampling_qty_rank_no and qsip.site = qsiqr.site and qsip.bu_no = qsiqr.bu_no
  271. LEFT JOIN qc_sampling_inspection_level as qsil ON qsip.sampling_level_no = qsil.sampling_level_no and qsip.site = qsil.site and qsip.bu_no = qsil.bu_no
  272. <where>
  273. <if test="query.site != null and query.site != ''">
  274. AND qsip.site = #{query.site}
  275. </if>
  276. <if test="query.samplingQtyDesc != null and query.samplingQtyDesc != ''">
  277. AND qsiq.sampling_qty_desc LIKE '%' + #{query.samplingQtyDesc}+'%'
  278. </if>
  279. <if test="query.samplingLevelDesc != null and query.samplingLevelDesc != ''">
  280. AND qsil.sampling_level_desc LIKE '%' + #{query.samplingLevelDesc}+'%'
  281. </if>
  282. <if test="query.samplingPlanActive != null and query.samplingPlanActive != ''">
  283. AND qsip.sampling_plan_active = #{query.samplingPlanActive}
  284. </if>
  285. </where>
  286. </select>
  287. <!-- 根据三个编码查矩阵 -->
  288. <select id="selectSamplingPlanByNo" resultType="com.heai.modules.pms.data.QcSamplingInspectionPlanData" parameterType="com.heai.modules.pms.data.QcSamplingInspectionPlanData">
  289. SELECT
  290. site,
  291. bu_no,
  292. sampling_plan_no,
  293. sampling_qty_no,
  294. sampling_qty_rank_no,
  295. sampling_level_no,
  296. sampling_plan_active
  297. FROM qc_sampling_inspection_plan
  298. WHERE sampling_qty_no = #{samplingQtyNo} AND sampling_qty_rank_no = #{samplingQtyRankNo} AND sampling_level_no = #{samplingLevelNo} AND site = #{site} and bu_no = #{buNo}
  299. </select>
  300. <!-- 根据名称查矩阵 -->
  301. <select id="selectSamplingPlanByDesc" resultType="com.heai.modules.pms.data.QcSamplingInspectionPlanData" parameterType="com.heai.modules.pms.data.QcSamplingInspectionPlanData">
  302. SELECT
  303. site,
  304. bu_no,
  305. sampling_plan_no,
  306. sampling_qty_no,
  307. sampling_qty_rank_no,
  308. sampling_level_no,
  309. sampling_plan_active
  310. FROM qc_sampling_inspection_plan
  311. WHERE sampling_plan_desc = #{samplingPlanDesc} AND site = #{site} and bu_no = #{buNo}
  312. </select>
  313. <!-- 获取最大方矩阵编码 -->
  314. <select id="queryLastSamplingPlanNo" resultType="string" parameterType="com.heai.modules.pms.data.QcSamplingInspectionPlanData">
  315. SELECT top 1 sampling_plan_no
  316. FROM qc_sampling_inspection_plan
  317. where site = #{site} and bu_no = #{buNo}
  318. ORDER BY sampling_plan_no Desc
  319. </select>
  320. <!-- 新增抽样矩阵 -->
  321. <insert id="samplingInspectionPlanSave" parameterType="com.heai.modules.pms.data.QcSamplingInspectionPlanData">
  322. INSERT INTO qc_sampling_inspection_plan (site, bu_no, 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)
  323. VALUES (#{site}, #{buNo}, #{samplingPlanNo}, #{samplingPlanDesc}, #{samplingQtyRankNo}, #{samplingLevelNo}, #{samplingQtyNo}, #{samplingPlanActive}, getDate(), #{createBy}, getDate(), #{updateBy})
  324. </insert>
  325. <!-- 修改抽样矩阵 -->
  326. <update id="samplingInspectionPlanUpdate" parameterType="com.heai.modules.pms.data.QcSamplingInspectionPlanData">
  327. UPDATE qc_sampling_inspection_plan
  328. SET sampling_qty_rank_no = #{samplingQtyRankNo},
  329. sampling_level_no = #{samplingLevelNo},
  330. sampling_qty_no = #{samplingQtyNo},
  331. sampling_plan_active = #{samplingPlanActive},
  332. update_date = getDate(),
  333. update_by = #{updateBy}
  334. WHERE sampling_plan_no = #{samplingPlanNo} AND site = #{site} and bu_no = #{buNo}
  335. </update>
  336. <!-- 删除抽样矩阵 -->
  337. <delete id="samplingInspectionPlanDelete" parameterType="com.heai.modules.pms.data.QcSamplingInspectionPlanData">
  338. DELETE FROM qc_sampling_inspection_plan
  339. WHERE sampling_plan_no = #{samplingPlanNo} AND site = #{site} and bu_no = #{buNo}
  340. </delete>
  341. <!-- ================================================= 检验模板维护 ================================================= -->
  342. <!-- 查询模板 -->
  343. <select id="templateSearch" parameterType="com.heai.modules.pms.data.QcTemplateData" resultType="com.heai.modules.pms.data.QcTemplateData">
  344. SELECT
  345. qt.site,
  346. qt.bu_no,
  347. qt.template_id,
  348. qt.template_name,
  349. qt.template_remark,
  350. qt.template_type,
  351. qt.template_version,
  352. qt.sampling_programme_no,
  353. qsip.sampling_programme_Desc,
  354. qt.inspection_type_no,
  355. qit.inspection_type_name,
  356. qt.sampling_level_no,
  357. qsil.sampling_level_desc,
  358. qt.inspection_cycle,
  359. qt.create_time,
  360. qt.create_by,
  361. dbo.getOperatorDesc(qt.site, qt.create_by) as createByDesc,
  362. qt.update_date,
  363. qt.update_by,
  364. dbo.getOperatorDesc(qt.site, qt.update_by) as updateByDesc,
  365. qt.AQL,
  366. qt.AC,
  367. qt.RE,
  368. qt.default_sampling_quantity,
  369. qt.default_sampling_proportion
  370. FROM qc_template as qt
  371. LEFT JOIN qc_inspection_type as qit on qt.inspection_type_no = qit.inspection_type_no and qt.site = qit.site
  372. LEFT JOIN qc_sampling_inspection_level as qsil on qt.sampling_level_no = qsil.sampling_level_no and qt.site = qsil.site and qt.bu_no = qsil.bu_no
  373. LEFT JOIN qc_sampling_inspection_programme as qsip on qt.sampling_programme_no = qsip.sampling_programme_no and qt.site = qsip.site and qt.bu_no = qsip.bu_no
  374. <where>
  375. <if test = "query.site != null and query.site != ''">
  376. AND qt.site = #{query.site}
  377. </if>
  378. <if test = "query.templateId != null and query.templateId != ''">
  379. AND qt.template_id LIKE '%' + #{query.templateId}+'%'
  380. </if>
  381. <if test = "query.templateName != null and query.templateName != ''">
  382. AND qt.template_name LIKE '%' + #{query.templateName}+'%'
  383. </if>
  384. <if test = "query.inspectionTypeNo != null and query.inspectionTypeNo != ''">
  385. AND qt.inspection_type_no = #{query.inspectionTypeNo}
  386. </if>
  387. </where>
  388. order by qt.create_time desc
  389. </select>
  390. <!-- 获得检验模板单号 -->
  391. <select id="getTemplateNo" resultType="string" parameterType="com.heai.modules.pms.data.QcTemplateData">
  392. SELECT
  393. Right('0000' + convert(varchar(10),isnull(max(convert(INT,Right(template_id,3))),0)+1),3)
  394. FROM qc_template
  395. WHERE site = #{site} and inspection_type_no = #{inspectionTypeNo} and bu_no = #{buNo}
  396. </select>
  397. <!-- 新增模板 -->
  398. <insert id="templateSave" parameterType="com.heai.modules.pms.data.QcTemplateData">
  399. INSERT INTO qc_template (site,bu_no,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)
  400. VALUES (#{site},#{buNo}, #{templateId}, #{templateName},#{templateVersion}, #{templateRemark}, #{templateType}, #{samplingProgrammeNo}, #{inspectionTypeNo}, getDate(), #{createBy}, #{samplingLevelNo}, #{inspectionCycle,jdbcType=DECIMAL}, #{aql}, #{ac}, #{re}, #{defaultSamplingQuantity}, #{defaultSamplingProportion}, getDate(), #{updateBy})
  401. </insert>
  402. <!-- 修改模板 -->
  403. <update id="templateUpdate" parameterType="com.heai.modules.pms.data.QcTemplateData">
  404. UPDATE qc_template
  405. SET template_name = #{templateName},
  406. template_version = #{templateVersion},
  407. template_remark = #{templateRemark},
  408. template_type = #{templateType},
  409. sampling_programme_no = #{samplingProgrammeNo},
  410. inspection_cycle = #{inspectionCycle},
  411. inspection_type_no = #{inspectionTypeNo},
  412. sampling_level_no = #{samplingLevelNo},
  413. AQL = #{aql},
  414. AC = #{ac},
  415. RE = #{re},
  416. default_sampling_quantity = #{defaultSamplingQuantity},
  417. default_sampling_proportion = #{defaultSamplingProportion},
  418. update_date = getDate(),
  419. update_by = #{updateBy}
  420. WHERE template_id = #{templateId} AND site = #{site}
  421. </update>
  422. <!-- 查询模板里的项目详情 -->
  423. <select id="templateDetailsSearch" resultType="com.heai.modules.pms.data.QcTemplateData">
  424. SELECT
  425. a.site,
  426. a.bu_no,
  427. a.template_id,
  428. a.ItemNo,
  429. b.ItemDesc,
  430. a.default_value,
  431. b.ValueType,
  432. b.ValueType_DB,
  433. a.max_value,
  434. a.min_value,
  435. b.ItemRemark,
  436. b.ItemType,
  437. a.object_id,
  438. eo.objectDesc,
  439. b.item_sampling_quantity,
  440. b.sampling_programme_no,
  441. c.sampling_programme_desc,
  442. b.sampling_level_no,
  443. d.sampling_level_desc,
  444. b.default_sampling_proportion,a.order_id
  445. FROM qc_template_detailed a
  446. LEFT JOIN eam_properties_item b ON a.ItemNo = b.ItemNo and a.site = b.site
  447. left join qc_sampling_inspection_programme as c on b.site = c.site and b.sampling_programme_no = c.sampling_programme_no
  448. left join qc_sampling_inspection_level as d on b.site = d.site and b.sampling_level_no = d.sampling_level_no
  449. LEFT JOIN eam_object eo ON a.object_id = eo.ObjectID and a.site = b.site
  450. WHERE a.template_id = #{templateId} AND b.ItemType = #{itemType} and a.site = #{site}
  451. order by order_id,a.ItemNo
  452. </select>
  453. <!-- 查询模板里是否已存在该项目 -->
  454. <select id="selectItemDetails" resultType="com.heai.modules.pms.data.QcTemplateData">
  455. SELECT template_id,
  456. ItemNo,
  457. default_value,
  458. max_value,
  459. min_value
  460. FROM qc_template_detailed
  461. WHERE template_id = #{templateId} and ItemNo = #{itemNo} and site = #{site} and bu_no = #{buNo}
  462. </select>
  463. <!-- 查询项目的最大最小值 -->
  464. <select id="selectDetail" resultType="com.heai.modules.pms.data.QcTemplateData">
  465. SELECT ItemNo,
  466. DefaultValue,
  467. MaxValue,
  468. MinValue
  469. FROM eam_properties_item
  470. WHERE ItemNo = #{itemNo} and ItemType = #{itemType} and site = #{site}
  471. </select>
  472. <!-- 新增模板的检验项目 -->
  473. <insert id="addItemDetails" parameterType="com.heai.modules.pms.data.QcTemplateData">
  474. INSERT INTO qc_template_detailed (template_id, ItemNo, default_value, max_value, min_value, site, bu_no,order_id)
  475. VALUES (#{templateId}, #{itemNo}, #{defaultValue}, #{maxValue,jdbcType=DECIMAL}, #{minValue,jdbcType=DECIMAL}, #{site}, #{buNo},#{orderId})
  476. </insert>
  477. <!-- 删除模板的检验项目 -->
  478. <delete id="delItemDetails" >
  479. DELETE FROM qc_template_detailed
  480. WHERE template_id = #{templateId} and ItemNo = #{itemNo} and site = #{site} and bu_no = #{buNo}
  481. </delete>
  482. <!-- 获取当前模板不包含的项目 -->
  483. <select id="getItemList" resultType="com.heai.modules.pms.data.QcTemplateData">
  484. SELECT
  485. a.site,
  486. a.bu_no,
  487. a.itemNo,
  488. a.ItemDesc,
  489. a.DefaultValue,
  490. a.MaxValue,
  491. a.MinValue
  492. FROM eam_properties_item a
  493. LEFT JOIN qc_template_detailed b ON b.template_id = #{templateId} and b.ItemNo = a.ItemNo and a.site = b.site
  494. WHERE a.ItemType = #{itemType} and a.site = #{site} and b.template_id is null and dbo.qc_get_inspection_type_name(a.site, a.inspection_type_no) = #{inspectionTypeName}
  495. </select>
  496. <!-- 查询项目 -->
  497. <select id="getItem" resultType="com.heai.modules.pms.data.QcTemplateData">
  498. SELECT
  499. a.site,
  500. a.bu_no,
  501. a.itemNo,
  502. a.ItemDesc,
  503. a.DefaultValue,
  504. a.MaxValue,
  505. a.MinValue
  506. FROM eam_properties_item a
  507. LEFT JOIN qc_template_detailed b ON b.template_id = #{templateId} and b.ItemNo = a.ItemNo and a.site = b.site and a.bu_no = b.bu_no
  508. <where>
  509. a.ItemType = #{itemType} and a.site = #{site} and b.template_id is null and a.bu_no = #{buNo} and dbo.qc_get_inspection_type_name(a.site, a.inspection_type_no) = #{inspectionTypeName}
  510. <if test = "itemNo != null and itemNo != ''">
  511. AND a.ItemNo LIKE '%' + #{itemNo} + '%'
  512. </if>
  513. <if test = "itemDesc != null and itemDesc != ''">
  514. AND a.ItemDesc LIKE '%' + #{itemDesc} + '%'
  515. </if>
  516. <if test = "inspectionTypeNo != null and inspectionTypeNo != ''">
  517. AND a.inspection_type_no = #{inspectionTypeNo}
  518. </if>
  519. </where>
  520. </select>
  521. <!-- 删除模板 -->
  522. <delete id="templateDelete" parameterType="com.heai.modules.pms.data.QcTemplateData">
  523. DELETE FROM qc_template
  524. WHERE template_id = #{templateId} AND site = #{site}
  525. </delete>
  526. <!-- 删除模板-项目中间表 -->
  527. <delete id="itemItemDelete" parameterType="com.heai.modules.pms.data.QcTemplateData">
  528. DELETE FROM qc_template_detailed
  529. WHERE template_id = #{templateId} and site = #{site}
  530. </delete>
  531. <!-- 搜索所有检验类型 -->
  532. <select id="inspectionTypeSearch" resultType="com.heai.modules.pms.data.QcInspectionTypeData" parameterType="com.heai.modules.pms.data.QcInspectionTypeData">
  533. SELECT inspection_type_no,
  534. inspection_type_name
  535. FROM qc_inspection_type
  536. WHERE site = #{site}
  537. </select>
  538. <!-- 搜索所有设备 -->
  539. <select id="objectSearch" resultType="com.heai.modules.pms.data.EamObjectData">
  540. SELECT
  541. ObjectID,
  542. ObjectDesc
  543. FROM eam_object
  544. WHERE Active = 'Y' and site = #{site} and bu_no = #{buNo}
  545. </select>
  546. <!-- 导入文件检验 -->
  547. <select id="getItemByItemNo" resultType="com.heai.modules.pms.data.EamPropertiesItemData" parameterType="com.heai.modules.pms.data.QcItemData">
  548. SELECT ItemDesc,
  549. ItemType
  550. FROM eam_properties_item
  551. WHERE ItemDesc = #{itemDesc}
  552. AND DefaultValue = #{defaultValue}
  553. AND MaxValue = #{maxValue}
  554. AND MinValue = #{minValue}
  555. AND ItemType = #{itemType}
  556. </select>
  557. <!-- 新增检验项目 -->
  558. <insert id="insertItem" parameterType="com.heai.modules.pms.data.EamPropertiesItemData">
  559. INSERT INTO eam_properties_item (ItemNo, ItemDesc,DefaultValue,ValueType,ValueType_DB, CreatedDate,CreatedBy,MaxValue, MinValue, ItemRemark,ItemType)
  560. VALUES(#{itemNo},#{itemDesc}, #{defaultValue}, #{valueType}, #{valueTypeDb}, GetDate(), #{createdBy}, #{maxValue,jdbcType=DECIMAL}, #{minValue,jdbcType=DECIMAL}, #{itemRemark}, #{itemType})
  561. </insert>
  562. <!-- &lt;!&ndash; 获取最大项目编码 &ndash;&gt;-->
  563. <!-- <select id="queryLastItemNo" resultType="string" parameterType="QcItemData">-->
  564. <!-- SELECT top 1 ItemNo-->
  565. <!-- FROM eam_properties_item-->
  566. <!-- WHERE ItemType = #{itemType}-->
  567. <!-- ORDER BY ItemNo Desc-->
  568. <!-- </select>-->
  569. <!-- 根据模板名称查询模板 -->
  570. <select id="selectTemplateByDesc" parameterType="com.heai.modules.pms.data.QcTemplateData" resultType="com.heai.modules.pms.data.QcTemplateData">
  571. SELECT template_id,
  572. template_name,
  573. template_version
  574. FROM qc_template
  575. WHERE template_name = #{templateName}
  576. AND site = #{site}
  577. AND template_version = #{templateVersion}
  578. </select>
  579. <delete id="delTemplateItem" parameterType="com.heai.modules.pms.data.QcTemplateData">
  580. delete qc_template_detailed
  581. WHERE template_id = #{templateId} and site = #{site} and bu_no = #{buNo}
  582. </delete>
  583. <!-- &lt;!&ndash; 修改项目明细的最大最小值 &ndash;&gt;-->
  584. <!-- <insert id="saveItemDetailed">-->
  585. <!-- INSERT INTO qc_template_detailed-->
  586. <!-- (site, bu_no, template_id, ItemNo, default_value, max_value, min_value)-->
  587. <!-- VALUES-->
  588. <!-- <foreach collection="list" item="item" separator=",">-->
  589. <!-- (#{item.site}, #{item.buNo}, #{item.templateId}, #{item.itemNo}, #{item.defaultValue}, #{item.maxValue,jdbcType=DECIMAL}, #{item.minValue,jdbcType=DECIMAL})-->
  590. <!-- </foreach>-->
  591. <!-- </insert>-->
  592. <!-- 修改项目明细的最大最小值 -->
  593. <insert id="saveItemDetailed">
  594. INSERT INTO qc_template_detailed
  595. (site, bu_no, template_id, ItemNo, default_value, max_value, min_value, order_id)
  596. VALUES
  597. (#{site}, #{buNo}, #{templateId}, #{itemNo}, #{defaultValue}, #{maxValue,jdbcType=DECIMAL}, #{minValue,jdbcType=DECIMAL},#{orderId})
  598. </insert>
  599. <!-- 查询项目明细 -->
  600. <select id="selectItem" resultType="com.heai.modules.pms.data.QcTemplateData">
  601. SELECT ItemNo,
  602. ItemDesc,
  603. DefaultValue,
  604. ValueType,
  605. ValueType_DB,
  606. MaxValue,
  607. MinValue,
  608. ItemRemark,
  609. ItemType,
  610. site,
  611. bu_no
  612. FROM eam_properties_item
  613. WHERE ItemNo = #{itemNo} AND ItemType = #{itemType} AND bu_no = #{buNo}
  614. </select>
  615. <!-- ================================================= 样本量维护 ================================================= -->
  616. <!-- 查询样本量 -->
  617. <select id="samplingQtySearch" parameterType="com.heai.modules.pms.data.QcSamplingInspectionQtyData" resultType="com.heai.modules.pms.data.QcSamplingInspectionQtyData">
  618. SELECT
  619. site,
  620. bu_no,
  621. sampling_qty_no,
  622. sampling_qty_desc,
  623. sampling_qty,
  624. sampling_qty_remark,
  625. sampling_qty_active,
  626. case when sampling_qty_active = 'Y' then '是' when sampling_qty_active = 'N' then '否' else '' end as samplingQtyActiveDesc,
  627. create_date,
  628. create_by,
  629. dbo.getOperatorDesc(site, create_by) as createByDesc,
  630. update_date,
  631. update_by,
  632. dbo.getOperatorDesc(site, update_by) as updateByDesc
  633. FROM qc_sampling_inspection_qty
  634. <where>
  635. <if test="query.site != null and query.site != ''">
  636. AND site = #{query.site}
  637. </if>
  638. <if test="query.samplingQtyNo != null and query.samplingQtyNo != ''">
  639. AND sampling_qty_no LIKE '%' + #{query.samplingQtyNo} + '%'
  640. </if>
  641. <if test="query.samplingQtyDesc != null and query.samplingQtyDesc != ''">
  642. AND sampling_qty_desc LIKE '%' + #{query.samplingQtyDesc} + '%'
  643. </if>
  644. <if test="query.samplingQty != null">
  645. AND sampling_qty = #{query.samplingQty,jdbcType=DECIMAL}
  646. </if>
  647. <if test="query.samplingQtyActive != null and query.samplingQtyActive != ''">
  648. AND sampling_qty_active = #{query.samplingQtyActive}
  649. </if>
  650. </where>
  651. </select>
  652. <!-- 新增样本量 -->
  653. <insert id="samplingQtySave" parameterType="com.heai.modules.pms.data.QcSamplingInspectionQtyData">
  654. INSERT INTO qc_sampling_inspection_qty (site, bu_no, sampling_qty_no, sampling_qty, sampling_qty_remark, sampling_qty_active, sampling_qty_desc, create_date, create_by, update_date, update_by)
  655. VALUES(#{site}, #{buNo}, #{samplingQtyNo}, #{samplingQty,jdbcType=DECIMAL}, #{samplingQtyRemark}, #{samplingQtyActive}, #{samplingQtyDesc}, getDate(), #{createBy}, getDate(), #{updateBy})
  656. </insert>
  657. <!-- 根据样本量字码查询样本量 -->
  658. <select id="selectSamplingQtyByDesc" parameterType="com.heai.modules.pms.data.QcSamplingInspectionQtyData" resultType="com.heai.modules.pms.data.QcSamplingInspectionQtyData">
  659. SELECT
  660. site,
  661. bu_no,
  662. sampling_qty_no,
  663. sampling_qty_desc,
  664. sampling_qty,
  665. sampling_qty_remark,
  666. sampling_qty_active
  667. FROM qc_sampling_inspection_qty
  668. WHERE sampling_qty_desc = #{samplingQtyDesc} AND site = #{site} and bu_no = #{buNo}
  669. </select>
  670. <!-- 获取最大样本量编码 -->
  671. <select id="queryLastSamplingQtyNo" resultType="string" parameterType="com.heai.modules.pms.data.QcSamplingInspectionQtyData">
  672. SELECT top 1 sampling_qty_no
  673. FROM qc_sampling_inspection_qty
  674. where site = #{site} and bu_no = #{buNo}
  675. ORDER BY sampling_qty_no Desc
  676. </select>
  677. <!-- 修改样本量 -->
  678. <update id="samplingQtyUpdate" parameterType="com.heai.modules.pms.data.QcSamplingInspectionQtyData">
  679. UPDATE qc_sampling_inspection_qty
  680. SET sampling_qty = #{samplingQty,jdbcType=DECIMAL},
  681. sampling_qty_desc = #{samplingQtyDesc},
  682. sampling_qty_remark = #{samplingQtyRemark},
  683. sampling_qty_active = #{samplingQtyActive},
  684. update_date = getDate(),
  685. update_by = #{updateBy}
  686. WHERE sampling_qty_no = #{samplingQtyNo} AND site = #{site} and bu_no = #{buNo}
  687. </update>
  688. <!-- 根据样本量编码查询矩阵 -->
  689. <select id="selectSamplingPlanBySamplingQtyNo" resultType="com.heai.modules.pms.data.QcSamplingInspectionPlanData" parameterType="com.heai.modules.pms.data.QcSamplingInspectionQtyData">
  690. SELECT
  691. site,
  692. sampling_plan_no,
  693. sampling_qty_no,
  694. sampling_qty_rank_no,
  695. sampling_level_no,
  696. sampling_plan_active
  697. FROM qc_sampling_inspection_plan
  698. WHERE site = #{site} AND sampling_qty_no = #{samplingQtyNo} and bu_no = #{buNo}
  699. </select>
  700. <!-- 删除样本量 -->
  701. <delete id="samplingQtyDelete" parameterType="com.heai.modules.pms.data.QcSamplingInspectionQtyData">
  702. DELETE FROM qc_sampling_inspection_qty
  703. WHERE site = #{site} AND sampling_qty_no = #{samplingQtyNo} AND sampling_qty_desc = #{samplingQtyDesc} and bu_no = #{buNo}
  704. </delete>
  705. <!-- ================================================= 批量级次维护 ================================================= -->
  706. <!-- 查询批量级次 -->
  707. <select id="samplingQtyRankSearch" parameterType="com.heai.modules.pms.data.QcSamplingInspectionQtyRankData" resultType="com.heai.modules.pms.data.QcSamplingInspectionQtyRankData">
  708. SELECT
  709. site,
  710. bu_no,
  711. sampling_qty_rank_no,
  712. sampling_qty_rank_desc,
  713. min_qty,
  714. max_qty,
  715. sampling_qty_rank_active,
  716. case when sampling_qty_rank_active = 'Y' then '是' when sampling_qty_rank_active = 'N' then '否' else '' end as samplingQtyRankActiveDesc,
  717. sampling_qty_rank_Remark,
  718. create_date,
  719. create_by,
  720. dbo.getOperatorDesc(site, create_by) as createByDesc,
  721. update_date,
  722. update_by,
  723. dbo.getOperatorDesc(site, update_by) as updateByDesc
  724. FROM qc_sampling_inspection_qty_rank
  725. <where>
  726. <if test="query.site != null and query.site != ''">
  727. AND site = #{query.site}
  728. </if>
  729. <if test="query.samplingQtyRankNo != null and query.samplingQtyRankNo != ''">
  730. AND sampling_qty_rank_no LIKE '%' + #{query.samplingQtyRankNo}+'%'
  731. </if>
  732. <if test="query.samplingQtyRankDesc != null and query.samplingQtyRankDesc != ''">
  733. AND sampling_qty_rank_desc LIKE '%' + #{query.samplingQtyRankDesc}+'%'
  734. </if>
  735. <if test="query.samplingQtyRankActive != null and query.samplingQtyRankActive != ''">
  736. AND sampling_qty_rank_active = #{query.samplingQtyRankActive}
  737. </if>
  738. </where>
  739. </select>
  740. <!-- 根据名称查询批量级次 -->
  741. <select id="selectSamplingQtyRankByDesc" parameterType="com.heai.modules.pms.data.QcSamplingInspectionQtyRankData" resultType="com.heai.modules.pms.data.QcSamplingInspectionQtyRankData">
  742. SELECT
  743. site,
  744. bu_no,
  745. sampling_qty_rank_no,
  746. sampling_qty_rank_desc,
  747. min_qty,
  748. max_qty,
  749. sampling_qty_rank_active,
  750. sampling_qty_rank_Remark
  751. FROM qc_sampling_inspection_qty_rank
  752. WHERE sampling_qty_rank_desc = #{samplingQtyRankDesc} AND site = #{site} and bu_no = #{buNo}
  753. </select>
  754. <!-- 获取最大批量级次编码 -->
  755. <select id="queryLastSamplingQtyRankNo" resultType="string" parameterType="com.heai.modules.pms.data.QcSamplingInspectionQtyRankData">
  756. SELECT top 1 sampling_qty_rank_no
  757. FROM qc_sampling_inspection_qty_rank
  758. where site = #{site} and bu_no = #{buNo}
  759. ORDER BY sampling_qty_rank_no Desc
  760. </select>
  761. <!-- 新增批量级次 -->
  762. <insert id="samplingQtyRankSave" parameterType="com.heai.modules.pms.data.QcSamplingInspectionQtyRankData">
  763. INSERT INTO qc_sampling_inspection_qty_rank (site, bu_no, 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)
  764. VALUES(#{site}, #{buNo}, #{samplingQtyRankNo}, #{samplingQtyRankDesc}, #{minQty,jdbcType=DECIMAL}, #{maxQty,jdbcType=DECIMAL}, #{samplingQtyRankRemark}, #{samplingQtyRankActive}, getDate(), #{createBy}, getDate(), #{updateBy})
  765. </insert>
  766. <!-- 根据批量级次编码查询矩阵 -->
  767. <select id="selectSamplingPlanBySamplingQtyRankNo" resultType="com.heai.modules.pms.data.QcSamplingInspectionPlanData" parameterType="com.heai.modules.pms.data.QcSamplingInspectionQtyRankData">
  768. SELECT
  769. site,
  770. bu_no,
  771. sampling_plan_no,
  772. sampling_qty_no,
  773. sampling_qty_rank_no,
  774. sampling_level_no,
  775. sampling_plan_active
  776. FROM qc_sampling_inspection_plan
  777. WHERE site = #{site} AND sampling_qty_rank_no = #{samplingQtyRankNo} and bu_no = #{buNo}
  778. </select>
  779. <!-- 修改批量级次 -->
  780. <update id="samplingQtyRankUpdate" parameterType="com.heai.modules.pms.data.QcSamplingInspectionQtyRankData">
  781. UPDATE qc_sampling_inspection_qty_rank
  782. SET sampling_qty_rank_desc = #{samplingQtyRankDesc},
  783. min_qty = #{minQty,jdbcType=DECIMAL},
  784. max_qty = #{maxQty,jdbcType=DECIMAL},
  785. sampling_qty_rank_Remark = #{samplingQtyRankRemark},
  786. sampling_qty_rank_active = #{samplingQtyRankActive},
  787. update_date = getDate(),
  788. update_by = #{updateBy}
  789. WHERE sampling_qty_rank_no = #{samplingQtyRankNo} AND site = #{site} and bu_no = #{buNo}
  790. </update>
  791. <!-- 删除批量级次 -->
  792. <delete id="samplingQtyRankDelete" parameterType="com.heai.modules.pms.data.QcSamplingInspectionQtyRankData">
  793. DELETE FROM qc_sampling_inspection_qty_rank
  794. WHERE site = #{site} and bu_no = #{buNo}
  795. AND sampling_qty_rank_no = #{samplingQtyRankNo}
  796. AND sampling_qty_rank_desc = #{samplingQtyRankDesc}
  797. </delete>
  798. <!-- ================================================= 检验等级维护 ================================================= -->
  799. <!-- 查询检验等级 -->
  800. <select id="samplingLevelSearch" parameterType="com.heai.modules.pms.data.QcSamplingInspectionLevelData" resultType="com.heai.modules.pms.data.QcSamplingInspectionLevelData">
  801. SELECT
  802. site,
  803. bu_no,
  804. sampling_level_no,
  805. sampling_level_desc,
  806. sampling_level_remark,
  807. sampling_level_active,
  808. case when sampling_level_active = 'Y' then '是' when sampling_level_active = 'N' then '否' else '' end as samplingLevelActiveDesc,
  809. create_date,
  810. create_by,
  811. dbo.getOperatorDesc(site, create_by) as createByDesc,
  812. update_date,
  813. update_by,
  814. dbo.getOperatorDesc(site, update_by) as updateByDesc
  815. FROM qc_sampling_inspection_level
  816. <where>
  817. <if test="query.site != null and query.site != ''">
  818. AND site = #{query.site}
  819. </if>
  820. <if test="query.samplingLevelNo != null and query.samplingLevelNo != ''">
  821. AND sampling_level_no LIKE '%' + #{query.samplingLevelNo}+'%'
  822. </if>
  823. <if test="query.samplingLevelDesc != null and query.samplingLevelDesc != ''">
  824. AND sampling_level_desc LIKE '%' + #{query.samplingLevelDesc}+'%'
  825. </if>
  826. <if test="query.samplingLevelActive != null and query.samplingLevelActive != ''">
  827. AND sampling_level_active = #{query.samplingLevelActive}
  828. </if>
  829. </where>
  830. </select>
  831. <!-- 根据名称查询检验等级 -->
  832. <select id="selectSamplingLevelByDesc" parameterType="com.heai.modules.pms.data.QcSamplingInspectionLevelData" resultType="com.heai.modules.pms.data.QcSamplingInspectionLevelData">
  833. SELECT
  834. site,
  835. bu_no,
  836. sampling_level_no,
  837. sampling_level_desc,
  838. sampling_level_remark,
  839. sampling_level_active
  840. FROM qc_sampling_inspection_level
  841. WHERE sampling_level_desc = #{samplingLevelDesc} AND site = #{site} and bu_no = #{buNo}
  842. </select>
  843. <!-- 获取最大检验等级编码 -->
  844. <select id="queryLastSamplingLevelNo" resultType="string" parameterType="com.heai.modules.pms.data.QcSamplingInspectionLevelData">
  845. SELECT top 1 sampling_level_no
  846. FROM qc_sampling_inspection_level
  847. where site = #{site} and bu_no = #{buNo}
  848. ORDER BY sampling_level_no Desc
  849. </select>
  850. <!-- 新增检验等级 -->
  851. <insert id="samplingLevelSave" parameterType="com.heai.modules.pms.data.QcSamplingInspectionLevelData">
  852. INSERT INTO qc_sampling_inspection_level (site, bu_no, sampling_level_no, sampling_level_desc, sampling_level_remark, sampling_level_active, create_date, create_by, update_date, update_by)
  853. VALUES (#{site}, #{buNo}, #{samplingLevelNo}, #{samplingLevelDesc}, #{samplingLevelRemark}, #{samplingLevelActive}, getDate(), #{createBy}, getDate(), #{updateBy})
  854. </insert>
  855. <!-- 根据检验等级编码查询矩阵 -->
  856. <select id="selectSamplingPlanBySamplingLevelNo" resultType="com.heai.modules.pms.data.QcSamplingInspectionPlanData" parameterType="com.heai.modules.pms.data.QcSamplingInspectionLevelData">
  857. SELECT
  858. site,
  859. bu_no,
  860. sampling_plan_no,
  861. sampling_qty_no,
  862. sampling_qty_rank_no,
  863. sampling_level_no,
  864. sampling_plan_active
  865. FROM qc_sampling_inspection_plan
  866. WHERE site = #{site} and bu_no = #{buNo}
  867. AND sampling_level_no = #{samplingLevelNo}
  868. </select>
  869. <!-- 修改检验等级 -->
  870. <update id="samplingLevelUpdate" parameterType="com.heai.modules.pms.data.QcSamplingInspectionLevelData">
  871. UPDATE qc_sampling_inspection_level
  872. SET sampling_level_desc = #{samplingLevelDesc},
  873. sampling_level_remark = #{samplingLevelRemark},
  874. sampling_level_active = #{samplingLevelActive},
  875. update_date = getDate(),
  876. update_by = #{updateBy}
  877. WHERE sampling_level_no = #{samplingLevelNo}
  878. AND site = #{site} and bu_no = #{buNo}
  879. </update>
  880. <!-- 删除检验等级 -->
  881. <delete id="samplingLevelDelete" parameterType="com.heai.modules.pms.data.QcSamplingInspectionLevelData">
  882. DELETE FROM qc_sampling_inspection_level
  883. WHERE site = #{site} and bu_no = #{buNo}
  884. AND sampling_level_no = #{samplingLevelNo}
  885. AND sampling_level_desc = #{samplingLevelDesc}
  886. </delete>
  887. <!-- ================================================= 物料属性设置维护 ================================================= -->
  888. <!-- 查询物料属性 -->
  889. <select id="qcPartAttributeSearch" parameterType="com.heai.modules.pms.data.QcPartAttributeData" resultType="com.heai.modules.pms.data.QcPartAttributeData">
  890. SELECT
  891. qa.site,
  892. qa.bu_no,
  893. p.PartNo as partNo,
  894. p.PartDescription as partDesc,
  895. p.cinv_source_code as cinvSourceCode,
  896. p.sku as sku,
  897. p.FamilyID,
  898. p.invtype as familyName,
  899. p.spec,
  900. p.umid,
  901. qa.supplier_no,
  902. dbo.qc_get_supplier_name(qa.site, qa.supplier_no) as supplierDesc,
  903. qa.attribute_remark,
  904. qa.create_time,
  905. qa.create_by,
  906. dbo.getOperatorDesc(qa.site, qa.create_by) as createByDesc,
  907. qa.attribute_type,
  908. qa.update_date,
  909. qa.update_by,
  910. dbo.getOperatorDesc(qa.site, qa.update_by) as updateByDesc,
  911. qa.exempt_inspection,
  912. qa.First_IPQC_Patrol_time as firstIPQCPatrolTime,
  913. qa.Last_IPQC_Patrol_time as lastIPQCPatrolTime,
  914. qa.Cycle_IPQC_Patrol_time as cycleIPQCPatrolTime,
  915. qa.defaultValue,
  916. qa.standardValue,
  917. qa.maxValue,
  918. qa.minValue
  919. FROM qc_part_attribute qa
  920. LEFT JOIN part p on qa.attribute_no = p.PartNo and qa.site = p.site
  921. <where>
  922. and qa.attribute_type = #{query.attributeType}
  923. <if test = "query.partNo != null and query.partNo != ''">
  924. AND qa.attribute_no LIKE '%' + #{query.partNo}+'%'
  925. </if>
  926. <if test = "query.partDesc != null and query.partDesc != ''">
  927. AND p.PartDescription LIKE '%' + #{query.partDesc}+'%'
  928. </if>
  929. <if test = "query.cinvSourceCode != null and query.cinvSourceCode != ''">
  930. AND p.cinv_source_code LIKE '%' + #{query.cinvSourceCode}+'%'
  931. </if>
  932. <if test = "query.sku != null and query.sku != ''">
  933. AND p.sku LIKE '%' + #{query.sku}+'%'
  934. </if>
  935. <if test = "query.familyName != null and query.familyName != ''">
  936. AND p.invtype LIKE '%' + #{query.familyName}+'%'
  937. </if>
  938. </where>
  939. </select>
  940. <!-- 查询是否已有该物料属性 -->
  941. <select id="selectPartAttributeByNo" resultType="com.heai.modules.pms.data.QcPartAttributeData" parameterType="com.heai.modules.pms.data.QcPartAttributeData">
  942. SELECT
  943. attribute_no,
  944. supplier_no,
  945. attribute_remark,
  946. attribute_type
  947. FROM qc_part_attribute
  948. WHERE site = #{site} and attribute_no = #{partNo} and attribute_type = #{attributeType} and bu_no = #{buNo}
  949. </select>
  950. <!-- 新增物料属性 -->
  951. <insert id="qcPartAttributeSave" parameterType="com.heai.modules.pms.data.QcPartAttributeData">
  952. INSERT INTO qc_part_attribute (attribute_no, supplier_no, attribute_remark, create_time, create_by, attribute_type, site, exempt_inspection, bu_no,First_IPQC_Patrol_time,Last_IPQC_Patrol_time,Cycle_IPQC_Patrol_time,defaultValue,standardValue,maxValue,minValue)
  953. VALUES(#{partNo}, #{supplierNo}, #{attributeRemark}, getDate(), #{createBy}, #{attributeType}, #{site}, #{exemptInspection}, #{buNo},#{firstIPQCPatrolTime},#{lastIPQCPatrolTime},#{cycleIPQCPatrolTime},#{defaultValue},#{standardValue},#{maxValue},#{minValue})
  954. </insert>
  955. <!-- 物料属性修改 -->
  956. <update id="qcPartAttributeEdit" parameterType="com.heai.modules.pms.data.QcPartAttributeData">
  957. UPDATE qc_part_attribute
  958. SET attribute_remark = #{attributeRemark},
  959. exempt_inspection = #{exemptInspection},
  960. update_date = getDate(),
  961. update_by = #{updateBy},
  962. defaultValue = #{defaultValue},
  963. standardValue = #{standardValue},
  964. maxValue = #{maxValue},
  965. minValue = #{minValue},
  966. First_IPQC_Patrol_time = #{firstIPQCPatrolTime},
  967. Last_IPQC_Patrol_time = #{lastIPQCPatrolTime},
  968. Cycle_IPQC_Patrol_time = #{cycleIPQCPatrolTime}
  969. WHERE site = #{site} and attribute_no = #{partNo} and attribute_type = #{attributeType} and bu_no = #{buNo}
  970. </update>
  971. <!-- 删除物料属性 -->
  972. <delete id="qcPartAttributeDelete" parameterType="com.heai.modules.pms.data.QcPartAttributeData">
  973. DELETE FROM qc_part_attribute
  974. WHERE site = #{site} and bu_no = #{buNo} and attribute_no = #{partNo} and attribute_type = #{attributeType}
  975. </delete>
  976. <!-- 删除物料属性模板 -->
  977. <delete id="deletePartAttributeTemplate" parameterType="com.heai.modules.pms.data.QcPartAttributeData">
  978. DELETE FROM qc_attribute_template
  979. WHERE site = #{site} and bu_no = #{buNo} and attribute_no = #{partNo} and attribute_type = #{attributeType}
  980. </delete>
  981. <!-- 查询类别模板 -->
  982. <select id="searchPartAttributeDetails" resultType="com.heai.modules.pms.data.QcTemplateData" parameterType="com.heai.modules.pms.data.QcTemplateData">
  983. SELECT
  984. qat.site,
  985. qat.bu_no,
  986. qpa.attribute_no,
  987. qpa.attribute_type,
  988. qt.template_id,
  989. qt.template_name,
  990. qt.template_remark,
  991. qt.template_version,
  992. qat.sampling_programme_no,
  993. qsip.sampling_programme_desc,
  994. qat.AQL,
  995. qat.AC,
  996. qat.RE,
  997. qt.inspection_type_no,
  998. qit.inspection_type_name,
  999. qt.default_sampling_quantity,
  1000. qt.default_sampling_proportion,
  1001. qat.sampling_level_no,
  1002. qsil.sampling_level_desc,
  1003. qat.inspection_cycle,
  1004. qat.operation,
  1005. qat.manufacturer_id,
  1006. dbo.qc_get_supplier_name(qat.site, qat.manufacturer_id) as manufacturerName,
  1007. qat.resource_id
  1008. FROM qc_attribute_template as qat
  1009. LEFT JOIN qc_part_attribute as qpa ON qpa.attribute_no = qat.attribute_no and qat.site = qpa.site and qat.bu_no = qpa.bu_no
  1010. LEFT JOIN qc_template as qt ON qat.template_id = qt.template_id and qat.site = qt.site and qat.bu_no = qt.bu_no
  1011. LEFT JOIN qc_sampling_inspection_level as qsil ON qat.sampling_level_no = qsil.sampling_level_no and qat.site = qsil.site and qat.bu_no = qsil.bu_no
  1012. LEFT JOIN qc_inspection_type as qit ON qt.inspection_type_no = qit.inspection_type_no and qt.site = qit.site
  1013. LEFT JOIN qc_sampling_inspection_programme as qsip ON qat.sampling_programme_no = qsip.sampling_programme_no and qat.site = qsip.site and qat.bu_no = qsip.bu_no
  1014. <where>
  1015. qat.site = #{site} and qpa.attribute_type = #{attributeType} and qpa.attribute_no = #{attributeNo} and qat.bu_no = #{buNo}
  1016. <if test="inspectionTypeNo !=null and inspectionTypeNo != ''">
  1017. and qt.inspection_type_no = #{inspectionTypeNo}
  1018. </if>
  1019. <if test="operation !=null and operation != ''">
  1020. and qat.operation = #{operation}
  1021. </if>
  1022. </where>
  1023. </select>
  1024. <!-- 物料属性模板查重 -->
  1025. <select id="searchPartRepeat" resultType="com.heai.modules.pms.data.QcTemplateData" parameterType="com.heai.modules.pms.data.QcTemplateData">
  1026. SELECT
  1027. attribute_no,
  1028. template_id
  1029. FROM qc_attribute_template
  1030. WHERE attribute_no = #{attributeNo}
  1031. AND template_id = #{templateId}
  1032. AND attribute_type = #{attributeType}
  1033. AND special_field = #{specialField}
  1034. </select>
  1035. <!-- 新增物料属性模板 -->
  1036. <insert id="savePartAttributeDetails" parameterType="com.heai.modules.pms.data.QcTemplateData">
  1037. INSERT INTO qc_attribute_template
  1038. (attribute_no, template_id, sampling_level_no, inspection_cycle, sampling_programme_no, AQL, AC, RE,
  1039. attribute_type, operation, manufacturer_id, resource_id, site, bu_no, inspection_type_no)
  1040. VALUES
  1041. (#{attributeNo}, #{templateId}, #{samplingLevelNo}, #{inspectionCycle,jdbcType=DECIMAL}, #{samplingProgrammeNo}, #{aql,jdbcType=DECIMAL}, #{ac,jdbcType=DECIMAL}, #{re,jdbcType=DECIMAL},
  1042. #{attributeType}, #{operation}, #{manufacturerID}, #{resourceID}, #{site}, #{buNo}, #{inspectionTypeNo})
  1043. </insert>
  1044. <!-- 可选模板 -->
  1045. <select id="getTemplateList" resultType="com.heai.modules.pms.data.QcTemplateData" parameterType="com.heai.modules.pms.data.QcTemplateData">
  1046. SELECT
  1047. qt.template_id,
  1048. qt.template_name,
  1049. qit.inspection_type_name
  1050. FROM qc_template as qt
  1051. LEFT JOIN qc_attribute_template as qat ON qat.template_id = qt.template_id and qat.attribute_no = #{attributeNo}
  1052. LEFT JOIN qc_inspection_type AS qit ON qt.inspection_type_no = qit.inspection_type_no
  1053. <where>
  1054. qt.site = #{site}
  1055. AND qat.attribute_no is null
  1056. <if test = "inspectionTypeNo != null and inspectionTypeNo != ''">
  1057. AND qt.inspection_type_no = #{inspectionTypeNo}
  1058. </if>
  1059. <if test = "templateId != null and templateId != ''">
  1060. AND qt.template_id LIKE '%' + #{templateId}+'%'
  1061. </if>
  1062. <if test = "templateName != null and templateName != ''">
  1063. AND qt.template_name LIKE '%' + #{templateName}+'%'
  1064. </if>
  1065. </where>
  1066. </select>
  1067. <!-- 已有模板 -->
  1068. <select id="getPartTemplateList" resultType="com.heai.modules.pms.data.QcTemplateData" parameterType="com.heai.modules.pms.data.QcTemplateData">
  1069. SELECT
  1070. qt.template_id,
  1071. qt.template_name,
  1072. qit.inspection_type_name,
  1073. qat.operation,
  1074. qat.manufacturer_id,
  1075. dbo.qc_get_supplier_name(qt.site, qat.manufacturer_id) as manufacturerName,
  1076. qat.resource_id
  1077. FROM qc_attribute_template as qat
  1078. LEFT JOIN qc_template as qt ON qat.template_id = qt.template_id and qat.site = qt.site and qat.bu_no = qt.bu_no
  1079. LEFT JOIN qc_inspection_type AS qit ON qt.inspection_type_no = qit.inspection_type_no and qt.site = qit.site
  1080. WHERE qt.site = #{site} AND qat.attribute_no = #{attributeNo} and qt.bu_no = #{buNo}
  1081. </select>
  1082. <!-- 物料可选模板 -->
  1083. <select id="getTemplateListAll" resultType="com.heai.modules.pms.data.QcTemplateData" parameterType="com.heai.modules.pms.data.QcTemplateData">
  1084. SELECT
  1085. qt.template_id,
  1086. qt.template_name,
  1087. qit.inspection_type_name
  1088. FROM qc_template as qt
  1089. LEFT JOIN qc_inspection_type AS qit ON qt.inspection_type_no = qit.inspection_type_no and qt.site = qit.site
  1090. <where>
  1091. qt.site = #{site} and qt.bu_no = #{buNo}
  1092. <if test = "inspectionTypeNo != null and inspectionTypeNo != ''">
  1093. AND qt.inspection_type_no = #{inspectionTypeNo}
  1094. </if>
  1095. <if test = "templateId != null and templateId != ''">
  1096. AND qt.template_id LIKE '%' + #{templateId}+'%'
  1097. </if>
  1098. <if test = "templateName != null and templateName != ''">
  1099. AND qt.template_name LIKE '%' + #{templateName}+'%'
  1100. </if>
  1101. </where>
  1102. </select>
  1103. <!-- 删除物料属性模板 -->
  1104. <delete id="deletePartAttributeDetails" parameterType="com.heai.modules.pms.data.QcTemplateData">
  1105. DELETE FROM qc_attribute_template
  1106. <where>
  1107. site = #{site} and bu_no = #{buNo} and attribute_no = #{attributeNo} and template_id = #{templateId} and attribute_type = #{attributeType}
  1108. <if test = "operation != null and operation != ''">
  1109. and operation = #{operation}
  1110. </if>
  1111. <if test = "resourceID != null and resourceID != ''">
  1112. and resource_id = #{resourceID}
  1113. </if>
  1114. <if test = "manufacturerID != null and manufacturerID != ''">
  1115. and manufacturer_id = #{manufacturerID}
  1116. </if>
  1117. </where>
  1118. </delete>
  1119. <!-- 查询模板的基础数据 -->
  1120. <select id="selectTemplateData" resultType="com.heai.modules.pms.data.QcTemplateData" parameterType="com.heai.modules.pms.data.QcTemplateData">
  1121. SELECT
  1122. template_id,
  1123. template_name,
  1124. sampling_programme_no,
  1125. sampling_level_no,
  1126. inspection_cycle,
  1127. AQL,
  1128. AC,
  1129. RE,
  1130. inspection_type_no
  1131. FROM qc_template
  1132. WHERE site = #{site} AND template_id = #{templateId} and bu_no = #{buNo}
  1133. </select>
  1134. <!-- 新增物料属性模板详情 -->
  1135. <update id="saveAttributeDetailed" parameterType="com.heai.modules.pms.data.QcTemplateData">
  1136. UPDATE qc_attribute_template
  1137. SET sampling_level_no = #{samplingLevelNo},
  1138. inspection_cycle = #{inspectionCycle,jdbcType=DECIMAL},
  1139. sampling_programme_no = #{samplingProgrammeNo},
  1140. AQL = #{aql,jdbcType=DECIMAL},
  1141. AC = #{ac,jdbcType=DECIMAL},
  1142. RE = #{re,jdbcType=DECIMAL}
  1143. <where>
  1144. site = #{site} and attribute_no = #{attributeNo} AND template_id = #{templateId} AND attribute_type = #{attributeType} and bu_no = #{buNo}
  1145. <if test = "operation != null and operation != ''">
  1146. AND operation = #{operation}
  1147. </if>
  1148. <if test = "resourceID != null and resourceID != ''">
  1149. AND resource_id = #{resourceID}
  1150. </if>
  1151. <if test = "manufacturerID != null and manufacturerID != ''">
  1152. AND manufacturer_id = #{manufacturerID}
  1153. </if>
  1154. </where>
  1155. </update>
  1156. <!-- 更新物料属性修改时间 -->
  1157. <update id="updatePartAttributeTime" parameterType="com.heai.modules.pms.data.QcTemplateData">
  1158. UPDATE qc_part_attribute
  1159. SET update_date = getDate(),
  1160. update_by = #{updateBy}
  1161. WHERE site = #{site} and attribute_no = #{attributeNo} and attribute_type = #{attributeType} and bu_no = #{buNo}
  1162. </update>
  1163. <!-- ================================================= 类别属性设置维护 ================================================= -->
  1164. <!-- 查询类别属性 -->
  1165. <select id="qcFamilyAttributeSearch" parameterType="com.heai.modules.pms.data.QcPartAttributeData" resultType="com.heai.modules.pms.data.QcPartAttributeData">
  1166. SELECT
  1167. qa.site,
  1168. qa.bu_no,
  1169. qa.attribute_no as familyID,
  1170. pf.FamilyName,
  1171. qa.supplier_no,
  1172. qa.attribute_remark,
  1173. qa.create_time,
  1174. qa.create_by,
  1175. qa.update_date,
  1176. qa.update_by,
  1177. qa.attribute_type
  1178. FROM qc_part_attribute as qa
  1179. LEFT JOIN PartFamily as pf on qa.attribute_no = pf.FamilyID and qa.site = pf.site
  1180. <where>
  1181. and qa.attribute_type = #{query.attributeType}
  1182. <if test="query.site != null and query.site != ''">
  1183. AND site = #{query.site}
  1184. </if>
  1185. <if test = "query.familyID != null and query.familyID != ''">
  1186. AND qa.attribute_no LIKE '%' + #{query.familyID}+'%'
  1187. </if>
  1188. <if test = "query.familyName != null and query.familyName != ''">
  1189. AND pf.FamilyName LIKE '%' + #{query.familyName}+'%'
  1190. </if>
  1191. </where>
  1192. </select>
  1193. <!-- 新增类别属性 -->
  1194. <insert id="qcFamilyAttributeSave" parameterType="com.heai.modules.pms.data.QcPartAttributeData">
  1195. INSERT INTO qc_part_attribute (attribute_no, attribute_remark, create_time, create_by, attribute_type, site, bu_no)
  1196. VALUES(#{familyID}, #{attributeRemark}, getDate(), #{createBy}, #{attributeType}, #{site}, #{buNo})
  1197. </insert>
  1198. <!-- 删除分类属性 -->
  1199. <delete id="qcFamilyAttributeDelete" parameterType="com.heai.modules.pms.data.QcPartAttributeData">
  1200. DELETE FROM qc_part_attribute
  1201. WHERE site = #{site} and attribute_no = #{familyID} and attribute_type = #{attributeType} and bu_no = #{buNo}
  1202. </delete>
  1203. <!-- 删除分类属性模板 -->
  1204. <delete id="deleteFamilyAttributeTemplate" parameterType="com.heai.modules.pms.data.QcPartAttributeData">
  1205. DELETE FROM qc_attribute_template
  1206. WHERE site = #{site} and attribute_no = #{familyID} and attribute_type = #{attributeType} and bu_no = #{buNo}
  1207. </delete>
  1208. <!-- ================================================= 抽样方案维护 ================================================= -->
  1209. <!-- 查询类别属性 -->
  1210. <select id="samplingProgrammeSearch" parameterType="com.heai.modules.pms.data.QcSamplingInspectionProgrammeData" resultType="com.heai.modules.pms.data.QcSamplingInspectionProgrammeData">
  1211. SELECT
  1212. site,
  1213. bu_no,
  1214. sampling_programme_no,
  1215. sampling_programme_desc,
  1216. sampling_programme_code,
  1217. create_time,
  1218. create_by,
  1219. dbo.getOperatorDesc(site, create_by) as createByDesc,
  1220. update_date,
  1221. update_by,
  1222. dbo.getOperatorDesc(site, update_by) as updateByDesc
  1223. FROM qc_sampling_inspection_programme
  1224. <where>
  1225. <if test="query.site != null and query.site != ''">
  1226. AND site = #{query.site}
  1227. </if>
  1228. <if test = "query.samplingProgrammeNo != null and query.samplingProgrammeNo != ''">
  1229. AND sampling_programme_no LIKE '%' + #{query.samplingProgrammeNo}+'%'
  1230. </if>
  1231. <if test = "query.samplingProgrammeCode != null and query.samplingProgrammeCode != ''">
  1232. AND sampling_programme_code LIKE '%' + #{query.samplingProgrammeCode}+'%'
  1233. </if>
  1234. <if test = "query.samplingProgrammeDesc != null and query.samplingProgrammeDesc != ''">
  1235. AND sampling_programme_desc LIKE '%' + #{query.samplingProgrammeDesc}+'%'
  1236. </if>
  1237. </where>
  1238. </select>
  1239. <!-- 新增抽样方案 -->
  1240. <insert id="samplingProgrammeSave" parameterType="com.heai.modules.pms.data.QcSamplingInspectionProgrammeData">
  1241. INSERT INTO qc_sampling_inspection_programme (site, bu_no, sampling_programme_no, sampling_programme_desc, sampling_programme_code, create_time, create_by, update_date, update_by)
  1242. VALUES(#{site}, #{buNo}, #{samplingProgrammeNo}, #{samplingProgrammeDesc}, #{samplingProgrammeCode}, getDate(), #{createBy}, getDate(), #{updateBy})
  1243. </insert>
  1244. <!-- 删除抽样方案 -->
  1245. <delete id="samplingProgrammeDelete" parameterType="com.heai.modules.pms.data.QcSamplingInspectionProgrammeData">
  1246. DELETE FROM qc_sampling_inspection_programme
  1247. WHERE site = #{site} and bu_no = #{buNo}
  1248. AND sampling_programme_no = #{samplingProgrammeNo}
  1249. </delete>
  1250. <!-- 删除抽样方案中的矩阵 -->
  1251. <delete id="deletePlanByProgrammeNo" parameterType="com.heai.modules.pms.data.QcSamplingInspectionProgrammeData">
  1252. DELETE FROM qc_programme_plan
  1253. WHERE sampling_programme_no = #{samplingProgrammeNo} and site = #{site} and bu_no = #{buNo}
  1254. </delete>
  1255. <!-- 根据名称查询抽样方案 -->
  1256. <select id="selectSamplingProgrammeByDesc" parameterType="com.heai.modules.pms.data.QcSamplingInspectionProgrammeData" resultType="com.heai.modules.pms.data.QcSamplingInspectionProgrammeData">
  1257. SELECT
  1258. site,
  1259. bu_no,
  1260. sampling_programme_no,
  1261. sampling_programme_desc
  1262. FROM qc_sampling_inspection_programme
  1263. WHERE sampling_programme_desc = #{samplingProgrammeDesc} AND site = #{site} and bu_no = #{buNo}
  1264. </select>
  1265. <!-- 获取最大抽样方案编码 -->
  1266. <select id="queryLastSamplingProgrammeNo" resultType="string" parameterType="com.heai.modules.pms.data.QcSamplingInspectionProgrammeData">
  1267. SELECT top 1 sampling_programme_no
  1268. FROM qc_sampling_inspection_programme
  1269. where site = #{site} and bu_no = #{buNo}
  1270. ORDER BY sampling_programme_no Desc
  1271. </select>
  1272. <!-- 搜索抽样方案中的矩阵 -->
  1273. <select id="searchSamplingProgrammeDetails" parameterType="com.heai.modules.pms.data.QcSamplingInspectionProgrammeData" resultType="com.heai.modules.pms.data.QcSamplingInspectionProgrammeData">
  1274. SELECT
  1275. qpp.site,
  1276. qpp.bu_no,
  1277. qpp.sampling_programme_no,
  1278. qsip.sampling_plan_no,
  1279. qsip.sampling_plan_Desc,
  1280. qsip.sampling_qty_no,
  1281. qsiq.sampling_qty_desc,
  1282. qsiq.sampling_qty,
  1283. qsip.sampling_qty_rank_no,
  1284. qsiqr.sampling_qty_rank_desc,
  1285. qsiqr.min_qty,
  1286. qsiqr.max_qty,
  1287. qsip.sampling_level_no,
  1288. qsil.sampling_level_desc,
  1289. qsip.sampling_plan_active
  1290. FROM qc_programme_plan as qpp
  1291. LEFT JOIN qc_sampling_inspection_plan as qsip on qpp.sampling_plan_no = qsip.sampling_plan_no and qpp.site = qsip.site and qpp.bu_no = qsip.bu_no
  1292. LEFT JOIN qc_sampling_inspection_qty as qsiq on qsip.sampling_qty_no = qsiq.sampling_qty_no and qsip.site = qsiq.site and qsip.bu_no = qsiq.bu_no
  1293. LEFT JOIN qc_sampling_inspection_qty_rank as qsiqr on qsip.sampling_qty_rank_no = qsiqr.sampling_qty_rank_no and qsip.site = qsiqr.site and qsip.bu_no = qsiqr.bu_no
  1294. LEFT JOIN qc_sampling_inspection_level as qsil on qsip.sampling_level_no = qsil.sampling_level_no and qsip.site = qsil.site and qsip.bu_no = qsil.bu_no
  1295. WHERE qpp.sampling_programme_no = #{samplingProgrammeNo} and qpp.site = #{site} and qpp.bu_no = #{buNo}
  1296. </select>
  1297. <!-- 获取该方案不包含的矩阵 -->
  1298. <select id="getPlanList" resultType="com.heai.modules.pms.data.QcSamplingInspectionProgrammeData" parameterType="com.heai.modules.pms.data.QcSamplingInspectionProgrammeData">
  1299. SELECT
  1300. qip.sampling_plan_no,
  1301. qip.sampling_plan_desc
  1302. FROM qc_sampling_inspection_plan as qip
  1303. LEFT JOIN qc_programme_plan as qpp ON qpp.sampling_plan_no = qip.sampling_plan_no and qpp.sampling_programme_no = #{samplingProgrammeNo} and qpp.site = qip.site and qpp.bu_no = qip.bu_no
  1304. WHERE qip.site = #{site} and qip.bu_no = #{buNo} AND qpp.sampling_programme_no is null
  1305. </select>
  1306. <!-- 获取当前方案所包含的矩阵 -->
  1307. <select id="getProgrammePlanList" resultType="com.heai.modules.pms.data.QcSamplingInspectionProgrammeData" parameterType="com.heai.modules.pms.data.QcSamplingInspectionProgrammeData">
  1308. SELECT
  1309. qip.sampling_plan_no,
  1310. qip.sampling_plan_desc
  1311. FROM qc_programme_plan as qpp
  1312. LEFT JOIN qc_sampling_inspection_plan as qip ON qpp.sampling_plan_no = qip.sampling_plan_no and qpp.site = qip.site and qpp.bu_no = qip.bu_no
  1313. WHERE qip.site = #{site} and qip.bu_no = #{buNo} AND qpp.sampling_programme_no = #{samplingProgrammeNo}
  1314. </select>
  1315. <!-- 查重 -->
  1316. <select id="searchPlanRepeat" resultType="com.heai.modules.pms.data.QcSamplingInspectionProgrammeData" parameterType="com.heai.modules.pms.data.QcSamplingInspectionProgrammeData">
  1317. SELECT
  1318. sampling_plan_no,
  1319. sampling_programme_no
  1320. FROM qc_programme_plan
  1321. WHERE sampling_programme_no = #{samplingProgrammeNo} AND sampling_plan_no = #{samplingPlanNo} and site = #{site} and bu_no = #{buNo}
  1322. </select>
  1323. <!-- 新增抽样方案中的矩阵 -->
  1324. <insert id="saveSamplingProgrammeDetails" parameterType="com.heai.modules.pms.data.QcSamplingInspectionProgrammeData">
  1325. INSERT INTO qc_programme_plan (site, bu_no, sampling_programme_no, sampling_plan_no)
  1326. VALUES (#{site}, #{buNo}, #{samplingProgrammeNo}, #{samplingPlanNo})
  1327. </insert>
  1328. <!-- 更新抽样方案修改时间 -->
  1329. <update id="updateSamplingInspectionProgrammeDate" parameterType="com.heai.modules.pms.data.QcSamplingInspectionProgrammeData">
  1330. UPDATE qc_sampling_inspection_programme
  1331. SET update_date = getDate(),
  1332. update_by = #{updateBy}
  1333. WHERE site = #{site} AND sampling_programme_no = #{samplingProgrammeNo} and bu_no = #{buNo}
  1334. </update>
  1335. <!-- 删除抽样方案中的矩阵 -->
  1336. <delete id="deleteSamplingProgrammeDetails" parameterType="com.heai.modules.pms.data.QcSamplingInspectionProgrammeData">
  1337. DELETE FROM qc_programme_plan
  1338. WHERE sampling_programme_no = #{samplingProgrammeNo} and sampling_plan_no = #{samplingPlanNo} and site = #{site} and bu_no = #{buNo}
  1339. </delete>
  1340. <!-- ================================================= FAI检验维护 ================================================= -->
  1341. <!-- 查询FAI基础数据 -->
  1342. <select id="selectFAIBasicData" resultType="com.heai.modules.pms.data.QcFAIRecordData">
  1343. SELECT
  1344. top 1
  1345. a.orderno as orderNo,
  1346. j.part_no,
  1347. j.part_desc,
  1348. c.operation_desc,
  1349. b.approve_qty as rollQty,
  1350. a.s_resourceid as resourceId,
  1351. DBO.getResourceDesc(a.site, a.s_resourceid) as resourceDesc,
  1352. a.itemno as itemNo,
  1353. a.id as ssrId
  1354. FROM soscheduledrouting as a
  1355. LEFT JOIN sfdc as b
  1356. ON a.site = b.site and a.seqno = b.assjob_seq_no and b.id in (
  1357. select min(sfdc.id)
  1358. from sfdc
  1359. group by sfdc.assjob_seq_no, site
  1360. )
  1361. LEFT JOIN so_routing as c
  1362. ON c.site = a.site and c.order_no = a.orderno and a.itemno = c.item_no
  1363. LEFT JOIN part j
  1364. ON a.site = j.site and a.part_no = j.part_no
  1365. WHERE a.itemno = '10'
  1366. AND a.id not in (select ssr_id from qc_fai_record)
  1367. AND b.approve_qty is not null
  1368. ORDER BY a.id desc
  1369. </select>
  1370. <!-- 获取该物料属性下维护的iqc -->
  1371. <select id="selectPartAttributeByPartNo" resultType="com.heai.modules.pms.data.QcFAIRecordData">
  1372. SELECT
  1373. qat.site,
  1374. qat.bu_no,
  1375. qat.attribute_no,
  1376. qat.template_id,
  1377. qat.sampling_level_no,
  1378. qsil.sampling_level_desc,
  1379. qat.inspection_cycle,
  1380. qat.sampling_programme_no,
  1381. qsip.sampling_programme_desc,
  1382. qat.AQL,
  1383. qat.AC,
  1384. qat.RE,
  1385. qt.default_sampling_quantity,
  1386. qt.default_sampling_proportion
  1387. FROM qc_attribute_template as qat
  1388. LEFT JOIN qc_template as qt ON qat.template_id = qt.template_id and qat.site = qt.site and qat.bu_no = qt.bu_no
  1389. LEFT JOIN qc_sampling_inspection_level as qsil ON qat.sampling_level_no = qsil.sampling_level_no and qat.site = qsil.site and qat.bu_no = qsil.bu_no
  1390. LEFT JOIN qc_sampling_inspection_programme as qsip ON qat.sampling_programme_no = qsip.sampling_programme_no and qat.site = qsip.site and qat.bu_no = qsip.bu_no
  1391. WHERE qat.site = #{site} and qat.bu_no = #{buNo}
  1392. AND qat.attribute_no = #{partNo}
  1393. AND qat.attribute_type = #{attributeType}
  1394. AND qt.inspection_type_no = #{inspectionTypeNo}
  1395. AND qat.manufacturer_id = #{supplierNo}
  1396. </select>
  1397. <!-- 获取该物料属性下维护的ipqc -->
  1398. <select id="selectPartAttributeByOperationAndResource" resultType="com.heai.modules.pms.data.QcFAIRecordData">
  1399. SELECT
  1400. qat.site,
  1401. qat.bu_no,
  1402. qat.attribute_no,
  1403. qat.template_id,
  1404. qat.sampling_level_no,
  1405. qsil.sampling_level_desc,
  1406. qat.inspection_cycle,
  1407. qat.sampling_programme_no,
  1408. qsip.sampling_programme_desc,
  1409. qat.AQL,
  1410. qat.AC,
  1411. qat.RE,
  1412. qt.default_sampling_quantity,
  1413. qt.default_sampling_proportion
  1414. FROM qc_attribute_template as qat
  1415. LEFT JOIN qc_template as qt ON qat.template_id = qt.template_id and qat.site = qt.site and qat.bu_no = qt.bu_no
  1416. LEFT JOIN qc_sampling_inspection_level as qsil ON qat.sampling_level_no = qsil.sampling_level_no and qat.site = qsil.site and qat.bu_no = qsil.bu_no
  1417. LEFT JOIN qc_sampling_inspection_programme as qsip ON qat.sampling_programme_no = qsip.sampling_programme_no and qat.site = qsip.site and qat.bu_no = qsip.bu_no
  1418. WHERE qat.site = #{site} and qat.bu_no = #{buNo}
  1419. AND qat.attribute_no = #{partNo}
  1420. AND qat.attribute_type = #{attributeType1}
  1421. AND qt.inspection_type_no = #{inspectionTypeNo}
  1422. AND qat.operation = #{operationDesc}
  1423. AND qat.resource_id = #{resourceId}
  1424. </select>
  1425. <!-- 获取模板详情 -->
  1426. <select id="selectTemplate" resultType="com.heai.modules.pms.data.QcFAIRecordData" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  1427. SELECT
  1428. qt.site,
  1429. qt.bu_no,
  1430. qt.template_id,
  1431. qt.sampling_level_no,
  1432. qsil.sampling_level_desc,
  1433. qt.inspection_cycle,
  1434. qt.sampling_programme_no,
  1435. qsip.sampling_programme_desc,
  1436. qt.AQL,
  1437. qt.AC,
  1438. qt.RE,
  1439. qt.default_sampling_quantity,
  1440. qt.default_sampling_proportion
  1441. FROM qc_template as qt
  1442. LEFT JOIN qc_sampling_inspection_level as qsil ON qt.sampling_level_no = qsil.sampling_level_no and qt.site = qsil.site and qt.bu_no = qsil.bu_no
  1443. LEFT JOIN qc_sampling_inspection_programme as qsip ON qt.sampling_programme_no = qsip.sampling_programme_no and qt.site = qsip.site and qt.bu_no = qsip.bu_no
  1444. WHERE qt.site = #{site} and qt.template_id = #{templateId} and qt.bu_no = #{buNo}
  1445. </select>
  1446. <!-- 新增FAI主记录信息 -->
  1447. <insert id="saveFAIRecord" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  1448. INSERT INTO qc_fai_record (inspection_no, site, bu_no, state, task_date, inspection_type_no, inspection_cycle, order_no, operation_desc, resource_id, part_no, roll_qty, sampling_qty, ssr_id, seq_no, batch_roll_no, special_requirements, work_center_no, roll_no, um_id)
  1449. VALUES(#{inspectionNo}, #{site}, #{buNo}, #{state}, getDate(), #{inspectionTypeNo}, #{inspectionCycle,jdbcType=DECIMAL}, #{orderNo}, #{operationDesc}, #{resourceId}, #{partNo}, #{rollQty}, #{samplingQty,jdbcType=DECIMAL}, #{ssrId}, #{seqNo}, #{batchRollNo}, #{specialRequirements}, #{workCenterNo}, #{rollNo}, #{umId})
  1450. </insert>
  1451. <insert id="saveFAIDetailedRecord" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  1452. INSERT INTO qc_fai_detailed_record
  1453. (inspection_no, order_no, template_id, sampling_level_no, sampling_level_desc, sampling_programme_no, sampling_programme_desc,
  1454. AQL, AC, RE, item_no, item_desc, object_id, object_desc, default_value, min_value,
  1455. max_value, value_type_db, value_type, site, sampling_qty, bu_no,order_id)
  1456. VALUES
  1457. (#{inspectionNo}, #{orderNo}, #{templateId}, #{samplingLevelNo}, #{samplingLevelDesc}, #{samplingProgrammeNo}, #{samplingProgrammeDesc},
  1458. #{aql,jdbcType=DECIMAL}, #{ac,jdbcType=DECIMAL}, #{re,jdbcType=DECIMAL}, #{itemNo}, #{itemDesc}, #{objectId}, #{objectDesc}, #{defaultValue}, #{minValue,jdbcType=DECIMAL},
  1459. #{maxValue,jdbcType=DECIMAL}, #{valueTypeDb}, #{valueType}, #{site}, #{samplingQty,jdbcType=DECIMAL}, #{buNo},#{orderId,jdbcType=INTEGER})
  1460. </insert>
  1461. <!-- 新增FAI明细记录信息 -->
  1462. <insert id="saveFAIDetailedRecords">
  1463. INSERT INTO qc_fai_detailed_record
  1464. (inspection_no, order_no, template_id, sampling_level_no, sampling_level_desc, sampling_programme_no, sampling_programme_desc,
  1465. AQL, AC, RE, item_no, item_desc, object_id, object_desc, default_value, min_value,
  1466. max_value, value_type_db, value_type, site, sampling_qty, bu_no, order_id)
  1467. VALUES
  1468. <foreach collection="list" item="item" separator=",">
  1469. (#{item.inspectionNo}, #{item.orderNo}, #{item.templateId}, #{item.samplingLevelNo}, #{item.samplingLevelDesc}, #{item.samplingProgrammeNo}, #{item.samplingProgrammeDesc},
  1470. #{item.aql,jdbcType=DECIMAL}, #{item.ac,jdbcType=DECIMAL}, #{item.re,jdbcType=DECIMAL}, #{item.itemNo}, #{item.itemDesc}, #{item.objectId}, #{item.objectDesc}, #{item.defaultValue}, #{item.minValue,jdbcType=DECIMAL},
  1471. #{item.maxValue,jdbcType=DECIMAL}, #{item.valueTypeDb}, #{item.valueType}, #{item.site}, #{item.samplingQty,jdbcType=DECIMAL}, #{item.buNo}, #{item.orderId})
  1472. </foreach>
  1473. </insert>
  1474. <!-- 查询FAI主记录信息 -->
  1475. <select id="qcFAIInspectionSearch" parameterType="com.heai.modules.pms.data.QcFAIRecordData" resultType="com.heai.modules.pms.data.QcFAIRecordData">
  1476. SELECT
  1477. a.inspection_no,
  1478. a.site,
  1479. a.bu_no,
  1480. a.state,
  1481. a.inspection_result,
  1482. a.task_date,
  1483. a.inspection_type_no,
  1484. dbo.qc_get_inspection_type_name(a.site, a.inspection_type_no) as inspectionTypeName,
  1485. a.inspection_cycle,
  1486. a.order_no,
  1487. a.operation_desc,
  1488. a.resource_id,
  1489. r.resource_desc,
  1490. a.part_no,
  1491. d.PartDescription,
  1492. d.cinv_source_code as cinvSourceCode,
  1493. d.sku as sku,
  1494. d.invdefinetype as invdefinetype,
  1495. a.inspection_remark,
  1496. a.roll_qty,
  1497. a.sampling_qty,
  1498. a.disposal_measures,
  1499. a.disposal_remark,
  1500. a.inspector_date,
  1501. a.inspector_no,
  1502. u.user_display as inspectorName,
  1503. a.ssr_id,
  1504. a.unqualified_qty,
  1505. a.submit_flag,
  1506. a.seq_no,
  1507. a.batch_roll_no,
  1508. a.special_requirements,
  1509. a.work_center_no,
  1510. a.roll_no,
  1511. a.um_id,
  1512. um.UMName as umName,
  1513. a.action_date,
  1514. a.action_by,
  1515. isnull(dbo.joint_id(a.site, a.bu_no, a.inspection_no, 'coordination'), '') as operator,
  1516. isnull(dbo.joint_name(a.site, a.bu_no, a.inspection_no, 'coordination'), '') as operatorName,
  1517. isnull(dbo.joint_id(a.site, a.bu_no, a.inspection_no, 'responsible'), '') as responsiblePerson,
  1518. isnull(dbo.joint_name2(a.site, a.bu_no, a.inspection_no, 'responsible'), '') as responsiblePersonName,
  1519. a.pass_qty,
  1520. a.not_pass_qty,
  1521. a.batch_qualified_qty
  1522. FROM qc_fai_record as a
  1523. left join part as d on a.site = d.site and a.bu_no = d.sourceBu and a.part_no = d.PartNo
  1524. left join sys_user as u on a.inspector_no = u.username
  1525. 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
  1526. left join UM as um on a.site = um.site and a.um_id = um.UMID
  1527. <where>
  1528. <if test="query.site != null and query.site != ''">
  1529. AND a.site = #{query.site}
  1530. </if>
  1531. <if test = "query.inspectionNo != null and query.inspectionNo != ''">
  1532. AND a.inspection_no LIKE '%' + #{query.inspectionNo} + '%'
  1533. </if>
  1534. <if test = "query.partNo != null and query.partNo != ''">
  1535. AND a.part_no LIKE '%' + #{query.partNo} + '%'
  1536. </if>
  1537. <if test = "query.partDesc != null and query.partDesc != ''">
  1538. AND d.PartDescription LIKE '%' + #{query.partDesc} + '%'
  1539. </if>
  1540. <if test = "query.cinvSourceCode != null and query.cinvSourceCode != ''">
  1541. AND d.cinv_source_code LIKE '%' + #{query.cinvSourceCode} + '%'
  1542. </if>
  1543. <if test = "query.sku != null and query.sku != ''">
  1544. AND d.sku LIKE '%' + #{query.sku} + '%'
  1545. </if>
  1546. <if test = "query.disposalMeasures != null and query.disposalMeasures != ''">
  1547. AND a.disposal_measures LIKE '%' + #{query.disposalMeasures} + '%'
  1548. </if>
  1549. <if test = "query.states != null and query.states.size > 0">
  1550. AND a.state in
  1551. <foreach item="item" collection="query.states" open="(" separator="," close=")">
  1552. #{item}
  1553. </foreach>
  1554. </if>
  1555. <if test = "query.inspectionResult != null and query.inspectionResult != ''">
  1556. AND a.inspection_result = #{query.inspectionResult}
  1557. </if>
  1558. <if test = "query.orderNo != null and query.orderNo != ''">
  1559. AND a.order_no LIKE '%' + #{query.orderNo} + '%'
  1560. </if>
  1561. <if test = "query.seqNo != null and query.seqNo != ''">
  1562. AND a.seq_no LIKE '%' + #{query.seqNo} + '%'
  1563. </if>
  1564. <if test = "query.operationDesc != null and query.operationDesc != ''">
  1565. AND a.operation_desc LIKE '%' + #{query.operationDesc} + '%'
  1566. </if>
  1567. <if test="query.startDate != null">
  1568. AND a.inspector_date >= #{query.startDate}
  1569. </if>
  1570. <if test="query.endDate != null">
  1571. AND #{query.endDate} >= a.inspector_date
  1572. </if>
  1573. <if test="query.startDate2 != null">
  1574. AND a.task_date >= #{query.startDate2}
  1575. </if>
  1576. <if test="query.endDate2 != null">
  1577. AND #{query.endDate2} >= a.task_date
  1578. </if>
  1579. </where>
  1580. ORDER BY
  1581. CASE WHEN a.state = '待检验' THEN 1
  1582. WHEN a.state = '待审核' THEN 2
  1583. WHEN a.state = '已完成' THEN 3
  1584. END, a.task_date desc
  1585. </select>
  1586. <!-- 获取物料的类别编码 -->
  1587. <select id="selectFamilyIdByPartNo" parameterType="string" resultType="string">
  1588. SELECT FamilyID
  1589. FROM part
  1590. WHERE part_no = #{partNo} AND site = #{site}
  1591. </select>
  1592. <!-- FAI明细记录查询 -->
  1593. <select id="faiDetailSearch" parameterType="com.heai.modules.pms.data.QcFAIRecordData" resultType="com.heai.modules.pms.data.QcFAIRecordData">
  1594. SELECT
  1595. a.site,
  1596. a.bu_no,
  1597. a.inspection_no,
  1598. a.order_no,
  1599. a.template_id,
  1600. a.sampling_level_no,
  1601. a.sampling_level_desc,
  1602. a.sampling_programme_no,
  1603. a.sampling_programme_desc,
  1604. a.AQL,
  1605. a.AC,
  1606. a.RE,
  1607. a.item_no,
  1608. a.item_desc,
  1609. a.object_id,
  1610. a.object_desc,
  1611. a.default_value,
  1612. a.min_value,
  1613. a.max_value,
  1614. a.text_value,
  1615. a.number_value,
  1616. a.value_type_db,
  1617. a.value_type,
  1618. case when a.item_result = '' or a.item_result is null then 'Y' else a.item_result end as itemResult,
  1619. a.is_submit,
  1620. isnull(a.unqualified_quantity,0) as unqualifiedQuantity,
  1621. a.sampling_qty,
  1622. dbo.qc_get_fai_sub_record_num(a.site, a.bu_no, a.inspection_no, a.item_no) as subDetailRecordNum,
  1623. c.method_no,
  1624. c.method_name,
  1625. c.method_remark
  1626. FROM qc_fai_detailed_record as a
  1627. 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
  1628. 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
  1629. WHERE a.inspection_no = #{inspectionNo} and a.site = #{site} and a.bu_no = #{buNo}
  1630. order by a.order_id
  1631. </select>
  1632. <!-- 修改FAI主记录信息 -->
  1633. <update id="updateFAIMasterRecord" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  1634. UPDATE qc_fai_record
  1635. SET disposal_measures = #{disposalMeasures},
  1636. disposal_remark = #{disposalRemark},
  1637. inspection_result = #{inspectionResult},
  1638. inspector_no = #{inspectorNo},
  1639. state = #{state},
  1640. inspection_remark = #{inspectionRemark},
  1641. inspector_date = getDate(),
  1642. sampling_qty = #{samplingQty,jdbcType=DECIMAL},
  1643. roll_qty = #{rollQty,jdbcType=DECIMAL},
  1644. unqualified_qty = #{unqualifiedQty,jdbcType=DECIMAL},
  1645. pass_qty = #{passQty,jdbcType=DECIMAL},
  1646. not_pass_qty = #{notPassQty,jdbcType=DECIMAL},
  1647. batch_qualified_qty = #{batchQualifiedQty,jdbcType=DECIMAL},
  1648. submit_date = getDate()
  1649. WHERE site = #{site} AND inspection_no = #{inspectionNo} and bu_no = #{buNo}
  1650. </update>
  1651. <!-- 修改FAI明细记录信息 -->
  1652. <update id="updateFAIDetailedRecord" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  1653. UPDATE qc_fai_detailed_record
  1654. SET item_result = #{itemResult},
  1655. unqualified_quantity = #{unqualifiedQuantity,jdbcType=DECIMAL},
  1656. sampling_qty = #{samplingQty,jdbcType=DECIMAL},
  1657. text_value = #{textValue},
  1658. number_value = #{numberValue,jdbcType=DECIMAL}
  1659. WHERE inspection_no = #{inspectionNo} and item_no = #{itemNo} and site = #{site} and bu_no = #{buNo}
  1660. </update>
  1661. <!-- 修改子明细提交标识 -->
  1662. <update id="updateSubDetailedRecord" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  1663. UPDATE qc_fai_sub_detail_record
  1664. SET is_submit = 'Y'
  1665. WHERE inspection_no = #{inspectionNo}
  1666. </update>
  1667. <!-- 删除FAI检验记录 -->
  1668. <delete id="deleteFAIRecord" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  1669. DELETE FROM qc_fai_record
  1670. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  1671. </delete>
  1672. <!-- 删除FAI明细记录信息 -->
  1673. <delete id="deleteFAIDetailedRecord" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  1674. DELETE FROM qc_fai_detailed_record
  1675. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  1676. </delete>
  1677. <!-- 删除FAI子明细记录信息 -->
  1678. <delete id="deleteFAISubDetailedRecord" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  1679. DELETE FROM qc_fai_sub_detail_record
  1680. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  1681. </delete>
  1682. <!-- 修改FAI主记录标识为已提交 -->
  1683. <update id="updateFAIMasterSubmitFlag" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  1684. UPDATE qc_fai_record
  1685. SET submit_flag = 'Y',
  1686. state = '已完成',
  1687. submit_date = getDate()
  1688. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  1689. </update>
  1690. <!-- 修改FAI明细记录标识为已提交 -->
  1691. <update id="updateFAIDetailSubmitFlag" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  1692. UPDATE qc_fai_detailed_record
  1693. SET is_submit = 'Y'
  1694. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  1695. </update>
  1696. <!-- 修改子明细记录标识为已提交 -->
  1697. <update id="updateFAISubDetailSubmitFlag" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  1698. UPDATE qc_fai_sub_detail_record
  1699. SET is_submit = 'Y'
  1700. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  1701. </update>
  1702. <!-- 查询FAI检验记录是否已提交 -->
  1703. <select id="checkFAIIsSubmit" parameterType="com.heai.modules.pms.data.SubDetailValues" resultType="com.heai.modules.pms.data.QcFAIRecordData">
  1704. SELECT submit_flag
  1705. FROM qc_fai_record
  1706. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  1707. </select>
  1708. <!-- 删除子明细的老数据 -->
  1709. <delete id="delFAISubDetailedRecord" parameterType="com.heai.modules.pms.data.QcSubDetailInformationData">
  1710. DELETE FROM qc_fai_sub_detail_record
  1711. WHERE inspection_no = #{inspectionNo} and item_no = #{itemNo} and site = #{site} and bu_no = #{buNo}
  1712. </delete>
  1713. <!-- 新增FAI子明细信息 -->
  1714. <insert id="saveFAISubDetailed">
  1715. INSERT INTO qc_fai_sub_detail_record
  1716. (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)
  1717. VALUES
  1718. <foreach collection="list" item="item" separator=",">
  1719. (#{item.inspectionNo}, #{item.itemNo}, #{item.subDetailValue}, #{item.samplingLocation}, #{item.site}, #{item.samplingLocationB}, #{item.buNo}, #{item.num}, #{item.subDetailValueB}, #{item.subDetailValueC}, #{item.subDetailValueD}, #{item.subDetailValueE})
  1720. </foreach>
  1721. </insert>
  1722. <!-- 查询FAI的子明细 -->
  1723. <select id="selectFAISubDetailedRecord" parameterType="com.heai.modules.pms.data.SubDetailValues" resultType="com.heai.modules.pms.data.SubDetailValues">
  1724. SELECT
  1725. site,
  1726. bu_no,
  1727. sub_detail_value,
  1728. sampling_location,
  1729. is_submit,
  1730. sampling_location_b,
  1731. num,
  1732. sub_detail_value_b,
  1733. sub_detail_value_c,
  1734. sub_detail_value_d,
  1735. sub_detail_value_e
  1736. FROM qc_fai_sub_detail_record
  1737. WHERE inspection_no = #{inspectionNo} and item_no = #{itemNo} and site = #{site} and bu_no = #{buNo}
  1738. <if test = "collectionDataContent != null and collectionDataContent != ''">
  1739. AND sub_detail_value ${collectionDataContent}
  1740. </if>
  1741. </select>
  1742. <!-- 获取该项目的子明细值 -->
  1743. <select id="selectFAISubDetailValue" parameterType="string" resultType="com.heai.modules.pms.data.SubDetailValues">
  1744. SELECT sub_detail_value,
  1745. sampling_location,
  1746. is_submit
  1747. FROM qc_fai_sub_detail_record
  1748. WHERE inspection_no = #{inspectionNo} and item_no = #{itemNo} and site = #{site}
  1749. </select>
  1750. <!-- ================================================= IPQC检验维护 ================================================= -->
  1751. <!-- 查询IPQC基础数据 -->
  1752. <select id="selectIPQCBasicData" resultType="com.heai.modules.pms.data.QcFAIRecordData">
  1753. SELECT
  1754. top 1
  1755. a.orderno as orderNo,
  1756. j.part_no,
  1757. j.part_desc,
  1758. c.operation_desc,
  1759. b.approve_qty as rollQty,
  1760. a.s_resourceid as resourceId,
  1761. DBO.getResourceDesc(a.site, a.s_resourceid) as resourceDesc,
  1762. a.itemno as itemNo,
  1763. a.id as ssrId
  1764. FROM soscheduledrouting as a
  1765. LEFT JOIN sfdc as b
  1766. ON a.site = b.site and a.seqno = b.assjob_seq_no and b.id in (
  1767. select max(sfdc.id)
  1768. from sfdc
  1769. group by sfdc.assjob_seq_no, site
  1770. )
  1771. LEFT JOIN so_routing as c
  1772. ON c.site = a.site and c.order_no = a.orderno and a.itemno = c.item_no
  1773. LEFT JOIN part j
  1774. ON a.site = j.site and a.part_no = j.part_no
  1775. LEFT JOIN (select ssr_id from qc_ipqc_record where check_type = '末件检') as temp
  1776. ON a.id = temp.ssr_id
  1777. WHERE b.approve_qty is not null and temp.ssr_id is null
  1778. ORDER BY a.id desc
  1779. </select>
  1780. <select id="qcExec" resultType="com.heai.modules.pms.data.QcFAIRecordData" parameterType="string" statementType="CALLABLE">
  1781. {CALL
  1782. getIpqcRecord(#{site,mode=IN,jdbcType=VARCHAR})
  1783. }
  1784. </select>
  1785. <insert id="saveIPQCDetailedRecord" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  1786. INSERT INTO qc_ipqc_detailed_record
  1787. (inspection_no, order_no, template_id, sampling_level_no, sampling_level_desc, sampling_programme_no, sampling_programme_desc,
  1788. AQL, AC, RE, item_no, item_desc, object_id, object_desc, default_value, min_value,
  1789. max_value, value_type_db, value_type, site, sampling_qty, bu_no,order_id)
  1790. VALUES
  1791. (#{inspectionNo}, #{orderNo}, #{templateId}, #{samplingLevelNo}, #{samplingLevelDesc}, #{samplingProgrammeNo}, #{samplingProgrammeDesc},
  1792. #{aql,jdbcType=DECIMAL}, #{ac,jdbcType=DECIMAL}, #{re,jdbcType=DECIMAL}, #{itemNo}, #{itemDesc}, #{objectId}, #{objectDesc}, #{defaultValue}, #{minValue,jdbcType=DECIMAL},
  1793. #{maxValue,jdbcType=DECIMAL}, #{valueTypeDb}, #{valueType}, #{site}, #{samplingQty,jdbcType=DECIMAL}, #{buNo},#{orderId,jdbcType=INTEGER})
  1794. </insert>
  1795. <!-- 新增IPQC明细记录信息 -->
  1796. <insert id="saveIPQCDetailedRecords">
  1797. INSERT INTO qc_ipqc_detailed_record
  1798. (inspection_no, order_no, template_id, sampling_level_no, sampling_level_desc, sampling_programme_no, sampling_programme_desc,
  1799. AQL, AC, RE, item_no, item_desc, object_id, object_desc, default_value, min_value,
  1800. max_value, value_type_db, value_type, site, sampling_qty, bu_no, order_id)
  1801. VALUES
  1802. <foreach collection="list" item="item" separator=",">
  1803. (#{item.inspectionNo}, #{item.orderNo}, #{item.templateId}, #{item.samplingLevelNo}, #{item.samplingLevelDesc}, #{item.samplingProgrammeNo}, #{item.samplingProgrammeDesc},
  1804. #{item.aql,jdbcType=DECIMAL}, #{item.ac,jdbcType=DECIMAL}, #{item.re,jdbcType=DECIMAL}, #{item.itemNo}, #{item.itemDesc}, #{item.objectId}, #{item.objectDesc}, #{item.defaultValue}, #{item.minValue,jdbcType=DECIMAL},
  1805. #{item.maxValue,jdbcType=DECIMAL}, #{item.valueTypeDb}, #{item.valueType}, #{item.site}, #{item.samplingQty,jdbcType=DECIMAL}, #{item.buNo}, #{item.orderId})
  1806. </foreach>
  1807. </insert>
  1808. <!-- 新增IPQC主记录信息 -->
  1809. <insert id="saveIPQCRecord" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  1810. INSERT INTO qc_ipqc_record
  1811. (inspection_no, site, bu_no, state, task_date, inspection_type_no, inspection_cycle, order_no, operation_desc, resource_id,
  1812. part_no, roll_qty, sampling_qty, ssr_id, seq_no, batch_roll_no, special_requirements, work_center_no, roll_no, um_id)
  1813. VALUES
  1814. (#{inspectionNo}, #{site}, #{buNo}, #{state}, getDate(), #{inspectionTypeNo}, #{inspectionCycle,jdbcType=DECIMAL}, #{orderNo}, #{operationDesc}, #{resourceId},
  1815. #{partNo}, #{rollQty}, #{samplingQty,jdbcType=DECIMAL}, #{ssrId}, #{seqNo}, #{batchRollNo}, #{specialRequirements}, #{workCenterNo}, #{rollNo}, #{umId})
  1816. </insert>
  1817. <!-- 查询IPQC主记录信息 -->
  1818. <select id="qcIPQCInspectionSearch" parameterType="com.heai.modules.pms.data.QcFAIRecordData" resultType="com.heai.modules.pms.data.QcFAIRecordData">
  1819. SELECT
  1820. a.inspection_no,
  1821. a.site,
  1822. a.bu_no,
  1823. a.state,
  1824. a.inspection_result,
  1825. a.task_date,
  1826. a.inspection_type_no,
  1827. a.inspection_cycle,
  1828. a.order_no,
  1829. a.operation_desc,
  1830. a.resource_id,
  1831. r.resource_desc,
  1832. a.part_no,
  1833. d.PartDescription as partDesc,
  1834. d.cinv_source_code as cinvSourceCode,
  1835. d.sku as sku,
  1836. d.invdefinetype as invdefinetype,
  1837. a.inspection_remark,
  1838. a.roll_qty,
  1839. a.sampling_qty,
  1840. a.disposal_measures,
  1841. a.disposal_remark,
  1842. a.inspector_date,
  1843. a.inspector_no,
  1844. u.user_display as inspectorName,
  1845. a.ssr_id,
  1846. a.unqualified_qty,
  1847. a.submit_flag,
  1848. a.seq_no,
  1849. a.batch_roll_no,
  1850. a.special_requirements,
  1851. a.work_center_no,
  1852. a.roll_no,
  1853. a.um_id,
  1854. um.UMName as umName,
  1855. a.action_date,
  1856. a.action_by,
  1857. isnull(dbo.joint_id(a.site, a.bu_no, a.inspection_no, 'coordination'), '') as operator,
  1858. isnull(dbo.joint_name(a.site, a.bu_no, a.inspection_no, 'coordination'), '') as operatorName,
  1859. isnull(dbo.joint_id(a.site, a.bu_no, a.inspection_no, 'responsible'), '') as responsiblePerson,
  1860. isnull(dbo.joint_name2(a.site, a.bu_no, a.inspection_no, 'responsible'), '') as responsiblePersonName,
  1861. a.pass_qty,
  1862. a.not_pass_qty,
  1863. a.batch_qualified_qty
  1864. FROM qc_ipqc_record as a
  1865. left join part as d on a.site = d.site and a.part_no = d.partNo
  1866. left join sys_user as u on a.inspector_no = u.username
  1867. 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
  1868. left join UM as um on a.site = um.site and a.um_id = um.UMID
  1869. <where>
  1870. <if test="query.site != null and query.site != ''">
  1871. AND a.site = #{query.site}
  1872. </if>
  1873. <if test = "query.inspectionNo != null and query.inspectionNo != ''">
  1874. AND a.inspection_no LIKE '%' + #{query.inspectionNo} + '%'
  1875. </if>
  1876. <if test = "query.partNo != null and query.partNo != ''">
  1877. AND a.part_no LIKE '%' + #{query.partNo} + '%'
  1878. </if>
  1879. <if test = "query.partDesc != null and query.partDesc != ''">
  1880. AND d.PartDescription LIKE '%' + #{query.partDesc} + '%'
  1881. </if>
  1882. <if test = "query.cinvSourceCode != null and query.cinvSourceCode != ''">
  1883. AND d.cinv_source_code LIKE '%' + #{query.cinvSourceCode} + '%'
  1884. </if>
  1885. <if test = "query.sku != null and query.sku != ''">
  1886. AND d.sku LIKE '%' + #{query.sku} + '%'
  1887. </if>
  1888. <if test = "query.states != null and query.states.size > 0">
  1889. AND a.state in
  1890. <foreach item="item" collection="query.states" open="(" separator="," close=")">
  1891. #{item}
  1892. </foreach>
  1893. </if>
  1894. <if test = "query.inspectionTypeNo != null and query.inspectionTypeNo != ''">
  1895. AND a.inspection_type_no = #{query.inspectionTypeNo}
  1896. </if>
  1897. <if test = "query.inspectionResult != null and query.inspectionResult != ''">
  1898. AND a.inspection_result = #{query.inspectionResult}
  1899. </if>
  1900. <if test = "query.disposalMeasures != null and query.disposalMeasures != ''">
  1901. AND a.disposal_measures LIKE '%' + #{query.disposalMeasures} + '%'
  1902. </if>
  1903. <if test = "query.orderNo != null and query.orderNo != ''">
  1904. AND a.order_no LIKE '%' + #{query.orderNo} + '%'
  1905. </if>
  1906. <if test = "query.seqNo != null and query.seqNo != ''">
  1907. AND a.seq_no LIKE '%' + #{query.seqNo} + '%'
  1908. </if>
  1909. <if test = "query.operationDesc != null and query.operationDesc != ''">
  1910. AND a.operation_desc LIKE '%' + #{query.operationDesc} + '%'
  1911. </if>
  1912. <if test="query.startDate != null">
  1913. AND a.inspector_date >= #{query.startDate}
  1914. </if>
  1915. <if test="query.endDate != null">
  1916. AND #{query.endDate} >= a.inspector_date
  1917. </if>
  1918. <if test="query.startDate2 != null">
  1919. AND a.task_date >= #{query.startDate2}
  1920. </if>
  1921. <if test="query.endDate2 != null">
  1922. AND #{query.endDate2} >= a.task_date
  1923. </if>
  1924. </where>
  1925. ORDER BY
  1926. CASE WHEN a.state = '待检验' THEN 1
  1927. WHEN a.state = '待审核' THEN 2
  1928. WHEN a.state = '已完成' THEN 3
  1929. END, a.task_date desc
  1930. </select>
  1931. <!-- IPQC明细记录查询 -->
  1932. <select id="ipqcDetailSearch" parameterType="com.heai.modules.pms.data.QcFAIRecordData" resultType="com.heai.modules.pms.data.QcFAIRecordData">
  1933. SELECT
  1934. a.site,
  1935. a.bu_no,
  1936. a.inspection_no,
  1937. a.order_no,
  1938. a.template_id,
  1939. a.sampling_level_no,
  1940. a.sampling_level_desc,
  1941. a.sampling_programme_no,
  1942. a.sampling_programme_desc,
  1943. a.AQL,
  1944. a.AC,
  1945. a.RE,
  1946. a.item_no,
  1947. a.item_desc,
  1948. a.object_id,
  1949. a.object_desc,
  1950. a.default_value,
  1951. a.min_value,
  1952. a.max_value,
  1953. a.text_value,
  1954. a.number_value,
  1955. a.value_type_db,
  1956. a.value_type,
  1957. case when a.item_result = '' or a.item_result is null then 'Y' else a.item_result end as itemResult,
  1958. a.is_submit,
  1959. isnull(a.unqualified_quantity,0) as unqualifiedQuantity,
  1960. a.sampling_qty,
  1961. dbo.qc_get_ipqc_sub_record_num(a.site, a.bu_no, a.inspection_no, a.item_no) as subDetailRecordNum,
  1962. c.method_no,
  1963. c.method_name,
  1964. c.method_remark
  1965. FROM qc_ipqc_detailed_record as a
  1966. 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
  1967. 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
  1968. WHERE a.inspection_no = #{inspectionNo} and a.site = #{site} and a.bu_no = #{buNo}
  1969. order by a.order_id
  1970. </select>
  1971. <!-- 删除IPQC检验记录 -->
  1972. <delete id="deleteIPQCRecord" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  1973. DELETE FROM qc_ipqc_record
  1974. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  1975. </delete>
  1976. <!-- 删除IPQC明细记录信息 -->
  1977. <delete id="deleteIPQCDetailedRecord" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  1978. DELETE FROM qc_ipqc_detailed_record
  1979. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  1980. </delete>
  1981. <!-- 删除IPQC子明细记录信息 -->
  1982. <delete id="deleteIPQCSubDetailedRecord" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  1983. DELETE FROM qc_ipqc_sub_detail_record
  1984. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  1985. </delete>
  1986. <!-- 修改IPQC主记录信息 -->
  1987. <update id="updateIPQCMasterRecord" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  1988. UPDATE qc_ipqc_record
  1989. SET disposal_measures = #{disposalMeasures},
  1990. disposal_remark = #{disposalRemark},
  1991. inspection_result = #{inspectionResult},
  1992. inspector_no = #{inspectorNo},
  1993. state = #{state},
  1994. inspection_remark = #{inspectionRemark},
  1995. inspector_date = getDate(),
  1996. sampling_qty = #{samplingQty,jdbcType=DECIMAL},
  1997. roll_qty = #{rollQty,jdbcType=DECIMAL},
  1998. unqualified_qty = #{unqualifiedQty,jdbcType=DECIMAL},
  1999. pass_qty = #{passQty,jdbcType=DECIMAL},
  2000. not_pass_qty = #{notPassQty,jdbcType=DECIMAL},
  2001. batch_qualified_qty = #{batchQualifiedQty,jdbcType=DECIMAL},
  2002. submit_date = getDate()
  2003. WHERE site = #{site} and inspection_no = #{inspectionNo} and bu_no = #{buNo}
  2004. </update>
  2005. <!-- 修改IPQC明细记录信息 -->
  2006. <update id="updateIPQCDetailedRecord" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  2007. UPDATE qc_ipqc_detailed_record
  2008. SET item_result = #{itemResult},
  2009. unqualified_quantity = #{unqualifiedQuantity,jdbcType=DECIMAL},
  2010. sampling_qty = #{samplingQty,jdbcType=DECIMAL},
  2011. text_value = #{textValue},
  2012. number_value = #{numberValue,jdbcType=DECIMAL}
  2013. WHERE inspection_no = #{inspectionNo} and item_no = #{itemNo} and site = #{site} and bu_no = #{buNo}
  2014. </update>
  2015. <!-- 修改IPQC主记录标识为已提交 -->
  2016. <update id="updateIPQCMasterSubmitFlag" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  2017. UPDATE qc_ipqc_record
  2018. SET submit_flag = 'Y',
  2019. state = '已完成',
  2020. submit_date = getDate()
  2021. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  2022. </update>
  2023. <!-- 修改IPQC明细记录标识为已提交 -->
  2024. <update id="updateIPQCDetailSubmitFlag" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  2025. UPDATE qc_ipqc_detailed_record
  2026. SET is_submit = 'Y'
  2027. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  2028. </update>
  2029. <!-- 修改IPQC子明细记录标识为已提交 -->
  2030. <update id="updateIPQCSubDetailSubmitFlag" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  2031. UPDATE qc_ipqc_sub_detail_record
  2032. SET is_submit = 'Y'
  2033. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  2034. </update>
  2035. <!-- 删除IPQC子明细的老数据 -->
  2036. <delete id="delIPQCSubDetailedRecord" parameterType="com.heai.modules.pms.data.QcSubDetailInformationData">
  2037. DELETE FROM qc_ipqc_sub_detail_record
  2038. WHERE inspection_no = #{inspectionNo} and item_no = #{itemNo} and site = #{site} and bu_no = #{buNo}
  2039. </delete>
  2040. <!-- 新增IPQC子明细信息 -->
  2041. <insert id="saveIPQCSubDetailed">
  2042. INSERT INTO qc_ipqc_sub_detail_record
  2043. (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)
  2044. VALUES
  2045. <foreach collection="list" item="item" separator=",">
  2046. (#{item.inspectionNo}, #{item.itemNo}, #{item.subDetailValue}, #{item.samplingLocation}, #{item.site}, #{item.samplingLocationB}, #{item.buNo}, #{item.num}, #{item.subDetailValueB}, #{item.subDetailValueC}, #{item.subDetailValueD}, #{item.subDetailValueE})
  2047. </foreach>
  2048. </insert>
  2049. <!-- 查询IPQC的子明细 -->
  2050. <select id="selectIPQCSubDetailedRecord" parameterType="com.heai.modules.pms.data.SubDetailValues" resultType="com.heai.modules.pms.data.SubDetailValues">
  2051. SELECT
  2052. site,
  2053. bu_no,
  2054. sub_detail_value,
  2055. sampling_location,
  2056. is_submit,
  2057. sampling_location_b,
  2058. num,
  2059. sub_detail_value_b,
  2060. sub_detail_value_c,
  2061. sub_detail_value_d,
  2062. sub_detail_value_e
  2063. FROM qc_ipqc_sub_detail_record
  2064. WHERE inspection_no = #{inspectionNo} and item_no = #{itemNo} and site = #{site} and bu_no = #{buNo}
  2065. <if test = "collectionDataContent != null and collectionDataContent != ''">
  2066. AND sub_detail_value ${collectionDataContent}
  2067. </if>
  2068. </select>
  2069. <!-- 查询IPQC检验记录是否已提交 -->
  2070. <select id="checkIPQCIsSubmit" parameterType="com.heai.modules.pms.data.SubDetailValues" resultType="com.heai.modules.pms.data.QcFAIRecordData">
  2071. SELECT submit_flag
  2072. FROM qc_ipqc_record
  2073. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  2074. </select>
  2075. <!-- 获取该项目的子明细值 -->
  2076. <select id="selectIPQCSubDetailValue" parameterType="string" resultType="com.heai.modules.pms.data.SubDetailValues">
  2077. SELECT sub_detail_value,
  2078. sampling_location,
  2079. is_submit
  2080. FROM qc_ipqc_sub_detail_record
  2081. WHERE inspection_no = #{inspectionNo} and item_no = #{itemNo} and site = #{site}
  2082. </select>
  2083. <!-- 查询工序列表 -->
  2084. <select id="getOperationList" parameterType="com.heai.modules.pms.data.QcFAIRecordData" resultType="com.heai.modules.pms.data.QcFAIRecordData">
  2085. SELECT
  2086. DISTINCT
  2087. a.seqno as seqNo,
  2088. a.orderno as orderNo,
  2089. j.partNo,
  2090. j.PartDescription,
  2091. j.invdefinetype,
  2092. j.sku,
  2093. c.OperationDesc as operationDesc,
  2094. a.itemno as operationNo,
  2095. a.s_resourceid as resourceId,
  2096. DBO.getResourceDesc(a.site, a.s_resourceid) as resourceDesc,
  2097. c.work_center_no
  2098. FROM soscheduledrouting as a
  2099. LEFT JOIN RoutingDetail AS c ON c.site = a.site AND a.itemno = c.itemNo
  2100. LEFT JOIN part j ON a.site = j.site and a.partNo = j.partNo
  2101. WHERE a.site = #{site} and a.seqno = #{seqNo}
  2102. </select>
  2103. <!-- 根据工单号和工序号查出所有数据 -->
  2104. <select id="getResourceList" parameterType="com.heai.modules.pms.data.QcFAIRecordData" resultType="com.heai.modules.pms.data.QcFAIRecordData">
  2105. SELECT
  2106. a.s_resourceid as resourceId,
  2107. DBO.getResourceDesc(a.site, a.s_resourceid) as resourceDesc,
  2108. c.work_center_no
  2109. FROM soscheduledrouting as a
  2110. LEFT JOIN sfdc as b ON a.site = b.site and a.seqno = b.assjob_seq_no
  2111. LEFT JOIN so_routing as c ON c.site = a.site and c.order_no = a.orderno and a.itemno = c.item_no
  2112. LEFT JOIN part j ON a.site = j.site and a.part_no = j.part_no
  2113. WHERE a.site = #{site} and b.approve_qty is not null and a.seqno = #{seqNo}
  2114. ORDER BY a.id desc
  2115. </select>
  2116. <!-- a.orderno = #{orderNo} and c.operation_desc = #{operationDesc}-->
  2117. <!-- 查询机台名称 -->
  2118. <select id="selectResourceDesc" parameterType="com.heai.modules.pms.data.QcFAIRecordData" resultType="com.heai.modules.pms.data.QcFAIRecordData">
  2119. SELECT distinct
  2120. resource_desc
  2121. FROM resource
  2122. WHERE site = #{site} and resource_id = #{resourceId}
  2123. </select>
  2124. <!-- 查询物料名称 -->
  2125. <select id="selectPartDesc" parameterType="com.heai.modules.pms.data.QcFAIRecordData" resultType="com.heai.modules.pms.data.QcFAIRecordData">
  2126. SELECT distinct
  2127. part_desc
  2128. FROM part
  2129. WHERE site = #{site} and part_no = #{partNo}
  2130. </select>
  2131. <!-- ================================================= IQC检验维护 ================================================= -->
  2132. <!-- 查询IQC基础数据 -->
  2133. <select id="selectIQCBasicData" resultType="com.heai.modules.pms.data.QcFAIRecordData" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  2134. SELECT
  2135. qir.inspection_no,
  2136. qir.state,
  2137. qir.create_date as taskDate,
  2138. qir.roll_no,
  2139. qir.part_no,
  2140. p.part_desc,
  2141. p.cinv_source_code,
  2142. p.sku as sku,
  2143. qir.roll_qty,
  2144. qir.print_flag,
  2145. qir.create_by,
  2146. qir.supplier_no,
  2147. qir.site,
  2148. qir.bu_no,
  2149. qir.po_orderNo,
  2150. qir.po_itemNo,
  2151. qir.roll_count
  2152. FROM qc_iqc_record as qir
  2153. LEFT JOIN part p ON qir.part_no = p.part_no and qir.site = p.site
  2154. WHERE qir.site in (select site from eam_access_site where username = #{userName})
  2155. and (qir.site + '-' + qir.bu_no) in (select * from dbo.query_bu(#{userName}))
  2156. and qir.detail_flag = 'N'
  2157. </select>
  2158. <!-- 新增IQC明细记录信息 -->
  2159. <insert id="saveIQCDetailedRecord" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  2160. 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, site, sampling_qty, bu_no,order_id)
  2161. 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}, #{site}, #{samplingQty}, #{buNo},#{orderId,jdbcType=INTEGER})
  2162. </insert>
  2163. <!-- 修改IQC检验记录 -->
  2164. <update id="updateIQCRecord" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  2165. UPDATE qc_iqc_record
  2166. SET inspection_type_no = #{inspectionTypeNo},
  2167. sampling_qty = #{samplingQty},
  2168. inspection_cycle = #{inspectionCycle},
  2169. part_no = #{partNo},
  2170. supplier_no = #{supplierNo},
  2171. part_desc = #{partDesc},
  2172. detail_flag = 'Y',
  2173. state = '未开始',
  2174. action_date = '',
  2175. action_by = ''
  2176. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  2177. </update>
  2178. <!-- 查询IQC主记录信息 -->
  2179. <select id="qcIQCInspectionSearch" parameterType="com.heai.modules.pms.data.QcFAIRecordData" resultType="com.heai.modules.pms.data.QcFAIRecordData">
  2180. SELECT
  2181. a.inspection_no,
  2182. a.site,
  2183. a.bu_no,
  2184. a.state,
  2185. a.inspection_result,
  2186. a.create_date as taskDate,
  2187. a.inspection_type_no,
  2188. a.inspection_cycle,
  2189. a.part_no,
  2190. a.part_desc,
  2191. d.cinv_source_code as cinvSourceCode,
  2192. d.sku,
  2193. d.umid as umId,
  2194. d.invdefinetype as invdefinetype,
  2195. a.inspection_remark,
  2196. a.roll_qty,
  2197. a.sampling_qty,
  2198. a.disposal_measures,
  2199. a.disposal_remark,
  2200. a.inspector_date,
  2201. a.inspector_no,
  2202. u.user_display as inspectorName,
  2203. a.unqualified_quantity,
  2204. a.submit_flag,
  2205. a.roll_no,
  2206. a.supplier_no,
  2207. s.SupplierName as supplierDesc,
  2208. a.po_orderNo,
  2209. a.po_itemNo,
  2210. a.roll_count,
  2211. dbo.qc_get_order_type(a.site, a.po_orderNo, a.po_itemNo) as orderType,
  2212. a.action_date,
  2213. a.action_by,
  2214. isnull(dbo.joint_id(a.site, a.bu_no, a.inspection_no, 'coordination'), '') as operator,
  2215. isnull(dbo.joint_name(a.site, a.bu_no, a.inspection_no, 'coordination'), '') as operatorName,
  2216. isnull(dbo.joint_id(a.site, a.bu_no, a.inspection_no, 'responsible'), '') as responsiblePerson,
  2217. isnull(dbo.joint_name2(a.site, a.bu_no, a.inspection_no, 'responsible'), '') as responsiblePersonName,
  2218. a.submission_remark,
  2219. a.submission_type,
  2220. a.batch_no,
  2221. a.production_date,
  2222. a.expiration_warning_date,
  2223. a.expiration_date,
  2224. a.cancel_check_date,
  2225. a.submit_date,
  2226. a.pass_qty,
  2227. a.not_pass_qty,
  2228. a.batch_qualified_qty
  2229. FROM qc_iqc_record as a
  2230. left join part as d on a.site = d.site and a.bu_no = d.sourceBu and a.part_no = d.partNo
  2231. left join view_Supplier as s on a.site = s.site and a.supplier_no = s.SupplierID
  2232. left join sys_user as u on a.inspector_no = u.username
  2233. <where>
  2234. <if test="query.site != null and query.site != ''">
  2235. AND a.site = #{query.site}
  2236. </if>
  2237. <if test = "query.inspectionNo != null and query.inspectionNo != ''">
  2238. AND a.inspection_no LIKE '%' + #{query.inspectionNo} + '%'
  2239. </if>
  2240. <if test = "query.states != null and query.states.size > 0">
  2241. AND a.state in
  2242. <foreach item="item" collection="query.states" open="(" separator="," close=")">
  2243. #{item}
  2244. </foreach>
  2245. </if>
  2246. <if test = "query.inspectionResult != null and query.inspectionResult != ''">
  2247. AND a.inspection_result = #{query.inspectionResult}
  2248. </if>
  2249. <if test = "query.partNo != null and query.partNo != ''">
  2250. AND a.part_no LIKE '%' + #{query.partNo} + '%'
  2251. </if>
  2252. <if test = "query.partDesc != null and query.partDesc != ''">
  2253. AND a.part_desc LIKE '%' + #{query.partDesc} + '%'
  2254. </if>
  2255. <if test = "query.cinvSourceCode != null and query.cinvSourceCode != ''">
  2256. AND d.cinv_source_code LIKE '%' + #{query.cinvSourceCode} + '%'
  2257. </if>
  2258. <if test = "query.sku != null and query.sku != ''">
  2259. AND d.sku LIKE '%' + #{query.sku} + '%'
  2260. </if>
  2261. <if test = "query.supplierDesc != null and query.supplierDesc != ''">
  2262. AND s.SupplierName LIKE '%' + #{query.supplierDesc} + '%'
  2263. </if>
  2264. <if test = "query.disposalMeasures != null and query.disposalMeasures != ''">
  2265. AND a.disposal_measures LIKE '%' + #{query.disposalMeasures} + '%'
  2266. </if>
  2267. <if test = "query.inspectorName != null and query.inspectorName != ''">
  2268. u.user_display LIKE '%' + #{query.inspectorName} + '%'
  2269. </if>
  2270. <if test="query.startDate != null">
  2271. AND a.inspector_date >= #{query.startDate}
  2272. </if>
  2273. <if test="query.endDate != null">
  2274. AND #{query.endDate} >= a.inspector_date
  2275. </if>
  2276. <if test="query.startDate2 != null">
  2277. AND a.create_date >= #{query.startDate2}
  2278. </if>
  2279. <if test="query.endDate2 != null">
  2280. AND #{query.endDate2} >= a.create_date
  2281. </if>
  2282. <if test = "query.poOrderNo != null and query.poOrderNo != ''">
  2283. AND a.po_orderNo LIKE '%' + #{query.poOrderNo} + '%'
  2284. </if>
  2285. <if test = "query.poItemNo != null and query.poItemNo != ''">
  2286. AND a.po_itemNo LIKE '%' + #{query.poItemNo} + '%'
  2287. </if>
  2288. <if test = "query.orderType != null and query.orderType != ''">
  2289. AND dbo.qc_get_order_type(a.site, a.po_orderNo, a.po_itemNo) = #{query.orderType}
  2290. </if>
  2291. <if test = "query.submissionType != null and query.submissionType != ''">
  2292. AND a.submission_type = #{query.submissionType}
  2293. </if>
  2294. <if test = "query.invdefinetype != null and query.invdefinetype != ''">
  2295. AND d.invdefinetype LIKE '%' + #{query.invdefinetype} + '%'
  2296. </if>
  2297. </where>
  2298. ORDER BY
  2299. CASE WHEN a.state = '待检验' THEN 1
  2300. WHEN a.state = '待审核' THEN 2
  2301. WHEN a.state = '已完成' THEN 3
  2302. END, a.create_date desc
  2303. </select>
  2304. <!-- IQC明细记录查询 -->
  2305. <select id="iqcDetailSearch" parameterType="com.heai.modules.pms.data.QcFAIRecordData" resultType="com.heai.modules.pms.data.QcFAIRecordData">
  2306. SELECT
  2307. a.site,
  2308. a.bu_no,
  2309. a.inspection_no,
  2310. a.template_id,
  2311. a.sampling_level_no,
  2312. a.sampling_level_desc,
  2313. a.sampling_programme_no,
  2314. a.sampling_programme_desc,
  2315. a.AQL,
  2316. a.AC,
  2317. a.RE,
  2318. a.item_no,
  2319. a.item_desc,
  2320. a.object_id,
  2321. a.object_desc,
  2322. a.default_value,
  2323. a.min_value,
  2324. a.max_value,
  2325. a.text_value,
  2326. a.number_value,
  2327. a.value_type_db,
  2328. a.value_type,
  2329. case when a.item_result = '' or a.item_result is null then 'Y' else a.item_result end as itemResult,
  2330. a.is_submit,
  2331. isnull(a.unqualified_quantity,0) as unqualifiedQuantity,
  2332. dbo.qc_get_iqc_sub_record_num(a.site, a.bu_no, a.inspection_no, a.item_no) as subDetailRecordNum,
  2333. c.method_no,
  2334. c.method_name,
  2335. c.method_remark,
  2336. a.sampling_qty
  2337. FROM qc_iqc_detailed_record as a
  2338. 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
  2339. 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
  2340. WHERE a.inspection_no = #{inspectionNo} and a.site = #{site} and a.bu_no = #{buNo}
  2341. order by a.order_id
  2342. </select>
  2343. <!-- 查询IQC的子明细 -->
  2344. <select id="selectIQCSubDetailedRecord" parameterType="com.heai.modules.pms.data.SubDetailValues" resultType="com.heai.modules.pms.data.SubDetailValues">
  2345. SELECT
  2346. site,
  2347. bu_no,
  2348. sub_detail_value,
  2349. sampling_location,
  2350. is_submit,
  2351. sampling_location_b,
  2352. num,
  2353. sub_detail_value_b,
  2354. sub_detail_value_c,
  2355. sub_detail_value_d,
  2356. sub_detail_value_e
  2357. FROM qc_iqc_sub_detail_record
  2358. WHERE inspection_no = #{inspectionNo} and item_no = #{itemNo} and site = #{site} and bu_no = #{buNo}
  2359. <if test = "collectionDataContent != null and collectionDataContent != ''">
  2360. AND sub_detail_value ${collectionDataContent}
  2361. </if>
  2362. </select>
  2363. <!-- 获取该项目的子明细值 -->
  2364. <select id="selectIQCSubDetailValue" parameterType="string" resultType="com.heai.modules.pms.data.SubDetailValues">
  2365. SELECT sub_detail_value,
  2366. sampling_location,
  2367. is_submit
  2368. FROM qc_iqc_sub_detail_record
  2369. WHERE inspection_no = #{inspectionNo} and item_no = #{itemNo} and site = #{site}
  2370. </select>
  2371. <!-- 修改IQC主记录信息 -->
  2372. <update id="updateIQCMasterRecord" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  2373. UPDATE qc_iqc_record
  2374. SET disposal_measures = #{disposalMeasures},
  2375. disposal_remark = #{disposalRemark},
  2376. inspection_result = #{inspectionResult},
  2377. inspector_no = #{inspectorNo},
  2378. state = #{state},
  2379. inspection_remark = #{inspectionRemark},
  2380. inspector_date = getDate(),
  2381. roll_count = #{rollCount,jdbcType=DECIMAL},
  2382. sampling_qty = #{samplingQty,jdbcType=DECIMAL},
  2383. unqualified_qty = #{unqualifiedQty,jdbcType=DECIMAL},
  2384. pass_qty = #{passQty,jdbcType=DECIMAL},
  2385. not_pass_qty = #{notPassQty,jdbcType=DECIMAL},
  2386. batch_qualified_qty = #{batchQualifiedQty,jdbcType=DECIMAL},
  2387. submit_date = getDate()
  2388. WHERE site = #{site} and bu_no = #{buNo} and inspection_no = #{inspectionNo}
  2389. </update>
  2390. <!-- 修改IQC明细记录信息 -->
  2391. <update id="updateIQCDetailedRecord" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  2392. UPDATE qc_iqc_detailed_record
  2393. SET item_result = #{itemResult},
  2394. unqualified_quantity = #{unqualifiedQuantity,jdbcType=DECIMAL},
  2395. sampling_qty = #{samplingQty,jdbcType=DECIMAL},
  2396. text_value = #{textValue},
  2397. number_value = #{numberValue,jdbcType=DECIMAL}
  2398. WHERE inspection_no = #{inspectionNo} and item_no = #{itemNo} and site = #{site} and bu_no = #{buNo}
  2399. </update>
  2400. <!-- 查询该记录明细是否已存在 -->
  2401. <select id="checkIQCDetail" parameterType="com.heai.modules.pms.data.QcFAIRecordData" resultType="com.heai.modules.pms.data.QcFAIRecordData">
  2402. SELECT inspection_no,
  2403. template_id
  2404. FROM qc_iqc_detailed_record
  2405. WHERE inspection_no = #{inspectionNo} and site = #{site}
  2406. </select>
  2407. <!-- 查询IQC检验记录是否已提交 -->
  2408. <select id="checkIQCIsSubmit" parameterType="com.heai.modules.pms.data.SubDetailValues" resultType="com.heai.modules.pms.data.QcFAIRecordData">
  2409. SELECT submit_flag
  2410. FROM qc_iqc_record
  2411. WHERE inspection_no = #{inspectionNo} and site = #{site}
  2412. </select>
  2413. <!-- 删除IQC子明细的老数据 -->
  2414. <delete id="delIQCSubDetailedRecord" parameterType="com.heai.modules.pms.data.QcSubDetailInformationData">
  2415. DELETE FROM qc_iqc_sub_detail_record
  2416. WHERE inspection_no = #{inspectionNo} and item_no = #{itemNo} and site = #{site} and bu_no = #{buNo}
  2417. </delete>
  2418. <!-- 新增IQC子明细信息 -->
  2419. <insert id="saveIQCSubDetailed">
  2420. INSERT INTO qc_iqc_sub_detail_record
  2421. (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)
  2422. VALUES
  2423. <foreach collection="list" item="item" separator=",">
  2424. (#{item.inspectionNo}, #{item.itemNo}, #{item.subDetailValue}, #{item.samplingLocation}, #{item.site}, #{item.samplingLocationB}, #{item.buNo}, #{item.num}, #{item.subDetailValueB}, #{item.subDetailValueC}, #{item.subDetailValueD}, #{item.subDetailValueE})
  2425. </foreach>
  2426. </insert>
  2427. <!-- 修改IQC主记录标识为已提交 -->
  2428. <update id="updateIQCMasterSubmitFlag" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  2429. UPDATE qc_iqc_record
  2430. SET submit_flag = 'Y',
  2431. state = '已完成',
  2432. submit_date = getDate()
  2433. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  2434. </update>
  2435. <!-- 修改IQC明细记录标识为已提交 -->
  2436. <update id="updateIQCDetailSubmitFlag" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  2437. UPDATE qc_iqc_detailed_record
  2438. SET is_submit = 'Y'
  2439. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  2440. </update>
  2441. <!-- 修改IQC子明细记录标识为已提交 -->
  2442. <update id="updateIQCSubDetailSubmitFlag" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  2443. UPDATE qc_iqc_sub_detail_record
  2444. SET is_submit = 'Y'
  2445. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  2446. </update>
  2447. <!-- 删除IQC检验记录 -->
  2448. <delete id="deleteIQCRecord" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  2449. DELETE FROM qc_iqc_record
  2450. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  2451. </delete>
  2452. <!-- 删除IQC明细记录信息 -->
  2453. <delete id="deleteIQCDetailedRecord" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  2454. DELETE FROM qc_iqc_detailed_record
  2455. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  2456. </delete>
  2457. <!-- 删除IQC子明细记录信息 -->
  2458. <delete id="deleteIQCSubDetailedRecord" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  2459. DELETE FROM qc_iqc_sub_detail_record
  2460. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  2461. </delete>
  2462. <!-- 查询文件ID -->
  2463. <select id="queryFileId" parameterType="SysOssEntity" resultType="SysOssEntity">
  2464. SELECT id, file_name
  2465. FROM sys_oss
  2466. WHERE order_ref1 = #{orderRef1} and order_ref2 = #{orderRef2}
  2467. </select>
  2468. <!-- 获取工序列表 -->
  2469. <select id="getOperationDescList" parameterType="com.heai.modules.pms.data.QcPartAttributeData" resultType="com.heai.modules.pms.data.QcPartAttributeData">
  2470. select DISTINCT OperationDesc from RoutingDetail
  2471. <where>
  2472. <if test = "operationDesc != null and operationDesc != ''">
  2473. AND OperationDesc LIKE '%' + #{operationDesc} + '%'
  2474. </if>
  2475. </where>
  2476. </select>
  2477. <!-- 获取供应商列表 -->
  2478. <select id="getManufacturerList" parameterType="com.heai.modules.pms.data.QcPartAttributeData" resultType="com.heai.modules.pms.data.QcPartAttributeData">
  2479. SELECT
  2480. supplierID as manufacturerID,
  2481. supplierName as manufacturerName
  2482. FROM view_Supplier
  2483. <where>
  2484. site = #{site}
  2485. <if test = "manufacturerID != null and manufacturerID != ''">
  2486. AND supplierID LIKE '%' + #{manufacturerID} + '%'
  2487. </if>
  2488. <if test = "manufacturerName != null and manufacturerName != ''">
  2489. AND supplierName LIKE '%' + #{manufacturerName} + '%'
  2490. </if>
  2491. </where>
  2492. </select>
  2493. <!-- 获取机台列表 -->
  2494. <select id="getAllResourceList" parameterType="com.heai.modules.pms.data.QcFAIRecordData" resultType="com.heai.modules.pms.data.QcFAIRecordData">
  2495. SELECT distinct
  2496. resource_id,
  2497. resource_desc
  2498. FROM resource
  2499. <where>
  2500. site = #{site}
  2501. <if test = "resourceId != null and resourceId != ''">
  2502. AND resource_id LIKE '%' + #{resourceId} + '%'
  2503. </if>
  2504. <if test = "resourceDesc != null and resourceDesc != ''">
  2505. AND resource_desc LIKE '%' + #{resourceDesc} + '%'
  2506. </if>
  2507. </where>
  2508. </select>
  2509. <!-- 获取工单列表 -->
  2510. <select id="getOrderNoList" parameterType="com.heai.modules.pms.data.QcFAIRecordData" resultType="com.heai.modules.pms.data.QcFAIRecordData">
  2511. SELECT DISTINCT
  2512. a.orderno as orderNo
  2513. FROM soscheduledrouting as a
  2514. LEFT JOIN sfdc as b ON a.site = b.site and a.seqno = b.assjob_seq_no
  2515. LEFT JOIN so_routing as c ON c.site = a.site and c.order_no = a.orderno and a.itemno = c.item_no
  2516. LEFT JOIN part j ON a.site = j.site and a.part_no = j.part_no
  2517. <where>
  2518. a.site = #{site}
  2519. AND b.approve_qty is not null
  2520. <if test = "orderNo != null and orderNo != ''">
  2521. AND a.orderno LIKE '%' + #{orderNo} + '%'
  2522. </if>
  2523. </where>
  2524. order by a.orderno DESC
  2525. </select>
  2526. <!-- 查询FQC主记录信息 -->
  2527. <select id="qcFQCInspectionSearch" parameterType="com.heai.modules.pms.data.QcFAIRecordData" resultType="com.heai.modules.pms.data.QcFAIRecordData">
  2528. SELECT
  2529. a.inspection_no,
  2530. a.site,
  2531. a.bu_no,
  2532. a.state,
  2533. a.inspection_result,
  2534. a.task_date,
  2535. a.inspection_type_no,
  2536. dbo.qc_get_inspection_type_name(a.site, a.inspection_type_no) as inspectionTypeName,
  2537. a.inspection_cycle,
  2538. a.order_no,
  2539. a.operation_desc,
  2540. a.resource_id,
  2541. r.resource_desc,
  2542. a.part_no,
  2543. d.PartDescription as part_desc,
  2544. d.cinv_source_code as cinvSourceCode,
  2545. d.sku as sku,
  2546. d.invdefinetype as invdefinetype,
  2547. a.inspection_remark,
  2548. a.roll_qty,
  2549. a.sampling_qty,
  2550. a.disposal_measures,
  2551. a.disposal_remark,
  2552. a.inspector_date,
  2553. a.inspector_no,
  2554. u.user_display as inspectorName,
  2555. a.ssr_id,
  2556. a.unqualified_qty,
  2557. a.submit_flag,
  2558. a.seq_no,
  2559. a.batch_roll_no,
  2560. a.special_requirements,
  2561. a.work_center_no,
  2562. a.roll_no,
  2563. a.um_id,
  2564. um.UMName as umName,
  2565. a.action_date,
  2566. a.action_by,
  2567. isnull(dbo.joint_id(a.site, a.bu_no, a.inspection_no, 'coordination'), '') as operator,
  2568. isnull(dbo.joint_name(a.site, a.bu_no, a.inspection_no, 'coordination'), '') as operatorName,
  2569. isnull(dbo.joint_id(a.site, a.bu_no, a.inspection_no, 'responsible'), '') as responsiblePerson,
  2570. isnull(dbo.joint_name2(a.site, a.bu_no, a.inspection_no, 'responsible'), '') as responsiblePersonName,
  2571. a.pass_qty,
  2572. a.not_pass_qty,
  2573. a.batch_qualified_qty
  2574. FROM qc_fqc_record as a
  2575. left join part as d on a.site = d.site and a.bu_no = d.sourceBu and a.part_no = d.partNo
  2576. left join sys_user as u on a.inspector_no = u.username
  2577. 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
  2578. left join UM as um on a.site = um.site and a.um_id = um.UMID
  2579. <where>
  2580. <if test="query.site != null and query.site != ''">
  2581. AND a.site = #{query.site}
  2582. </if>
  2583. <if test = "query.inspectionNo != null and query.inspectionNo != ''">
  2584. AND a.inspection_no LIKE '%' + #{query.inspectionNo} + '%'
  2585. </if>
  2586. <if test = "query.partNo != null and query.partNo != ''">
  2587. AND a.part_no LIKE '%' + #{query.partNo} + '%'
  2588. </if>
  2589. <if test = "query.partDesc != null and query.partDesc != ''">
  2590. AND d.PartDescription LIKE '%' + #{query.partDesc} + '%'
  2591. </if>
  2592. <if test = "query.cinvSourceCode != null and query.cinvSourceCode != ''">
  2593. AND d.cinv_source_code LIKE '%' + #{query.cinvSourceCode} + '%'
  2594. </if>
  2595. <if test = "query.sku != null and query.sku != ''">
  2596. AND d.sku LIKE '%' + #{query.sku} + '%'
  2597. </if>
  2598. <if test = "query.disposalMeasures != null and query.disposalMeasures != ''">
  2599. AND a.disposal_measures LIKE '%' + #{query.disposalMeasures} + '%'
  2600. </if>
  2601. <if test = "query.states != null and query.states.size > 0">
  2602. AND a.state in
  2603. <foreach item="item" collection="query.states" open="(" separator="," close=")">
  2604. #{item}
  2605. </foreach>
  2606. </if>
  2607. <if test = "query.inspectionResult != null and query.inspectionResult != ''">
  2608. AND a.inspection_result = #{query.inspectionResult}
  2609. </if>
  2610. <if test = "query.orderNo != null and query.orderNo != ''">
  2611. AND a.order_no LIKE '%' + #{query.orderNo} + '%'
  2612. </if>
  2613. <if test = "query.seqNo != null and query.seqNo != ''">
  2614. AND a.seq_no LIKE '%' + #{query.seqNo} + '%'
  2615. </if>
  2616. <if test = "query.operationDesc != null and query.operationDesc != ''">
  2617. AND a.operation_desc LIKE '%' + #{query.operationDesc} + '%'
  2618. </if>
  2619. <if test="query.startDate != null">
  2620. AND a.inspector_date >= #{query.startDate}
  2621. </if>
  2622. <if test="query.endDate != null">
  2623. AND #{query.endDate} >= a.inspector_date
  2624. </if>
  2625. <if test="query.startDate2 != null">
  2626. AND a.task_date >= #{query.startDate2}
  2627. </if>
  2628. <if test="query.endDate2 != null">
  2629. AND #{query.endDate2} >= a.task_date
  2630. </if>
  2631. </where>
  2632. ORDER BY
  2633. CASE WHEN a.state = '待检验' THEN 1
  2634. WHEN a.state = '待审核' THEN 2
  2635. WHEN a.state = '已完成' THEN 3
  2636. END, a.task_date desc
  2637. </select>
  2638. <insert id="saveFQCDetailedRecord" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  2639. INSERT INTO qc_fqc_detailed_record
  2640. (inspection_no, order_no, template_id, sampling_level_no, sampling_level_desc, sampling_programme_no, sampling_programme_desc,
  2641. AQL, AC, RE, item_no, item_desc, object_id, object_desc, default_value, min_value,
  2642. max_value, value_type_db, value_type, site, sampling_qty, bu_no,order_id)
  2643. VALUES
  2644. (#{inspectionNo}, #{orderNo}, #{templateId}, #{samplingLevelNo}, #{samplingLevelDesc}, #{samplingProgrammeNo}, #{samplingProgrammeDesc},
  2645. #{aql,jdbcType=DECIMAL}, #{ac,jdbcType=DECIMAL}, #{re,jdbcType=DECIMAL}, #{itemNo}, #{itemDesc}, #{objectId}, #{objectDesc}, #{defaultValue}, #{minValue,jdbcType=DECIMAL},
  2646. #{maxValue,jdbcType=DECIMAL}, #{valueTypeDb}, #{valueType}, #{site}, #{samplingQty,jdbcType=DECIMAL}, #{buNo},#{orderId,jdbcType=INTEGER})
  2647. </insert>
  2648. <!-- 新增FQC明细记录信息 -->
  2649. <insert id="saveFQCDetailedRecords">
  2650. INSERT INTO qc_fqc_detailed_record
  2651. (inspection_no, order_no, template_id, sampling_level_no, sampling_level_desc, sampling_programme_no, sampling_programme_desc,
  2652. AQL, AC, RE, item_no, item_desc, object_id, object_desc, default_value, min_value,
  2653. max_value, value_type_db, value_type, site, sampling_qty, bu_no, order_id)
  2654. VALUES
  2655. <foreach collection="list" item="item" separator=",">
  2656. (#{item.inspectionNo}, #{item.orderNo}, #{item.templateId}, #{item.samplingLevelNo}, #{item.samplingLevelDesc}, #{item.samplingProgrammeNo}, #{item.samplingProgrammeDesc},
  2657. #{item.aql,jdbcType=DECIMAL}, #{item.ac,jdbcType=DECIMAL}, #{item.re,jdbcType=DECIMAL}, #{item.itemNo}, #{item.itemDesc}, #{item.objectId}, #{item.objectDesc}, #{item.defaultValue}, #{item.minValue,jdbcType=DECIMAL},
  2658. #{item.maxValue,jdbcType=DECIMAL}, #{item.valueTypeDb}, #{item.valueType}, #{item.site}, #{item.samplingQty,jdbcType=DECIMAL}, #{item.buNo}, #{item.orderId})
  2659. </foreach>
  2660. </insert>
  2661. <!-- 新增FQC主记录信息 -->
  2662. <insert id="saveFQCRecord" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  2663. INSERT INTO qc_fqc_record
  2664. (inspection_no, site, bu_no, state, task_date, inspection_type_no, inspection_cycle, order_no, operation_desc, resource_id,
  2665. part_no, roll_qty, sampling_qty, ssr_id, seq_no, batch_roll_no, special_requirements, work_center_no, roll_no, um_id)
  2666. VALUES
  2667. (#{inspectionNo}, #{site}, #{buNo}, #{state}, getDate(), #{inspectionTypeNo}, #{inspectionCycle,jdbcType=DECIMAL}, #{orderNo}, #{operationDesc}, #{resourceId},
  2668. #{partNo}, #{rollQty}, #{samplingQty,jdbcType=DECIMAL}, #{ssrId}, #{seqNo}, #{batchRollNo}, #{specialRequirements}, #{workCenterNo}, #{rollNo}, #{umId})
  2669. </insert>
  2670. <!-- FQC明细记录查询 -->
  2671. <select id="fqcDetailSearch" parameterType="com.heai.modules.pms.data.QcFAIRecordData" resultType="com.heai.modules.pms.data.QcFAIRecordData">
  2672. SELECT
  2673. a.site,
  2674. a.bu_no,
  2675. a.inspection_no,
  2676. a.order_no,
  2677. a.template_id,
  2678. a.sampling_level_no,
  2679. a.sampling_level_desc,
  2680. a.sampling_programme_no,
  2681. a.sampling_programme_desc,
  2682. a.AQL,
  2683. a.AC,
  2684. a.RE,
  2685. a.item_no,
  2686. a.item_desc,
  2687. a.object_id,
  2688. a.object_desc,
  2689. a.default_value,
  2690. a.min_value,
  2691. a.max_value,
  2692. a.text_value,
  2693. a.number_value,
  2694. a.value_type_db,
  2695. a.value_type,
  2696. case when a.item_result = '' or a.item_result is null then 'Y' else a.item_result end as itemResult,
  2697. a.is_submit,
  2698. isnull(a.unqualified_quantity,0) as unqualifiedQuantity,
  2699. a.sampling_qty,
  2700. dbo.qc_get_fqc_sub_record_num(a.site, a.bu_no, a.inspection_no, a.item_no) as subDetailRecordNum,
  2701. c.method_no,
  2702. c.method_name,
  2703. c.method_remark
  2704. FROM qc_fqc_detailed_record as a
  2705. 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
  2706. 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
  2707. WHERE a.inspection_no = #{inspectionNo} and a.site = #{site} and a.bu_no = #{buNo}
  2708. order by a.order_id
  2709. </select>
  2710. <!-- 删除FQC检验记录 -->
  2711. <delete id="deleteFQCRecord" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  2712. DELETE FROM qc_fqc_record
  2713. WHERE site = #{site} and bu_no = #{buNo} and inspection_no = #{inspectionNo}
  2714. </delete>
  2715. <!-- 删除FQC明细记录信息 -->
  2716. <delete id="deleteFQCDetailedRecord" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  2717. DELETE FROM qc_fqc_detailed_record
  2718. WHERE site = #{site} and bu_no = #{buNo} and inspection_no = #{inspectionNo}
  2719. </delete>
  2720. <!-- 删除FQC子明细记录信息 -->
  2721. <delete id="deleteFQCSubDetailedRecord" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  2722. DELETE FROM qc_fqc_sub_detail_record
  2723. WHERE site = #{site} and bu_no = #{buNo} and inspection_no = #{inspectionNo}
  2724. </delete>
  2725. <!-- 修改FQC主记录信息 -->
  2726. <update id="updateFQCMasterRecord" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  2727. UPDATE qc_fqc_record
  2728. SET disposal_measures = #{disposalMeasures},
  2729. disposal_remark = #{disposalRemark},
  2730. inspection_result = #{inspectionResult},
  2731. inspector_no = #{inspectorNo},
  2732. state = #{state},
  2733. inspection_remark = #{inspectionRemark},
  2734. inspector_date = getDate(),
  2735. sampling_qty = #{samplingQty,jdbcType=DECIMAL},
  2736. roll_qty = #{rollQty,jdbcType=DECIMAL},
  2737. unqualified_qty = #{unqualifiedQty,jdbcType=DECIMAL},
  2738. pass_qty = #{passQty,jdbcType=DECIMAL},
  2739. not_pass_qty = #{notPassQty,jdbcType=DECIMAL},
  2740. batch_qualified_qty = #{batchQualifiedQty,jdbcType=DECIMAL},
  2741. submit_date = getDate()
  2742. WHERE site = #{site} and inspection_no = #{inspectionNo} and bu_no = #{buNo}
  2743. </update>
  2744. <!-- 修改FQC明细记录信息 -->
  2745. <update id="updateFQCDetailedRecord" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  2746. UPDATE qc_fqc_detailed_record
  2747. SET item_result = #{itemResult},
  2748. unqualified_quantity = #{unqualifiedQuantity,jdbcType=DECIMAL},
  2749. sampling_qty = #{samplingQty,jdbcType=DECIMAL},
  2750. text_value = #{textValue},
  2751. number_value = #{numberValue,jdbcType=DECIMAL}
  2752. WHERE inspection_no = #{inspectionNo} and item_no = #{itemNo} and site = #{site} and bu_no = #{buNo}
  2753. </update>
  2754. <!-- 修改FQC主记录标识为已提交 -->
  2755. <update id="updateFQCMasterSubmitFlag" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  2756. UPDATE qc_fqc_record
  2757. SET submit_flag = 'Y',
  2758. state = '已完成',
  2759. submit_date = getDate()
  2760. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  2761. </update>
  2762. <!-- 修改FAI明细记录标识为已提交 -->
  2763. <update id="updateFQCDetailSubmitFlag" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  2764. UPDATE qc_fqc_detailed_record
  2765. SET is_submit = 'Y'
  2766. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  2767. </update>
  2768. <!-- 修改子明细记录标识为已提交 -->
  2769. <update id="updateFQCSubDetailSubmitFlag" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  2770. UPDATE qc_fqc_sub_detail_record
  2771. SET is_submit = 'Y'
  2772. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  2773. </update>
  2774. <!-- 删除子明细的老数据 -->
  2775. <delete id="delFQCSubDetailedRecord" parameterType="com.heai.modules.pms.data.QcSubDetailInformationData">
  2776. DELETE FROM qc_fqc_sub_detail_record
  2777. WHERE inspection_no = #{inspectionNo} and item_no = #{itemNo} and site = #{site} and bu_no = #{buNo}
  2778. </delete>
  2779. <!-- 新增子明细信息 -->
  2780. <insert id="saveFQCSubDetailed">
  2781. INSERT INTO qc_fqc_sub_detail_record
  2782. (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)
  2783. VALUES
  2784. <foreach collection="list" item="item" separator=",">
  2785. (#{item.inspectionNo}, #{item.itemNo}, #{item.subDetailValue}, #{item.samplingLocation}, #{item.site}, #{item.samplingLocationB}, #{item.buNo}, #{item.num}, #{item.subDetailValueB}, #{item.subDetailValueC}, #{item.subDetailValueD}, #{item.subDetailValueE})
  2786. </foreach>
  2787. </insert>
  2788. <!-- 查询FQC的子明细 -->
  2789. <select id="selectFQCSubDetailedRecord" parameterType="com.heai.modules.pms.data.SubDetailValues" resultType="com.heai.modules.pms.data.SubDetailValues">
  2790. SELECT
  2791. site,
  2792. bu_no,
  2793. sub_detail_value,
  2794. sampling_location,
  2795. is_submit,
  2796. sampling_location_b,
  2797. num,
  2798. sub_detail_value_b,
  2799. sub_detail_value_c,
  2800. sub_detail_value_d,
  2801. sub_detail_value_e
  2802. FROM qc_fqc_sub_detail_record
  2803. WHERE inspection_no = #{inspectionNo} and item_no = #{itemNo} and site = #{site} and bu_no = #{buNo}
  2804. <if test = "collectionDataContent != null and collectionDataContent != ''">
  2805. AND sub_detail_value ${collectionDataContent}
  2806. </if>
  2807. </select>
  2808. <!-- 查询FQC检验记录是否已提交 -->
  2809. <select id="checkFQCIsSubmit" parameterType="com.heai.modules.pms.data.SubDetailValues" resultType="com.heai.modules.pms.data.QcFAIRecordData">
  2810. SELECT submit_flag
  2811. FROM qc_fqc_record
  2812. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  2813. </select>
  2814. <!-- 获取该项目的子明细值 -->
  2815. <select id="selectFQCSubDetailValue" parameterType="string" resultType="com.heai.modules.pms.data.SubDetailValues">
  2816. SELECT sub_detail_value,
  2817. sampling_location,
  2818. is_submit
  2819. FROM qc_fqc_sub_detail_record
  2820. WHERE inspection_no = #{inspectionNo} and item_no = #{itemNo} and site = #{site}
  2821. </select>
  2822. <!-- 生成FQC检验单号 -->
  2823. <select id="selectFQCInspectionNo" resultType="string" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  2824. SELECT
  2825. Right('0000000000'+ convert(VARCHAR(10), isnull(max(convert(INT,SUBSTRING(inspection_no,4,10))),0)+1),8)
  2826. FROM qc_fqc_record
  2827. WHERE site = #{site} and bu_no = #{buNo}
  2828. </select>
  2829. <!-- 生成IPQC检验单号 -->
  2830. <select id="selectIPQCInspectionNo" resultType="string" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  2831. SELECT
  2832. Right('0000000000'+ convert(VARCHAR(10), isnull(max(convert(INT,SUBSTRING(inspection_no,5,10))),0)+1),8)
  2833. FROM qc_ipqc_record
  2834. WHERE site = #{site} and bu_no = #{buNo}
  2835. </select>
  2836. <!-- 生成FAI检验单号 -->
  2837. <select id="selectFAIInspectionNo" resultType="string" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  2838. SELECT
  2839. Right('0000000000'+ convert(VARCHAR(10), isnull(max(convert(INT,SUBSTRING(inspection_no,4,10))),0)+1),8)
  2840. FROM qc_fai_record
  2841. WHERE site = #{site} and bu_no = #{buNo}
  2842. </select>
  2843. <!-- 根据 site、po_orderNo、po_itemNo 从 view_po_order 中查出数据 -->
  2844. <select id="queryDataFromViewPoOrder" resultType="com.heai.modules.pms.data.PoOrderData" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  2845. SELECT
  2846. site,
  2847. order_no,
  2848. item_no,
  2849. part_no,
  2850. part_desc,
  2851. spec,
  2852. supplier_id,
  2853. supplier_name,
  2854. order_qty,
  2855. created_date,
  2856. status,
  2857. citem_code,
  2858. citem_class,
  2859. sendto_address,
  2860. order_type
  2861. FROM view_po_order
  2862. WHERE site = #{site} and order_no = #{poOrderNo} and item_no = #{poItemNo}
  2863. </select>
  2864. <!-- 向收货任务表里添加数据 -->
  2865. <insert id="saveReceivingTask" parameterType="com.heai.modules.pms.data.PoOrderData">
  2866. INSERT INTO receiving_task (site, order_no, item_no, part_no, part_desc, spec, supplier_id, supplier_name, order_qty, created_date, status, citem_code, citem_class, sendto_address, order_type, inspection_no, batch_no, production_date, expiration_warning_date, expiration_date)
  2867. VALUES (#{site}, #{orderNo}, #{itemNo}, #{partNo}, #{partDesc}, #{spec}, #{supplierId}, #{supplierName}, #{orderQty}, getDate(), #{status}, #{citemCode}, #{citemClass}, #{sendtoAddress}, #{orderType}, #{inspectionNo}, #{batchNo}, #{productionDate}, #{expirationWarningDate}, #{expirationDate})
  2868. </insert>
  2869. <!-- 检查动控是否开启 -->
  2870. <select id="queryController" parameterType="com.heai.modules.sys.entity.SysSceneDynamicControlModelEntity" resultType="com.heai.modules.sys.entity.SysSceneDynamicControlModelEntity">
  2871. SELECT
  2872. type,
  2873. base_data,
  2874. base_desc,
  2875. status,
  2876. remark,
  2877. third_type,
  2878. second_type,
  2879. page_control,
  2880. control_style
  2881. FROM sys_scene_dynamic_control_model
  2882. where site = #{site} and control_no = #{controlNo}
  2883. </select>
  2884. <!-- 查询检验模板列表 -->
  2885. <select id="queryTemplateList" resultType="com.heai.modules.pms.data.QcTemplateData" parameterType="com.heai.modules.pms.data.QcTemplateData">
  2886. SELECT
  2887. site,
  2888. bu_no,
  2889. template_id as templateId,
  2890. template_name as templateName,
  2891. dbo.qc_get_inspection_type_name(site, inspection_type_no) as inspectionTypeName
  2892. FROM qc_template
  2893. <where>
  2894. site = #{site} and bu_no = #{buNo} and dbo.qc_get_inspection_type_name(site, inspection_type_no) = #{inspectionTypeName}
  2895. <if test = "templateId != null and templateId != ''">
  2896. AND template_id LIKE '%' + #{templateId}+'%'
  2897. </if>
  2898. <if test = "templateName != null and templateName != ''">
  2899. AND template_name LIKE '%' + #{templateName}+'%'
  2900. </if>
  2901. <if test = "inspectionTypeNo != null and inspectionTypeNo != ''">
  2902. AND inspection_type_no = #{inspectionTypeNo}
  2903. </if>
  2904. </where>
  2905. </select>
  2906. <!-- 查询检验模板列表 -->
  2907. <select id="getPartInformation" resultType="com.heai.modules.pms.data.QcFAIRecordData" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  2908. select
  2909. part_no,
  2910. part_desc,
  2911. spec,
  2912. sku,
  2913. control_mes,
  2914. DefaultWarehouseID as defaultWarehouseId
  2915. from part
  2916. where site = #{site} and part_no = #{partNo}
  2917. </select>
  2918. <!-- 获取特殊工序列表 -->
  2919. <select id="getSpecialOperationList" resultType="com.heai.modules.pms.data.QcFAIRecordData" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  2920. select
  2921. site,
  2922. operation_no,
  2923. operation_desc
  2924. from qc_special_task_operation
  2925. where site = #{site}
  2926. </select>
  2927. <!-- 获取处置措施列表 -->
  2928. <select id="disposalMeasuresSearch" resultType="com.heai.modules.pms.data.QcFAIRecordData" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  2929. SELECT
  2930. id,
  2931. disposal_measures
  2932. FROM qc_disposal_measures
  2933. <where>
  2934. <if test = "inspectionTypeNo != '101'">
  2935. inspection_type != 'IPQC'
  2936. </if>
  2937. </where>
  2938. </select>
  2939. <!-- 查询文件路径 -->
  2940. <select id="searchItemFileUrl" resultType="SysOssEntity" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  2941. SELECT
  2942. id,
  2943. url,
  2944. file_name
  2945. FROM sys_oss
  2946. WHERE order_ref1 = #{site} and order_ref2 = #{inspectionNo} and order_ref3 = #{itemNo} and order_ref4 = #{buNo}
  2947. </select>
  2948. <!-- 删除图片-->
  2949. <delete id="imageDelete" parameterType="SysOssEntity">
  2950. DELETE FROM sys_oss
  2951. WHERE id = #{id}
  2952. </delete>
  2953. <!-- 模糊查询标签号 -->
  2954. <select id="getRollNo" resultType="com.heai.modules.pms.data.QcFAIRecordData" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  2955. SELECT DISTINCT top 3
  2956. a.seqno,
  2957. a.orderno,
  2958. b.roll_no
  2959. FROM soscheduledrouting AS a
  2960. LEFT JOIN sfdc_rolls AS b ON a.site = b.site AND a.seqno = b.createdops_seqno
  2961. WHERE a.site = #{site} and b.roll_no like '%' + #{rollNo} + '%'
  2962. </select>
  2963. <!-- 标签号回车事件 -->
  2964. <select id="rollNoEnter" resultType="com.heai.modules.pms.data.QcFAIRecordData" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  2965. SELECT
  2966. a.site,
  2967. a.seqno as seqNo,
  2968. a.orderno as orderNo,
  2969. b.roll_no,
  2970. #{inspectionTypeNo} as inspectionTypeNo
  2971. FROM soscheduledrouting AS a
  2972. LEFT JOIN sfdc_rolls AS b ON a.site = b.site AND a.seqno = b.createdops_seqno
  2973. WHERE a.site = #{site} and b.roll_no = #{rollNo}
  2974. </select>
  2975. <!-- 查询物料列表 -->
  2976. <select id="queryPartList" resultType="com.heai.modules.pms.data.QcFAIRecordData" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  2977. SELECT
  2978. site,
  2979. PartNo,
  2980. PartDescription as part_desc,
  2981. sku,
  2982. spec
  2983. FROM part
  2984. <where>
  2985. site = #{site}
  2986. <if test = "partNo != null and partNo != ''">
  2987. AND PartNo LIKE '%' + #{partNo} + '%'
  2988. </if>
  2989. <if test = "partDesc != null and partDesc != ''">
  2990. AND PartDescription LIKE '%' + #{partDesc} + '%'
  2991. </if>
  2992. <if test = "sku != null and sku != ''">
  2993. AND sku LIKE '%' + #{sku} + '%'
  2994. </if>
  2995. </where>
  2996. </select>
  2997. <!-- 查询单位列表 -->
  2998. <select id="umSearch" resultType="com.heai.modules.pms.data.QcFAIRecordData" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  2999. SELECT
  3000. site,
  3001. UMID as umId,
  3002. UMName as umName
  3003. FROM UM
  3004. WHERE site = #{site} and active = #{active}
  3005. </select>
  3006. <!-- 查询单位列表 -->
  3007. <select id="checkItem" resultType="com.heai.modules.pms.data.SubDetailValues" parameterType="com.heai.modules.pms.data.SubDetailValues">
  3008. SELECT
  3009. site,
  3010. bu_no,
  3011. inspection_no,
  3012. item_no,
  3013. value_type_db,
  3014. min_value,
  3015. max_value
  3016. <if test = "flag == 'IPQC'">
  3017. FROM qc_ipqc_detailed_record
  3018. </if>
  3019. <if test = "flag == 'IQC'">
  3020. FROM qc_iqc_detailed_record
  3021. </if>
  3022. <if test = "flag == 'FQC'">
  3023. FROM qc_fqc_detailed_record
  3024. </if>
  3025. <if test = "flag == 'FAI'">
  3026. FROM qc_fai_detailed_record
  3027. </if>
  3028. WHERE site = #{site} and inspection_no = #{inspectionNo} and item_no = #{itemNo} and bu_no = #{buNo}
  3029. order by order_id
  3030. </select>
  3031. <!-- 查询检验方法列表 -->
  3032. <select id="queryMethodList" resultType="com.heai.modules.pms.data.QcMethodData" parameterType="com.heai.modules.pms.data.QcMethodData">
  3033. SELECT
  3034. site,
  3035. bu_no,
  3036. method_no,
  3037. method_name,
  3038. inspection_type_no,
  3039. dbo.qc_get_inspection_type_name(site, inspection_type_no) as inspectionTypeName
  3040. FROM qc_method
  3041. <where>
  3042. site = #{site}
  3043. <if test = "methodNo != null and methodNo != ''">
  3044. AND method_no LIKE '%' + #{methodNo} + '%'
  3045. </if>
  3046. <if test = "methodName != null and methodName != ''">
  3047. AND method_name LIKE '%' + #{methodName} + '%'
  3048. </if>
  3049. <if test = "inspectionTypeNo != null and inspectionTypeNo != ''">
  3050. AND inspection_type_no = #{inspectionTypeNo}
  3051. </if>
  3052. <if test="inspectionTypeName != null and inspectionTypeName != ''">
  3053. AND dbo.qc_get_inspection_type_name(site, inspection_type_no) = #{inspectionTypeName}
  3054. </if>
  3055. </where>
  3056. </select>
  3057. <!-- 修改detailFlag字段为N -->
  3058. <update id="updateIQCDetailFlag" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  3059. UPDATE qc_iqc_record
  3060. SET detail_flag = 'N'
  3061. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  3062. </update>
  3063. <!-- 查询检验方法唯一 -->
  3064. <select id="checkMethodOnlyOne" resultType="com.heai.modules.pms.data.QcMethodData" parameterType="com.heai.modules.pms.data.QcMethodData">
  3065. SELECT
  3066. site,
  3067. bu_no,
  3068. method_no
  3069. FROM qc_method
  3070. <where>
  3071. site = #{site} and bu_no = #{buNo} and method_no = #{methodNo}
  3072. </where>
  3073. </select>
  3074. <!-- 查询检验项目唯一 -->
  3075. <select id="checkItemOnlyOne" resultType="com.heai.modules.pms.data.QcItemData" parameterType="com.heai.modules.pms.data.QcItemData">
  3076. SELECT
  3077. site,
  3078. bu_no,
  3079. ItemNo,
  3080. ItemDesc
  3081. FROM eam_properties_item
  3082. <where>
  3083. site = #{site} and ItemNo = #{itemNo} and ItemType = #{itemType} and inspection_type_no = #{inspectionTypeNo}
  3084. </where>
  3085. </select>
  3086. <!-- 查询检验项目唯一 -->
  3087. <select id="checkTemplateOnlyOne" resultType="com.heai.modules.pms.data.QcTemplateData" parameterType="com.heai.modules.pms.data.QcTemplateData">
  3088. SELECT
  3089. site,
  3090. bu_no,
  3091. template_id,
  3092. template_name
  3093. FROM qc_template
  3094. <where>
  3095. site = #{site} and template_id = #{templateId}
  3096. </where>
  3097. </select>
  3098. <select id="searchSeqInfo" parameterType="com.heai.modules.pms.data.QcFAIRecordData" resultType="com.heai.modules.pms.data.QcFAIRecordData">
  3099. SELECT DISTINCT
  3100. a.seqno,
  3101. a.orderno,
  3102. J.PartNo,
  3103. J.PartDescription as partDesc,
  3104. t.lotsize,
  3105. a.qtyrequired,
  3106. c.OperationDesc,
  3107. J.sku,
  3108. sum(roll_qty) as sjzs,
  3109. sum(roll_qty) as roll_qty
  3110. FROM soscheduledrouting AS a
  3111. inner JOIN RoutingDetail AS c ON c.site = a.site and a.partNO = C.PartNo AND a.itemno = c.itemNo
  3112. inner JOIN part AS J ON a.site = J.site AND a.partNo = J.PartNo
  3113. inner JOIN shoporder AS t ON a.site = t.site AND t.orderno = a.orderno
  3114. left join qc_ipqc_record as r on a.site = r.site and a.seqno = r.seq_no
  3115. WHERE
  3116. a.site = #{query.site}
  3117. <if test="query.orderNo != null and query.orderNo != ''">
  3118. AND a.orderno LIKE '%' + #{query.orderNo} + '%'
  3119. </if>
  3120. <if test="query.seqNo != null and query.seqNo != ''">
  3121. AND a.seqno LIKE '%' + #{query.seqNo} + '%'
  3122. </if>
  3123. <if test="query.sku != null and query.sku != ''">
  3124. AND j.sku LIKE '%' + #{query.sku} + '%'
  3125. </if>
  3126. <if test="query.partNo != null and query.partNo != ''">
  3127. AND J.PartNo LIKE '%' + #{query.partNo} + '%'
  3128. </if>
  3129. <if test="query.partDesc != null and query.partDesc != ''">
  3130. AND J.PartDescription LIKE '%' + #{query.partDesc} + '%'
  3131. </if>
  3132. <if test="query.operationDesc != null and query.operationDesc != ''">
  3133. AND c.OperationDesc LIKE '%' + #{query.operationDesc} + '%'
  3134. </if>
  3135. group by a.seqno, a.orderno, J.PartNo, J.PartDescription, t.lotsize, a.qtyrequired, c.OperationDesc, J.sku
  3136. </select>
  3137. <select id="searchPartInfo" parameterType="com.heai.modules.pms.data.QcFAIRecordData" resultType="com.heai.modules.pms.data.QcFAIRecordData">
  3138. select
  3139. PartNo,
  3140. PartDescription as part_desc,
  3141. sku,
  3142. cinv_source_code,
  3143. sourceBu
  3144. from
  3145. part
  3146. where
  3147. site = #{query.site}
  3148. <if test="query.partNo != null and query.partNo != ''">
  3149. AND PartNo LIKE '%' + #{query.partNo} + '%'
  3150. </if>
  3151. <if test="query.partDesc != null and query.partDesc != ''">
  3152. AND PartDescription LIKE '%' + #{query.partDesc} + '%'
  3153. </if>
  3154. <if test="query.sku != null and query.sku != ''">
  3155. AND sku LIKE '%' + #{query.sku} + '%'
  3156. </if>
  3157. <if test="query.cinvSourceCode != null and query.cinvSourceCode != ''">
  3158. AND cinv_source_code LIKE '%' + #{query.cinvSourceCode} + '%'
  3159. </if>
  3160. </select>
  3161. <select id="getInterfaceTimeData" parameterType="String" resultType="com.heai.modules.pms.data.InterfaceTimeData">
  3162. SELECT
  3163. id,
  3164. start_time,
  3165. end_time,
  3166. del_flag
  3167. FROM interface_time
  3168. WHERE del_flag = 'N' and site = #{site}
  3169. </select>
  3170. <update id="updateInterfaceTimeData" parameterType="com.heai.modules.pms.data.InterfaceTimeData">
  3171. UPDATE interface_time
  3172. set
  3173. updated_by = #{updatedBy},
  3174. updated_date = #{updatedDate},
  3175. del_flag = #{delFlag}
  3176. </update>
  3177. <select id="getInterfaceRdStyleData" parameterType="String" resultType="com.heai.modules.pms.data.RdStyleData">
  3178. SELECT
  3179. crdcode,
  3180. crdname,
  3181. iRdGrade,
  3182. rdtype,
  3183. brdend
  3184. FROM view_custdev_mes_rdstyle
  3185. WHERE crdname = #{crdName}
  3186. </select>
  3187. <insert id="insertHardtagPurchaseInStorageData" parameterType="com.heai.modules.pms.data.HardtagPurchaseInStorageCountData" useGeneratedKeys="true" keyProperty="id">
  3188. INSERT INTO purchase_in_storage_count
  3189. (site, trans_no, created_date, created_by, erp_flag, toacc, logindate, cordercode, cdepcode, cwhcode, crdcode, coutcode, ddate, bredvouch,
  3190. cmemo, verify, irowno, cinvcode, iquantity, citemcode, erp_remark, trans_date, csource, trans_type)
  3191. values (#{site}, #{transNo}, #{createdDate}, #{createdBy}, #{erpFlag}, #{toacc}, #{logindate}, #{cordercode}, #{cdepcode}, #{cwhcode}, #{crdcode}, #{coutcode}, #{ddate}, #{bredvouch},
  3192. #{cmemo}, #{verify}, #{irowno}, #{cinvcode}, #{iquantity}, #{citemcode}, #{erpRemark}, #{transDate}, #{csource}, #{transType})
  3193. </insert>
  3194. <insert id="batchSaveHrdtagTransHeader" parameterType="com.heai.modules.pms.data.HardtagTransHeaderData">
  3195. insert into TransHeader
  3196. (TransNo, Site, WarehouseID, TransDate, TransType_DB, TransType, UserName, Receiver, TransYear, TransMonth, PartnerID, PartnerType, AuthorizeFlag, AuthorizeDate, Authorizor, TransferFlag, TransferDate,
  3197. TransferGuys, VoucherDate, ProjectID, EnterDate, Remark, UseLocation, OrderRef1, LinkOrderFlag, DelAddID, Status, ProjectName, PartnerName, erp_warehouse_id, ERP,
  3198. department_no, picking_status, scan_type, inCategory, pmProject, remarks, item_no_mat, remark3, location_id, count_id)
  3199. values (#{TransNo}, #{Site}, #{WarehouseID}, #{TransDate}, #{TransTypeDB}, #{TransType}, #{UserName}, #{Receiver}, #{TransYear}, #{TransMonth}, #{PartnerID}, #{PartnerType}, #{AuthorizeFlag}, #{AuthorizeDate}, #{Authorizor}, #{TransferFlag}, #{TransferDate},
  3200. #{TransferGuys}, #{VoucherDate}, #{ProjectID}, #{EnterDate}, #{Remark}, #{UseLocation}, #{OrderRef1}, #{LinkOrderFlag}, #{DelAddID}, #{Status}, #{ProjectName}, #{PartnerName}, #{erpWarehouseId}, #{ERP},
  3201. #{departmentNo}, #{pickingStatus}, #{scanType}, #{inCategory}, #{pmProject}, #{remarks}, #{itemNoMat}, #{remark3}, #{locationId}, #{countId})
  3202. </insert>
  3203. <insert id="batchSaveHardtagTransDetail" parameterType="com.heai.modules.pms.data.HardtagTransDetailData">
  3204. INSERT INTO TransDetail
  3205. (TransNo, Site, PartNo, LocationID, TransQty, Direction, OrderRef1, ItemNo, OrderRef2, OrderRef3, OrderRef5, Remark, citem_code)
  3206. values
  3207. (#{TransNo}, #{Site}, #{PartNo}, #{LocationID}, #{TransQty}, #{Direction}, #{OrderRef1}, #{ItemNo}, #{OrderRef2}, #{OrderRef3}, #{OrderRef5}, #{Remark}, #{citemCode})
  3208. </insert>
  3209. <select id="getSendMailAddress" parameterType="String" resultType="com.heai.modules.pms.data.MailAddressData">
  3210. SELECT
  3211. id,
  3212. site,
  3213. bu_no,
  3214. mail_address,
  3215. send_type,
  3216. del_flag,
  3217. created_by,
  3218. created_date,
  3219. orderref1
  3220. FROM mailAddress
  3221. WHERE site = #{site} and send_type = #{type} and del_flag = 'N'
  3222. <if test="buNo != null and buNo != ''">
  3223. AND bu_no = #{buNo}
  3224. </if>
  3225. </select>
  3226. <select id="getSendMailFromAddress" resultType="com.heai.modules.pms.data.MailSendAddressData">
  3227. SELECT
  3228. port,
  3229. host,
  3230. username,
  3231. password,
  3232. emailForm,
  3233. timeout,
  3234. personal,
  3235. id
  3236. FROM mailSendAddress
  3237. where delFlag = 'N'
  3238. </select>
  3239. <!-- 新增发送邮件记录 -->
  3240. <insert id="saveSendMailRecord" parameterType="com.heai.modules.pms.data.SendMailRecord">
  3241. insert into send_mail_record
  3242. (site, bu_no, document_no, sender, recipient, send_date, type)
  3243. values
  3244. (#{site}, #{buNo}, #{documentNo}, #{sender}, #{recipient}, getDate(), #{type})
  3245. </insert>
  3246. <select id="orderTypeSearch" resultType="com.heai.modules.pms.data.QcFAIRecordData">
  3247. SELECT distinct
  3248. order_type
  3249. FROM view_po_order
  3250. </select>
  3251. <update id="actionIQCInspection" parameterType="com.heai.modules.pms.data.EamObjectInData">
  3252. update qc_iqc_record
  3253. set action_date = getDate(),
  3254. action_by = #{actionBy},
  3255. state = #{state}
  3256. where site = #{site} and bu_no = #{buNo} and inspection_no = #{inspectionNo}
  3257. </update>
  3258. <update id="actionFAIInspection" parameterType="com.heai.modules.pms.data.EamObjectInData">
  3259. update qc_fai_record
  3260. set action_date = getDate(),
  3261. action_by = #{actionBy},
  3262. state = #{state}
  3263. where site = #{site} and bu_no = #{buNo} and inspection_no = #{inspectionNo}
  3264. </update>
  3265. <update id="actionIPQCInspection" parameterType="com.heai.modules.pms.data.EamObjectInData">
  3266. update qc_ipqc_record
  3267. set action_date = getDate(),
  3268. action_by = #{actionBy},
  3269. state = #{state}
  3270. where site = #{site} and bu_no = #{buNo} and inspection_no = #{inspectionNo}
  3271. </update>
  3272. <update id="actionFQCInspection" parameterType="com.heai.modules.pms.data.EamObjectInData">
  3273. update qc_fqc_record
  3274. set action_date = getDate(),
  3275. action_by = #{actionBy},
  3276. state = #{state}
  3277. where site = #{site} and bu_no = #{buNo} and inspection_no = #{inspectionNo}
  3278. </update>
  3279. <insert id="addEquipmentDataAcquisition">
  3280. insert into Equipment_data_acquisition
  3281. (site, bu_no, equipment_no, inspection_no, create_date, create_by, item_no, collection_source, collection_method)
  3282. values
  3283. <foreach collection="list" item="item" separator=",">
  3284. (#{item.site}, #{item.buNo}, #{item.equipmentNo}, #{item.inspectionNo}, getDate(), #{item.actionBy}, #{item.itemNo}, #{item.collectionSource}, #{item.collectionMethod})
  3285. </foreach>
  3286. </insert>
  3287. <!-- 新增人员信息 -->
  3288. <insert id="saveOperator" >
  3289. INSERT INTO eam_actual_operator
  3290. (site, order_no, function_type, operator, bu_no)
  3291. VALUES
  3292. <foreach collection="list" item="item" separator=",">
  3293. (#{item.site}, #{item.orderNo}, #{item.functionType}, #{item.operator}, #{item.buNo})
  3294. </foreach>
  3295. </insert>
  3296. <!-- 删除之前的人员-->
  3297. <delete id="delOperator" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  3298. DELETE FROM eam_actual_operator
  3299. WHERE site = #{site} and order_no = #{inspectionNo} and bu_no = #{buNo}
  3300. </delete>
  3301. <select id="getInspectionNo" parameterType="com.heai.modules.pms.data.QcFAIRecordData" resultType="com.heai.modules.pms.data.EquipmentDataAcquisitionData">
  3302. select distinct
  3303. site,
  3304. bu_no,
  3305. equipment_no,
  3306. inspection_no,
  3307. item_no,
  3308. collection_source,
  3309. collection_method
  3310. from Equipment_data_acquisition
  3311. where site = #{site} and bu_no = #{buNo} and inspection_no = #{inspectionNo}
  3312. </select>
  3313. <select id="getInspectionNoByItem" parameterType="com.heai.modules.pms.data.QcFAIRecordData" resultType="com.heai.modules.pms.data.EquipmentDataAcquisitionData">
  3314. select distinct
  3315. site,
  3316. bu_no,
  3317. equipment_no,
  3318. inspection_no,
  3319. item_no,
  3320. collection_source,
  3321. collection_method
  3322. from Equipment_data_acquisition
  3323. where site = #{site} and bu_no = #{buNo} and inspection_no = #{inspectionNo} and item_no = #{itemNo}
  3324. </select>
  3325. <select id="dataAcquisition" parameterType="com.heai.modules.pms.data.EquipmentDataAcquisitionData" resultType="com.heai.modules.pms.data.SubDetailValues">
  3326. select
  3327. id,
  3328. site,
  3329. bu_no,
  3330. #{inspectionNo} as inspectionNo,
  3331. #{itemNo} as itemNo,
  3332. <if test='subDetailValueType == 0'>
  3333. ${collectionSource} as subDetailValue,
  3334. </if>
  3335. <if test='subDetailValueType == 1'>
  3336. ${collectionSource} as subDetailValueB,
  3337. </if>
  3338. <if test='subDetailValueType == 2'>
  3339. ${collectionSource} as subDetailValueC,
  3340. </if>
  3341. <if test='subDetailValueType == 3'>
  3342. ${collectionSource} as subDetailValueD,
  3343. </if>
  3344. <if test='subDetailValueType == 4'>
  3345. ${collectionSource} as subDetailValueE,
  3346. </if>
  3347. num,
  3348. #{collectionSource} as collectionSource,
  3349. #{collectionMethod} as collectionMethod
  3350. from Equipment_data_detail
  3351. where site = #{site} and bu_no = #{buNo} and equipment_no = #{equipmentNo} and ${collectionSource} is not null and ${collectionSource} <![CDATA[<>]]> ''
  3352. <if test='collectionMethod == "plc"'>
  3353. AND inspection_no = #{inspectionNo}
  3354. </if>
  3355. <if test='collectionMethod == "RS232"'>
  3356. AND (inspection_no is null or inspection_no = '')
  3357. </if>
  3358. <if test = "collectionDataContent != null and collectionDataContent != ''">
  3359. AND ${collectionSource} ${collectionDataContent}
  3360. </if>
  3361. and batch_no = (select MAX(batch_no) from Equipment_data_detail where site = #{site} and bu_no = #{buNo} and equipment_no = #{equipmentNo})
  3362. </select>
  3363. <select id="dataAcquisitionB" parameterType="com.heai.modules.pms.data.EquipmentDataAcquisitionData" resultType="com.heai.modules.pms.data.SubDetailValues">
  3364. select
  3365. id,
  3366. site,
  3367. bu_no,
  3368. #{inspectionNo} as inspectionNo,
  3369. #{itemNo} as itemNo,
  3370. ${collectionSource} as subDetailValueB,
  3371. num,
  3372. #{collectionSource} as collectionSource
  3373. from Equipment_data_detail
  3374. where site = #{site} and bu_no = #{buNo} and equipment_no = #{equipmentNo} and ${collectionSource} is not null and ${collectionSource} <![CDATA[<>]]> ''
  3375. <if test='collectionMethod == "plc"'>
  3376. AND inspection_no = #{inspectionNo}
  3377. </if>
  3378. <if test='collectionMethod == "RS232"'>
  3379. AND (inspection_no is null or inspection_no = '')
  3380. </if>
  3381. and batch_no = (select MAX(batch_no) from Equipment_data_detail where site = #{site} and bu_no = #{buNo} and equipment_no = #{equipmentNo})
  3382. </select>
  3383. <select id="dataAcquisition2" parameterType="com.heai.modules.pms.data.EquipmentDataAcquisitionData" resultType="SysOssEntity">
  3384. select
  3385. site as orderRef1,
  3386. bu_no as orderRef4,
  3387. #{inspectionNo} as orderRef2,
  3388. #{itemNo} as orderRef3,
  3389. ${collectionSource} as url
  3390. from Equipment_data_detail
  3391. where site = #{site} and bu_no = #{buNo} and equipment_no = #{equipmentNo} and ${collectionSource} is not null and ${collectionSource} <![CDATA[<>]]> ''
  3392. and batch_no = (select MAX(batch_no) from Equipment_data_detail where site = #{site} and bu_no = #{buNo} and equipment_no = #{equipmentNo})
  3393. </select>
  3394. <select id="getIQCDetail" parameterType="com.heai.modules.pms.data.QcFAIRecordData" resultType="com.heai.modules.pms.data.EquipmentDataAcquisitionData">
  3395. select
  3396. a.site,
  3397. a.bu_no,
  3398. b.collection_condition as equipmentNo,
  3399. #{inspectionNo} as inspectionNo,
  3400. a.item_no,
  3401. b.collection_source,
  3402. #{actionBy} as actionBy,
  3403. b.collection_method
  3404. from qc_iqc_detailed_record as a
  3405. 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
  3406. where a.site = #{site} and a.bu_no = #{buNo} and a.inspection_no = #{inspectionNo} and b.ItemType = 'D' and b.inspection_type_no = '105' and b.collection_flag = 'Y'
  3407. order by a.order_id
  3408. </select>
  3409. <select id="getFAIDetail" parameterType="com.heai.modules.pms.data.QcFAIRecordData" resultType="com.heai.modules.pms.data.EquipmentDataAcquisitionData">
  3410. select
  3411. a.site,
  3412. a.bu_no,
  3413. b.collection_condition as equipmentNo,
  3414. #{inspectionNo} as inspectionNo,
  3415. a.item_no,
  3416. b.collection_source,
  3417. #{actionBy} as actionBy,
  3418. b.collection_method
  3419. from qc_fai_detailed_record as a
  3420. 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
  3421. where a.site = #{site} and a.bu_no = #{buNo} and a.inspection_no = #{inspectionNo} and b.ItemType = 'D' and b.inspection_type_no = '106' and b.collection_flag = 'Y'
  3422. order by order_id
  3423. </select>
  3424. <select id="getIPQCDetail" parameterType="com.heai.modules.pms.data.QcFAIRecordData" resultType="com.heai.modules.pms.data.EquipmentDataAcquisitionData">
  3425. select
  3426. a.site,
  3427. a.bu_no,
  3428. b.collection_condition as equipmentNo,
  3429. #{inspectionNo} as inspectionNo,
  3430. a.item_no,
  3431. b.collection_source,
  3432. #{actionBy} as actionBy,
  3433. b.collection_method
  3434. from qc_ipqc_detailed_record as a
  3435. 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
  3436. where a.site = #{site} and a.bu_no = #{buNo} and a.inspection_no = #{inspectionNo} and b.ItemType = 'D' and b.inspection_type_no = '101' and b.collection_flag = 'Y'
  3437. order by a.order_id
  3438. </select>
  3439. <select id="getFQCDetail" parameterType="com.heai.modules.pms.data.QcFAIRecordData" resultType="com.heai.modules.pms.data.EquipmentDataAcquisitionData">
  3440. select
  3441. a.site,
  3442. a.bu_no,
  3443. b.collection_condition as equipmentNo,
  3444. #{inspectionNo} as inspectionNo,
  3445. a.item_no,
  3446. b.collection_source,
  3447. #{actionBy} as actionBy,
  3448. b.collection_method
  3449. from qc_fqc_detailed_record as a
  3450. 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
  3451. where a.site = #{site} and a.bu_no = #{buNo} and a.inspection_no = #{inspectionNo} and b.ItemType = 'D' and b.inspection_type_no = '107' and b.collection_flag = 'Y'
  3452. order by a.order_id
  3453. </select>
  3454. <select id="querySubDetails" parameterType="com.heai.modules.pms.data.QcFAIRecordData" resultType="com.heai.modules.pms.data.SubDetailValues">
  3455. select
  3456. b.site,
  3457. b.bu_no,
  3458. b.inspection_no,
  3459. b.item_no,
  3460. b.default_value,
  3461. b.min_value,
  3462. b.max_value,
  3463. b.value_type_db,
  3464. a.sub_detail_value
  3465. <if test="flag == 'iqc'">
  3466. from qc_iqc_sub_detail_record as a
  3467. left join qc_iqc_detailed_record as b on a.site = b.site and a.bu_no = b.bu_no and a.inspection_no = b.inspection_no and a.item_no = b.item_no
  3468. </if>
  3469. <if test="flag == 'ipqc'">
  3470. from qc_ipqc_sub_detail_record as a
  3471. left join qc_ipqc_detailed_record as b on a.site = b.site and a.bu_no = b.bu_no and a.inspection_no = b.inspection_no and a.item_no = b.item_no
  3472. </if>
  3473. <if test="flag == 'fqc'">
  3474. from qc_fqc_sub_detail_record as a
  3475. left join qc_fqc_detailed_record as b on a.site = b.site and a.bu_no = b.bu_no and a.inspection_no = b.inspection_no and a.item_no = b.item_no
  3476. </if>
  3477. <if test="flag == 'fai'">
  3478. from qc_fai_sub_detail_record as a
  3479. left join qc_fai_detailed_record as b on a.site = b.site and a.bu_no = b.bu_no and a.inspection_no = b.inspection_no and a.item_no = b.item_no
  3480. </if>
  3481. where a.site = #{site} and a.bu_no = #{buNo} and a.inspection_no = #{inspectionNo} and a.item_no = #{itemNo}
  3482. order by b.order_id
  3483. </select>
  3484. <insert id="saveFileList">
  3485. INSERT INTO sys_oss
  3486. (url, create_date, file_name, new_file_name, order_ref1, order_ref2, order_ref3, order_ref4)
  3487. VALUES
  3488. <foreach collection="list" item="item" separator=",">
  3489. (#{item.url}, getDate(), #{item.fileName}, #{item.newFileName}, #{item.orderRef1}, #{item.orderRef2}, #{item.orderRef3}, #{item.orderRef4})
  3490. </foreach>
  3491. </insert>
  3492. <select id="getEquipmentNoList" parameterType="com.heai.modules.pms.data.EquipmentFolderLocationData" resultType="com.heai.modules.pms.data.EquipmentFolderLocationData">
  3493. select
  3494. equipment_no
  3495. from Equipment_folder_location
  3496. where site = #{site} and bu_no = #{buNo}
  3497. </select>
  3498. <!-- 获取责任人员列表 -->
  3499. <select id="getResponsibleOperatorList" resultType="com.heai.modules.pms.data.EamAdminData" parameterType="com.heai.modules.pms.data.EamAdminData">
  3500. SELECT
  3501. operatorID as adminID,
  3502. operatorName as adminName
  3503. FROM operator
  3504. <where>
  3505. <if test = "adminID != null and adminID != ''">
  3506. AND operator_id LIKE '%' + #{adminID} + '%'
  3507. </if>
  3508. <if test = "adminName != null and adminName != ''">
  3509. AND operator_name LIKE '%' + #{adminName} + '%'
  3510. </if>
  3511. </where>
  3512. </select>
  3513. <select id="getDataContentList" parameterType="com.heai.modules.pms.data.QcCollectionDataContentData" resultType="com.heai.modules.pms.data.QcCollectionDataContentData">
  3514. select
  3515. content_desc
  3516. from qc_collection_data_content
  3517. where site = #{site} and bu_no = #{buNo} and active = 'Y'
  3518. </select>
  3519. <select id="getItemCollectionDataContent" parameterType="com.heai.modules.pms.data.SubDetailValues" resultType="string">
  3520. select
  3521. collection_data_content
  3522. from eam_properties_item
  3523. where site = #{site} and bu_no = #{buNo} and ItemNo = #{itemNo}
  3524. </select>
  3525. <!-- 获取当前项目不包含的设备 -->
  3526. <select id="getObjectList1" resultType="com.heai.modules.pms.data.EamObjectInData" parameterType="com.heai.modules.pms.data.EamObjectInData">
  3527. SELECT
  3528. a.site,
  3529. a.bu_no,
  3530. a.ObjectID,
  3531. a.ObjectDesc
  3532. FROM eam_object as a
  3533. left join qc_item_object as b on a.site = b.site and a.bu_no = b.bu_no and a.ObjectID = b.ObjectID and b.ItemNo = #{itemNo}
  3534. where a.site = #{site} and a.bu_no = #{buNo} and b.ItemNo is null and a.active = 'Y'
  3535. </select>
  3536. <!-- 获取当前项目所包含的设备 -->
  3537. <select id="getObjectList2" resultType="com.heai.modules.pms.data.EamObjectInData" parameterType="com.heai.modules.pms.data.EamObjectInData">
  3538. SELECT
  3539. a.site,
  3540. a.bu_no,
  3541. a.ObjectID,
  3542. b.ObjectDesc,
  3543. a.default_flag
  3544. FROM qc_item_object a
  3545. LEFT JOIN eam_object b ON a.site = b.site and a.bu_no = b.bu_no and a.ObjectID = b.ObjectID
  3546. WHERE a.site = #{site} and a.bu_no = #{buNo} and a.ItemNo = #{itemNo}
  3547. </select>
  3548. <!-- 获取当前项目不包含的设备 -->
  3549. <select id="getObjectListBy" resultType="com.heai.modules.pms.data.EamObjectInData" parameterType="com.heai.modules.pms.data.EamObjectInData">
  3550. SELECT
  3551. a.site,
  3552. a.bu_no,
  3553. a.ObjectID,
  3554. a.ObjectDesc
  3555. FROM eam_object as a
  3556. left join qc_item_object as b on a.site = b.site and a.bu_no = b.bu_no and a.ObjectID = b.ObjectID and b.ItemNo = #{itemNo}
  3557. <where>
  3558. a.site = #{site} and a.bu_no = #{buNo} and b.ItemNo is null and a.active = 'Y'
  3559. <if test = "objectID != null and objectID != ''">
  3560. AND a.ObjectID LIKE '%' + #{objectID} + '%'
  3561. </if>
  3562. <if test = "objectDesc != null and objectDesc != ''">
  3563. AND a.ObjectDesc LIKE '%' + #{objectDesc} + '%'
  3564. </if>
  3565. </where>
  3566. </select>
  3567. <!-- 新增项目设备 -->
  3568. <insert id="addItemObject">
  3569. INSERT INTO qc_item_object
  3570. (site, bu_no, ItemNo, ObjectID, default_flag)
  3571. VALUES
  3572. <foreach collection="list" item="item" separator=",">
  3573. (#{item.site}, #{item.buNo}, #{item.itemNo}, #{item.objectID}, #{item.defaultFlag})
  3574. </foreach>
  3575. </insert>
  3576. <delete id="deleteItemObject">
  3577. DELETE FROM qc_item_object
  3578. WHERE
  3579. <foreach collection="list" item="item" separator=" or " index="index">
  3580. (site = #{item.site} and bu_no = #{item.buNo} and ItemNo = #{item.itemNo} and ObjectID = #{item.objectID})
  3581. </foreach>
  3582. </delete>
  3583. <update id="updateItemObject">
  3584. UPDATE qc_item_object
  3585. SET default_flag = #{defaultFlag}
  3586. WHERE site = #{site} and bu_no = #{buNo} and ItemNo = #{itemNo} and ObjectID = #{objectID}
  3587. </update>
  3588. <select id="getIQCInspectionDetail" parameterType="com.heai.modules.pms.data.EamObjectInData" resultType="com.heai.modules.pms.data.EamObjectInData">
  3589. select
  3590. a.site,
  3591. a.bu_no,
  3592. a.inspection_no,
  3593. a.item_no,
  3594. a.item_desc,
  3595. b.collection_source,
  3596. b.collection_method
  3597. from qc_iqc_detailed_record as a
  3598. 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
  3599. where a.site = #{site} and a.bu_no = #{buNo} and a.inspection_no = #{inspectionNo} and b.ItemType = 'D' and b.inspection_type_no = '105' and b.collection_flag = 'Y'
  3600. order by a.order_id
  3601. </select>
  3602. <select id="getFAIInspectionDetail" parameterType="com.heai.modules.pms.data.EamObjectInData" resultType="com.heai.modules.pms.data.EamObjectInData">
  3603. select
  3604. a.site,
  3605. a.bu_no,
  3606. a.inspection_no,
  3607. a.item_no,
  3608. a.item_desc,
  3609. b.collection_source,
  3610. b.collection_method
  3611. from qc_fai_detailed_record as a
  3612. 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
  3613. where a.site = #{site} and a.bu_no = #{buNo} and a.inspection_no = #{inspectionNo} and b.ItemType = 'D' and b.inspection_type_no = '106' and b.collection_flag = 'Y'
  3614. order by a.order_id
  3615. </select>
  3616. <select id="getFQCInspectionDetail" parameterType="com.heai.modules.pms.data.EamObjectInData" resultType="com.heai.modules.pms.data.EamObjectInData">
  3617. select
  3618. a.site,
  3619. a.bu_no,
  3620. a.inspection_no,
  3621. a.item_no,
  3622. a.item_desc,
  3623. b.collection_source,
  3624. b.collection_method
  3625. from qc_fqc_detailed_record as a
  3626. 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
  3627. where a.site = #{site} and a.bu_no = #{buNo} and a.inspection_no = #{inspectionNo} and b.ItemType = 'D' and b.inspection_type_no = '107' and b.collection_flag = 'Y'
  3628. order by a.order_id
  3629. </select>
  3630. <select id="getIPQCInspectionDetail" parameterType="com.heai.modules.pms.data.EamObjectInData" resultType="com.heai.modules.pms.data.EamObjectInData">
  3631. select
  3632. a.site,
  3633. a.bu_no,
  3634. a.inspection_no,
  3635. a.item_no,
  3636. a.item_desc,
  3637. b.collection_source,
  3638. b.collection_method
  3639. from qc_ipqc_detailed_record as a
  3640. 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
  3641. where a.site = #{site} and a.bu_no = #{buNo} and a.inspection_no = #{inspectionNo} and b.ItemType = 'D' and b.inspection_type_no = '101' and b.collection_flag = 'Y'
  3642. order by a.order_id
  3643. </select>
  3644. <delete id="deleteEquipmentDataAcquisition" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  3645. delete from Equipment_data_acquisition
  3646. where site = #{site} and bu_no = #{buNo} and inspection_no = #{inspectionNo}
  3647. </delete>
  3648. <select id="getInspectionStandards" parameterType="com.heai.modules.pms.data.QcInspectionStandardData" resultType="com.heai.modules.pms.data.QcInspectionStandardData">
  3649. select
  3650. site,
  3651. bu_no,
  3652. template_id,
  3653. item_no,
  3654. default_value,
  3655. min_value,
  3656. max_value,
  3657. condition,
  3658. collection_source,
  3659. seq_no
  3660. from qc_inspection_standards
  3661. where site = #{site} and bu_no = #{buNo} and template_id = #{templateId} and item_no = #{itemNo}
  3662. </select>
  3663. <delete id="deleteInspectionStandard" parameterType="com.heai.modules.pms.data.QcInspectionStandardData">
  3664. delete from qc_inspection_standards
  3665. where site = #{site} and bu_no = #{buNo} and template_id = #{templateId} and item_no = #{itemNo}
  3666. </delete>
  3667. <delete id="deleteInspectionStandard2" parameterType="com.heai.modules.pms.data.QcTemplateData">
  3668. delete from qc_inspection_standards
  3669. where site = #{site} and bu_no = #{buNo} and template_id = #{templateId} and item_no = #{itemNo}
  3670. </delete>
  3671. <insert id="saveInspectionStandard">
  3672. INSERT INTO qc_inspection_standards
  3673. (site, bu_no, template_id, item_no, default_value, min_value, max_value, condition, collection_source, seq_no)
  3674. VALUES
  3675. <foreach collection="list" item="item" separator=",">
  3676. (#{item.site}, #{item.buNo}, #{item.templateId}, #{item.itemNo}, #{item.defaultValue}, #{item.minValue}, #{item.maxValue}, #{item.condition}, #{item.collectionSource}, #{item.seqNo})
  3677. </foreach>
  3678. </insert>
  3679. <insert id="saveEquipmentFolderLocationList">
  3680. insert into Equipment_folder_location
  3681. (folder_path,equipment_no,site,bu_no,file_no,backup_folder_path,IP,suffix,equipment_desc,backup_photo_path,batch_date,port,register_address,
  3682. register_num,register_num_columntype,register_address_inspection,register_num_inspection,register_num_inspection_columntype,unit_id,
  3683. excel_compare_fields_x,excel_compare_fields_y,initial_line,data_row,skip_line,cutting_symbol,transparent_flag,Formula_calculation,
  3684. Formula,Group_calculation,regexp,repair_type,buzzer,create_by,create_time)
  3685. values (#{folderPath}, #{equipmentNo}, #{site}, #{buNo}, #{fileNo}, #{backupFolderPath}, #{IP}, #{suffix}, #{equipmentDesc}, #{backupPhotoPath}, #{batchDate}, #{port}, #{registerAddress},
  3686. #{registerNum}, #{registerNumColumntype}, #{registerAddressInspection}, #{registerNumInspection}, #{registerNumInspectionColumntype}, #{unitId},
  3687. #{excelCompareFieldsX}, #{excelCompareFieldsY}, #{initialLine}, #{dataRow}, #{skipLine}, #{cuttingSymbol}, #{transparentFlag}, #{formulaCalculation},
  3688. #{formula}, #{groupCalculation}, #{regexp}, #{repairType}, #{buzzer}, #{createBy}, getDate())
  3689. </insert>
  3690. <select id="getInspectionTemplateDetail" parameterType="com.heai.modules.pms.data.QcFAIRecordData" resultType="com.heai.modules.pms.data.QcInspectionStandardData">
  3691. select
  3692. site,
  3693. bu_no,
  3694. template_id,
  3695. item_no
  3696. <if test="flag == 'iqc'">
  3697. from qc_iqc_detailed_record
  3698. </if>
  3699. <if test="flag == 'ipqc'">
  3700. from qc_ipqc_detailed_record
  3701. </if>
  3702. <if test="flag == 'fqc'">
  3703. from qc_fqc_detailed_record
  3704. </if>
  3705. <if test="flag == 'fai'">
  3706. from qc_fai_detailed_record
  3707. </if>
  3708. where site = #{site} and bu_no = #{buNo} and inspection_no = #{inspectionNo}
  3709. order by order_id
  3710. </select>
  3711. <update id="updateEquipmentDataDetailInspectionNo" parameterType="com.heai.modules.pms.data.SubDetailValues">
  3712. update Equipment_data_detail
  3713. set inspection_no = #{inspectionNo}
  3714. where id = #{id}
  3715. </update>
  3716. <delete id="deleteInspectionFiles" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  3717. delete sys_oss
  3718. where order_ref1 = #{site} and order_ref2 = #{inspectionNo} and order_ref4 = #{buNo}
  3719. </delete>
  3720. <select id="getUpItemdata" resultType="com.heai.modules.pms.data.QcTemplateData">
  3721. select
  3722. top 1
  3723. site,
  3724. bu_no,
  3725. template_id,
  3726. ItemNo,
  3727. order_id
  3728. from qc_template_detailed
  3729. where #{orderId} > order_id
  3730. and site = #{site}
  3731. and bu_no= #{buNo}
  3732. and template_id = #{templateId}
  3733. order by order_id desc
  3734. </select>
  3735. <select id="getDownItemdata" resultType="com.heai.modules.pms.data.QcTemplateData">
  3736. select
  3737. top 1
  3738. site,
  3739. bu_no,
  3740. template_id,
  3741. ItemNo,
  3742. order_id
  3743. from qc_template_detailed
  3744. where order_id > #{orderId}
  3745. and site = #{site}
  3746. and bu_no= #{buNo}
  3747. and template_id = #{templateId}
  3748. order by order_id
  3749. </select>
  3750. <update id="updateQcItemOrder">
  3751. update qc_template_detailed
  3752. set order_id=#{orderId}
  3753. where site = #{site}
  3754. and bu_no= #{buNo}
  3755. and template_id = #{templateId}
  3756. and ItemNo = #{itemNo}
  3757. </update>
  3758. <select id="getQCDetailOrderId" resultType="Integer">
  3759. SELECT isnull(max(order_id), 0) + 1
  3760. from qc_template_detailed
  3761. where site = #{site}
  3762. and bu_no= #{buNo}
  3763. and template_id = #{templateId}
  3764. </select>
  3765. <select id="updateQCDetailOrderIdNull">
  3766. UPDATE qc_template_detailed
  3767. SET qc_template_detailed.order_id = oi.rn
  3768. FROM (SELECT
  3769. site,
  3770. bu_no,
  3771. template_id,
  3772. ItemNo,
  3773. ROW_NUMBER() OVER (PARTITION BY site,bu_no,template_id ORDER BY ItemNo) AS rn
  3774. FROM qc_template_detailed
  3775. ) as oi
  3776. where qc_template_detailed.template_id = oi.template_id
  3777. AND qc_template_detailed.ItemNo = oi.ItemNo
  3778. and qc_template_detailed.order_id is null
  3779. </select>
  3780. <select id="selectInfoByInspectionNo" resultType="com.heai.modules.pms.data.PoOrderRollNoData" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  3781. select
  3782. site,
  3783. citem_code,
  3784. inspection_no
  3785. from po_order_roll_no
  3786. where site = #{site} and citem_code = #{buNo} and inspection_no = #{inspectionNo}
  3787. </select>
  3788. <update id="updateIQCMasterSubmitFlag2" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  3789. UPDATE qc_iqc_record
  3790. SET submit_flag = 'N',
  3791. state = '待检验',
  3792. cancel_check_by = #{updateBy},
  3793. cancel_check_date = getDate()
  3794. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  3795. </update>
  3796. <update id="updateIQCDetailSubmitFlag2" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  3797. UPDATE qc_iqc_detailed_record
  3798. SET is_submit = 'N'
  3799. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  3800. </update>
  3801. <update id="updateIQCSubDetailSubmitFlag2" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  3802. UPDATE qc_iqc_sub_detail_record
  3803. SET is_submit = 'N'
  3804. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  3805. </update>
  3806. <update id="updateFAIMasterSubmitFlag2" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  3807. UPDATE qc_fai_record
  3808. SET submit_flag = 'N',
  3809. state = '待检验',
  3810. cancel_check_by = #{updateBy},
  3811. cancel_check_date = getDate()
  3812. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  3813. </update>
  3814. <update id="updateFAIDetailSubmitFlag2" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  3815. UPDATE qc_fai_detailed_record
  3816. SET is_submit = 'N'
  3817. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  3818. </update>
  3819. <update id="updateFAISubDetailSubmitFlag2" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  3820. UPDATE qc_fai_sub_detail_record
  3821. SET is_submit = 'N'
  3822. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  3823. </update>
  3824. <update id="updateIPQCMasterSubmitFlag2" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  3825. UPDATE qc_ipqc_record
  3826. SET submit_flag = 'N',
  3827. state = '待检验',
  3828. cancel_check_by = #{updateBy},
  3829. cancel_check_date = getDate()
  3830. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  3831. </update>
  3832. <update id="updateIPQCDetailSubmitFlag2" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  3833. UPDATE qc_ipqc_detailed_record
  3834. SET is_submit = 'N'
  3835. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  3836. </update>
  3837. <update id="updateIPQCSubDetailSubmitFlag2" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  3838. UPDATE qc_ipqc_sub_detail_record
  3839. SET is_submit = 'N'
  3840. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  3841. </update>
  3842. <update id="updateFQCMasterSubmitFlag2" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  3843. UPDATE qc_fqc_record
  3844. SET submit_flag = 'N',
  3845. state = '待检验',
  3846. cancel_check_by = #{updateBy},
  3847. cancel_check_date = getDate()
  3848. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  3849. </update>
  3850. <update id="updateFQCDetailSubmitFlag2" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  3851. UPDATE qc_fqc_detailed_record
  3852. SET is_submit = 'N'
  3853. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  3854. </update>
  3855. <update id="updateFQCSubDetailSubmitFlag2" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  3856. UPDATE qc_fqc_sub_detail_record
  3857. SET is_submit = 'N'
  3858. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  3859. </update>
  3860. <update id="updatePQCMasterSubmitFlag2" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  3861. UPDATE qc_pqc_record
  3862. SET submit_flag = 'N',
  3863. state = '待检验',
  3864. cancel_check_by = #{updateBy},
  3865. cancel_check_date = getDate()
  3866. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  3867. </update>
  3868. <update id="updatePQCDetailSubmitFlag2" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  3869. UPDATE qc_pqc_detailed_record
  3870. SET is_submit = 'N'
  3871. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  3872. </update>
  3873. <update id="updatePQCSubDetailSubmitFlag2" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  3874. UPDATE qc_pqc_sub_detail_record
  3875. SET is_submit = 'N'
  3876. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  3877. </update>
  3878. <delete id="deleteReceivingTaskByInspectionNo" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  3879. delete receiving_task
  3880. where site = #{site} and citem_code = #{buNo} and inspection_no = #{inspectionNo}
  3881. </delete>
  3882. <delete id="deleteEquipmentFolderLocationList">
  3883. delete from Equipment_folder_location
  3884. where id = #{id}
  3885. </delete>
  3886. <select id="getQMSTask" resultType="com.heai.modules.pms.data.QmsTaskData">
  3887. select
  3888. id,
  3889. site,
  3890. bu_no,
  3891. part_no,
  3892. operation_desc,
  3893. s_resourceid,
  3894. qtyrequired,
  3895. create_date,
  3896. create_by,
  3897. inspection_type,
  3898. type,
  3899. order_no,
  3900. seqno,
  3901. template_id,
  3902. um_id,
  3903. work_center_no
  3904. from QMS_soscheduledrouting_TASK
  3905. where ISNULL(delete_flag, '') <![CDATA[<>]]> 'Y'
  3906. </select>
  3907. <select id="getSuffixList" resultType="java.lang.String">
  3908. select distinct suffix from Equipment_folder_location
  3909. </select>
  3910. <select id="checkEquipmentFolderLocation" resultType="java.lang.Integer">
  3911. select count(1)
  3912. from Equipment_folder_location
  3913. where site = #{site} and bu_no = #{buNo} and equipment_no = #{equipmentNo}
  3914. </select>
  3915. <update id="updateQMSTaskById">
  3916. UPDATE QMS_soscheduledrouting_TASK
  3917. SET delete_flag = 'Y'
  3918. WHERE id = #{id}
  3919. </update>
  3920. <select id="queryEquipmentFolderLocationList" resultType="com.heai.modules.pms.data.QCEquipmentFolderLocation">
  3921. select efl.*
  3922. from Equipment_folder_location efl
  3923. <where>
  3924. <if test="params.site != null and params.site != ''">
  3925. and efl.site = #{params.site}
  3926. </if>
  3927. <if test="params.equipmentNo != null and params.equipmentNo != ''">
  3928. and efl.equipment_no like '%'+ #{params.equipmentNo} +'%'
  3929. </if>
  3930. <if test="params.equipmentDesc != null and params.equipmentDesc != ''">
  3931. and efl.equipment_desc like '%'+ #{params.equipmentDesc} +'%'
  3932. </if>
  3933. <if test="params.IP != null and params.IP != ''">
  3934. and efl.IP like '%'+ #{params.IP} +'%'
  3935. </if>
  3936. <if test="params.suffix != null and params.suffix != ''">
  3937. and efl.suffix like '%'+ #{params.suffix} +'%'
  3938. </if>
  3939. </where>
  3940. </select>
  3941. <select id="getPqcOperationDescList" resultType="com.heai.modules.pms.data.QcPartAttributeData">
  3942. select qro.description as operationDesc
  3943. from operation_resource a
  3944. left join qc_pqc_record_operation qro on a.operation = qro.code
  3945. GROUP BY qro.description
  3946. </select>
  3947. <select id="getQcIPQCInspection" resultType="com.heai.modules.pms.data.QcFAIRecordData">
  3948. select *
  3949. from qc_ipqc_record
  3950. where site = #{site} and seq_no = #{seqNo} and order_no = #{orderNo}
  3951. <if test=" inspectionTypeNo != null and inspectionTypeNo != ''">
  3952. and inspection_type_no = #{inspectionTypeNo}
  3953. </if>
  3954. </select>
  3955. <update id="updateEquipmentFolderLocation">
  3956. UPDATE Equipment_folder_location
  3957. SET
  3958. folder_path = #{folderPath},
  3959. equipment_no = #{equipmentNo},
  3960. bu_no = #{buNo},
  3961. file_no = #{fileNo},
  3962. backup_folder_path = #{backupFolderPath},
  3963. IP = #{IP},
  3964. suffix = #{suffix},
  3965. equipment_desc = #{equipmentDesc},
  3966. backup_photo_path = #{backupPhotoPath},
  3967. batch_date = #{batchDate},
  3968. port = #{port},
  3969. register_address = #{registerAddress},
  3970. register_num = #{registerNum},
  3971. register_num_columntype = #{registerNumColumntype},
  3972. register_address_inspection = #{registerAddressInspection},
  3973. register_num_inspection = #{registerNumInspection},
  3974. register_num_inspection_columntype = #{registerNumInspectionColumntype},
  3975. unit_id = #{unitId},
  3976. excel_compare_fields_x = #{excelCompareFieldsX},
  3977. excel_compare_fields_y = #{excelCompareFieldsY},
  3978. initial_line = #{initialLine},
  3979. data_row = #{dataRow},
  3980. skip_line = #{skipLine},
  3981. cutting_symbol = #{cuttingSymbol},
  3982. transparent_flag = #{transparentFlag},
  3983. Formula_calculation = #{formulaCalculation},
  3984. Formula = #{formula},
  3985. Group_calculation = #{groupCalculation},
  3986. regexp = #{regexp},
  3987. repair_type = #{repairType},
  3988. buzzer = #{buzzer},
  3989. update_by = #{updateBy},
  3990. update_time = getDate()
  3991. WHERE id = #{id}
  3992. </update>
  3993. <update id="updatePQCMasterSubmitFlag">
  3994. UPDATE qc_pqc_record
  3995. SET submit_flag = 'Y',
  3996. state = '已完成',
  3997. submit_date = getDate()
  3998. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  3999. </update>
  4000. <update id="updatePQCDetailSubmitFlag">
  4001. UPDATE qc_pqc_detailed_record
  4002. SET is_submit = 'Y'
  4003. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  4004. </update>
  4005. <update id="updatePQCSubDetailSubmitFlag">
  4006. UPDATE qc_pqc_sub_detail_record
  4007. SET is_submit = 'Y'
  4008. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  4009. </update>
  4010. </mapper>